HDMI problem additional information about strap pin

Hello,

I’m trying to setup HDMI on a customized mother board with a Jetson TX2. Design is the same as the SDK.
For the moment I have a black screen when I connect the TX2 to the screen.
Hot plug is recognized.

I saw similar problems on the forum but no specifics information in documentation.

In these posts, there are saying to disable uart 1, to pull down uart1_tx and to pull up uart0_RTS.
My questions are:

  1. Why do we had to do this ? Are there any information in doc ? I use uart1 in my mother board.
  2. Can we let uart1_tx floating ?

Thank you for your response.

Here is the log when I plug the HDMI:
[ 47.037415] tegradc 15210000.nvdisplay: unblank
[ 47.042661] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 47.043622] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 47.044104] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 47.056850] Parent Clock set for DC plld2
[ 47.061833] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 47.063690] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 47.063700] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 47.101418] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 47.101427] Extcon AUX1(HDMI) enable
[ 47.166992] extcon-disp-state external-connection:disp-state: cable 40 state 1
[ 47.174244] Extcon HDMI: HPD enabled
[ 47.174299] tegradc 15210000.nvdisplay: hdmi: plugged
[ 47.473229] tegradc 15210000.nvdisplay: blank - powerdown
[ 47.497246] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 47.497249] Extcon AUX1(HDMI) disable
[ 47.519273] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 47.519350] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 47.519950] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 47.554222] tegradc 15210000.nvdisplay: blank - powerdown
[ 47.559777] tegradc 15210000.nvdisplay: unblank
[ 47.559999] extcon-disp-state external-connection:disp-state: cable 40 state 0
[ 47.560004] Extcon HDMI: HPD disabled
[ 47.560111] tegradc 15210000.nvdisplay: hdmi: unplugged
[ 47.580546] tegradc 15210000.nvdisplay: unblank
[ 47.591597] tegradc 15210000.nvdisplay: blank - powerdown
[ 47.597017] tegradc 15210000.nvdisplay: unblank
[ 47.601589] tegradc 15210000.nvdisplay: unblank
[ 47.793388] tegradc 15210000.nvdisplay: blank - powerdown
[ 47.793691] tegradc 15210000.nvdisplay: unblank
[ 47.799082] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 47.800074] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 47.800625] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 47.813245] Parent Clock set for DC plld2
[ 47.818171] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 47.819855] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 47.819864] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 47.857754] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 47.857759] Extcon AUX1(HDMI) enable
[ 47.923194] extcon-disp-state external-connection:disp-state: cable 40 state 1
[ 47.930460] Extcon HDMI: HPD enabled
[ 47.930509] tegradc 15210000.nvdisplay: hdmi: plugged
[ 48.022930] tegradc 15210000.nvdisplay: blank - powerdown
[ 48.086743] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 48.086745] Extcon AUX1(HDMI) disable
[ 48.112516] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 48.112607] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 48.113224] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 48.147638] tegradc 15210000.nvdisplay: unblank
[ 48.155415] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 48.155517] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 48.155603] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 48.156967] Parent Clock set for DC plld2
[ 48.160147] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 48.163550] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 48.163559] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 48.212097] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 48.212099] Extcon AUX1(HDMI) enable
[ 48.273663] tegradc 15210000.nvdisplay: unblank
[ 54.880562] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 54.887842] Extcon AUX1(HDMI) disable
[ 54.902817] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 54.908830] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 54.929053] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 54.935383] tegradc 15210000.nvdisplay: blank - powerdown
[ 54.942330] extcon-disp-state external-connection:disp-state: cable 40 state 0
[ 54.950052] Extcon HDMI: HPD disabled
[ 54.955304] tegradc 15210000.nvdisplay: hdmi: unplugged
[ 54.964524] tegradc 15210000.nvdisplay: blank - powerdown
[ 54.969964] tegradc 15210000.nvdisplay: unblank
[ 54.974565] tegradc 15210000.nvdisplay: unblank
[ 55.180936] tegradc 15210000.nvdisplay: blank - powerdown
[ 55.181233] tegradc 15210000.nvdisplay: unblank
[ 55.187106] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 55.188104] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 55.188686] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 55.201119] Parent Clock set for DC plld2
[ 55.205978] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 55.207655] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 55.207667] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 55.245628] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 55.245636] Extcon AUX1(HDMI) enable
[ 55.317526] extcon-disp-state external-connection:disp-state: cable 40 state 1
[ 55.324787] Extcon HDMI: HPD enabled
[ 55.324831] tegradc 15210000.nvdisplay: hdmi: plugged
[ 55.419087] tegradc 15210000.nvdisplay: blank - powerdown
[ 55.474548] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 55.474551] Extcon AUX1(HDMI) disable
[ 55.496499] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 55.496579] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 55.497181] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 55.531469] tegradc 15210000.nvdisplay: unblank
[ 55.534888] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 55.537775] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 55.539879] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 55.547919] Parent Clock set for DC plld2
[ 55.554965] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 55.558052] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 55.558060] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 55.594473] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 55.594481] Extcon AUX1(HDMI) enable
[ 55.654755] tegradc 15210000.nvdisplay: unblank
[ 60.325132] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 60.332565] Extcon AUX1(HDMI) disable
[ 60.348012] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 60.354060] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 60.371940] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 60.378369] tegradc 15210000.nvdisplay: blank - powerdown
[ 60.385211] extcon-disp-state external-connection:disp-state: cable 40 state 0
[ 60.393101] Extcon HDMI: HPD disabled
[ 60.397399] tegradc 15210000.nvdisplay: hdmi: unplugged
[ 60.406769] tegradc 15210000.nvdisplay: blank - powerdown
[ 60.412208] tegradc 15210000.nvdisplay: unblank
[ 60.416801] tegradc 15210000.nvdisplay: unblank
[ 60.631417] tegradc 15210000.nvdisplay: blank - powerdown
[ 60.631460] tegradc 15210000.nvdisplay: unblank
[ 60.632670] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 60.632827] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 60.632949] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 60.641633] Parent Clock set for DC plld2
[ 60.646655] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 60.648175] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 60.648197] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 60.684298] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 60.684305] Extcon AUX1(HDMI) enable
[ 60.749614] extcon-disp-state external-connection:disp-state: cable 40 state 1
[ 60.756886] Extcon HDMI: HPD enabled
[ 60.756936] tegradc 15210000.nvdisplay: hdmi: plugged
[ 60.843965] tegradc 15210000.nvdisplay: blank - powerdown
[ 60.898420] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 60.898422] Extcon AUX1(HDMI) disable
[ 60.920483] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 60.920567] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 60.921187] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 60.955582] tegradc 15210000.nvdisplay: unblank
[ 60.958771] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 60.958867] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 60.958953] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 60.960335] Parent Clock set for DC plld2
[ 60.965268] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 60.966712] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 60.966718] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 61.008874] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 61.008876] Extcon AUX1(HDMI) enable
[ 61.068698] tegradc 15210000.nvdisplay: unblank
[ 64.200847] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 64.208194] Extcon AUX1(HDMI) disable
[ 64.222663] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 64.232397] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 64.251481] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 64.263135] tegradc 15210000.nvdisplay: blank - powerdown
[ 64.268679] extcon-disp-state external-connection:disp-state: cable 40 state 0
[ 64.275967] Extcon HDMI: HPD disabled
[ 64.276029] tegradc 15210000.nvdisplay: hdmi: unplugged
[ 64.277135] tegradc 15210000.nvdisplay: blank - powerdown
[ 64.291552] tegradc 15210000.nvdisplay: unblank
[ 64.296139] tegradc 15210000.nvdisplay: unblank

