Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 987
Leos313 Avatar asked Jan 24 '18 10:01

Leos313


People also ask

What is a .dtsi file?

dtsi files are device tree source include files. They describe hardware that is common to several platforms which include these files on their *. dts files. *. dts files are device tree source files.

What is a Phandle?

The "phandle" property is a 32-bit value that uniquely identifies a node. You are free to use whatever values or system of values, internal pointers, or whatever to generate these, the only requirement is that every node for which you provide that property has a unique value for it.

What is DTC in Linux?

Device Tree Compiler, dtc, takes as input a device-tree in a given format and outputs a device-tree in another format for booting kernels on embedded systems. Typically, the input format is "dts", a human readable source format, and creates a "dtb", or binary format as output.

Does U Boot use device tree?

A: U-boot allows the user to load a Device Tree Overlay and apply it on the base Device Tree Blob just before booting Linux, thus making it transparent for Linux (Linux will see just one Device Tree Blob like it expects).


1 Answers

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)

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 that the i at the end of dtsi stands for include ( observed by @0andriy in one of the comments).

Note also that:

  1. .dts <- Device Tree Source
  2. .dtb <- Devide Tree Blob
  3. .dtsi <- Device Tree Source Include
like image 84
Leos313 Avatar answered Oct 09 '22 22:10

Leos313