补充设备节点,reg 属性和中断连接的描述.
Signed-off-by: rick.chan <chenyang@autoai.com>
This commit is contained in:
parent
d4ba3cee0f
commit
d7e0bb2a61
|
@ -32,11 +32,46 @@ dtb:编译 dtc 后得到的二进制设备树文件,Linux 内核可加载和
|
||||||
|
|
||||||
包含一个根节点和多个子节点,如果在 dts/dtsi 中写了多个根节点,则在编译后被组合成一个根节点。子节点可嵌套。 节点会被展开为 device,其 compatible 属性用于与 driver 的 compatible 属性项匹配,如果匹配成功则调用该 driver 的 probe 函数。
|
包含一个根节点和多个子节点,如果在 dts/dtsi 中写了多个根节点,则在编译后被组合成一个根节点。子节点可嵌套。 节点会被展开为 device,其 compatible 属性用于与 driver 的 compatible 属性项匹配,如果匹配成功则调用该 driver 的 probe 函数。
|
||||||
|
|
||||||
属性值可以为整数或字符串。使用“//”进行行注释或“/**/”进行块注释。一个简单的 dts 文件示例如下:
|
属性值可以为整数或字符串。如果为整数则用“<>”括起来,“<>”中可以有多个单元,称为 cell,cell 间使用空格隔开,不同的 cell 可以有不同的含义。字符串使用英文双引号括起来。
|
||||||
|
|
||||||
|
DTS 中使用“//”进行行注释或“/**/”进行块注释。
|
||||||
|
|
||||||
|
### 设备节点
|
||||||
|
|
||||||
|
设备节点采用:
|
||||||
|
|
||||||
|
```dts
|
||||||
|
[label]:<name>[@<unit-address>]
|
||||||
|
```
|
||||||
|
|
||||||
|
的格式来标识。挂到内存空间的设备,其 unit-address 一般是内存地址。别的地方可以通过标签来引用该节点。
|
||||||
|
|
||||||
|
### reg 属性和 address-cells、size-cells
|
||||||
|
|
||||||
|
子节点的“reg”属性由“address”字段和“size”字段构成,如:
|
||||||
|
|
||||||
|
```dts
|
||||||
|
reg = <address1 size1 [address2 size2] [address3 size3]...>;
|
||||||
|
```
|
||||||
|
|
||||||
|
属性“#address-cells”描述了子节点的“reg”属性的“address”字段为几个 32bit 的整型数据。
|
||||||
|
|
||||||
|
属性“#size-cells”描述了子节点的“reg”属性的“size”字段为几个 32bit 整型数据,如果为 0,则没有 lenth 字段。
|
||||||
|
|
||||||
|
### 中断连接
|
||||||
|
|
||||||
|
* interrutt-controller:属性为空,表明“我是中断控制器”;
|
||||||
|
* #interrupt-cells:表明连接此中断控制器的设备的中断属性的 cell 大小,也就是 interrupt = <> 属性的 cell 大小;
|
||||||
|
* interrupt-parent:设备节点通过这个关键字指定其依附的中断控制器 phandle,如果没有指定,则继承父节点的 interrupt-parent 配置;
|
||||||
|
* interrupt:设备节点里使用,一般包含中断号、触发方法等。具体有多少个 cell,由 #interrupt-cells 决定,每个 cell 的具体含义,一般由驱动的实决定,一般会在绑定文件里说明。
|
||||||
|
|
||||||
|
### DTS 示例
|
||||||
|
|
||||||
|
一个简单的 dts 文件示例如下:
|
||||||
|
|
||||||
```dts
|
```dts
|
||||||
/ {
|
/ {
|
||||||
compatible = "acme,coyotes-rev
|
compatible = "acme,coyotes-rev"
|
||||||
#address-cells = <1>; // 描述下一级子节点的数据属性
|
#address-cells = <1>; // 描述下一级子节点的数据属性
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
interrupt-parent = <&intc>;
|
interrupt-parent = <&intc>;
|
||||||
|
|
Loading…
Reference in New Issue