dts总结——Node
1.Compatible=“mediatek,mtxxx” 对应的组织形式为:“<manufacturer>, <model>”
2.reg的组织形式为reg=<address1 length1 address2 length2>
address为1个或多个32位的整形(即cell),而length一般为address base下的偏移范围
root节点下会有#address-cells=<xx> #size-cell=<xx>
比如#address-cell=<2>;#size-cell=<2>; 就表示有两个address,且有两个length
所以会看到mmc的reg node下对应是:
reg = <0 0x11230000 0 0x1000>——第一个0一般表示片选,mmc没有用到。
Dts中相关符号的含义
/ 根节点
@ 如果设备有地址,则由此符号指定
& 引用节点
: 冒号前的label是为了方便引用给节点起的别名,此label一般使用为&label
, 属性名称中可以包含逗号。如compatible属性的名字 组成方式为"[manufacturer], [model]",加入厂商名是为了避免重名。自定义属性名中通常也要有厂商名,并以逗号分隔。
# #并不表示注释。如 #address-cells ,#size-cells 用来决定reg属性的格式。
空属性并不一定表示没有赋值。如 interrupt-controller 一个空属性用来声明这个node接收中断信号数据类型
“” 引号中的为字符串,字符串数组:”strint1”,”string2”,”string3”
< > 尖括号中的为32位整形数字,整形数组<12 3 4>
[ ] 方括号中的为32位十六进制数,十六机制数据[0x11 0x12 0x13] 其中0x可省略