设备树常用的属性

① #address-cells、#size-cells 。cell 指一个 32 位的数值, address-cells:address 要用多少个 32 位数来表示;size-cells:size 要用多少个 32 位数来表示。
② compatible                               表示可以“兼容”什么
③ model                                      准确地定义这个硬件是什么
④ status                                      明确此设备的状态 
⑤ reg                                         用来表示寄存器地址   也可以用来描述一段空间
⑥ name                                     表示节点的名字 在跟 platform_driver 匹配时,优先级最低。
⑦ device_type                           表示节点的类型跟 platform_driver 匹配时,优先级为中。

示例1:(涉及①address-cells和⑤ reg)

下例中,address-cells 为 1,所以 reg 中用 1 个数来表示地址,即用 0x80000000 来表
示地址;size-cells 为 1,所以 reg 中用 1 个数来表示大小,即用 0x20000000 表示大小:
/ {
#address-cells = <1>;
#size-cells = <1>;
memory {
reg = <0x80000000 0x20000000>;
};
};

示例2 :涉及② compatible       ③ model                  

/ {
compatible = "samsung,smdk2440", "samsung,mini2440";
model = "jz2440_v3";
};

它表示这个单板,可以兼容内核中的“smdk2440”,也兼容“mini2440”。从 compatible 属性中可以知道它兼容哪些板,但是它到底是什么板?用 model 属性来明确。

示例3:涉及④ status

&uart1 {
status = "disabled";
};

dtsi 文件中定义了很多设备,但是在你的板子上某些设备是没有的。这时你可以给这个设备节点添加一个 status 属性,设置为“disabled”.

Value Description
"okay" 设备正常运行
"disabled" 设备不可操作,但是后面可能恢复工作
"fail" 发生了严重错误,需修复
"fail-sss" 发生了严重错误,需要修复;sss表示错误信息

  



懒惰不会让你一下子跌到 但会在不知不觉中减少你的收获; 勤奋也不会让你一夜成功 但会在不知不觉中积累你的成果 越努力,越幸运。
原文地址:https://www.cnblogs.com/Rainingday/p/12517656.html