How do I generate a new DTB file?

  1. Change the supply with battery_reg using the .dtsi file located at:

hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-power-tree-p3310-1000-a00-00.dtsi

The modifications are as follows:

pinctrl@3520000 {
vbus-0-supply = <&vdd_usb0_5v>;
vbus-1-supply = <&vdd_usb1_5v>;
vbus-2-supply = <&battery_reg>;

  • vbus-3-supply = <&vdd_usb2_5v>;
  • vbus-3-supply = <&battery_reg>;
    vddio-hsic-supply = <&battery_reg>;
    avdd_usb-supply = <&spmic_sd3>;
    vclamp_usb-supply = <&spmic_sd2>;
    avdd_pll_erefeut-supply = <&spmic_sd2>;
    };
  • How to regenerate the DTB and flash with the correct DTB. ?
  • You can try it with device tree comipler(dtc) or build it with our kernel source. It should also be generated while building kernel image.

    Actual flash command depends on if this is R28.2 (this is what JetPack3.2 would have flashed) or some other release. Which release are you using?

    If your board is a TX2 on the dev kit carrier, then this would be the dtb used during a normal flash (this is within the unpacked driver package…something JetPack would have downloaded and unpacked for you if you used JetPack):

    kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb
    

    You could reverse compile this from the “Linux_for_Tegra/” subdirectory (be careful to not overwrite the original…extract won’t harm it):

    dtc -I dtb -O dts -o extracted.dts kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb
    

    Alternatively you could get the version of the currently running Jetson:

    dtc -I fs -O dts -o extracted.dts /proc/device-tree
    

    You can then edit “extracted.dts”. Now re-compile and put it in a good place:

    dtc -I dts -O dtb -o ./kernel/dtb/custom-mod_tegra186-quill-p3310-1000-c03-00-base.dtb extracted.dts
    

    @linuxdev: Can you please share what the actual flash command for R28.2 is? To get the context, please see this link. Thank You.

    The other URL is for a TX1…this one is for TX2. There are differences between TX1 and TX2 device tree flashing. Are you interested in both TX1 and TX2? Or just TX2?

    I’m currently updating some clones to make it easier to experiment, but it’ll save time if I know exactly which platform you are updating and what part of the device tree you are interested in. Preferably you can show the changes you would make to an extracted device tree of a normally flashed board. You can find this from:

    dtc -I fs -O dts -o extracted.dts /proc/device-tree
    

    If you have a diff between that for just the block which you are editing it would help…or some detailed description of steps to show the final change you want to install.

    I am working on Jetson TX1. I believe you have seen the link I have posted previously. I will make more details available there so that I don’t disrupt the flow of communication here.