How the enable 2nd HDMI port with the Xavier?

On the X200 carrier board DP2 is connected to the standard HDMI out connector (same as dev kit). This works fine.

In addition we have connected the DP1 port to a second HDMI connector. We would like to enable this one, but we are not successful. On the dev kit DP1 is muxed onto a USB-C connector.

We have edited the device tree file with the changes below. We have changed 2 lines in the sor1 definition.

Question: how do we enable the 2nd output and how can we test it? I would think that we can just connect a second HDMI monitor and configure it with the display settings dialog in Ubuntu.

...
sor1 {
	status = "okay";
	compatible = "nvidia,tegra194-sor";
	reg = <0x0 0x15b40000 0x0 0x40000>;
	nvidia,sor-ctrlnum = <0x1>;
	nvidia,dpaux = <0x7d>;
	nvidia,xbar-ctrl = <0x2 0x1 0x0 0x3 0x4>;
	clocks = <0x4 0x81 0x4 0x83 0x4 0x82 0x4 0x80 0x4 0x62 0x4 0x66 0x4 0x47 0x4 0x2b 0x4 0x2c 0x4 0x2d>;
	clock-names = "sor1_ref", "sor_safe", "sor1_pad_clkout", "sor1", "pll_dp", "pllp_out0", "maud", "hda", "hda2codec_2x", "hda2hdmi";
	resets = <0x5 0x58 0x5 0x14 0x5 0x15 0x5 0x16>;
	reset-names = "sor1", "hda_rst", "hda2codec_2x_rst", "hda2hdmi_rst";
	pad-controllers = <0x7a 0x19>;
	pad-names = "hdmi-dp1";
	nvidia,hpd-gpio = <0x12 0x61 0x0>;
	nvidia,ddc-i2c-bus = <0x7e>;
	nvidia,active-panel = <0x7f>;
	nvidia,typec-port = [01];
	linux,phandle = <0x78>;
	phandle = <0x78>;

	hdmi-display {
		compatible = "hdmi,display";
		<b>status = "okay";</b>
		generic-infoframe-type = <0x87>;
		linux,phandle = <0x1ae>;
		phandle = <0x1ae>;

		disp-default-out {
			nvidia,out-type = <0x1>;
			nvidia,out-hotplug-state = <0x0>;
			nvidia,out-parent-clk = "plld2";
			nvidia,out-xres = <0x1000>;
			nvidia,out-yres = <0x870>;
		};
	};

	dp-display {
		compatible = "dp, display";
		<b>status = "disabled";</b>
		nvidia,is_ext_dp_panel = <0x1>;
		nvidia,pc2-disabled;
		linux,phandle = <0x7f>;
		phandle = <0x7f>;

		disp-default-out {
			nvidia,out-type = <0x3>;
			nvidia,out-hotplug-state = <0x0>;
			nvidia,out-parent-clk = "plld2";
			nvidia,out-xres = <0x1000>;
			nvidia,out-yres = <0x870>;
		};

		lt-data {

			tegra-dp-vs-regs {
				pc2_l0 = <0x15 0x1c 0x23 0x2d 0x20 0x27 0x2f 0x2c 0x36 0x3c>;
				pc2_l1 = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
				pc2_l2 = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
				pc2_l3 = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
			};

			tegra-dp-pe-regs {
				pc2_l0 = <0x0 0xc 0x1a 0x2f 0x0 0x10 0x22 0x1 0x19 0x0>;
				pc2_l1 = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
				pc2_l2 = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
				pc2_l3 = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
			};

			tegra-dp-pc-regs {
				pc2_l0 = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
				pc2_l1 = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
				pc2_l2 = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
				pc2_l3 = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
			};

			tegra-dp-tx-pu {
				pc2_l0 = <0x20 0x30 0x40 0x60 0x30 0x40 0x60 0x40 0x60 0x60>;
				pc2_l1 = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
				pc2_l2 = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
				pc2_l3 = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
			};
		};
	};
...

Auvidea,

Do you see any log from HDMI driver or tegraDC driver when you hotplug the hdmi cable?

Yes, there are quite a few messages in syslog.

Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.320185] tegradc 15210000.nvdisplay: dp: plug event received
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.320284] hpd: state 3 (Disabled), hpd 1, pending_hpd_evt 1
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.320290] hpd: switching from state 3 (Disabled) to state 0 (Reset)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.336177] tegradc 15210000.nvdisplay: dp: unplug event received
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.336273] hpd: state 0 (Reset), hpd 0, pending_hpd_evt 1
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.336279] hpd: switching from state 0 (Reset) to state 0 (Reset)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.336290] hpd: state 0 (Reset), hpd 0, pending_hpd_evt 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.336338] tegradc 15210000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.336400] hpd: hpd_switch 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.336473] hpd: switching from state 0 (Reset) to state 1 (Check Plug)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.336496] hpd: state 1 (Check Plug), hpd 0, pending_hpd_evt 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.336503] hpd: switching from state 1 (Check Plug) to state 3 (Disabled)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.337864] tegradc 15210000.nvdisplay: dp: plug event received
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.337916] hpd: state 3 (Disabled), hpd 1, pending_hpd_evt 1
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.337921] hpd: switching from state 3 (Disabled) to state 0 (Reset)
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (--) NVIDIA(GPU-0): AOC 2270W (DFP-0): connected
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (--) NVIDIA(GPU-0): AOC 2270W (DFP-0): External TMDS
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}"
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.377451] tegradc 15200000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.438670] hpd: state 0 (Reset), hpd 1, pending_hpd_evt 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.456303] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.457083] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.457462] tegradc 15210000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.457486] hpd: hpd_switch 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.457492] hpd: switching from state 0 (Reset) to state 1 (Check Plug)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.457569] tegradc 15200000.nvdisplay: unblank
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.457573] hpd: state 1 (Check Plug), hpd 1, pending_hpd_evt 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.457578] hpd: switching from state 1 (Check Plug) to state 2 (Check EDID)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.458580] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.458900] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.462720] hpd: state 2 (Check EDID), hpd 1, pending_hpd_evt 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.463271] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 2
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.464773] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 1
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.466267] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.466928] Parent Clock set for DC plld3
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.467761] tegradc 15210000.nvdisplay: dp: aux write got error (0x10000100)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.467767] tegradc 15210000.nvdisplay: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.468475] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 2
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.469957] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 1
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.471186] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.472205] tegradc 15200000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.472373] tegradc 15210000.nvdisplay: dp: aux write got error (0x10000100)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.472378] tegradc 15210000.nvdisplay: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.473040] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 2
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.474541] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 1
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.476009] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.479659] tegradc 15200000.nvdisplay: unblank
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.479671] tegradc 15210000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.480076] tegradc 15210000.nvdisplay: dp: aux write got error (0x10000100)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.480216] tegradc 15210000.nvdisplay: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.481785] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 2
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.487384] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 1
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.488959] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.490550] tegradc 15210000.nvdisplay: dp: aux write got error (0x10000100)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.490903] tegradc 15210000.nvdisplay: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.491077] tegradc 15210000.nvdisplay: dp: failed to exit panel power save mode (0xfffffff2)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.491288] hpd: edid read prepare failed
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.491408] tegradc 15210000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.491423] hpd: hpd_switch 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.491427] hpd: switching from state 2 (Check EDID) to state 3 (Disabled)
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (--) NVIDIA(GPU-0): AOC 2270W (DFP-0): connected
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (--) NVIDIA(GPU-0): AOC 2270W (DFP-0): External TMDS
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}"
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.497496] tegradc 15200000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.521171] tegradc 15210000.nvdisplay: dp: unplug event received
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.521221] hpd: state 3 (Disabled), hpd 0, pending_hpd_evt 1
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.521224] hpd: switching from state 3 (Disabled) to state 0 (Reset)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.521232] hpd: state 0 (Reset), hpd 0, pending_hpd_evt 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.528060] tegradc 15210000.nvdisplay: dp: plug event received
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.583067] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.584828] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.586779] tegradc 15210000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.586888] hpd: hpd_switch 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.586906] hpd: switching from state 0 (Reset) to state 1 (Check Plug)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.586930] tegradc 15200000.nvdisplay: unblank
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.586941] hpd: state 1 (Check Plug), hpd 1, pending_hpd_evt 1
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.586945] hpd: switching from state 1 (Check Plug) to state 0 (Reset)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.588836] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.589012] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.597106] Parent Clock set for DC plld3
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.602006] tegradc 15200000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.610904] tegradc 15200000.nvdisplay: unblank
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.610949] tegradc 15210000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (--) NVIDIA(GPU-0): AOC 2270W (DFP-0): connected
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (--) NVIDIA(GPU-0): AOC 2270W (DFP-0): External TMDS
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}"
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.627199] tegradc 15200000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.690736] hpd: state 0 (Reset), hpd 1, pending_hpd_evt 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.712835] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.713654] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.713914] tegradc 15210000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.713930] hpd: hpd_switch 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.713937] hpd: switching from state 0 (Reset) to state 1 (Check Plug)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.713952] hpd: state 1 (Check Plug), hpd 1, pending_hpd_evt 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.713995] hpd: switching from state 1 (Check Plug) to state 2 (Check EDID)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.714123] tegradc 15200000.nvdisplay: unblank
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.715158] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.715566] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.718713] hpd: state 2 (Check EDID), hpd 1, pending_hpd_evt 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.719457] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 2
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.721017] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 1
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.722512] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.723877] Parent Clock set for DC plld3
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.723987] tegradc 15210000.nvdisplay: dp: aux write got error (0x10000100)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.723992] tegradc 15210000.nvdisplay: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.724680] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 2
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.726165] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 1
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.727341] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.728663] tegradc 15200000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.728842] tegradc 15210000.nvdisplay: dp: aux write got error (0x10000100)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.728847] tegradc 15210000.nvdisplay: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.729538] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 2
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.730882] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 1
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.732391] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.733882] tegradc 15210000.nvdisplay: dp: aux write got error (0x10000100)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.733887] tegradc 15210000.nvdisplay: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.734921] tegradc 15200000.nvdisplay: unblank
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.734935] tegradc 15210000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.735500] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 2
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.742196] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 1
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.743556] tegradc 15210000.nvdisplay: dp: aux write retry (0x10000100) -- 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.744820] tegradc 15200000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.745101] tegradc 15210000.nvdisplay: dp: aux write got error (0x10000100)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.745106] tegradc 15210000.nvdisplay: dp: Failed to write DPCD data. CMD 0x600, Status 0x10000100
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.745109] tegradc 15210000.nvdisplay: dp: failed to exit panel power save mode (0xfffffff2)
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (--) NVIDIA(GPU-0): AOC 2270W (DFP-0): connected
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (--) NVIDIA(GPU-0): AOC 2270W (DFP-0): External TMDS
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}"
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.805999] hpd: edid read prepare failed
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.806003] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.807216] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.808068] tegradc 15210000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.808088] hpd: hpd_switch 0
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.808092] hpd: switching from state 2 (Check EDID) to state 3 (Disabled)
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.808100] tegradc 15200000.nvdisplay: unblank
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.809261] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.809532] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.817542] Parent Clock set for DC plld3
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.822445] tegradc 15200000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.827777] tegradc 15200000.nvdisplay: unblank
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.827789] tegradc 15210000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (--) NVIDIA(GPU-0): AOC 2270W (DFP-0): connected
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (--) NVIDIA(GPU-0): AOC 2270W (DFP-0): External TMDS
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}"
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.837912] tegradc 15200000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.898320] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.899843] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.900177] tegradc 15200000.nvdisplay: unblank
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.901132] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.901381] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.909701] Parent Clock set for DC plld3
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.916124] tegradc 15200000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.921603] tegradc 15200000.nvdisplay: unblank
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.921615] tegradc 15210000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (--) NVIDIA(GPU-0): AOC 2270W (DFP-0): connected
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (--) NVIDIA(GPU-0): AOC 2270W (DFP-0): External TMDS
Nov 29 09:37:32 jetson-0423318029345 /usr/lib/gdm3/gdm-x-session[6053]: (II) NVIDIA(0): Setting mode "HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}"
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.931816] tegradc 15200000.nvdisplay: blank - powerdown
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.994627] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.995639] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.996011] tegradc 15200000.nvdisplay: unblank
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.996959] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  139.997150] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
Nov 29 09:37:32 jetson-0423318029345 kernel: [  140.005162] Parent Clock set for DC plld3
Nov 29 09:37:32 jetson-0423318029345 kernel: [  140.011265] tegradc 15200000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
Nov 29 09:37:32 jetson-0423318029345 kernel: [  140.018969] tegradc 15200000.nvdisplay: unblank
Nov 29 09:37:32 jetson-0423318029345 kernel: [  140.018985] tegradc 15210000.nvdisplay: blank - powerdown

