So I got most of the way, I decompiled, changed and compiled it. But I’m not sure where to flash it.
I saw the posts with dd → mmcblk0pXXX but I’m not sure which partition to flash to. Would also like to be able to verify which one before, like pulling the device tree from the partition first . . .
Have you successfully re-flashed a decompiled–>recompiled tree?
Thanks.
That’s what I do on L4T 28.1 / TX2 system:
root@tx2:/boot/dtb# cat flash_dtb.sh
#!/bin/sh
sudo dtc -I dtb -O dts -o ./tegra186-quill-p3310-1000-c03-00-base.dts ./tegra186-quill-p3310-1000-c03-00-base.dtb
sudo dd if=./tegra186-quill-p3310-1000-c03-00-base.dtb of=/dev/mmcblk0p15
root@tx2:/boot/dtb#
-albertr
Cool, thanks.
Is there a way to verify that it should actually be
/dev/mmcblk0p15
if I run
sudo gdisk -l /dev/mmcblk0 | grep -i 'kernel-dtb'
I get
26 59720001 59721024 512.0 KiB 0700 kernel-dtb
27 59721025 59722048 512.0 KiB 0700 kernel-dtb_b
which would be
/dev/mmcblk0p26
/dev/mmcblk0p27
Are you running L4T 28.1 (JetPack 3.1 release) on your system? Your partition layout seems to be quite different from mine…
root@tx2:/boot/dtb# gdisk -l /dev/mmcblk0
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/mmcblk0: 61071360 sectors, 29.1 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 00000000-0000-0000-0000-000000000000
Partition table holds up to 17 entries
First usable sector is 4097, last usable sector is 61071327
Partitions will be aligned on 1-sector boundaries
Total free space is 1 sectors (512 bytes)
Number Start (sector) End (sector) Size Code Name
1 4097 58724352 28.0 GiB 0700 APP
2 58724353 58732544 4.0 MiB 0700 mts-bootpack
3 58732545 58733056 256.0 KiB 0700 cpu-bootloader
4 58733057 58734080 512.0 KiB 0700 bootloader-dtb
5 58734081 58740224 3.0 MiB 0700 secure-os
6 58740225 58740228 2.0 KiB 0700 eks
7 58740229 58741436 604.0 KiB 0700 bpmp-fw
8 58741437 58742436 500.0 KiB 0700 bpmp-fw-dtb
9 58742437 58746532 2.0 MiB 0700 sce-fw
10 58746533 58758820 6.0 MiB 0700 sc7
11 58758821 58762916 2.0 MiB 0700 FBNAME
12 58762917 59025060 128.0 MiB 0700 BMP
13 59025061 59090596 32.0 MiB 0700 SOS
14 59090597 59221668 64.0 MiB 0700 kernel
15 59221669 59222692 512.0 KiB 0700 kernel-dtb
16 59222693 59746980 256.0 MiB 0700 CAC
17 59746981 61071326 646.7 MiB 0700 UDA
root@tx2:/boot/dtb#
-albertr
The board on the robot is JetPack 3.1 with L4T R28.1.
The one I have access to right now is running JetPack 3.2 with L4T R28.2
Here’s my version of above:
nvidia@tegra-ubuntu:~$ sudo gdisk -l /dev/mmcblk0
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/mmcblk0: 61071360 sectors, 29.1 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 00000000-0000-0000-0000-000000000000
Partition table holds up to 29 entries
First usable sector is 4097, last usable sector is 61071327
Partitions will be aligned on 1-sector boundaries
Total free space is 1 sectors (512 bytes)
Number Start (sector) End (sector) Size Code Name
1 4097 58724352 28.0 GiB 0700 APP
2 58724353 58732544 4.0 MiB 0700 mts-bootpack
3 58732545 58740736 4.0 MiB 0700 mts-bootpack_b
4 58740737 58741760 512.0 KiB 0700 cpu-bootloader
5 58741761 58742784 512.0 KiB 0700 cpu-bootloader_b
6 58742785 58743808 512.0 KiB 0700 bootloader-dtb
7 58743809 58744832 512.0 KiB 0700 bootloader-dtb_b
8 58744833 58750976 3.0 MiB 0700 secure-os
9 58750977 58757120 3.0 MiB 0700 secure-os_b
10 58757121 58761216 2.0 MiB 0700 eks
11 58761217 58762424 604.0 KiB 0700 bpmp-fw
12 58762425 58763632 604.0 KiB 0700 bpmp-fw_b
13 58763633 58764632 500.0 KiB 0700 bpmp-fw-dtb
14 58764633 58765632 500.0 KiB 0700 bpmp-fw-dtb_b
15 58765633 58769728 2.0 MiB 0700 sce-fw
16 58769729 58773824 2.0 MiB 0700 sce-fw_b
17 58773825 58786112 6.0 MiB 0700 sc7
18 58786113 58798400 6.0 MiB 0700 sc7_b
19 58798401 58802496 2.0 MiB 0700 FBNAME
20 58802497 59064640 128.0 MiB 0700 BMP
21 59064641 59326784 128.0 MiB 0700 BMP_b
22 59326785 59392320 32.0 MiB 0700 SOS
23 59392321 59457856 32.0 MiB 0700 SOS_b
24 59457857 59588928 64.0 MiB 0700 kernel
25 59588929 59720000 64.0 MiB 0700 kernel_b
26 59720001 59721024 512.0 KiB 0700 kernel-dtb
27 59721025 59722048 512.0 KiB 0700 kernel-dtb_b
28 59722049 60246336 256.0 MiB 0700 CAC
29 60246337 61071326 402.8 MiB 0700 UDA
Bibek
April 12, 2018, 5:18am
26
Hi,
Can you just try renaming the folder and reboot
/lib/firmware/brcm ==> /lib/firmware/brcm_disbled
Also, if you want to update the dtb, then follow the steps mentioned here
When you flash, check which tegra186-quill-p3310-1000-C0X-00-base.dts file is getting flashed.you will see flashing log like
[ 9.5484 ] Writing partition bootloader-dtb with tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt
[ 9.5589 ] […] 100%
you need to pick the file from here: Linux_for_Tegra/kernel/dtb/
convert that dtb file to dts and update and regerate and copy to the same location and reflash.
dtc -I dtb -O dts tegra186-quill-p3310-1000-c03-00-base.dtb > tegra186-quill-p3310-1000-c03-00-base.dts
open the dts file and set the status as disabled for sdhci@3440000
dtc -I dts -O dtb tegra186-quill-p3310-1000-c03-00-base.dts > tegra186-quill-p3310-1000-c03-00-base.dtb
Also, better to use rel28.2
regards
bibek
Bibek
April 12, 2018, 5:18am
27
xxd /proc/device-tree is the path to verify that the changes you made are present in the device tree being used by the kernel
Thank you.
I did the folder thing, and will spend the day testing to see if the error comes up.
I’m sorry, but could you verify that I understand the procedure for doing the device tree flash.
do you mean I should look at the logs from when JetPack flashed the tegra initially to see which file I should be modifying/flashing? Is this the right log:
install/_installer/logs/64_TX2/flash_os_tx2.log
[ 150.4908 ] Writing partition bootloader-dtb with tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt
[ 150.5158 ] Writing partition bootloader-dtb_b with tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt
This would mean that I need to modify (like you said)
tegra186-quill-p3310-1000-c03-00-base.dtb
which is in the JetPack install directory
./install/64_TX2/Linux_for_Tegra/kernel/dtb
./tegra186-quill-p3489-1000-a00-00-ucm1.dtb
./tegra186-quill-p3310-1000-a00-00-base.dtb
./tegra186-quill-p3310-1000-c03-00-base.dtb
./tegra186-quill-p3489-1000-a00-00-ucm2.dtb
./tegra186-quill-p3310-1000-c03-00-dsi-hdmi-dp.dtb
I only really have one question left: what’s the proper command to flash the device tree? Can I flash just the tree without everything else?
I have a spare tx2, so I will test this later today.
Thank you!
bbasu,
What “vddio-sdmmc1” regulator is responsible for? Is it dedicated to mmc1 (Broadcom SDIO WiFi/bluetooth card)? If so, can it be disabled without impacting anything else beside Broadcom radio?
[ 2.579164] mmc1: SDHCI controller on 3440000.sdhci [3440000.sdhci] using ADMA 64-bit with 64 bit addr
[ 1.430380] vddio-sdmmc1: 1800 <--> 3300 mV at 3300 mV
-albertr
Bibek
April 16, 2018, 4:13am
30
Thank you.
I did the folder thing, and will spend the day testing to see if the error comes up.
I’m sorry, but could you verify that I understand the procedure for doing the device tree flash.
do you mean I should look at the logs from when JetPack flashed the tegra initially to see which file I should be modifying/flashing? Is this the right log:
install/_installer/logs/64_TX2/flash_os_tx2.log
[ 150.4908 ] Writing partition bootloader-dtb with tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt
[ 150.5158 ] Writing partition bootloader-dtb_b with tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt
This would mean that I need to modify (like you said)
tegra186-quill-p3310-1000-c03-00-base.dtb
which is in the JetPack install directory
./install/64_TX2/Linux_for_Tegra/kernel/dtb
./tegra186-quill-p3489-1000-a00-00-ucm1.dtb
./tegra186-quill-p3310-1000-a00-00-base.dtb
./tegra186-quill-p3310-1000-c03-00-base.dtb
./tegra186-quill-p3489-1000-a00-00-ucm2.dtb
./tegra186-quill-p3310-1000-c03-00-dsi-hdmi-dp.dtb
I only really have one question left: what’s the proper command to flash the device tree? Can I flash just the tree without everything else?
I have a spare tx2, so I will test this later today.
Thank you!
everything you have said is right.
you can flash only dtb using the below command
sudo ./flash -k kernel-dtb jetson-tx2 mmcblk0p1
Bibek
April 16, 2018, 4:36am
31
bbasu,
What “vddio-sdmmc1” regulator is responsible for? Is it dedicated to mmc1 (Broadcom SDIO WiFi/bluetooth card)? If so, can it be disabled without impacting anything else beside Broadcom radio?
[ 2.579164] mmc1: SDHCI controller on 3440000.sdhci [3440000.sdhci] using ADMA 64-bit with 64 bit addr
[ 1.430380] vddio-sdmmc1: 1800 <--> 3300 mV at 3300 mV
-albertr
mmc1 is sw nomenclature.
you can check the dt and schematic to find out which supply is connected to whom.
aliases {
sdhci0 = “/sdhci@3400000”;
sdhci1 = “/sdhci@3420000”;
sdhci2 = “/sdhci@3440000”;
sdhci3 = “/sdhci@3460000”;
sdmmc1 is power to sdcard controller, sdhci@3440000