Sccoupe50
Posts: 7
Joined: Sat Jun 13, 2015 2:29 am

No HDMI on custom board, but fine on OEM dev board.

Fri Aug 14, 2015 8:44 pm

Hello,

I am troubleshooting a custom board made for the RPI compute module. The HDMI does not seem to work with this board and always defaults to TV out. If I mount the compute module into the RPI development board, everything works fine with HDMI, so the EMMC is loaded correctly and the monitor works fine. This points to the circuit board that I have made. As said, TV out works fine, so the EMMC is still good and everthing powered OK. Thoughts on why no HDMI? GPIO_46 is at 1.8v when the monitor is plugged in and this is supposed to trigger using HDMI. All of the HDMI signals are running though a TPD12S016 for ESD protection and seems to have all of the correct voltages. Any ideas here?

Thanks

James Adams
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 117
Joined: Wed Mar 19, 2014 2:58 pm
Location: Cambridge

Re: No HDMI on custom board, but fine on OEM dev board.

Fri Aug 14, 2015 9:24 pm

GPIO46 should be LOW (indicating HDMI hot plug) so that is likely your problem.

James
James Adams
Raspberry Pi - COO & Hardware Lead

Sccoupe50
Posts: 7
Joined: Sat Jun 13, 2015 2:29 am

Re: No HDMI on custom board, but fine on OEM dev board.

Sat Aug 15, 2015 11:07 pm

Sure enough, I misinterpreted the dev board schematic. However, simply grounding GPIO46 doesn't seem to make a difference. Should this work or is there an on/off sequence that needs to happen for it to work correctly?

Regards

amk
Posts: 19
Joined: Fri Feb 06, 2015 12:09 pm
Location: Netherlands

Re: No HDMI on custom board, but fine on OEM dev board.

Sun Aug 16, 2015 10:37 am

I noticed the TPDS12016 has some low power settings, disabling the load switch and I2C/CEC level translators. You might want to have those enabled all the time. I have successfully used a TPD12S521 without any problems at all.
Other problems to be aware of is the signal integrity of the HDMI signals, keep them differential at the right impedance and use correct length matching techniques.

Sccoupe50
Posts: 7
Joined: Sat Jun 13, 2015 2:29 am

Re: No HDMI on custom board, but fine on OEM dev board.

Sun Aug 16, 2015 11:57 am

Thanks for the info. Both CT_HPD and LS_OE are driven at 1.8v at all times to keep everything enabled. No need for power saving. Kicad's trace length matching was used to keep each data and clock pair the same length as well as keeping each pair the same length as the other pairs. The part i'm not sure how to adjust is the "Route ringed signals as matched
length 100R differential pairs" part. The spacing on my trace pairs seems to be ever to slightly wider than on the dev board. This was the default spacing in Kicad.

Regards.

amk
Posts: 19
Joined: Fri Feb 06, 2015 12:09 pm
Location: Netherlands

Re: No HDMI on custom board, but fine on OEM dev board.

Sun Aug 16, 2015 9:32 pm

I'm not familiar with Kicad so I can't give you any support on it's use.

To calculate the right trace width and trace seperation you also need to know the height above the conducting plane and the diëlectric constant of the board material.

The Saturn PCB design toolkit offers a nice free calculator to do several calculations for you.

http://www.saturnpcb.com/pcb_toolkit.htm

Did you already have a look at the signals with an oscilloscope?

djlegge
Posts: 11
Joined: Tue Jul 07, 2015 1:55 pm

Re: No HDMI on custom board, but fine on OEM dev board.

Mon Aug 17, 2015 8:48 am

Does it work if you hdmi_force_hotplug=1 in config.txt ?

Sccoupe50
Posts: 7
Joined: Sat Jun 13, 2015 2:29 am

Re: No HDMI on custom board, but fine on OEM dev board.

Tue Aug 18, 2015 12:03 am

Great call djlegge! Forcing HDMI works, so it looks like all of the HDMI circuit works except for the hotplug detect. Perhaps I need to add the resistor and mosfet that is on that wire in the dev board schematic to invert this signal (i guess thats what its doing). Since hotplug is high 1v8, but the Pi needs a low to detect (constant ground doesnt seem to work) then perhaps that signal needs to bounce at the right time to work correctly.

