linux裝置樹學習筆記備忘 裝置樹格式

2021-10-18 22:40:01 字數 1903 閱讀 2899

1、裝置樹格式

[label:] node-name[@unit-address] ;
例子:

1150     fusb0: fusb30x@22 ;
格式一:

[label:] property-name = value;

格式二:

[label:] property-name;

property取值方式只有3種

arrays of cells(1個或多個32位資料, 64位資料使用2個32位資料表示),

string(字串),

bytestring(1個或多個位元組)

示例:

a. arrays of cells : cell就是乙個32位的資料

interrupts = <17 0xc>;

b. 64bit資料使用2個cell來表示:

clock-frequency = <0x00000001 0x00000000>;

c. a null-terminated string (有結束符的字串):

compatible = "******-bus";

d. a bytestring(位元組序列) :

local-mac-address = [00 00 12 34 56 78]; // 每個byte使用2個16進製制數來表示

local-mac-address = [000012345678]; // 每個byte使用2個16進製制數來表示

e. 可以是各種值的組合, 用逗號隔開:

compatible = "ns16550", "ns8250";

example = <0xf00f0000 19>, "a strange property format";

2、特殊的預設屬性

#address-cells   // 在它的子節點的reg屬性中, 使用多少個u32整數來描述位址(address)

#size-cells      // 在它的子節點的reg屬性中, 使用多少個u32整數來描述大小(size)

compatible       // 定義一系列的字串, 用來指定核心中哪個machine_desc可以支援本裝置

// 即這個板子相容哪些平台 

// uimage : smdk2410 smdk2440 mini2440     ==> machine_desc         

model            // 咱這個板子是什麼

// 比如有2款板子配置基本一致, 它們的compatible是一樣的

// 那麼就通過model來分辨這2款板子

/memory

device_type = "memory";

reg // 用來指定記憶體的位址、大小

/chosen

bootargs // 核心command line引數, 跟u-boot中設定的bootargs作用一樣

/cpus

/cpus節點下有1個或多個cpu子節點, cpu子節點中用reg屬性用來標明自己是哪乙個cpu

所以 /cpus 中有以下2個屬性:

#address-cells // 在它的子節點的reg屬性中, 使用多少個u32整數來描述位址(address)

#size-cells // 在它的子節點的reg屬性中, 使用多少個u32整數來描述大小(size)

// 必須設定為0

/cpus/cpu*

device_type = "cpu";

reg // 表明自己是哪乙個cpu

注意:

1、同一節點的名字不能一樣,即任意節點的全路徑不能相同

Linux裝置樹筆記

1.dtsi標頭檔案 一般.dtsi 檔案用於描述 soc 的內部外設資訊,比如 cpu 架構 主頻 外設暫存器位址範 圍,比如 uart iic 等等。一般都是使用 soc 廠商提供好的.dts 檔案,我們只需要在上面根據自己的實際情況做相應的修改即可。2.dtc dts dtb dts 是裝置樹...

ZYNQ LINUX裝置樹學習筆記

這個是system top.dts內容 caution this file is automatically generated by xilinx.version today is fri dec 27 11 18 21 2019 dts v1 include zynq 7000.dtsi inc...

linux裝置樹(裝置驅動)

一 裝置樹的簡單概念 裝置樹 由一系列的節點,屬性組成,節點本身包含子節點 屬性 成對出現的名稱和值 裝置樹可描述的資訊 原先大多數被編碼在核心中 它是電路板上cpu,匯流排,裝置組成的樹,bootloader會將這棵樹傳遞給核心,並根據它展開linux核心中的platform device等裝置。...