Linux设备树
文章平均质量分 77
介绍分析Linux设备树
麻辣小新
嵌入式linux一线开发者一枚,《嵌入式Linux设备驱动程序开发指南》译者之一。
展开
-
设备树简介
设备树起源?device tree 来源于openfirmware,内核中关于设备树的函数都是以of开头。为什么要用设备树?减少储存空间,减少驱动的冗余编码。 实现一套内核对应多套板级设备。环境:设备树增加usb3503A、网卡、nfs的支持编译:设备树被编译后的二进制文件传到内核后,内核有专门的函数解析,处理。语法:遇到括号就是节点,括号里面就是节点的属性1 节点...原创 2019-12-15 16:18:42 · 772 阅读 · 1 评论 -
设备树之节点和属性
设备树概图节点别名节点aliases 的意思是“别名”,因此 aliases 节点的主要功能就是定义别名,定义别名的目的就是为了方便访问节点。有时候引用的节点可读性很差,这个时候就可以定义一个简单的易于理解的名字。在系统的中的定义如下:aliases {serial0 = "/simple-bus@fe000000/serial@llc500";ethernet0 = "/simple-bus@fe000000/ethernet@31c000";};获取节点属性函数:int of_a原创 2021-09-29 17:35:27 · 2558 阅读 · 0 评论 -
设备树之创建platform设备
前言在引入设备树机制后,设备的相关信息都用设备树的方式来表示。内核或者驱动通过of系列函数来获取到这些信息。然后在内核中用链表的形式组织起来。相关的结构体属性:struct property { char *name; int length; void *value; struct property *next;原创 2021-05-28 17:35:21 · 1038 阅读 · 1 评论 -
设备树之pinctrl(itop4412平台)
重要结构步骤:在设备树中添加信息在驱动中调用系统提供的相关的函数可参考官方文档注意:pinctrl子系统不仅仅只是包括gpio,引入pinctrl最大的好处是标准化pin初始化。1 pinctrl子系统提供给驱动的API接口 参考文档:doc "Documentation/driver-api/pinctl.rst"2 使用pinctrl完成初始化的步骤 A:p...原创 2020-05-08 18:00:06 · 1357 阅读 · 2 评论 -
设备树之emmc驱动移植
硬件设备:itop4412开发板 内核版本linux-3.8.1设备树方式减少了设备的冗余编码,同时使移植变得更加高效。eMMC作为开发板的基础,十分重要。设备树用的是内核自带的smdk4412.dtsvim arch/arm/boot/dts/exynos4412-smdk4412.dts在设备树中添加如下代码: 87 ldo22_reg:原创 2017-03-05 18:35:54 · 5167 阅读 · 0 评论