Please note that if you want us to debug such usecase, you need to disable those display heads which are not in use. Also, you need to share the patches you’ve added instead of pasting partial dts to us.
It would be easier for us to tell what is going one.

For example, I saw your dp have some problems on 15210000 head but 1520000 seems also have error with HDMI. If you are talking about the error on HDMI, please just disable DP head first.

Thanks WayneWWW. Please let me know how I should do that. How do I disable the DP head first?

Can you provide a hoot guide, how to enable the 2nd HDMI out? It is not clear to me, what changes/additions are required in the device tree and in Ubuntu.

Hi,

Please disable the corresponding nvdisplay. (set the status to “disabled”)

You should have a mapping of nvdisplay → sor in your device tree.

Hi WayneWWW,

on the dev kit the DP1 port is connected to the USB-C mux. I assume the mux requires the DP (display port) mode and AUX signaling. We want to use this port in HDMI mode with I2C signaling. What changes in the device tree do we need to do to switch dp1 from DP to HDMI mode?

On a plain devkit with jetpack, I plugged this into the USB-C port on the back (next to the GPIO header):

https://amzn.to/2U37zqO

I then plugged in a HDMI monitor into that adapter, and booted the Jetson. After making sure the adapter was making proper connection, it started working just fine, no re-configuration needed.

