设备树语法:
设备节点:dts文件中描述一个设备信息的内容。比如IIC0。
根节点:设备树文件开头会有’/’就是根节点,每个设备树文件只有一个根节点,
每个节点都有一堆属性,有的可以用户自定义,有的为标准属性。
compatible:“兼容性”属性,用于将设备和驱动绑定起来,一般驱动程序都会有一个OF匹配,匹配相等,则可使用这个驱动。
module:属性也是字符串,描述模块信息,如名字什么的。
status:设备状态,可以是“okey”、“disable”,“fail”、“fail-sss”
reg:一般reg都是和地址相关的内容,起始地址和地址长度。
#address-cells:描述reg属性中的起始地址占用字长。
#size-cells:描述reg属性中的地址长度所占用的字长。
查找设备树属性
提取设备节点的属性,linux内核中使用device_node结构体来描述一个节点,此结构体定义在文件include/linux/of.h中。
查找节点有关的OF函数(获取设备节点属性函数都以of_开头)有5个:
of_find_node_by_name:通过节点名字查找指定的节点。
of_find_nade_by_type:通过device_type属性查找指定的节点。
of_find_compatible_node:根据device_type和compatibe两个属性查找指定的节点。
of_find_matching_node_and_match:通过of_device_id查找指定节点。
of_find_node_by_path:通过路径来查找指定的节点。