Hi,
I follow the step in https://elinux.org/Jetson/TX2_DTB#TX2
I change the contain in “tegra186-quill-p3310-1000-c03-00-base.dtb” and flash device tree with command "sudo ./flash.sh -r -k kernel-dtb jetson-tx2 mmcblk0p1 ". The result is success as follow screenshot.
the kernel-dtb binary is loaded from the kernel-dtb partition by default.
once there’s FDT entry specify in the extlinux.conf file, boot scan sequence will load it via rootfs.
so,
could you please check the configuration file, /boot/extlinux/extlinux.conf,
thanks
okay, it should loads from kernel-dtb partition for the device tree blob binary.
are you customize the dtb file and replace $OUT/Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb to perform partition update?
hi JerryChang,
Yes, I replaced /Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb to perform partition update.
But my dtb is generated by decompile/compile tegra186-quill-p3310-1000-c03-00-base.dtb.
Not build from kernel source.
I assume you’re using dtc utility to modify dtb content.
may I know how you determine the dtb update without success?
could you please share the modifications and also the steps you’re used for checking.
thanks
Modify something in your dtb, the final result will be in /proc/device-tree. If it does not appear in /proc/device-tree then your method for update may be wrong. Dump the log from uart should tell the reason.
Also, you can try to remove the tegra186-quill-p3310-1000-c03-00-base.dtb from your Linux_for_Tegra/kernel and run the flash command. Let’s see if there would have error log from flash.sh if the dtb is already gone.
It looks like your dtb is still loaded from partition.
[0001.413] W> No valid slot number is found in scratch register
[0001.419] W> Return default slot: _a
[0001.422] I> A/B: bin_type (21) slot 0
[0001.426] I> Loading partition kernel-dtb at 0x80000000 from device(0x1)
[0001.440] I> Kernel_dtb @0x80000000
[0001.443] I> Bl_dtb @0x8520f400
What if you do the full flash? Will it work?
full flash work fine.
but in my case, we prefer to flash kernel-dtb or any quick solution.
because full flash is time consuming.
btw, we full flash with cloned system.img .
Also, you can try to remove the tegra186-quill-p3310-1000-c03-00-base.dtb from your Linux_for_Tegra/kernel and run the flash command. Let’s see if there would have error log from flash.sh if the dtb is already gone
Still can’t flash kernel-dtb partition only.
I found a strange thing that full flash mount my additional i2c driver setting, but not change bcmdhd setting.
Therefore, I try to delete i2c driver setting and disable bcmdh setting. Then full flash again. Result is i2c driver disable but bcmdh still enable.
I will try to use default system.img to do full flash, but not my cloned system.img…