How to enable HDMI on custom carrier board

Dear Jetson Hardware Experts,

We have a custom carrier board that was previously designed for and has been working with the Jetson Xavier NX modules (8GB/16GB). We would like to use it for validating our hardware with the Jetson Orin NX 8GB module before migrating to this later definitively.

I followed the advice from here to flash this combo of custom carrier board + Jetson Orin NX 8GB SoM on top :

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

...

[ 270]: l4t_flash_from_kernel: Successfully flash the qspi
tar: Read checkpoint 470000
tar: Read checkpoint 480000
tar: Read checkpoint 490000
tar: Read checkpoint 500000
tar: Read checkpoint 510000
tar: Read checkpoint 520000
tar: Read checkpoint 530000
tar: Read checkpoint 540000
tar: Read checkpoint 550000
tar: Read checkpoint 560000
writing item=16, 9:0:secondary_gpt, 62545444352, 16896, gpt_secondary_9_0.bin, 16896, fixed-<reserved>-0, d8be6bac8ad811e28a4a22fbfb2f247274bbc063
[ 324]: l4t_flash_from_kernel: Successfully flash the external device
[ 324]: l4t_flash_from_kernel: Flashing success
[ 324]: l4t_flash_from_kernel: The device size indicated in the partition layout xml is smaller than the actual size. This utility will try to fix the GPT.
Flash is successful
Reboot device
Cleaning up...
Log is saved to Linux_for_Tegra/initrdlog/flash_1-8_0_20240501-131335.log

But right after that, there was nothing happen on the HDMI display connected to the board even-though the system was then mounted as USB device (L4T-README) on host machine (where sdkmanager is installed) later.

I also applied the patch in the Adaptation to the Carrier Board with HDMI for the Orin NX/Nano Modules section of the Jetson_Linux_Release_Notes_r35.4.1.pdf as suggested here :

For reference, the design of the HDMI part on our custom board is below :

Could you help to give more support on this, please ?

Thanks and best regards,
Khang

Hi again,