Regards

djlegge
Posts: 11
Joined: Tue Jul 07, 2015 1:55 pm

Re: No HDMI on custom board, but fine on OEM dev board.

Tue Aug 18, 2015 10:36 am

Glad that proved useful...I'm not sure exactly what the Pi expects hotplug to do, but it may be important for the handshaking reading the EDID from the display. If your board has an HDMI socket to connect to external displays then you should probably copy the CMIO board as is.
On our board, we omitted the hotplug and SCL/SDA circuitry and just force hotplug and the HDMI mode in config.txt always. It's okay for us because the HDMI is decoded on our board and always drives the same LVDS panel.
Good luck.

Sccoupe50
Posts: 7
Joined: Sat Jun 13, 2015 2:29 am

Re: No HDMI on custom board, but fine on OEM dev board.

Tue Aug 18, 2015 2:04 pm

I'll need to press on with this as I need auto switch between HDMI and composite video. Its not needed during operation, only during boot up. Perhaps a last ditch effort would be to some how add a manual switch for the user to select one or the other.

Regards

gsh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1423
Joined: Sat Sep 10, 2011 11:43 am

Re: No HDMI on custom board, but fine on OEM dev board.

Thu Aug 20, 2015 1:02 pm

You can invert the sense of the hotplug pin by adjusting it in the dt-blob.bin

https://www.raspberrypi.org/documentati ... uration.md

You can download the default dts file from https://www.raspberrypi.org/documentati ... t-blob.dts

Gordon
--
Gordon Hollingworth PhD
Raspberry Pi - Director of Software Engineering

Sccoupe50
Posts: 7
Joined: Sat Jun 13, 2015 2:29 am

Re: No HDMI on custom board, but fine on OEM dev board.

Fri Aug 21, 2015 1:34 pm

That file a trove of information. Lots of things to play with.

So, it appears that active low is the default since it is not specified here?

[email protected] { function = "input"; termination = "no_pulling"; }; // Hotplug

This should be changed to this for active high then.

[email protected] { function = "input"; termination = "no_pulling"; polarity = "active_high"; }; // Hotplug


Regards

gsh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1423
Joined: Sat Sep 10, 2011 11:43 am

Re: No HDMI on custom board, but fine on OEM dev board.

Fri Aug 21, 2015 2:31 pm

That is correct, it should work...

It is indeed a trove of knowledge, for example it allows you to hand edit the PLL settings and clock routing for the device, unfortunately this is very complex and therefore I've not tried to document everything. But if there's a specific requirement you have then I should be able to help devise a suitable clocking scheme.

As a reference to another implementation you can check out the FiveNinjas Slice product which I've been working on as a sideline...

https://github.com/FiveNinjas/OpenELEC. ... bootloader

Gordon
--
Gordon Hollingworth PhD
Raspberry Pi - Director of Software Engineering

Sccoupe50
Posts: 7
Joined: Sat Jun 13, 2015 2:29 am

Re: No HDMI on custom board, but fine on OEM dev board.

Fri Aug 21, 2015 5:43 pm

Thanks Gordon,

Do you have any suggestions about using an IO to hdmi_force_hotplug =1 or =0? Technically the HPD pin should handle this, but may not work with all monitors, especially some of the smaller 7" screens out of China for instance. The safe way to go is to add a manual hardware switch to either force HDMI or force CVBS. This lets the user select what they will be using with maximum compatibility. It wouldn't be required as a dynamic selection, it would only be checked at boot up. Perhaps there is an easy way without compiling new kernels and such? I'm really a Linux noob and that would be over my head at this point.


Regards

gsh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1423
Joined: Sat Sep 10, 2011 11:43 am

Re: No HDMI on custom board, but fine on OEM dev board.

Mon Aug 24, 2015 8:56 am

I would suggest a switch

In the default position it connects the HDMI HPD to the hotplug input pin on the Raspberry Pi CM
in the other position it forces HPD to CM

This way you can always force hotplug (if it doesn't detect hotplug it'll use composite output anyway so you don't need a third position)
--
Gordon Hollingworth PhD
Raspberry Pi - Director of Software Engineering

Return to “Compute Module”