Hi,

If you want others to help check custom board issue, you need to paste the schematic, tell us what software release you are using and if you have done any software configuration.

Similar post:

Hi,

Here is my schematic. We use the same pin as on the SDK.

We use L4T 32.4.3 and there isn’t any software configuration yet.

HPD is not inverted on out board so we made a adaptation:

sor1 {
				status = "okay";
				nvidia,active-panel = <&sor1_hdmi_display>;
				nvidia,hpd-gpio = <&tegra_main_gpio TEGRA_MAIN_GPIO(P, 1) GPIO_ACTIVE_LOW>;

				hdmi-display {
					status = "okay";
					disp-default-out {
	                     nvidia,out-flags = <TEGRA_DC_OUT_HOTPLUG_HIGH>;
	                 };
				};
				dp-display {
					status = "disabled";
				};
			};

UART1_tx and UART0_RTS are strapping pins as said in OEM DG, their pin status should not be changed, please follow reference design well.

I removed uart1 and uart0_rts is not used but there isn’t any improvement.

We moved to a TX2 4Gb board which is our designed board. There isn’t any GPIO expander on the motherboard so we change the tegra186-mb1-bct-pmic-lightning-p3489-1000-a00.cfg file to change the 5V0_HDMI_EN pin.
New config is :

########### GENRIC RAIL for baseboard-specific  configurations
# This section is specific to the Jetson developer kit baseboard (P2597).
# The below configuration should be removed or modified per the requirements of the
# baseboard used. Refer to product documentation for additional information.
# Baseboard: P2597: Expander: 5V0_HDMI_EN
pmic.generic.1.block[4].type = 0; # MMIO TYPE
pmic.generic.1.block[4].block-delay = 10;
pmic.generic.1.block[4].count = 1; # Number of command
pmic.generic.1.block[4].commands[0].0x02440008.0x00 = 0x1; # gpio_edp3_pp6

