Jetson TX2 NX R32.7.1: how to update the dtb file

base on R32.7.1,jetson TX2 NX platform;
when I manually replace my modified dtb file “tegra186-p3636-0001-p3509-0000-a01.dtb” to Linux_for_Tegra/kernel/dtb/, I execute burning:
sudo ./flash.sh -k kernel-dtb jetson-xavier-nx-devkit-tx2-nx mmcblk0p1
Show successful burning

However, the DTB file can be viewed on the board after restart. It is true that the DTB file has not been changed;
so, How to update it correctly?

This kind of question is nothing new. I would suggest you can check the uart log and see where did your dtb load from first. Maybe it is loaded from rootfs but not partition. For this kind of case, then your flash command won’t take effect.

Thank you for your answer; Sorry,I’m a new user of Jetson;
Now I’m checking that TF card on TX2 NX can’t identify the problem.
Try to modify and burn DTS to verify.
Is there a detailed tutorial to guide which dts file to modify on l4t 32.7.1 and how to update the verification??

start.log (23.6 KB)
dmesg.log (57.9 KB)

Is there any device tree written in your extlinux.conf? Under /boot.

The method looks correct to me. It is also possible that you put the wrong dtb file. Please check the flash log and see what dtb is flashed to the board.

um@um-desktop:/boot$ ls -al
total 101412
drwxrwxrwx 5 root root 4096 6?𷰠 16 18:43 .
drwxrwxrwx 22 root root 4096 6?𷰠 8 10:50 …
drwxrwxrwx 2 root root 4096 6?𷰠 16 15:14 dtb
drwxrwxrwx 2 root root 4096 6?𷰠 16 19:28 extlinux
drwxrwxrwx 2 root root 4096 6?𷰠 8 10:58 grub
-rwxrwxrwx 1 root root 34484232 6?𷰠 8 10:49 Image
-rwxrwxrwx 1 root root 34484240 4?𷰠 17 17:53 Image.t19x
-rwxrwxrwx 1 root root 4096 4?𷰠 17 17:53 Image.t19x.sig
-rwxrwxrwx 1 root root 7238366 6?𷰠 8 10:49 initrd
lrwxrwxrwx 1 root root 24 6?𷰠 8 10:57 initrd.img → initrd.img-4.9.253-tegra
-rwxrwxrwx 1 root root 15286492 6?𷰠 8 10:58 initrd.img-4.9.253-tegra
-rwxrwxrwx 1 root root 7238368 4?𷰠 17 17:54 initrd.t19x
-rwxrwxrwx 1 root root 4096 4?𷰠 17 17:54 initrd.t19x.sig
-rwxrwxrwx 1 root root 192309 6?𷰠 8 10:49 kernel_tegra186-p3636-0001-p3509-0000-a01.dtb
-rw-rw-r-- 1 um um 244892 6?𷰠 16 16:08 kernel_tegra186-p3636-0001-p3509-0000-a01.dts
-rw-r–r-- 1 um um 16384 6?𷰠 16 16:08 .kernel_tegra186-p3636-0001-p3509-0000-a01.dts.swp
-rwxrwxrwx 1 root root 1077 4?𷰠 17 17:54 tegra186-p3636-0001-p3509-0000-a01-adafruit-sph0645lm4h.dtbo
-rwxrwxrwx 1 root root 1073 4?𷰠 17 17:54 tegra186-p3636-0001-p3509-0000-a01-adafruit-uda1334a.dtbo
-rwxrwxrwx 1 root root 192463 6?𷰠 16 18:39 tegra186-p3636-0001-p3509-0000-a01.dtb
-rw-rw-r-- 1 um um 245001 6?𷰠 16 18:43 tegra186-p3636-0001-p3509-0000-a01.dts
-rwxrwxrwx 1 root root 2831 4?𷰠 17 17:54 tegra186-p3636-0001-p3509-0000-a01-fe-pi-audio.dtbo
-rwxrwxrwx 1 root root 3972 4?𷰠 17 17:54 tegra186-p3636-0001-p3509-0000-a01-hdr40.dtbo
-rwxrwxrwx 1 root root 2111 4?𷰠 17 17:54 tegra186-p3636-0001-p3509-0000-a01-m2ke.dtbo
-rwxrwxrwx 1 root root 2103 4?𷰠 17 17:54 tegra186-p3636-0001-p3509-0000-a01-respeaker-4-mic-array.dtbo
-rwxrwxrwx 1 root root 2139 4?𷰠 17 17:54 tegra186-p3636-0001-p3509-0000-a01-respeaker-4-mic-lin-array.dtbo
-rwxrwxrwx 1 root root 374475 4?𷰠 17 17:54 tegra186-quill-p3310-1000-a00-00-base.dtb
-rwxrwxrwx 1 root root 371206 4?𷰠 17 17:54 tegra186-quill-p3310-1000-as-0888.dtb
-rwxrwxrwx 1 root root 1077 4?𷰠 17 17:54 tegra186-quill-p3310-1000-c03-00-base-adafruit-sph0645lm4h.dtbo
-rwxrwxrwx 1 root root 1073 4?𷰠 17 17:54 tegra186-quill-p3310-1000-c03-00-base-adafruit-uda1334a.dtbo
-rwxrwxrwx 1 root root 1847 4?𷰠 17 17:54 tegra186-quill-p3310-1000-c03-00-base-csi.dtbo
-rwxrwxrwx 1 root root 375488 4?𷰠 17 17:54 tegra186-quill-p3310-1000-c03-00-base.dtb
-rwxrwxrwx 1 root root 2831 4?𷰠 17 17:54 tegra186-quill-p3310-1000-c03-00-base-fe-pi-audio.dtbo
-rwxrwxrwx 1 root root 3486 4?𷰠 17 17:54 tegra186-quill-p3310-1000-c03-00-base-hdr30.dtbo
-rwxrwxrwx 1 root root 3308 4?𷰠 17 17:54 tegra186-quill-p3310-1000-c03-00-base-hdr40.dtbo
-rwxrwxrwx 1 root root 2103 4?𷰠 17 17:54 tegra186-quill-p3310-1000-c03-00-base-m2ke.dtbo
-rwxrwxrwx 1 root root 2103 4?𷰠 17 17:54 tegra186-quill-p3310-1000-c03-00-base-respeaker-4-mic-array.dtbo
-rwxrwxrwx 1 root root 2139 4?𷰠 17 17:54 tegra186-quill-p3310-1000-c03-00-base-respeaker-4-mic-lin-array.dtbo
-rwxrwxrwx 1 root root 375630 4?𷰠 17 17:54 tegra186-quill-p3310-1000-c03-00-dsi-hdmi-dp.dtb
-rwxrwxrwx 1 root root 367114 4?𷰠 17 17:54 tegra186-quill-p3489-0888-a00-00-base.dtb
-rwxrwxrwx 1 root root 367204 4?𷰠 17 17:54 tegra186-quill-p3489-1000-a00-00-ucm1.dtb
-rwxrwxrwx 1 root root 367204 4?𷰠 17 17:54 tegra186-quill-p3489-1000-a00-00-ucm2.dtb
-rwxrwxrwx 1 root root 1109 4?𷰠 17 17:54 tegra194-p2888-0001-p2822-0000-adafruit-sph0645lm4h.dtbo
-rwxrwxrwx 1 root root 1105 4?𷰠 17 17:54 tegra194-p2888-0001-p2822-0000-adafruit-uda1334a.dtbo
-rwxrwxrwx 1 root root 1323 4?𷰠 17 17:54 tegra194-p2888-0001-p2822-0000-csi.dtbo
-rwxrwxrwx 1 root root 284528 4?𷰠 17 17:54 tegra194-p2888-0001-p2822-0000.dtb
-rwxrwxrwx 1 root root 4096 4?𷰠 17 17:54 tegra194-p2888-0001-p2822-0000.dtb.sig
-rwxrwxrwx 1 root root 2863 4?𷰠 17 17:54 tegra194-p2888-0001-p2822-0000-fe-pi-audio.dtbo
-rwxrwxrwx 1 root root 4607 4?𷰠 17 17:54 tegra194-p2888-0001-p2822-0000-hdr40.dtbo
-rwxrwxrwx 1 root root 1855 4?𷰠 17 17:54 tegra194-p2888-0001-p2822-0000-m2ke.dtbo
-rwxrwxrwx 1 root root 284560 4?𷰠 17 17:54 tegra194-p2888-0001-p2822-0000-maxn.dtb
-rwxrwxrwx 1 root root 4096 4?𷰠 17 17:54 tegra194-p2888-0001-p2822-0000-maxn.dtb.sig
-rwxrwxrwx 1 root root 2135 4?𷰠 17 17:54 tegra194-p2888-0001-p2822-0000-respeaker-4-mic-array.dtbo
-rwxrwxrwx 1 root root 2171 4?𷰠 17 17:54 tegra194-p2888-0001-p2822-0000-respeaker-4-mic-lin-array.dtbo
-rwxrwxrwx 1 root root 1077 4?𷰠 17 17:54 tegra194-p2888-0004-e3900-0000-adafruit-sph0645lm4h.dtbo
-rwxrwxrwx 1 root root 1073 4?𷰠 17 17:54 tegra194-p2888-0004-e3900-0000-adafruit-uda1334a.dtbo
-rwxrwxrwx 1 root root 1843 4?𷰠 17 17:54 tegra194-p2888-0004-e3900-0000-csi.dtbo
-rwxrwxrwx 1 root root 283584 4?𷰠 17 17:54 tegra194-p2888-0004-e3900-0000.dtb
-rwxrwxrwx 1 root root 4096 4?𷰠 17 17:54 tegra194-p2888-0004-e3900-0000.dtb.sig
-rwxrwxrwx 1 root root 4878 4?𷰠 17 17:54 tegra194-p2888-0004-e3900-0000-dual-imx274.dtbo
-rwxrwxrwx 1 root root 2831 4?𷰠 17 17:54 tegra194-p2888-0004-e3900-0000-fe-pi-audio.dtbo
-rwxrwxrwx 1 root root 4411 4?𷰠 17 17:54 tegra194-p2888-0004-e3900-0000-hdr40.dtbo
-rwxrwxrwx 1 root root 3039 4?𷰠 17 17:54 tegra194-p2888-0004-e3900-0000-imx274.dtbo
-rwxrwxrwx 1 root root 2103 4?𷰠 17 17:54 tegra194-p2888-0004-e3900-0000-respeaker-4-mic-array.dtbo
-rwxrwxrwx 1 root root 2139 4?𷰠 17 17:54 tegra194-p2888-0004-e3900-0000-respeaker-4-mic-lin-array.dtbo
-rwxrwxrwx 1 root root 285504 4?𷰠 17 17:54 tegra194-p2888-0008-p2822-0000.dtb
-rwxrwxrwx 1 root root 4096 4?𷰠 17 17:54 tegra194-p2888-0008-p2822-0000.dtb.sig
-rwxrwxrwx 1 root root 1105 4?𷰠 17 17:54 tegra194-p3668-all-p3509-0000-adafruit-sph0645lm4h.dtbo
-rwxrwxrwx 1 root root 1101 4?𷰠 17 17:54 tegra194-p3668-all-p3509-0000-adafruit-uda1334a.dtbo
-rwxrwxrwx 1 root root 2815 4?𷰠 17 17:54 tegra194-p3668-all-p3509-0000-camera-imx219-dual.dtbo
-rwxrwxrwx 1 root root 3076 4?𷰠 17 17:54 tegra194-p3668-all-p3509-0000-camera-imx477-dual.dtbo
-rwxrwxrwx 1 root root 2999 4?𷰠 17 17:54 tegra194-p3668-all-p3509-0000-camera-imx477-imx219.dtbo
-rwxrwxrwx 1 root root 204640 4?𷰠 17 17:54 tegra194-p3668-all-p3509-0000.dtb
-rwxrwxrwx 1 root root 4096 4?𷰠 17 17:54 tegra194-p3668-all-p3509-0000.dtb.sig
-rwxrwxrwx 1 root root 2859 4?𷰠 17 17:54 tegra194-p3668-all-p3509-0000-fe-pi-audio.dtbo
-rwxrwxrwx 1 root root 5627 4?𷰠 17 17:54 tegra194-p3668-all-p3509-0000-hdr40.dtbo
-rwxrwxrwx 1 root root 2131 4?𷰠 17 17:54 tegra194-p3668-all-p3509-0000-m2ke.dtbo
-rwxrwxrwx 1 root root 2131 4?𷰠 17 17:54 tegra194-p3668-all-p3509-0000-respeaker-4-mic-array.dtbo
-rwxrwxrwx 1 root root 2167 4?𷰠 17 17:54 tegra194-p3668-all-p3509-0000-respeaker-4-mic-lin-array.dtbo
extlinux.conf (858 Bytes)