It seems to detect as a DisplayPort endpoint (DP-0) but the monitor is HDMI-only:

nvidia@xavier:~$ xrandr
Screen 0: minimum 8 x 8, current 1920 x 1680, maximum 32767 x 32767
HDMI-0 connected primary 1024x600+417+0 (normal left inverted right x axis y axis) 150mm x 100mm
   1024x600      43.07*+
DP-0 connected 1920x1080+0+600 (normal left inverted right x axis y axis) 600mm x 330mm
   1920x1080     60.00*+  59.95    50.00  
   1680x1050     59.96  
   1600x1200     60.01  
   1440x900      59.89  
   1366x768      59.97  
   1360x765      60.01  
   1280x1024     60.00  
   1280x960      60.00  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1024x768      60.01  
   800x600       60.32  
   720x576       50.00  
   720x480       59.94  
DP-1 disconnected (normal left inverted right x axis y axis)

Auvidea,

You could refer to “tegra194-p2822-disp.dtsi” as first step.

Hi WayneWWW,

thank you for this hint. Now we got both monitors working. So it is solved. Just for reference, below are our changes.

To activate 2nd HDMI output please make the following changes in tegra194-p2822-disp.dtsi:

from:
	&head2 {
		status = "okay";
		nvidia,fb-bpp = <32>;
		nvidia,fbmem-size = <265420800>; /* 8K (7680*4320) 32bpp double buffered */
		nvidia,fb-flags = <TEGRA_FB_FLIP_ON_PROBE>;
		win-mask = <0x30>;
		nvidia,fb-win = <4>;
		nvidia,dc-connector = <&sor1>;
		nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
		vdd-dp-pwr-supply = <&p2888_spmic_sd0>;
		avdd-dp-pll-supply = <&p2888_spmic_sd1>;
		vdd-edp-sec-mode-supply = <&battery_reg>;
		vdd-dp-pad-supply = <&battery_reg>;
		vdd_hdmi_5v0-supply = <&p2822_vdd_hdmi_5v0>;
	};

