[jetson thor][display port]How to Modify the DP Port to DP1

How to Modify the DP Port to DP1?
My hardware uses DP1 as the display output channel, but I don’t know which parameters need to be modified for DCB to specify Dp1. Sould I modify pad link to 1?
Also, why does DP1 not support dp++? Does only dp0 support dp++?

Display Devices::
	Display Devices : [0]
		Type               : [DP]
		CCB                : [1]
		Heads              : 0:[Y] 1:[Y]
		Sor                : [0 ]
		DP Lane Count      : [4]
		DP Link Rate       : [8.1GHz]
		External Link Type : DP
		Connector          : [0]
		Bus                : [0]
		Pad Link           : [0]
	Display Devices : [1]
		Type               : [TMDS]
		CCB                : [1]
		Heads              : 0:[Y] 1:[Y]
		Sor                : [0 ]
		HDMI capable       : [1]
		Connector          : [0]
		Bus                : [0]
		Pad Link           : [0]
	Display Devices : [2]
		Type               : [TMDS]
		CCB                : [1]
		Heads              : 0:[Y] 1:[Y]
		Sor                : [0 ]
		HDMI capable       : [1]
		Connector          : [1]
		Bus                : [1]
		Pad Link           : [1]

My hpd pin is low level, but when i run xrandr it print DP-1 disconnected.

$ export DISPLAY=:0
$ xrandr
Screen 0: minimum 8 x 8, current 640 x 480, maximum 32767 x 32767
DP-0 disconnected primary (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)

You need to use dcb tool to modify the dcb blob content in DT to enable DP1.

Also, pinmux setting needs to be corrected from default GPIO to SFIO.
If pinmux change is missing, then hpd won’t be detected.

my pinmux have modified and my dcb have mofiyed to:

=== Reading DCB blob ===
=== Chip Variant T26X ===

########## Tegra DCB BLOB ###############
########### Display Devices #############
Display Devices::
	Display Devices : [0]
		Type               : [DP]
		CCB                : [0]
		Heads              : 0:[Y] 1:[Y]
		Sor                : [0 ]
		DP Lane Count      : [4]
		DP Link Rate       : [8.1GHz]
		External Link Type : DP
		Connector          : [0]
		Bus                : [0]
		Pad Link           : [0]
	Display Devices : [1]
		Type               : [TMDS]
		CCB                : [0]
		Heads              : 0:[Y] 1:[Y]
		Sor                : [0 ]
		HDMI capable       : [1]
		Connector          : [0]
		Bus                : [0]
		Pad Link           : [0]
	Display Devices : [2]
		Type               : [DP]
		CCB                : [1]
		Heads              : 0:[Y] 1:[Y]
		Sor                : [0 ]
		DP Lane Count      : [4]
		DP Link Rate       : [8.1GHz]
		External Link Type : DP
		Connector          : [1]
		Bus                : [1]
		Pad Link           : [1]
############### 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]
	CCB Index : 1
		I2C Port           : [10]
		AUX Port           : [1]
########### Connector entries #############
Connectors::
	Connector Index : 0x0
		Type               : [DP]
		Hotplug            : A:[Y]
	Connector Index : 0x0
		Type               : [DP]
		Hotplug            : A:[Y]
	Connector Index : 0x1
		Type               : [DP]
		Hotplug            : A:[Y]

################# ******* ################

what is the result of this register readout when you do hotplug? Do you see value changed?

0x880968102c

root@tegra-ubuntu:/sys/kernel/debug/pinctrl/810c281000.pinmux# busybox devmem 0x880968102c
0x00500200

when i hotplug , the reg value always is 0x00500200.

Do I need to modify the sor value of dp1?

dmesg print that:

[   18.288264] nv_platform 8808c00000.display: Adding to iommu group 58
[   18.288368] nv_platform 8808c00000.display: Cannot reserve IOVA region of 0 size
[   18.288446] nv_platform 8808c00000.display: Cannot reserve IOVA region of 0 size
[   18.289847] platform 8808c00000.display:nvdisplay-niso: Adding to iommu group 59

dmesg.log (113.2 KB)

now the board can display desktop after flash first time. but sometimes will print below error log on debug uart , then display monitor enter black screen(no input).

dce: dce_ipc_send_message_sync:546  Error in sending message to DCE

dce error.txt (28.9 KB)

Is DP1 to HDMI the only display in use on your board?

My board not using HDMI. My board only uses DP1.
How to disable DP0 and HDMI 0?

please choose the display device as “skip” when using dcb_tool.

