驱动Driver-设备树
1.DTC工具
scripts/dtc/Makefile文件

arch/arm/boot/dts/Makefile


2.DTS语法

2.1dtsi头文件


2.2设备节点



2.3设备树种的数据形式

compatible 属性

model 属性

status 属性

#address-cells 和#size-cells 属性






reg 属性


ranges 属性


name 属性

device_type 属性

根节点 compatible 属性


使用设备树以后的设备匹配方法







向节点追加或修改内容




创建小型模板设备树

添加 cpus 节点


添加 soc 节点



添加 ocram 节点


添加 aips1、aips2 和 aips3 这三个子节点




添加 ecspi1、usbotg1 和 rngb 这三个外设控制器节点





设备树在系统中的体现


根节点“/”各个属性

根节点“/”各子节点

特殊节点

aliases 子节点


chosen 子节点






Linux 内核解析 DTB 文件


绑定信息文档

设备树常用 OF 操作函数
查找节点的 OF 函数


of_find_node_by_name 函数

of_find_node_by_type 函数


of_find_compatible_node 函数

of_find_matching_node_and_match 函数

of_find_node_by_path 函数

查找父/子节点的 OF 函数
of_get_parent 函数


of_get_next_child 函数

提取属性值的 OF 函数

of_find_property 函数

of_property_count_elems_of_size 函数


of_property_read_u32_index 函数

of_property_read_u8_array 函数


of_property_read_u8 函数

of_property_read_string 函数

of_n_addr_cells 函数

of_n_size_cells 函数

of_device_is_compatible 函数

of_get_address 函数

of_translate_address 函数


of_address_to_resource 函数


of_iomap 函数

参考链接
- (Linux驱动入门-设备树DTS)[https://mp.weixin.qq.com/s/uUIOBTbLICk7SCvzFMsj3g]
- (一文搞定 Linux 设备树)[https://cloud.tencent.com/developer/article/1887823]
- (Linux内核设备树篇之初识设备树)[https://mp.weixin.qq.com/s/cZKN7v8NZ_Jweq3rHAp2HQ]
- (Linux设备树详解(一) 基础知识)[https://mp.weixin.qq.com/s/rfZhaJl5YGcMsZh0e9604g]
- (设备树DTS 学习)[https://mp.weixin.qq.com/s/C57ns-2Ihrxv1QIWa8hnIw]

浙公网安备 33010602011771号