to (2 lines removed):
	&head2 {
		status = "okay";
		nvidia,fb-bpp = <32>;
		nvidia,fbmem-size = <265420800>; /* 8K (7680*4320) 32bpp double buffered */
		nvidia,fb-flags = <TEGRA_FB_FLIP_ON_PROBE>;
		win-mask = <0x30>;
		nvidia,fb-win = <4>;
		nvidia,dc-connector = <&sor1>;
		nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
		vdd-dp-pwr-supply = <&p2888_spmic_sd0>;
		avdd-dp-pll-supply = <&p2888_spmic_sd1>;
		//vdd-edp-sec-mode-supply = <&battery_reg>;
		//vdd-dp-pad-supply = <&battery_reg>;
		vdd_hdmi_5v0-supply = <&p2822_vdd_hdmi_5v0>;
	};

and
from:
	&sor1 {
		status = "okay";
		nvidia,active-panel = <&sor1_dp_display>;
	};
to:
	&sor1 {
		status = "okay";
		nvidia,active-panel = <&sor1_hdmi_display>;
	};

add:
	&sor1_hdmi_display {
		status = "okay";
		disp-default-out {
			nvidia,out-flags = <TEGRA_DC_OUT_HOTPLUG_LOW>;
		};
	};

Hi,WayneWWW!
I want to enable the 2nd HDMI port with TX2. Which device tree file should I modify?

This is a topic for jetson xavier. If you want to know 2nd HDMI for TX2, please file topic on jetson tx2 board. Thanks.

Hi WayneWWW

i followed #10 to change dp to hdmi but now i can’t see any Signal from dp1.

in my design i don’t have USB-C mux chip, the dp1 will Direct output.

