Problem to falsh the original DTB

Hi,

I would like to flash a DTB.

I did two tests:

  • (re)flash the "/boot/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb" found on my TX2: OK
  • flash an extracted DTB from "/proc/device-tree/": KO, the TX2 is not booting anymore
# Extract device tree directly fom my TX2
$ sudo dtc -I fs -O dts -o extracted.dts /proc/device-tree

I have a lot of warnings “no-unit_address_vs_reg” (ignored by “-W no-unit_address_vs_reg” option) but I still have these warnings left:

extracted_proc.dts: Warning (pci_bridge): Node /pcie-controller@10003000 node name is not "pci" or "pcie"
extracted_proc.dts: Warning (pci_bridge): Node /pcie-controller@10003000/pci@2,0 missing bus-range for PCI bridge
extracted_proc.dts: Warning (pci_bridge): Node /pcie-controller@10003000/pci@1,0 missing bus-range for PCI bridge
extracted_proc.dts: Warning (pci_bridge): Node /pcie-controller@10003000/pci@3,0 missing bus-range for PCI bridge
extracted_proc.dts: Warning (unit_address_format): Failed prerequisite 'pci_bridge'
extracted_proc.dts: Warning (pci_device_reg): Failed prerequisite 'pci_bridge'
extracted_proc.dts: Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge'
extracted_proc.dts: Warning (simple_bus_reg): Node /mods-simple-bus/mods-clocks missing or empty reg/ranges property
extracted_proc.dts: Warning (simple_bus_reg): Node /fixed-regulators/regulator@200 simple-bus unit address format error, expected "c8"
extracted_proc.dts: Warning (simple_bus_reg): Node /fixed-regulators/regulator@18 simple-bus unit address format error, expected "12"
extracted_proc.dts: Warning (simple_bus_reg): Node /fixed-regulators/regulator@16 simple-bus unit address format error, expected "10"
extracted_proc.dts: Warning (simple_bus_reg): Node /fixed-regulators/regulator@14 simple-bus unit address format error, expected "e"
extracted_proc.dts: Warning (simple_bus_reg): Node /fixed-regulators/regulator@12 simple-bus unit address format error, expected "c"
extracted_proc.dts: Warning (simple_bus_reg): Node /fixed-regulators/regulator@10 simple-bus unit address format error, expected "a"
extracted_proc.dts: Warning (simple_bus_reg): Node /fixed-regulators/regulator@17 simple-bus unit address format error, expected "11"
extracted_proc.dts: Warning (simple_bus_reg): Node /fixed-regulators/regulator@15 simple-bus unit address format error, expected "f"
extracted_proc.dts: Warning (simple_bus_reg): Node /fixed-regulators/regulator@101 simple-bus unit address format error, expected "65"
extracted_proc.dts: Warning (simple_bus_reg): Node /fixed-regulators/regulator@13 simple-bus unit address format error, expected "d"
extracted_proc.dts: Warning (simple_bus_reg): Node /fixed-regulators/regulator@11 simple-bus unit address format error, expected "b"
extracted_proc.dts: Warning (simple_bus_reg): Node /fixed-regulators/regulator@118 simple-bus unit address format error, expected "76"
extracted_proc.dts: Warning (simple_bus_reg): Node /external-connection/disp-state missing or empty reg/ranges property
extracted_proc.dts: Warning (simple_bus_reg): Node /host1x/ctx3 missing or empty reg/ranges property
extracted_proc.dts: Warning (simple_bus_reg): Node /host1x/ctx1 missing or empty reg/ranges property
extracted_proc.dts: Warning (simple_bus_reg): Node /host1x/dsi simple-bus unit address format error, expected "15300000"
extracted_proc.dts: Warning (simple_bus_reg): Node /host1x/sor1 simple-bus unit address format error, expected "15580000"
extracted_proc.dts: Warning (simple_bus_reg): Node /host1x/dc_common simple-bus unit address format error, expected "15200000"
extracted_proc.dts: Warning (simple_bus_reg): Node /host1x/ctx6 missing or empty reg/ranges property
extracted_proc.dts: Warning (simple_bus_reg): Node /host1x/ctx4 missing or empty reg/ranges property
extracted_proc.dts: Warning (simple_bus_reg): Node /host1x/sor simple-bus unit address format error, expected "15540000"
extracted_proc.dts: Warning (simple_bus_reg): Node /host1x/ctx2 missing or empty reg/ranges property
extracted_proc.dts: Warning (simple_bus_reg): Node /host1x/ctx0 missing or empty reg/ranges property
extracted_proc.dts: Warning (simple_bus_reg): Node /host1x/disp_imp_table missing or empty reg/ranges property
extracted_proc.dts: Warning (simple_bus_reg): Node /host1x/ctx7 missing or empty reg/ranges property
extracted_proc.dts: Warning (simple_bus_reg): Node /host1x/ctx5 missing or empty reg/ranges property
extracted_proc.dts: Warning (gpios_property): Missing property '#gpio-cells' in node /cpus/cpu@0 or bad phandle (referred from /eeprom-manager/bus@3/eeprom@0:enable-gpio[0])
extracted_proc.dts: Warning (gpios_property): Missing property '#gpio-cells' in node /cpus/cpu@0 or bad phandle (referred from /eeprom-manager/bus@3/eeprom@1:enable-gpio[0])
extracted_proc.dts: Warning (gpios_property): Missing property '#gpio-cells' in node /clock@5000000 or bad phandle (referred from /plugin-manager/fragment-comms-a00-chip/override@1/_overlay_/wifi-wake-ap:gpios[0])
extracted_proc.dts: Warning (gpios_property): Missing property '#gpio-cells' in node /energy-costs/core-cost1 or bad phandle (referred from /plugin-manager/fragment-comms-a00-chip/override@1/_overlay_/wifi-enable:gpios[0])
# Convert DTS to DTB
$ dtc -I dts -O dtb -o extracted.dtb extracted.dts

# Flash it from my PC
$ cd ~/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/
$ cp extracted.dtb kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb
$ sudo ./flash -k kernel-dtb jetson-tx2 mmcblk0p1

What’s wrong? Thanks for your help.

hello DavidC21,

you should download L4T Sources package and compile the device tree from sources.
please also check Kernel Customization chapter for the steps.
thanks