generation of dtb in kernel for the modification done in dts files for tx2

hi there

i have done some modifications in dts file named “tegra186-quill-p3310-1000-c03-00-base.dts” located at “$HOME/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/sources/hardware/nvidia/platform/t18x/quill/kernel-dts/

and i created new dtb as follow

make dtbs

then i extracted the newly created dtb to dts as

dtc -I dtb -O dts new.dtb > new.dts

the extracted dts has not been updated with my modified dts. it is exactly same as old dts that means whatever changes i have done in respective dts file are not reflected in dtb

Please help me how to make it reflect when newly dtb is generated


Could you share the steps of setting up…? I am not sure how you build the dtb. Sounds like the steps are not correct.

I referred the below link for building kernel

before building the kernel, I edited “tegra186-quill-p3310-1000-c03-00-base.dts” file (removed pci controller node). located at $HOME/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra/sources/hardware/nvidia/platform/t18x/quill/kernel-dts/"

then built the kernel & using dtc i extracted the dts from generated dtb “tegra186-quill-p3310-1000-c03-00-base.dtb”

compared with previous existing dts which was extracted from previous dtb found both are same, there exists pci controller node even after removing it from “tegra186-quill-p3310-1000-c03-00-base.dts”

why changes are not reflecting in dtb when dtb generated ?

Could you elaborate how you did to remove the pcie controller?

I just deleted following node from dts “tegra186-quill-p3310-1000-c03-00-base.dts”

pcie-controller@10003000 {
                pci@1,0 {
                        nvidia,num-lanes = <4>;
                pci@2,0 {
                        nvidia,num-lanes = <0>;
                pci@3,0 {
                        nvidia,num-lanes = <1>;


Just deleting node would not help. The device tree includes many other nodes from other dtsi too.

If you just want to confirm if building dts is successful or not, just add some node that is unique should be sufficient.

okey, thanks i added a node and it is reflecting in dtb.

can u provide information from which all dts/dtsi files i need to delete pci nodes??

thank u so much

Actually you can delete any node with below

node1 {
    /delete-property/ property1;
    /delete-node/ node2;

This is a rule that used by upstream ubuntu kernel. You could find more detail over google.