设备树基础知识

设备树

数据

字符串:“fsl,evk”

32位整形:<0x44444444 0x33333333>

16进制数据:[12 3f 4d]

属性

compatile = "mytest","simple-bus"

​ 兼容属性,匹配驱动名字

address-cells = <2>

size-cells = <1>

​ 指定子节点中,reg属性地址和size的个数。

​ address-cells:64位寻址需要指定<2>,32位指定<1>

​ size-cells:指定从前一个地址开始一片大小为size的内存空间

reg = <0xffff0000 0xffff1111 0xffff2222>

​ 寄存器属性

设备树资源的转化

在设备树中每一个节点在内核中都会被转化为struct device_node资源描述节点

有部分的device_node 会转化成platform_device,根结点保存在全局变量of_root中。

从of_root可以访问到任意节点

  • device_node 转化为 platform_device的条件

A:根结点下含有compatile属性的节点

B:含有特定compatile属性节点的子节点:"simple-bus","simple-mfd", "arm, amba-bus"

C:总线节点下的子节点不能转化(如:IIC SPI):因为它们应该交给特定的总线驱动来处理

posted @ 2021-05-30 20:36  blog-morui  阅读(167)  评论(0)    收藏  举报