The attachment is /boot/extlinux/extlinux.conf

Did I make a mistake at any step?

What is your method to create a new dtb?

Beware that if there is an FDT entry in “/boot/extlinux/extlinux.conf”, then this is where the device tree is loaded from. The partition is used if either (A) there is no FDT entry, or (B) security fuses are burned.

1、find Linux_for_Tegra/kernel/dtbtegra186-p3636-0001-p3509-0000-a01.dtb
Device tree disassembly:dtc -I dtb -O dts -o tegra186-p3636-0001-p3509-0000-a01.dts tegra186-p3636-0001-p3509-0000-a01.dtb

2、modify the tegra186-p3636-0001-p3509-0000-a01.dts file,then
Compile device tree:dtc -I dts -O dtb -o tegra186-p3636-0001-p3509-0000-a01.dtb tegra186-p3636-0001-p3509-0000-a01.dts

3、Manually copy the tegra186-p3636-0001-p3509-0000-a01.dtb file to /boot at the board end

Hi,

If you use such way to build device tree, then we cannot know whether the device tree is updated or not by reading dmesg.

You need to at least modify the device tree name from this to another string.

[ 0.161011] DTS File Name: /dvs/git/dirty/git-master_linux/kernel/kernel-4.9/arch/arm64/boot/dts/…/…/…/…/…/…/hardware/nvidia/platform/t18x/lanai/kernel-dts/tegra186-p3636-0001-p3509-0000-a01.dts

