甲: 设备树基础
1. 什么是设备树.
设备树是采用树形结构来描述板子上的设备信息的文件. 设备树都有一个根节点, 其下是由大括号括住的设备节点. 设备树有设备节点构成.
2. 什么叫设备节点
每个设备都由一个节点来描述,叫做设备节点.
每个节点由节点名称和属性来描述,属性信息就是键—值对.
节点名称用node-name@unit-address 来描述, 或者label:name@addr 的格式来描述
unit-address 如果不需要可以省略.
引入label 可以用 &label 来访问这个节点,方便了书写.
属性值是键值对,值可以是字符串,字符串列表,整数及整数数组.
例如:
compatible="fsl,imx6ull-nand","fsl,imx6u-gpm-nand";
reg=<0>;
reg=<0,0x1234,0x20201000,0x1000>;
3. 标准属性
compatible 属性. 为了匹配linux 内核驱动程序
#address-cells 属性
#size-cells 属性
reg 属性
等等.
4. 修改节点或向节点中追加内容.
可以先引用一个已经定义的节点 &label,然后在大括号中继续书写更改或添加的内容
乙: 设备树与内核
根节点的兼容属性与内核驱动
linux内核如何解析设备树