设备树简介
Device Tree是一种描述硬件的数据结构,
DTS(Device Tree Source)就是用来描述目标板硬件信息的源文件。
设备树基本数据格式
device tree是一个简单的节点和属性树,属性是键值对,节点可以包含属性和子节点。下面是一个.dts格式的简单设备树
/ {
node1 {
a-string-property = "A string";
a-string-list-property = "first string", "second string";
a-byte-data-property = [0x01 0x23 0x34 0x56];
child-node1 {
first-child-property;
second-child-property = <1>;
a-string-property = "Hello, world";
};
child-node2 {
};
};
node2 {
an-empty-property;
a-cell-property = <1 2 3 4>; /* each number (cell) is a uint32 */
child-node1 {
};
};
};
编译设备树后,可以使用
dtc -I dtb -O dts xxx.dtb -o xxx.dts
来查看实际生成的设备树文件
在运行系统时,/sys/firmware/devicetree 可以查看实际使用的是设备树
设备树常用操作
1/ {
2 ... ...
3 demo1: demo1 {
4 compatible = "demo1";
5 property1 = <1>;
6 property2;
7 property3 = <2>;
8 property4;
9 };
10};
11
12&demo1 {
13 /delete-property/property2;
14 /delete-property/property3;
15};
memory_DDR1@c0000000 {
device_type = "memory";
reg = <0 0xc0000000 0 0x40000000>;
};
/ {
/delete-node/ memory_DDR1@c0000000;
};
设备树实例解析
下面解析rv1126设备树实例