設備樹常用的屬性


① #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表示錯誤信息

 

  



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM