linux-kernellinux-device-driverdevice-treelinux

What is the difference between .dts file and .dtsi file?


What is the difference between .dts file and .dtsi file? Is there a difference when generating device tree blobs? When to use one or the other?


Solution

  • Here, as explained by Thomas Petazzoni and as point out in one of the comments by @mc110, you can find that:

    1. .dts <- files for board-level definitions
    2. .dtsi <- files for included files, generally containing SoC-level definitions (the i in dtsi stands for Include, as noted out by @0andriy in the comments)

    However, once the .dtb was created with a Device Tree Compiler, if you try to come back again obtaining a text file, only one big file will be created with all the information coming from all the /include/ files.

    Note also that:

    1. .dts <- Device Tree Source
    2. .dtb <- Devide Tree Blob
    3. .dtsi <- Device Tree Source Include