To update, the HDMI output has not been working yet (especially for the displays I tested : Philips 23.8" 243V7QJAB, SAMSUNG 24" LF24T450FQEXXV, SAMSUNG 24" LS24C330GAEXXV) but it shows blinking cursor on my small FOXTECH 10" display : IMG_2543.MOV - Google Drive

I also notice that with the smaller HDMI display, there’s been UEFI screen appear during the (re-)flashing using the l4t_initrd_flash.sh command (Step 3 and the final Step where rebooting of the system is needed) :
Step 3 : Flash_Step3.MOV - Google Drive
Final step : Flash_final.MOV - Google Drive

And also with the 10-inch HDMI display, I am able to enter the UEFI configuration : UEFI.MOV - Google Drive

But then it shows nothing (no signal) when I press Continue button. After that the board reboots in loop (to the same UEFI screen) after a while. It looks like the UEFI looks for booting from the SSD NVMe but unnable to read/find necessary resources.

Regards,
Khang

None of the video here ever helps… you should dump the serial console log from UART debug serial.

1 Like

Hi @WayneWWW,

Got it. I just wanted to prove that the HDMI hardware was working in some case. Now I attach the flash log file and the associated debug log file during the flashing until the first attempt of rebooting right after the successful flashing.

Flash log : flash_1-3_0_20240502-134254.log (40.9 KB)

Debug log : Flash_OrinNX_8GB_20240502PM_2.log (187.4 KB)

Best Regards,
Khang

Ok, could you hotplug the HDMI cable now and see if anything new got printed in your console?

Hi @WayneWWW,

I tested the hotplugging of HDMI cable in two cases :

a. Same hardware as I shared in the initial comment/description in which the R75 (connected to the HDMI_HPD signal of the Micro HDMI port) is still available : In this case nothing happens even with dmesg.

b. Reworked hardware by removing the R75 after double-checking the schematic of Jetson_Xavier_NX_Carrier_Board_Design_Files_A01 as well as the design guide for Orin Series :

There was following message in the debug console :

[14:24:19:771] nvidia@viansight-onx:~$ [   83.644040] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0␍␊
[14:25:25:853] [   83.653661] ---[ end trace 8625644095f1f4f0 ]---␍␊

And more detail with dmesg :

[   83.644040] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:937 tegra186_gpio_irq+0x1ac/0x1f0
[   83.653435] Modules linked in: nvidia_modeset(O) fuse lzo_rle lzo_compress zram ramoops reed_solomon loop snd_soc_tegra186_asrc snd_soc_tegra210_ope snd_soc_tegra186_dspk snd_soc_tegra186_arad snd_soc_tegra210_mvc snd_soc_tegra210_iqc snd_soc_tegra210_afc snd_soc_tegra210_dmic snd_soc_tegra210_adx snd_soc_tegra210_mixer snd_soc_tegra210_amx snd_soc_tegra210_i2s snd_soc_tegra210_sfc snd_soc_tegra210_admaif snd_soc_tegra_pcm aes_ce_blk crypto_simd cryptd aes_ce_cipher ghash_ce sha2_ce sha256_arm64 sha1_ce snd_soc_tegra210_adsp snd_soc_tegra_machine_driver snd_soc_spdif_tx snd_hda_codec_hdmi snd_soc_tegra_utils snd_soc_simple_card_utils userspace_alert snd_soc_tegra210_ahub snd_hda_tegra nvadsp snd_hda_codec tegra_bpmp_thermal tegra210_adma snd_hda_core nv_imx219 r8168 spi_tegra114 nvidia(O) binfmt_misc ina3221 pwm_fan nvgpu nvmap ip_tables x_tables [last unloaded: mtd]
[   83.653531] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G           O      5.10.120-tegra #1
[   83.653534] Hardware name: Unknown NVIDIA Orin NX Developer Kit/NVIDIA Orin NX Developer Kit, BIOS 4.1-33958178 08/01/2023
[   83.653538] pstate: 20400089 (nzCv daIf +PAN -UAO -TCO BTYPE=--)
[   83.653541] pc : tegra186_gpio_irq+0x1ac/0x1f0
[   83.653544] lr : tegra186_gpio_irq+0x11c/0x1f0
[   83.653546] sp : ffff800010003ef0
[   83.653547] x29: ffff800010003ef0 x28: ffff172700da9860 
[   83.653551] x27: ffffcf8fc2a8cfe8 x26: 0000000000000018 
[   83.653554] x25: ffff172705967880 x24: ffff1727059bf400 
[   83.653557] x23: 000000000000000c x22: 000000000000004c 
[   83.653561] x21: 00000000000000b8 x20: 0000000000000000 
[   83.653564] x19: ffffcf8fc1f3f290 x18: 0000000000000000 
[   83.653567] x17: 0000000000000000 x16: ffffcf8fc1e57b10 
[   83.653570] x15: 0000000000000000 x14: ffffcf8fc2972680 
[   83.653573] x13: ffff4798ac13f000 x12: 000000003464d91d 
[   83.653576] x11: 0000000000000040 x10: ffffcf8fc29f7b60 
[   83.653580] x9 : ffffcf8fc29f7b58 x8 : ffff1727004b04b8 
[   83.653583] x7 : 0000000000000000 x6 : 0000000000000001 
[   83.653586] x5 : 0000000000000000 x4 : 0000000000000000 
[   83.653589] x3 : 0000000000000000 x2 : ffffcf8fc0e00d70 
[   83.653591] x1 : 000000000000004c x0 : 0000000000000000 
[   83.653595] Call trace:
[   83.653599]  tegra186_gpio_irq+0x1ac/0x1f0
[   83.653611]  generic_handle_irq+0x40/0x60
[   83.653614]  __handle_domain_irq+0x70/0xd0
[   83.653619]  gic_handle_irq+0x68/0x134
[   83.653623]  el1_irq+0xd0/0x180
[   83.653630]  cpuidle_enter_state+0xb8/0x410
[   83.653632]  cpuidle_enter+0x40/0x60
[   83.653636]  call_cpuidle+0x44/0x80
[   83.653638]  do_idle+0x208/0x270
[   83.653640]  cpu_startup_entry+0x30/0x70
[   83.653649]  rest_init+0xdc/0xe8
[   83.653656]  arch_call_rest_init+0x18/0x20
[   83.653659]  start_kernel+0x500/0x538
[   83.653661] ---[ end trace 8625644095f1f4f0 ]---

Best Regards,
Khang

Looks like it is a pure hardware issue topic. The 2nd log from tegra186_gpio_irq is expected.

Could you elaborate more about “The 2nd log from tegra186_gpio_irq is expected” as it seemed to be a kernel crash and it does not show anything still? I understood that the reworked hardware followed better the reference design/design guide from Nvidia.

Best Regards,
Khang

It does not really crash and it is also same behavior from NV devkit. That is why I said expected.

What is your result of xrandr command from console?

It just gave :

nvidia@viansight-onx:~$ xrandr
Can't open display 

as in the following comment : HDMI not display and xrandr has no output

Please run “export DISPLAY=:0” before running xrandr.

1 Like

nvidia@viansight-onx:~$ xrandr
Screen 0: minimum 8 x 8, current 640 x 480, maximum 32767 x 32767
HDMI-0 disconnected primary (normal left inverted right x axis y axis)

Could you connect your HDMI cable again and check if any change from this xrandr result?

When you connect and disconnect, always check this again.

It is always the same result even-though changing the display from smaller (10-inches) to bigger (24-inches).

Hi @WayneWWW,

We finally got the HDMI of our custom Xavier NX based carrier board work with the Orin NX SoM. So far, there’s only one necessary fix documented in the Jetson_Linux_Release_Notes_r35.4.1.pdf that should be applied in terms of BSP.

Thanks again for your support.

Best Regards,
Khang

Not sure what do you mean here. Didn’t you apply that patch in the beginning already?

Yes, I did do that very early prior the flashing. I meant that it was hardware issue, even-though it’d been working with the Xavier NX SoM without problem but it needs some tweaks for the Orin NX SoM by referencing the design guide.

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