Orin nx (16GB) DP failed to start, I referred to the following website to modify the DP output, and also modified the GPIO pin multiplexing. However, after power on, DP cannot output and an error will be reported.
When I connect the DP cable, the following error message appears.
[ 92.731880] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[ 92.741786] —[ end trace beb94c49bf5fbcb1 ]—
I can confirm that there is no problem with the DP hardware on the baseboard, because we were able to get output using another core board.
I modified the pin multiplexing, adjusted the DCB image, and re-flashed the system, but still cannot get any output. Is there anything wrong that I missed? What materials do I need to provide to help solve this problem?
thanks.
I re-flashed the system after modifying the configuration, but there is still no output from the display port (DP).
Let me summarize the changes I have made:
First, adjust the pinmux configuration according to the Jetson_Orin_NX_series_and_Orin_Nano_series_Pinmux_Config_Template.xlsm. After the adjustment, use the Jetson_Orin_NX_Series_+HDMI A03 configuration, which has already been modified for the dp (display port).
Replace the generated dtsi file to Linux_for_Tegra/bootloader/t186ref/BCT/tegra234-mb1-bct-pinmux-p3767-hdmi-a03.dtsi. tegra234-mb1-bct-pinmux-p3767-hdmi-a03.dtsi (65.8 KB)
Then adjust the dcb parameters. The adjustment file is located at: Linux_for_Tegra\sources\hardware\nvidia\platform\t23x\concord\kernel-dts\tegra234-dcb-p3701-0000-a02-p3737-0000-a01.dtsi. tegra234-dcb-p3701-0000-a02-p3737-0000-a01.dtsi (27.5 KB)
refer to the following website:
Meanwhile, according to the problem you mentioned earlier, you have deleted the HDMI plug-and-play detection pin in the following file: Linux_for_Tegra\source\public\hardware\nvidia\platform\t23x\p3768\kernel-dts\cvb\tegra234-p3509-a02.dtsi.
Finally, the system was recompiled and fully flashed using the command:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml” --showlogs --network usb0 p3509-a02+p3767-0000 internal
However, the DP still does not display any output. Did I miss any steps, or is there something wrong with the previous configuration? The DP hardware should not have any issues because it can output DP signals using our own designed carrier board with the Xavier NX core board.
Yes, that is the wrong place. Please trace the source code of tegra234-p3767-0000-p3509-a02.dts.
There should be a file as this one.
->tegra234-dcb-p3767-0000-hdmi.dtsi
And there is another file which is for DP.
→ tegra234-dcb-p3767-0000-dp.dtsi
The dcb image in that “dp” dtsi is for displayport… so you just need to swap the file from hdmi one to dp one and you don’t need to update dcb image manually.
I traced the tegra234-p3767-0000-p3509-a02.dts file and found that it calls the tegra234-dcb-p3767-0000-hdmi.dtsi file. I replaced the contents of this file with the contents of the tegra234-dcb-p3767-0000-dp.dtsi file, and restored the original values in the tegra234-dcb-p3701-0000-a02-p3737-0000-a01.dtsi and tegra234-p3509-a02.dtsi files. After recompiling, I obtained a dtb file, but even after replacing it in the file system, I still cannot output dp signals. Do I need to re-flash it?
Hi 243953617, I have the same problem and I am following your thread to resolve it. I saw that you use the HDMI pinmux tab to generate new pinmux with changed signals for DP. Is there a reason for not using the DP tab in the pinmux spreadsheet to generate a DP pinmux.
I compared the differences between HDMI and DP and found that modifying HDMI would require less work. Of course, this is only specific to our design. If you are able to work directly with the DP option, then there should not be any problem.
Can you refer me to a guide on setting up the environment and re-compiling kernel and pinmux for someone new to this level of detail.
I am finding a lot of dis-jointed information with no clear method for setting up the environment and repeating exactly what you have done to fix DP on Orin.
Sorry, my English is not very good, the specific steps may be difficult to describe clearly, all the steps are in the official manual, which has specific operation steps, including kernel compilation and pin multiplexing. [For example, below is the kernel compilation step: Kernel Customization — Jetson Linux Developer Guide documentation (nvidia.com)
[It is best to carefully check the directory, where you can usually find the answer you need]
I am trying to redo this solution by configuring the dp dtsi file and changing pinmux using the dp tab, instead of copying contents of dp file to hdmi file, however, flashing fails when it reaches the new dp version of the dtsi file
[ 4.7579 ] Generating signatures
[ 4.7592 ] tegrasign_v3.py --key None --list images_list.xml --pubkeyhash pub_key.key --sha sha512
[ 4.7596 ] Assuming zero filled SBK key
[ 4.9035 ] Warning: pub_key.key is not found
[ 4.9055 ] Pre-processing config: tegra234-mb1-bct-reset-p3767-0000.dts
[ 4.9128 ] Pre-processing config: tegra234-mb1-bct-device-p3767-0000.dts
[ 4.9209 ] Pre-processing config: tegra234-mb1-bct-cprod-p3767-0000.dts
[ 4.9279 ] Pre-processing config: tegra234-mb1-bct-gpioint-p3767-0000.dts
[ 4.9375 ] Pre-processing config: tegra234-mb1-bct-misc-p3767-0000.dts
[ 4.9511 ] Pre-processing config: tegra234-mb1-bct-pinmux-p3767-dp-a03.dtsi
Error: Return value 1
Command cpp -nostdinc -x assembler-with-cpp -D IN_DTS_CONTEXT tegra234-mb1-bct-pinmux-p3767-dp-a03.dtsi tegra234-mb1-bct-pinmux-p3767-dp-a03_cpp.dts
Error: /home/z/SSD/L4T-35.2.1-Orin/Linux_for_Tegra/bootloader/signed/flash.idx is not found
Error: failed to relocate images to /home/z/SSD/L4T-35.2.1-Orin/Linux_for_Tegra/tools/kernel_flash/images
Cleaning up…
This error is not related to SSD sectors as this fault does not occur if I change the p3509-a02+p3767-0000.conf file back to hdmi dtsi files