HDMI hotplug causing dce-fabric IRQ 37 fault

I have a custom carrier board for the AGX Orin that uses HDMI. The HDMI port works fine both during the UEFI phase of boot and when Linux boots provided there is no os_gpio_hotplug_a line in the device tree under the display@13800000 node and the monitor is plugged in at boot. I am using JetPack 5.1.2 (35.4.1).

However, when I try to enable hotplug detect by adding the os_gpio_hotplug_a line as follows:

	display@13800000 {
		status = "okay";
		/* DRM: Add GPIO for hot-plug detection of HDMI */
		os_gpio_hotplug_a = <&tegra_main_gpio TEGRA234_MAIN_GPIO(M, 0) GPIO_ACTIVE_HIGH>;

then the HDMI port works during the UEFI stage but Linux fails in the middle of booting with the following fault and the monitor stays blank and HDMI is not detected:

[   27.788278] CPU:0, Error: dce-fabric@0xde00000, irq=37
[   27.793639] **************************************
[   27.798584] CPU:0, Error:dce-fabric, Errmon:2
[   27.803081] 	  Error Code		: SLAVE_ERR
[   27.806951] 	  Overflow		: Multiple SLAVE_ERR
[   27.811442] 
[   27.812975] 	  Error Code		: SLAVE_ERR
[   27.816850] 	  MASTER_ID		: DCE
[   27.820089] 	  Address		: 0x2212000
[   27.823689] 	  Cache			: 0x1 -- Bufferable 
[   27.828003] 	  Protection		: 0x3 -- Privileged, Non-Secure, Data Access
[   27.834816] 	  Access_Type		: Read
[   27.838316] 	  Access_ID		: 0x0
[   27.838324] 	  Fabric		: dce-fabric
[   27.845149] 	  Slave_Id		: 0x3b
[   27.848386] 	  Burst_length		: 0x0
[   27.851889] 	  Burst_type		: 0x1
[   27.855221] 	  Beat_size		: 0x2
[   27.858453] 	  VQC			: 0x0
[   27.861249] 	  GRPSEC		: 0x3f
[   27.864311] 	  FALCONSEC		: 0x0

Simply commenting out the os_gpio_hotplug_a line results in it booting fine and the HDMI working (but no hotplug detection, of course).

I have confirmed that the nvidia,dcb-image is configured for HDMI with hotplug detection enabled. I have also tried the tegra234-dcb-p3701-0000-a02-p3737-0000-a01-hdmi-4-ga5.0.2.dtsi from another forum post but that did not work either. I have attached my tegra234-dcb-p3701-0000-a02-p3737-0000-a01_hdmi.dtsi and tegra234-p3701-0000-p3737-0000.dts files.

Since we would like to get hotplug detection working, I was wondering if NVIDIA had any advice on what might be going wrong as I thought this would have been easy. The other topics I’ve looked at have not helped so far.

We have been using the same circuit for HDMI for the TX2, Xavier NX and Orin AGX and this is the first time we’ve had trouble with hotplug detection. Our HPD line is 1.8V. Our I2C lines for HDMI are 3.3V, as per the Jetson Design Adaptation Guide. I have confirmed that the PM.00 GPIO line does read the HPD signal correctly. The dp_aux_ch0_hpd_pm0 line in the pinconf-groups file has func=rsvd1 and enable-input=1 so I think the pinmux is correct. Any help would be appreciated.

tegra234-p3701-0000-p3737-0000.dts (4.4 KB)
tegra234-dcb-p3701-0000-a02-p3737-0000-a01_hdmi.dtsi (27.5 KB)

please refer to the release notes document. There is a patch needed.

The release notes only mention the patch for the Orin NX and Orin Nano. However, for the AGX Orin the same patch must be applied but to a different file: ./bootloader/t186ref/BCT/tegra234-mb2-bct-scr-p3701-0000.dts.

Once I applied the patch to this file the HDMI hotplug worked! Thank you for your assistance!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.