How did i disable this USB-C mux chip?

Hi etta,

To disable the type C PD controller.

1. disable this node

i2c@c240000 { 
ucsi_ccg: ucsi_ccg@8 { 
status = "disabled"; 
typec-extcon { 
typec_port0: port-0 { 
status = "okay"; 
#extcon-cells = <1>; 
}; 
typec_port1: port-1 { 
status = "okay"; 
#extcon-cells = <1>; 
}; 
}; 
typec-pd { 
typec_pd: pd { 
status = "okay"; 
#extcon-cells = <1>; 
}; 
}; 
}; 
}; 

2. need to remove "nvidia,typec-port" under sor0 and sor1. Is latest log based on this change?

Hi WayneWWW

thanks for your suggestion but it’s not work.

i followed this topic to disable pd controller.
https://devtalk.nvidia.com/default/topic/1047678/jetson-agx-xavier/usb-does-not-working-on-jatson-agx-xavier-/post/5320654/#5320654

and i followed #10 to setting dp to hdmi.
now i can’t see the dp1 node.

nvidia@jetson-0424218031082:~$
nvidia@jetson-0424218031082:~$ dmesg | grep tegradc
[    1.730231] tegradccommon 15200000.dc_common: host1x channel mapped
[    1.730318] tegradccommon 15200000.dc_common: dc_common syncpt # 1 allocated
[    1.730437] tegradccommon 15200000.dc_common: dma mapping done
[    1.730966] tegradc 15200000.nvdisplay: disp0 connected to head0->/host1x/sor2
[    1.731475] tegradc 15200000.nvdisplay: DT parsed successfully
[    1.731572] tegradc 15200000.nvdisplay: Display dc.ffffff800bfd0000 registered with id=0
[    1.738538] tegradc 15200000.nvdisplay: vblank syncpt # 8 for dc 0
[    1.738594] tegradc 15200000.nvdisplay: vpulse3 syncpt # 9 for dc 0
[    1.740228] tegradc 15200000.nvdisplay: Bootloader disp_param detected. Detected mode: 1920x1080 (on 0x0mm) pclk=148350937
[    1.742687] tegradc 15200000.nvdisplay: hdmi: invalid prod list prod_list_hdmi_board
[    1.742754] tegradc 15200000.nvdisplay: hdmi: tegra_hdmi_tmds_range_read(bd) failed
[    1.747622] tegradc 15200000.nvdisplay: probed
[    4.195126] tegradc 15200000.nvdisplay: fb registered
[    4.344761] tegradc 15200000.nvdisplay: hdmi: tmds rate:148367K prod-setting:prod_c_hdmi_111m_223m
[    5.165903] tegradc 15200000.nvdisplay: blank - powerdown
[    5.242476] tegradc 15200000.nvdisplay: blank - normal
[    5.252230] tegradc 15200000.nvdisplay: unblank
[    5.267667] tegradc 15200000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[    6.269857] tegradc 15200000.nvdisplay: unblank
[    7.647124] tegradc 15200000.nvdisplay: hdmi: plugged
[   17.824511] tegradc 15200000.nvdisplay: blank - powerdown
[   17.916590] tegradc 15200000.nvdisplay: unblank
[   17.932939] tegradc 15200000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[   17.942061] tegradc 15200000.nvdisplay: unblank
[   19.127700] tegradc 15200000.nvdisplay: blank - powerdown
[   19.127865] tegradc 15200000.nvdisplay: hdmi: unplugged
[   19.161009] tegradc 15200000.nvdisplay: blank - powerdown
[   19.161052] tegradc 15200000.nvdisplay: unblank
[   19.161072] tegradc 15200000.nvdisplay: unblank
nvidia@jetson-0424218031082:~$
nvidia@jetson-0424218031082:~$

Please start with tegradc_probe in dc.c and see where does it get stuck.

Your question is totally new on this forum and I believe there is no other users met it before.

Hi,

Do you find where halts the display probing in tegradc probe?

Hi WayneWWW

i don’t know how to trace this display.
could you give some suggestion?

our team member create new topic as below:

https://devtalk.nvidia.com/default/topic/1049344/jetson-agx-xavier/topic-how-to-enable-the-dp-port-on-xavier-without-the-usb-type-c-controller-/

I think the simple way is to put some debug log inside tegradc_probe in dc.c, rebuild and reflash the kernel image.

After system boot up, check the dmesg to see where does it halt and narrow down. Does your team have experience debugging linux kernel?

Hi WayneWWW

thanks for your help.

i will test it and report the result on new topic.