linux dts 设备树学习

发布时间 2023-04-23 22:32:23作者: caseyzz

参考 https://zhuanlan.zhihu.com/p/376755248
https://blog.csdn.net/to_be_better_wen/article/details/128044597

一.设备树简介

 linux设备树 devicetree,设备树的源文件称为DTS.
 linux内核从3.x开始引入设备树概念,用于实现驱动代码与设备信息相分离。 在设备树以前,所有关于设备的信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写。
 设备树用来描述SoC硬件外设的数据结构(以文本的形式),硬件的细节可以直接通过它传递给Linux(Bootloader会将这棵树传递给内核,然后内核可以识别这颗树),内核会将这些硬件资源和自己的相应的设备原型绑定,

二.DTS文件

1.DTS文件类型

 设备树文件有两种文件,以.dts和.dtsi结尾的文件。dtsi文件通常是用来描述CPU所支持的外设,dts文件通常是用来描述具体单板的硬件资源使用。所以dtsi文件是用来被dts文件包含的。类似于c语言.c和.h文件的关系。

2.DTS文件布局

[label:] node-name[@unit-address] {
    [properties definitions]
    [child nodes]
};