4K (3840x2160) HDMI output Orin NX

Hi

I have a p3767+p3768 orin nx development kit. I want to enable 4K HDMI output. The flash command i used was: JetPack: 5.1.2

sudo ADDITIONAL_DTB_OVERLAY_OPT="BootOrderNvme.dtbo" ./tools/kernel_flash/l4t_initrd_flash.sh --erase-all --external-device sda1 -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" --showlogs --network usb0 jetson-orin-nano-devkit internal

orin nano does not support 4k display

so i tried changing jetson-orin-nano.conf to the below


source "${LDK_DIR}/p3767.conf.common";

# update_flash_args_common:
update_flash_args_common()
{
	local emcfuse_bin="${1}";
	local emcpredefvalue="${2}"

	if [ ${EMC_OPT_DISABLE_FUSE_OVERRIDE} -eq 0 ]; then
		return;
	fi

	# EMCFUSE_VALUE can be passed by user
	emc_opt_disable_fuse="${DEFAULT_EMC_FUSE}";

	if [ -n "${emcpredefvalue}" ]; then
		emc_opt_disable_fuse="${emcpredefvalue}";
	elif [ -f "${emcfuse_bin}" ]; then
		emc_opt_disable_fuse=`xxd -ps "${emcfuse_bin}" | xxd -p -r | grep "OptEmcDisable" | awk '{print $2}' | sed 's/.*\(.\)/\1/'`;
	fi

	echo "emc_opt_disable_fuse:(${emc_opt_disable_fuse})"

	if [ "${board_sku}" = "0000" ] || [ "${board_sku}" = "0002" ]; then
		# use default DTB and CFG files except for TS1 & EB1 revisions
		if [ "${board_FAB}" = "TS1" ] || [ "${board_FAB}" = "EB1" ]; then
			PINMUX_CONFIG="tegra234-mb1-bct-pinmux-p3767-dp-a01.dtsi";
			PMC_CONFIG="tegra234-mb1-bct-padvoltage-p3767-dp-a01.dtsi";
			BPFDTB_FILE="tegra234-bpmp-3767-0000-a00-3509-a02.dtb";
		fi
	elif [ "${board_sku}" = "0001" ]; then
		BPFDTB_FILE="tegra234-bpmp-3767-0001-3509-a02.dtb";
		DTB_FILE="tegra234-p3767-0001-p3768-0000-a0.dtb";
	elif [ "${board_sku}" = "0003" ] || [ "${board_sku}" = "0005" ]; then
		BPFDTB_FILE="tegra234-bpmp-3767-0003-3509-a02.dtb";
		DTB_FILE="tegra234-p3767-0003-p3768-0000-a0.dtb";
	elif [ "${board_sku}" = "0004" ]; then
		BPFDTB_FILE="tegra234-bpmp-3767-0004-3509-a02.dtb";
		DTB_FILE="tegra234-p3767-0004-p3768-0000-a0.dtb";
	fi

	TBCDTB_FILE="${DTB_FILE}";
}

# update_flash_args:
update_flash_args()
{
	# All updates should go into update_flash_args_common to allow
	# for other files to include this file and override variables.
	update_flash_args_common
}

# update_emmc_cfg_for_bup:
update_emmc_cfg_for_bup()
{
	local bup_type="${1}"

	if [ "${bup_blob}" -ne 0 ] && [ "${bup_type}" == "bl" ]; then
		EMMC_CFG="flash_t234_qspi.xml";
	fi
}

DEFAULT_EMC_FUSE="0";
PINMUX_CONFIG="tegra234-mb1-bct-pinmux-p3767-hdmi-a03.dtsi";
PMC_CONFIG="tegra234-mb1-bct-padvoltage-p3767-hdmi-a03.dtsi";
BPFDTB_FILE="tegra234-bpmp-3767-0000-a02-3509-a02.dtb";
DTB_FILE="tegra234-p3767-0000-p3509-a02.dtb";
TBCDTB_FILE="${DTB_FILE}";
EMMC_CFG="flash_t234_qspi_sd.xml";
OVERLAY_DTB_FILE="${OVERLAY_DTB_FILE},tegra234-p3768-overlay.dtbo";

# Rootfs A/B:
if [[ "${ROOTFS_AB}" == 1 && "${ROOTFS_ENC}" == "" ]]; then
	EMMC_CFG=flash_t234_qspi_sd_rootfs_ab.xml;
# Disk encryption support:
elif [[ "${ROOTFS_AB}" == "" && "${ROOTFS_ENC}" == 1 ]]; then
	EMMC_CFG=flash_t234_qspi_sd_enc_rfs.xml;
# Rootfs A/B + Disk encryption support:
elif [[ "${ROOTFS_AB}" == 1 && "${ROOTFS_ENC}" == 1 ]]; then
	EMMC_CFG=flash_t234_qspi_sd_enc_rootfs_ab.xml;
fi;

i also tried flashing p3768-0000+p3767-0000.conf

 sudo ADDITIONAL_DTB_OVERLAY_OPT="BootOrderNvme.dtbo" ./tools/kernel_flash/l4t_initrd_flash.sh --erase-all --external-device sda1 -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" --showlogs --network usb0 p3768-0000+p3767-0000 internal

but the board did not boot up completely.

i tried using the p3509-a02+p3767-0000.conf file to flash but the Orin NX fails to boot

Enter to continue boot.
**  WARNING: Test Key is used.  **