3、Manually copy the dtb -o tegra186-p3636-0001-p3509-0000-a01.dtb file to /boot at the board end

This step is not needed. Your original method which copy to Linux_for_Tegra/kernel/dtb and run flash.sh is correct.

um@tegra-ubuntu:~$ sudo cat /sys/kernel/debug/gpio
gpiochip2: GPIOs 248-255, parent: platform/max77620-gpio, max77620-gpio, can sleep:
gpio-253 ( |spmic_gpio_input ) in hi
gpio-254 ( |spmic_gpio_input ) in hi

gpiochip1: GPIOs 256-319, parent: platform/c2f0000.gpio, tegra-gpio-aon:
gpio-278 ( |vdd-sdmmc3-sw ) out lo
gpio-302 ( |eqos_phy_reset ) out hi
gpio-312 ( |power-key ) in hi

gpiochip0: GPIOs 320-511, parent: platform/2200000.gpio, tegra-gpio:
gpio-340 ( |i2c-mux-gpio ) out hi
gpio-408 ( |w-disable1 ) out lo
gpio-410 ( |w-disable2 ) out lo
gpio-412 ( |external-connection:) in lo
gpio-441 ( |hdmi2.0_hpd ) in hi
gpio-476 ( |cd ) in lo

I have a problem now:gpio-278 is 的SDIO_VDD_EN pin,No matter how configured, it cannot be raised.

