小网站,百度做一个网站怎么做呢,一呼百应网,互联网开发是什么意思一. 简介
前面几篇文章学习了 设备树文件编译#xff0c;调用关系#xff0c;以及设备节点。本文继续学习设备树文件的语法。 节点是由一堆的属性组成#xff0c;节点都是具体的设备#xff0c;不同的设备需要的属性不同#xff0c;用户可以自定义属性。除了用户自定义属…一. 简介
前面几篇文章学习了 设备树文件编译调用关系以及设备节点。本文继续学习设备树文件的语法。 节点是由一堆的属性组成节点都是具体的设备不同的设备需要的属性不同用户可以自定义属性。除了用户自定义属性有很多属性是标准属性 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 属性