Orin doesn't use the files I made changes to

I’ve made changes to the files below according to documents. Following the steps on developer guide I flashed my orin.
tegra234-ethernet-3737-0000.txt (1.4 KB)
tegra234-mb2-bct-common.txt (38.0 KB)
tegra234-p3737-pcie.txt (1.9 KB)

After flashing the pcie and rgmii didn’t work. Pinmux and boot changes had taken effect. I checked the dtb file used to flash. The changes to rgmii weren’t there. Here is the decompiled version:
tegra234-p3701-0005-p3737-0000.txt (567.9 KB)

Additional info that might be useful:
-I’m using a custom carrier board but use devkit to flash.
-I am using rel35.5
-Doing this on Ubuntu 18.04
-Downloaded the files on sdkmanager, rest was done on terminal.
-Flashed using terminal


I don’t know what this means.

I can’t flash orin on my board so I flash using orin devkit’s carrier board then mount orin on my custom board.

What is I can’t flash orin on my board?
Did you change the dtb file in board config?

I do not have a type-c port I can use to flash orin on my custom board. So I can’t flash orin when it’s on my custom board.
No I did not make changes in board config except ODMDATA.

Then of course changes in device tree will not take effect…

What am I supposed to change in board config file other than ODMDATA? I couldn’t find anything on documents.
My guess was dtsfilename in dtb file is dvs/git/dirty/git-master_linux/kernel/kernel-5.10/arch/arm64/boot/dts/…/…/…/…/…/…/hardware/nvidia/platform/t23x/concord/kernel-dts/tegra234-p3701-0005-p3737-0000.dts";. I believe this causes the problem but I do not know how to change this.


	# update pinmux for concord
	if [ "${board_sku}" != "0005" ]; then
		if [ "${chip_SKU}" = "00" ] || [ "${chip_SKU}" = "D0" ]; then
			if [ "${board_FAB}" = "TS1" ] || [ "${board_FAB}" = "TS2" ] ||
			[ "${board_FAB}" = "TS3" ] || [ "${board_FAB}" = "EB1" ] ||
			[ "${board_FAB}" = "EB2" ] || [ "${board_FAB}" = "EB3" ] ||
			[ "${board_FAB}" = "000" ] || [ "${board_FAB}" = "100" ] ||
			[ "${board_FAB}" = "200" ]; then

	if [ "${board_sku}" = "0000" ]; then
	elif [ "${board_sku}" = "0001" ] || [ "${board_sku}" = "0002" ]; then
	elif [ "${board_sku}" = "0004" ]; then
	elif [ "${board_sku}" = "0005" ]; then
	else # board_sku 0008 is in p3737-0000+p3701-0008.conf
		echo "Error: Unrecognized module SKU ${board_sku}";
		exit 1;


Some trivia you might be interested in…

When you flash on command line you have a target like jetson-agx-orin-devkit. If you run the command (from Linux_for_Tegra/) “ls -l jetson*.conf” you will see these are symbolic links that point at other .conf files. Removing the “.conf” from “ls *.conf” tells you all of the formulas for carrier board plus module designation (assuming you flash on command line).

The jetson- version is just the more human readable name, and what they point at is a specification that combines the module and the carrier board. If you examine these files, then you will find that often they include other files (all of which are human readable). You could copy these files with your modified name, and then edit that. You’d want to use the exact name of the module unmodified, and keep the module content included. You could static copy the included carrier board files with a rename to whatever you want to call your carrier board, and edit those files. Then just flash using your specification on command line.

1 Like

Downloading files manually instead of using sdkmanager fixes the issue. .conf files work as they should and the right dtb and pinmux is flashed.


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