Is it correct ?

How can we mention to cboot that HPD is inverted ?

If no gpio expander on your board, then you need to configure the power tree dts to match your design too.

Please read the post link I shared in previous comment for this info.

Yes I remove all gpio expander reference and I replace them by a regulator-always-on. There is my file. Is it correct ?

tegra186-cvb-prod-p2597-b00-p3489-1000-a00-00.dtsi.txt (8.6 KB)

I read the post but I didn’t found any solution. My screen/cable is working with the SDK board and a Jetson TX2 4gb

/sys/kernel/debug/tegradc.0/edid is the same as on the SDK.

and there is my entire boot log :boot_with_HDMI.txt (86.6 KB)

Hi,

Please convert your dtb file back to dts file and share us here.

dt-uncompiled.dts.txt (481.3 KB)

Hi,

Which gpio are you using for hpd-gpio?

Hi,

I used GPIO3_PP.06

Hi,

Then why did you tell us you are using P01?

&tegra_main_gpio TEGRA_MAIN_GPIO(P, 1) GPIO_ACTIVE_LOW

Sorry i made a mistake.

I use P01 and the HDMI2 in my pinmux sheet.

P06 is for enable.

And according to another post, I change the line
&tegra_main_gpio TEGRA_MAIN_GPIO(P, 1) GPIO_ACTIVE_LOW
to
&tegra_main_gpio TEGRA_MAIN_GPIO(P, 1) GPIO_ACTIVE_HIGH

The last I remember the Kernel code does not process and utilize the GPIO flags of nvidia,hpd-gpio so you either have to add the inverter or you have to patch your kernel code to make it work. It ignores your explicit setting it as a GPIO_ACTIVE_LOW and always assumes that everyone is using it in active high mode. You check by just monitoring your debug console and pulling out your HDMI cable to see an hpd message about the cable being connected.

Hi,
The plug/unplug is well recognized by the kernel with this modification.
When I plug I have

[ 42.505093] tegradc 15210000.nvdisplay: hdmi: plugged

and when I unplug I have

[ 57.783338] tegradc 15210000.nvdisplay: hdmi: unplugged

Without this modification I have the opposite.