How the enable 2nd HDMI port with the Xavier?

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.

Hi etta,

I just want to confirm, is current issue for extra “HDMI” or for DP?

The new topic you pasted in #18 is for DP w/o PD controller.

Hi WayneWWW

our carried have two hdmi output. one is original hdmi other one is DP1 to hdmi.
after i trun off the pd controller and change DP1 signal to hdmi, i think it should be work but it didn’t.

From my point of view, I only care about what signal you need from tegra side.
We both agree one port is the original HDMI port. How about the other one (DP1)?

Does tegra need to output DP or HDMI for you?

Hi WayneWWW

i need tegra output two hdmi signal.

i can’t see any signal and message from DP1.

So your team has two kinds of carrier board? One for dual HDMI and the other for dual DP?

In the thread
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-/

Your team member wants to enable DP,right?