[TX2 NX] Request assistance getting HDMI output on DP0

Our custom carrier uses DP0 for HDMI rather than DP1 per reference design (oops). We’ll change back to DP1 on the next revision but I’m trying to make DTB changes to verify the remainder of the interface on this revision. I’ve spent a couple of weeks mucking with pinmux, device tree and don’t know what else to try.

I’m using Jetpack 4.6.3 with L4T release 32.7.3.

I’ve followed the TX2 NX Adaptation and Bring up guide for 32.7.3 to the best of my understanding:

I’ve configured the pinmux spreadsheet for TX2 NX and set the DP0_AUX_N/P to I2C6_DAT/I2C6_CLK respectively and exported the DTSI files and converted them to cfg files using the python script and installed them in ./bootloader/t186ref/BCT along with modifications to the flash conf file to flash them to target.

To the kernel device-tree I’ve added the pinctrl nodes in i2c@31b0000 and the dpaux_default node to dpaux@155c0000. Furthermore I set status to okay for host1x/sor/hdmi-display and disabled status for host1x/sor/dp-display. I had troubles sorting through all the dtsi files to build dtb from source so I converted the reference dtb (tegra186-p3636-0001-p3509-0000-a01.dtb) to text, made my changes, and then converted back to dtb. I’m confident the dtb with my modifications is getting flashed to target as I can inspect /proc/device-tree on target and see changes there after flashing via recovery mode.

I see no activity via scope on HDMI SCL/SDA when attaching an HDMI monitor but I do see HPD signal (after level shifter) changing (zero when monitor attached, 1.8V when HDMI unplugged) but I do not see changes to dmesg -w on target as the HDMI cable is attached or removed.

Help troubleshooting would be greatly appreciated.


Hi, first, you should change hardware design to follow the TX2 NX Design Guide on the port, there are some difference between HDMI and DP design.

Our design closely follows the HDMI portion of the reference design guidelines in general and specifically figure 7-7 of the referenced design guide. The only exception is that the HDMI output circuits are attached to DP0 rather than DP1.

I believe that I need to update my device-tree to support HDMI output on DP0. I need help reviewing and correcting the changes I’ve made to the device-tree.

I’ve attached my device tree (dts), the output of flash.sh, and the output of dmesg in support of this request.

tx2nx hdmi debug.zip (62.8 KB)

[ 11.137929] tegradc 15210000.nvdisplay: disp1 connected to head1->/host1x/sor
[ 11.137946] tegradc 15210000.nvdisplay: tegra_dc_parse_panel_ops: panel: /host1x/sor/dp-display is not active
[ 11.147872] tegradc 15210000.nvdisplay: err:-19 parsing panel_ops


Basically, the only thing you need to do is copy the configuration setting from SOR1 to your SOR0 and corresponding nvdisplay.

Above error tells us you are still using Displayport setting but not HDMI. I would suggest you directly check the driver code and play around with it by yourself first. It would be more clear after you tried that…

Also, this line seems indicating you are not using the dtb built by yourself.

[ 0.160788] DTS File Name: /dvs/git/dirty/git-master_linux/kernel/kernel-4.9/arch/arm64/boot/dts/…/…/…/…/…/…/hardware/nvidia/platform/t18x/lanai/kernel-dts/tegra186-p3636-0001-p3509-0000-a01.dts

Are you sure you know how to build and update device tree on jetson?


Thank you for the pointers. I’ll look into this.

Regarding your other comment, I am certain that I am using my customized dtb. I modified the referenced DTS directly within my local git repo in the L4T directory structure and rebuilt the dtbs using the kernel makefile. I’ll clean up my mess…


I have HDMI working. Thank you for your help!