um@tegra-ubuntu:~$ dmesg | grep mmc1
[ 0.501231] vddio-sdmmc1: 1800 <–> 3300 mV at 3300 mV
[ 1.497610] mmc1: SDHCI controller on 3440000.sdhci [3440000.sdhci] using ADMA 64-bit with 64 bit addr
[ 1.837859] mmc1: hw tuning done …
[ 1.837910] mmc1: new ultra high speed SDR104 SDXC card at address aaaa
[ 1.838203] mmcblk1: mmc1:aaaa SC64G 59.5 GiB
[ 25.015333] mmc1: card aaaa removed
[ 26.294441] mmc1: hw tuning done …
[ 26.294474] mmc1: new ultra high speed SDR104 SDXC card at address aaaa
[ 26.294800] mmcblk1: mmc1:aaaa SC64G 59.5 GiB
[ 31.818286] vddio-sdmmc1: disabling
[ 43.759322] mmc1: card aaaa removed
[ 46.299240] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 46.305335] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 46.311376] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 46.317398] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 46.323462] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 46.329654] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 46.335716] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 46.341755] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 46.347820] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 46.354224] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 47.411455] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 47.417655] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 47.423834] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 47.430039] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 47.436286] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 47.442491] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 47.448823] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 47.455003] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 47.461186] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 47.467514] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 48.527653] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 48.534034] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 48.540375] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 48.546715] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 48.553034] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 48.559393] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 48.565797] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 48.572142] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 48.578542] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 48.584922] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 49.644405] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 49.651438] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 49.658361] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 49.665417] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 49.672390] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 49.679314] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 49.686369] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 49.693292] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 49.700197] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 49.707161] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 156.271242] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 156.277329] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 156.283369] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 156.289398] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 156.295460] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 156.301655] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 156.307849] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 156.313909] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 156.320024] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 156.326205] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 157.383371] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 157.389675] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 157.395865] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 157.402052] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 157.408378] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 157.414558] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 157.420766] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 157.427063] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 157.433266] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 157.439664] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 158.499593] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 158.505937] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 158.512271] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 158.518580] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 158.524908] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 158.531258] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 158.537657] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 158.543982] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 158.550306] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 158.556786] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 159.616404] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 159.623337] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 159.630240] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 159.637154] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 159.644128] mmc1: CMD CRC or end bit error, int mask 0x40000
[ 159.651052] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 159.658036] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 159.665091] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 159.671995] mmc1: CMD CRC or end bit error, int mask 0xc0000
[ 159.678959] mmc1: CMD CRC or end bit error, int mask 0x40000

I have referred to many posts, but I still can’t solve them.

Here is my configuration:

sdmmc3: sdhci@3440000 {
cd-gpios = <&tegra_main_gpio TEGRA_MAIN_GPIO(X, 4) 0>;
vmmc-supply = <&p3636_vdd_sdmmc3_sw>;
cd-inverted;
mmc-ocr-mask = <0>;
uhs-mask = <0x8>;
status = “okay”;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-sdr25;
sd-uhs-sdr12;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
nvidia,always-on;
/delete-property/ non-removable;
/delete-property/ force-non-removable-rescan;
};

p3636_vdd_sdmmc3_sw:regulator@114 {
compatible = “regulator-fixed”;
reg = <114>;
regulator-name = “vdd-sdmmc3-sw”;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&tegra_aon_gpio TEGRA_AON_GPIO(V, 6) 0>;
enable-active-high;
};

Not related to original issue. Please file new topic.