设备树文件中设备节点的标准属性

2024-01-09 06:43:19

一.? 简介

前面几篇文章学习了 设备树文件编译,调用关系,以及设备节点。本文继续学习设备树文件的语法。

节点是由一堆的属性组成,节点都是具体的设备,不同的设备需要的属性不同,用户可以自定义属性。除了用户自定义属性,有很多属性是标准属性, Linux 下的很多外设驱动都会使用 这些标准属性,本文我们就来学习一下几个常用的标准属性。

二.? 设备树文件中设备节点的标准属性

下面就来学习一下几个常用的标准属性。

1.? compatible 属性

compatible 属性也叫做“兼容性”属性,这是非常重要的一个属性! compatible 属性的值是一个字符串列表, compatible 属性用于将设备和驱动绑定起来。字符串列表用于选择设备所要 使用的驱动程序, compatible 属性的值格式如下所示:
"manufacturer,model"
其中 manufacturer 表示厂商, model 一般是模块对应的驱动名字。
例如, imx6ull-alientek- emmc.dts sound 节点是 I.MX6U-ALPHA 开发板的音频设备节点, I.MX6U-ALPHA 开发板上 的音频芯片采用的欧胜 (WOLFSON) 出品的 WM8960 sound 节点的 compatible 属性值如下:
compatible = "fsl,imx6ul-evk-wm8960","fsl,imx-audio-wm8960";
属性值有两个,分别为“ fsl,imx6ul-evk-wm8960 ”和“ fsl,imx-audio-wm8960 ”,其中 “ fsl ” 表示厂商是飞思卡尔,“ imx6ul-evk-wm8960 ”和“ imx-audio-wm8960 ”表示驱动模块名字。 sound 这个设备首先使用第一个兼容值在 Linux 内核里面查找,看看能不能找到与之匹配的驱动文件, 如果没有找到的话就使用第二个兼容值查。
一般驱动程序文件都会有一个 OF 匹配表,此 OF 匹配表保存着一些 compatible 值,如果设
备节点的 compatible 属性值和 OF 匹配表中的任何一个值相等,那么就表示设备可以使用这个
驱动。

2.? model 属性

model 属性值也是一个字符串,一般 model 属性描述设备模块信息,比如名字什么的,比如:
model = "wm8960-audio";

3. status 属性

status 属性看名字就知道是和设备状态有关的,status 属性值也是字符串,字符串是设备的状态信息。可选的状态如下表所示 :
描述
“okay”
表明设备是可操作的。
“disabled”
表明设备当前是不可操作的,但是在未来可以变为可操作的,比如热插拔设备插入以后。至于 disabled 的具体含义还要看设备的绑定文档。
“fail”
表明设备不可操作,设备检测到了一系列的错误,而且设备也不大可能变得可
操作。
“fail-sss”
含义和“fail”相同,后面的 sss 部分是检测到的错误内容。

4. #address-cells 和#size-cells 属性

5.? reg 属性

6.? ranges 属性

7.? name 属性

8. device_type 属性

文章来源:https://blog.csdn.net/wojiaxiaohuang2014/article/details/135469765
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。