L4TLauncher: Attempting Direct Boot
L4TLauncher: Unable to process extlinux config: Not Found
L4TLauncher: Attempting Kernel Boot
��I/TC: Secondary CPU 1 initializing                                                                                  
I/TC: Secondary CPU 1 switching to normal world boot                                                                  
I/TC: Secondary CPU 2 initializing                                                                                    
I/TC: Secondary CPU 2 switching to normal world boot                                                                  
I/TC: Secondary CPU 3 initializing                                                                                    
I/TC: Secondary CPU 3 switching to normal world boot
I/TC: Secondary CPU 4 initializing
I/TC: Secondary CPU 4 switching to normal world boot
I/TC: Secondary CPU 5 initializing
I/TC: Secondary CPU 5 switching to normal world boot
I/TC: Secondary CPU 6 initializing
I/TC: Secondary CPU 6 switching to normal world boot
I/TC: Secondary CPU 7 initializing
I/TC: Secondary CPU 7 switching to normal world boot
��[    0.627598] tegra_dc_assign_hw_data: no matching compatible node
[    0.633613] tegradccommon module_init failed
[    0.637881] tegradc module_init failed
��I/TC: Reserved shared memory is disabled
I/TC: Dynamic shared memory is enabled
I/TC: Normal World virtualization support is disabled
I/TC: Asynchronous notifications are disabled
��[    6.007880] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00
[    6.018619] CPU: 2 PID: 1 Comm: chroot Not tainted 5.10.120-tegra #1
[    6.027700] Hardware name: Unknown NVIDIA Orin NX Developer Kit/NVIDIA Orin NX Developer Kit, BIOS 202210.3-8444db34-dirty 03/18/2024
[    6.040269] Call trace:
[    6.042788]  dump_backtrace+0x0/0x1d0
[    6.046543]  show_stack+0x30/0x40
[    6.049949]  dump_stack+0xd8/0x138
[    6.053436]  panic+0x17c/0x384
[    6.056568]  do_exit+0xaa8/0xab0
[    6.059886]  do_group_exit+0x4c/0xb0
[    6.063561]  __arm64_sys_exit_group+0x28/0x30
[    6.068037]  el0_svc_common.constprop.0+0x80/0x1d0
[    6.072958]  do_el0_svc+0x38/0xb0
[    6.076354]  el0_svc+0x1c/0x30
[    6.079487]  el0_sync_handler+0xa8/0xb0
[    6.083424]  el0_sync+0x16c/0x180
[    6.086834] SMP: stopping secondary CPUs
[    6.091065] Kernel Offset: 0x4584a5c00000 from 0xffff800010000000
[    6.097313] PHYS_OFFSET: 0xfffff65e80000000
[    6.101598] CPU features: 0x08040006,4a80aa38
[    6.106075] Memory Limit: none
[    6.109208] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00 ]---

Not sure what you are doing here. Orin Nano devkit carrier board only has DP port on it.

If you want to enable HDMI on your Orin NX, this is not related to what software to flash, you have to change the carrier board.

All the failure above are expected.

@WayneWWW sorry to i forgot to mention here.
i tried using the **p3509-a02+p3767-0000.conf** file to flash but the Orin NX fails to boot

here i use orin nx on xavier nx carrier board with external USB storage.

flash command:
sudo ADDITIONAL_DTB_OVERLAY_OPT="BootOrderNvme.dtbo" ./tools/kernel_flash/l4t_initrd_flash.sh --external-device sda1 -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

Share me the full flash log and the uart log during that flash attempt.

The reason that this issue happened seems to be this error.

L4TLauncher: Unable to process extlinux config: Not Found

That is more related to how you flash the board and how you prepared the BSP.

@WayneWWW

p3509_p3767_log.txt (48.0 KB)

i downloaded the BSP for JP5.1.2 r35.4.1 over sdk manager

Just some guide… if you want to share the log, share it since the start point. I really don’t want to see a log that is already in the middle of the process…

@WayneWWW

flash command:
sudo ADDITIONAL_DTB_OVERLAY_OPT="BootOrderNvme.dtbo" ./tools/kernel_flash/l4t_initrd_flash.sh --external-device sda1 -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

serial_console_log:
p3509_p3767_log.txt (64.5 KB)

please modify this before your flash. This is a known issue on jetpack5.1.2.

-- a/tegra234-mb2-bct-scr-p3767-0000.dts
+++ b/tegra234-mb2-bct-scr-p3767-0000.dts
@@ -5,6 +5,11 @@
/ {
tfc {
+ reg@322 { /* GPIO_M_SCR_00_0 */
+ exclusion-info = <2>;
+ value = <0x38009696>;
+ };

@WayneWWW

after those changes this is what i got during re flash:

[   0.2512 ] MB2 binary: mb2_t234.bin
[   0.2512 ] Pre-processing mb2bct config: tegra234-mb2-bct-misc-p3767-0000.dts
[   0.2586 ] Pre-processing mb2bct config: tegra234-mb2-bct-scr-p3767-0000.dts
Error: Return value 1
Command dtc -I dts -O dtb -o tegra234-mb2-bct-scr-p3767-0000_cpp.dtb tegra234-mb2-bct-scr-p3767-0000_cpp.dts
Error: /home/Orin/Image/JetPack_5.1.2_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/bootloader/signed/flash.idx is not found
Error: failed to relocate images to /home/Orin/Image/JetPack_5.1.2_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/tools/kernel_flash/images
Cleaning up...

flash_log.txt (27.6 KB)

Probably a syntax error.

This is from official document.

@WayneWWW

my bad, it was a syntax error.

Im able to get 4k output now.
Thanks alot. appreciate your assistance.

1 Like

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