This is dcb_tool -r output.
Linux_for_Tegra_dev/tools/dcb_tool/dcb_tool -r tegra234-dcb-p3701-0000-a02-p3737-0000-a01_hdmi.dtsi
=== Reading DCB blob ===
########## Tegra DCB BLOB ###############
########### Display Devices #############
Display Devices::
Display Devices : [0]
Type : [TMDS]
CCB : [0]
Heads : 0:[Y] 1:[Y]
Sor : [0 ]
HDMI capable : [1]
Connector : [0]
Bus : [0]
############### CCB Entries ###############
CCB::
*CCB entries that have both I2C and AUX ports unused (value = 31) are not displayed
CCB Index : 0
I2C Port : [6]
AUX Port : [0]
########### Connector entries #############
Connectors::
Connector Index : 0x0
Type : [HDMI]
Hotplug : A:[Y]
################# ******* #################
Type is TDMS and HDMI.
There does not appear to be any elements that need to be changed by L4T Version.
As for the pinmux issue, check the flash log to make sure the pinmux file you modified really get flashed to the board.
We already fixed other peripheral pins and changes confirmed.
Linux_for_Tegra_dev$ time sudo ./flash.sh dx-m2000+p3701-0000 mmcblk0p1
...
Board ID(3701) version(500) sku(0004) revision(G.0)
Copy Linux_for_Tegra_dev/kernel/dtb/tegra234-p3701-0004-dx-m2000.dtb to /Linux_for_Tegra_dev/kernel/dtb/tegra234-p3701-0004-dx-m2000.dtb.rec
copying bctfile(/Linux_for_Tegra_dev/bootloader/t186ref/BCT/tegra234-p3701-0000-sdram-l4t.dts)... done.
copying minratchet_config(/Linux_for_Tegra_dev/bootloader/t186ref/BCT/tegra234-mb1-bct-ratchet-p3701-0000.dts)... done.
copying device_config(/Linux_for_Tegra_dev/bootloader/t186ref/BCT/tegra234-mb1-bct-device-p3701-0000.dts)... done.
copying misc_config(/Linux_for_Tegra_dev/bootloader/t186ref/BCT/tegra234-mb1-bct-misc-p3701-0000.dts)... done.
copying pinmux_config(/Linux_for_Tegra_dev/bootloader/t186ref/BCT/tegra234-mb1-bct-pinmux-p3701-dx-m2000.dtsi)... done.
Hi,
The only check items for Orin HDMI are
Pinmux
DCB in dtb file needs to be correct. hotplug properties need to be added.
Full flash instead of partial update.
And the only method to check this is xorg.0.log and xrandr result. Dmesg won’t show and /sys/kernel/debug/gpio won’t show anything either because the hotplug is handled by DCE R5 core. Not CCPLEX.
After full flashing, we sometimes could see following WARN log at plugging/unplugging.
[ 126.089647] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[ 126.099459] ---[ end trace 6b57f8c10cd215a9 ]---
[ 131.352131] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[ 131.361913] ---[ end trace 6b57f8c10cd215aa ]---
But At Xorg0.log, we couldn’t see any HDMI connected log.
[ 25.249] (II) event0 - gpio-keys: is tagged by udev as: Keyboard
[ 25.249] (II) event0 - gpio-keys: device is a keyboard
[ 25.893] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 25.894] (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
[ 25.894] (--) NVIDIA(GPU-0): DFP-0: 165.0 MHz maximum pixel clock
[ 25.894] (--) NVIDIA(GPU-0):
Xorg.0.log (13.7 KB)
If you hotplug the cable, will xorg log show anything new?
No, nothing.
But WARN log somtimes appeared.
root@ubuntu:~# tail -f /var/log/Xorg.0.log
[ 25.247] (**) Option "config_info" "udev:/sys/devices/platform/gpio-keys/input/input0/event0"
[ 25.247] (II) XINPUT: Adding extended input device "gpio-keys" (type: KEYBOARD, id 6)
[ 25.247] (**) Option "xkb_model" "pc105"
[ 25.247] (**) Option "xkb_layout" "us"
[ 25.249] (II) event0 - gpio-keys: is tagged by udev as: Keyboard
[ 25.249] (II) event0 - gpio-keys: device is a keyboard
[ 25.893] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 25.894] (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
[ 25.894] (--) NVIDIA(GPU-0): DFP-0: 165.0 MHz maximum pixel clock
[ 25.894] (--) NVIDIA(GPU-0):
[ 3897.181002] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[ 3897.190799] ---[ end trace 743e74b308172ed1 ]---
[ 3897.195639] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[ 3897.205313] ---[ end trace 743e74b308172ed2 ]---
[ 3897.210106] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[ 3897.219792] ---[ end trace 743e74b308172ed3 ]---
[ 3904.338279] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[ 3904.348043] ---[ end trace 743e74b308172ed4 ]---
[ 3904.352853] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[ 3904.362544] ---[ end trace 743e74b308172ed5 ]---
[ 3904.367348] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[ 3904.377037] ---[ end trace 743e74b308172ed6 ]---
According to the POST above, [tegra234-dcb-p3701-0000-a02-p3737-0000-a01_hdmi.dtsi] cannot handle HPD.
So we applied [tegra234-dcb-p3701-0000-a02-p3737-0000-a01-hdmi-4-ga5.0.2.dtsi],
There was no change in the recognition of HPD.
As far as I could see with dcb_tool -r, there was no difference.
$ dcb_tool -r tegra234-dcb-p3701-0000-a02-p3737-0000-a01_hdmi.dtsi
=== Reading DCB blob ===
########## Tegra DCB BLOB ###############
########### Display Devices #############
Display Devices::
Display Devices : [0]
Type : [TMDS]
CCB : [0]
Heads : 0:[Y] 1:[Y]
Sor : [0 ]
HDMI capable : [1]
Connector : [0]
Bus : [0]
############### CCB Entries ###############
CCB::
*CCB entries that have both I2C and AUX ports unused (value = 31) are not displayed
CCB Index : 0
I2C Port : [6]
AUX Port : [0]
########### Connector entries #############
Connectors::
Connector Index : 0x0
Type : [HDMI]
Hotplug : A:[Y]
################# ******* #################
$ dcb_tool -r tegra234-dcb-p3701-0000-a02-p3737-0000-a01-hdmi-4-ga5.0.2.dtsi
=== Reading DCB blob ===
########## Tegra DCB BLOB ###############
########### Display Devices #############
Display Devices::
Display Devices : [0]
Type : [TMDS]
CCB : [0]
Heads : 0:[Y] 1:[Y]
Sor : [0 ]
HDMI capable : [1]
Connector : [0]
Bus : [0]
############### CCB Entries ###############
CCB::
*CCB entries that have both I2C and AUX ports unused (value = 31) are not displayed
CCB Index : 0
I2C Port : [6]
AUX Port : [0]
########### Connector entries #############
Connectors::
Connector Index : 0x0
Type : [HDMI]
Hotplug : A:[Y]
################# ******* #################
Since WARN logs are generated according to HPD, I think pinmux does not have a problem.
What modifications are needed to dcb-image for R35.3.1?
Hi,
There is actually not much change between rel-35.1 and rel-35.3.1 for DCB/pinmux change.
They are totally same. What you need to change on rel-35.1 are same as rel-35.3.1.
There is actually not much debug could be done here. Orin DCE firmware does not print log and kernel log does not help either.
For now, if you are sure your dcb/dtb/pinmux are all correct, I could only ask you to compare the HDMI schematic with the xavier nx p3509 HDMI part.
Please also convert your finalized dtb to dts and attach it here.
It looks like this thing was not shared in this post before.
They are totally same. What you need to change on rel-35.1 are same as rel-35.3.1.
OK. We will use [tegra234-dcb-p3701-0000-a02-p3737-0000-a01-hdmi-4-ga5.0.2.dtsi] for rel35.3.1.
For now, if you are sure your dcb/dtb/pinmux are all correct, I could only ask you to compare the HDMI schematic with the xavier nx p3509 HDMI part.
I would like to ask if our HW design is correct.
We follow the Design Guide and connect the BUS Lane as follows.
On the other hand, the following user described that after adjusting data lane it solved the problem.
已确认是Data lane 接反导致的一系列奇怪现象。
在custom carrier board上飞线调整Data lane后,可正常显示,热插拔也正常(with HPD patch)。
期待您这边的答复,谢谢!
Will the HDMI Output work with our design?
Please also convert your finalized dtb to dts and attach it here.
The finalized dtb to dts is here.
tegra234-p3701-0004-dx-m2000-gen.dts (523.4 KB)
We applied only the EEPROM, PINMUX, and HDMI changes to the R35.1 environment.
As a result, HDMI OUTPUT was appeared at booting UEFI.
In R35.3.1, we have not yet confirmed the output in UEFI either.
Therefore, there seems to be no problem connecting the HDMI Data Lane at the HW level.
However, after transitioning to the Linux Kernel, the HDMI screen was not displayed and
the HPD connected log was not output by Xorg.
root@ubuntu:~# tail -f /var/log/Xorg.0.log
[ 135.965] (**) Option "config_info" "udev:/sys/devices/platform/gpio-keys/input/input0/event0"
[ 135.965] (II) XINPUT: Adding extended input device "gpio-keys" (type: KEYBOARD, id 6)
[ 135.965] (**) Option "xkb_model" "pc105"
[ 135.965] (**) Option "xkb_layout" "us"
[ 135.966] (II) event0 - gpio-keys: is tagged by udev as: Keyboard
[ 135.966] (II) event0 - gpio-keys: device is a keyboard
[ 136.977] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 136.977] (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
[ 136.977] (--) NVIDIA(GPU-0): DFP-0: 165.0 MHz maximum pixel clock
[ 136.977] (--) NVIDIA(GPU-0):
[ 170.924436] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[ 170.934537] ---[ end trace 9917025e2f6c611c ]---
[ 173.093386] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[ 173.103465] ---[ end trace 9917025e2f6c611d ]---
[ 183.312647] WARNING: CPU: 0 PID: 274 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[ 183.322817] ---[ end trace 9917025e2f6c611e ]---
[ 183.908692] WARNING: CPU: 0 PID: 7388 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[ 183.918840] ---[ end trace 9917025e2f6c611f ]---
What is the difference between R35.1 and R35.3.1 regarding HDMI Output in UEFI?
What is your method to update device tree here? What is your board config now? If it is customized one, please share the content.
Also, just a suggestion. Please stop sharing all these log as partial snippet. The full log is always the best one to check.
Attach your full log as text file here instead of copy and paste.
Hi,
TBCDTB_FILE=“tegra234-p3701-0000-p3737-0000.dtb”;
This is bootloader dtb which is in use by UEFI. If this is mismatch from your kernel dtb, then behavior would be different.
Also, please share your p3701.conf.common too.
If this is mismatch from your kernel dtb, then behavior would be different.
So, do we always need to change TBCDTB_FILE same as DTB_FILE ?
Also, please share your p3701.conf.common too.
We haven’t change p3701.conf.common. It is default file.
p3701.conf.common (9.2 KB)
Yes please update to same.
Also, share me the whole flash log from flash.sh here.
So, do we always need to change TBCDTB_FILE same as DTB_FILE ?
Yes please update to same.
We updated to same, but HPD didn’t work.
202307271521_jetson-agx-orin-devkit.conf (3.7 KB)
202307271521_r35.1_customboard_flashlog.txt (81.0 KB)
202307271521_r35.1_customboard_console_log.txt (206.7 KB)
Have you tried to change the GPIO_ACTIVE_HIGH in your os_gpio_hotplug_a to active low?
Also, I don’t suggest you just change things back to rel-35.1. It is kind of wasting time.
I don’t think there would be some situation rel-35.3.1 cannot work but rel-35.1 can work. The UEFI and kernel are totally different drivers to control. UEFI can work fine also does not mean your hardware is fine.
If you ever checked that post whose lanes are connected reversed, you will notice that his boot logo is also fine, but he had problem after entering kernel because the lane 0 and lane 2 are not connected correctly.
Compare your hardware design with p3509 devkit HDMI circuit. You can also compare the software on p3509 +p3767 because the HDMI software is totally same on Orin AGX and Orin nano in this part.
Have you tried to change the GPIO_ACTIVE_HIGH in your os_gpio_hotplug_a to active low?
Yes. However, it was not effective.
display@13800000 {
os_gpio_hotplug_a = <&tegra_main_gpio TEGRA234_MAIN_GPIO(M, 0) GPIO_ACTIVE_LOW>;
status = "okay";
};