My DCB config is below now, but still black screen and print DCE error:

########## Tegra DCB BLOB ###############
########### Display Devices #############
Display Devices::
	Display Devices : [2]
		Type               : [DP]
		CCB                : [1]
		Heads              : 0:[Y] 1:[Y]
		Sor                : [0 ]
		DP Lane Count      : [4]
		DP Link Rate       : [8.1GHz]
		External Link Type : DP
		Connector          : [1]
		Bus                : [1]
		Pad Link           : [1]

Is right my sor and pad link?

Yes , this result looks correct. Please check if your xorg log only has one DP after flashing.

Currently, only the UEFI phase can display images, and once entering the kernel, the screen will go black. Do you need any more logs, please?

black screen.log (203.6 KB)

I need the xorg log from /var/log/Xorg.0.log first.

The following log file is an xorg log.
xorg.txt (7.9 KB)

I see this log in Xorg.0.log:

NVIDIA(GPU-0): Failed to initialize the NVIDIA display device!

Is that reason of black screen?

Could you share the result of “lsmod” and also “lspci”?

x@tegra-ubuntu:/boot/dtb$ lsmod
Module                  Size  Used by
nvidia_drm            118784  0
nvidia_modeset       1826816  1 nvidia_drm
nvidia_uvm           1495040  0
qrtr                   45056  2
snd_soc_tegra_controls    24576  0
snd_soc_tegra_utils    16384  1 snd_soc_tegra_controls
bridge                266240  0
stp                    12288  1 bridge
llc                    16384  2 bridge,stp
usb_f_ncm              24576  2
usb_f_mass_storage     49152  2
snd_soc_tegra210_mixer   122880  1
snd_soc_tegra210_mvc    24576  2
snd_soc_tegra186_asrc    40960  1
snd_soc_tegra210_ope    36864  1
snd_soc_tegra210_admaif   102400  1
snd_soc_tegra_pcm      16384  1 snd_soc_tegra210_admaif
snd_soc_tegra186_arad    28672  0
snd_soc_tegra210_i2s    28672  2
snd_soc_tegra210_adx    57344  6
snd_soc_tegra210_sfc    53248  4
nvidia              14802944  2 nvidia_uvm,nvidia_modeset
snd_soc_tegra210_amx    57344  6
governor_pod_scaling    12288  0
usb_f_acm              16384  2
u_serial               20480  3 usb_f_acm
usb_f_rndis            28672  2
u_ether                24576  2 usb_f_rndis,usb_f_ncm
snd_soc_tegra210_ahub  2035712  1
tegra210_adma          20480  0
libcomposite           69632  17 usb_f_rndis,u_ether,usb_f_mass_storage,usb_f_acm,usb_f_ncm
nvvrs_pseq_rtc         12288  0
spidev                 20480  0
nvadsp                 77824  0
tegra_capture_coe     176128  0
cfg80211              999424  0
nvhost_nvcsi           16384  0
rfkill                 24576  2 cfg80211
nvhost_capture         16384  0
nvhost_vi5             16384  0
snd_hda_codec_hdmi     57344  1
crct10dif_ce           12288  1
sm3_ce                 12288  0
nvmap                 233472  0
sm3                    20480  1 sm3_ce
coresight_trbe         20480  0
sha3_ce                16384  0
snd_soc_tegra_audio_graph_card    16384  0
sha512_ce              12288  0
snd_hda_tegra          12288  1
nvethernet           2961408  1 tegra_capture_coe
mttcan                 57344  0
nvsciipc               24576  1 nvmap
snd_soc_audio_graph_card    12288  2 snd_soc_tegra_audio_graph_card
sha512_arm64           16384  1 sha512_ce
snd_hda_codec         147456  2 snd_hda_codec_hdmi,snd_hda_tegra
coresight              73728  1 coresight_trbe
ivc_cdev               16384  1 nvsciipc
snd_soc_simple_card_utils    28672  3 snd_soc_tegra_audio_graph_card,snd_soc_audio_graph_card,snd_soc_tegra210_i2s
arm_spe_pmu            20480  0
snd_soc_rt5640        135168  1
tegra234_oc_event      12288  0
nvpmodel_clk_cap       12288  0
nv_gpu_static_pg       12288  0
ina238                 12288  0
ina3221                20480  0
tegra23x_psc           20480  0
tegra_bpmp_bwmgr       12288  0
thermal_trip_event     12288  0
tegra_cactmon_mc_all    12288  0
tegra_aconnect         12288  0
tegra_aocluster        12288  0
nvpps                  28672  2 mttcan,nvethernet
snd_soc_rl6231         12288  1 snd_soc_rt5640
at24                   16384  0
nvidia_vrs_pseq        12288  0
lm90                   36864  0
snd_hda_core          118784  3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_tegra
host1x_fence           40960  1
pwm_tegra_tachometer    12288  0
can_dev                45056  1 mttcan
mc_t26x                12288  0
spi_tegra114           20480  0
ramoops                24576  0
tegra264_mc_hwpm       12288  0
tegra_dce             126976  2 nvidia
reed_solomon           16384  1 ramoops
nvidia_cspmu           49152  0
arm_cspmu_module       20480  1 nvidia_cspmu
nvhost_pva           3112960  0
tegra_se               69632  0
tegra_se_kds           12288  1 tegra_se
crypto_engine          24576  1 tegra_se
tpm_ftpm_tee           12288  0
camera_diagnostics     24576  0
nvhost_isp5            16384  0
tegra_capture_isp      36864  1 nvhost_isp5
tegra_camera          249856  4 tegra_capture_isp,tegra_capture_coe,nvhost_nvcsi,nvhost_vi5
v4l2_dv_timings        32768  1 tegra_camera
host1x_nvhost          32768  3 host1x_fence,tegra_camera,nvhost_nvcsi
tegra_drm             376832  0
tegra_wmark            12288  0
nvhwpm                196608  4 tegra264_mc_hwpm,tegra_drm,nvhost_capture,nvhost_pva
drm_display_helper    172032  1 tegra_drm
drm_dp_aux_bus         16384  1 tegra_drm
cec                    53248  1 tegra_drm
host1x                180224  12 host1x_nvhost,host1x_fence,nvhost_isp5,tegra_se,tegra_capture_isp,nvidia,tegra_camera,tegra_drm,nvidia_drm,nvhost_pva,nvhost_vi5,nvidia_modeset
tegra_camera_platform    20480  4 nvhost_isp5,tegra_camera,nvhost_nvcsi,nvhost_vi5
mc_utils               12288  2 nvidia,tegra_camera_platform
capture_ivc            24576  3 tegra_capture_isp,tegra_capture_coe,tegra_camera
v4l2_fwnode            20480  1 tegra_camera
v4l2_async             20480  2 v4l2_fwnode,tegra_camera
videobuf2_dma_contig    16384  1 tegra_camera
videobuf2_memops       12288  1 videobuf2_dma_contig
videobuf2_v4l2         32768  1 tegra_camera
videodev              294912  4 v4l2_async,v4l2_fwnode,videobuf2_v4l2,tegra_camera
videobuf2_common       69632  4 videobuf2_dma_contig,videobuf2_v4l2,tegra_camera,videobuf2_memops
mc                     61440  5 v4l2_async,videodev,videobuf2_v4l2,tegra_camera,videobuf2_common
camchar                12288  0
rtcpu_debug            36864  0
tegra_camera_rtcpu    245760  4 rtcpu_debug,capture_ivc,tegra_capture_isp,tegra_camera
fuse                  135168  1
ivc_bus                20480  5 rtcpu_debug,capture_ivc,camera_diagnostics,camchar,tegra_camera_rtcpu
hsp_mailbox_client     20480  2 ivc_bus,tegra_camera_rtcpu
nvme_fabrics           28672  0
nfnetlink              20480  1
ip_tables              28672  0
x_tables               40960  1 ip_tables
ipv6                  483328  71 bridge
pwm_fan                12288  0
pwm_tegra              12288  1
tegra_bpmp_thermal     12288  0
tegra_xudc             45056  0
uas                    24576  0
ucsi_ccg               20480  0
typec_ucsi             45056  1 ucsi_ccg
typec                  77824  1 typec_ucsi
nvme                   45056  2
nvme_core             126976  4 nvme,nvme_fabrics
phy_tegra194_p2u       12288  0
pcie_tegra194          36864  0
ufs_tegra              32768  0
pcie_tegra264          12288  0
x@tegra-ubuntu:/boot/dtb$ lspci
0000:00:00.0 PCI bridge: NVIDIA Corporation Device 22e6
0000:01:00.0 3D controller: NVIDIA Corporation Device 2b00 (rev a1)
0005:00:00.0 PCI bridge: NVIDIA Corporation Device 22d8
0005:01:00.0 Non-Volatile memory controller: Innodisk Corporation Device 5220 (rev 01)