设备树
kernel/msm-3.18/arch/arm64/boot/dts/qcom/sdm450-qrd-yd-evt.dtsi
DTS、DTB、DTC是什么
- .dts文件是一种ASCII文本格式的设备树描述文件,一般一个dts文件对应一个设备。
- .dtsi文件可以被.dts文件包含,靠后的dts文件可以覆盖dtsi文件中的配置;一个dtsi文件可以被多个dts或dtsi文件包含(就像头文件),这样就可以把一些soc的公用配置放到这里。
- .dtb文件是编译之后的二进制文件,可以被内核或BootLoader识别。
- .dtc是将dts编译成dtb的工具,其源码在内核的script/dtc目录中,在内核使能设备树的情况下,编译内核的时候dtc会被编译出来。
- 绑定txt,讲解节点和属性是如何描述设备树的硬件细节,如兼容性、必须或可选的属性。位于Document、devicetree/bingings目录下。
DTS文件内容
表征了一个设备树的结构:一个root节点下包含了n个子节点,其下又有子节点,每个节点都有一系列属性,这些属性可能为空、字符串、字符串数组、u32的cell、二进制数。
在一系列属性中,比较重要的是
- cpmpitable = "
"," ";这条属性可以有多个,表明兼容什么设备,如果是根节点则代表启动的设备soc、chip是什么。 - reg<,> 表示设备地址和其cell长度。
- pinctrl 如果有suspend、resume则需要之前编写了对应的结构,然后在此处匹配
![企业微信截图_1626061312701.png][1]
[1]: https://lxy98.cn/usr/uploads/2021/07/1681139460.png