10天阅读挑战--DAY2---设备树规范

1) 引言

       Linux作为当前流行的操作系统,其在驱动的架构上面也是不断的进步和完善。在早期的Linux内核和ARM架构中并没有采用设备树, 因此Liunx驱动代码中包括大量冗余代码来描述对应平台的板信息,尤其是ARM架构平台。随着移动智能设备的迅猛发展,ARM架构芯片每年推出数百款,从而造成Linux内核板信息过多,使得linux内核虚胖。
       当 Linux之父 linus看到 ARM社区向 社区向 Linux内核添加了大量“无用”、冗余的板级信息文件,不禁发出了一句“ This whole ARM thing is a f*cking pain in the ass”。从此以后 ARM社区就引入了PowerPC等架构已经采用的设备树(Flattened Device Tree)来解决这个问题。

2) 设备树官方信息

官网: https://www.devicetree.org/
截止当前规范版本:v0.3

3) DAY2 笔记

2.2.4 属性

设备树的每个节点包含属性,其描述节点的特性。属性包含一个名称和值。

  1. 属性名称
    属性名字由表2.2中例出的1-31个字符组成的字符串
    在这里插入图片描述
    非标准属性名称必须制定一个位于的字符串前缀,例如通常的标识,公司或组织名称标识表示属性,如:
    fsl,channel-fifo-len
    ibm, ppc-interrrupt-server#s
    linux,network-index

  2. 属性值
    属性值由一组0或更多字节,其包含与属性相关的信息。
    如果转换真-假信息,属性可能包含空值。在这种情况下,属性是否存在被显示描述。
    表2.3 描述DTSpec定义的一组基本值类型。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.3 标准属性

DTSpec对设备节点定义了一组标准属性。这些属性将在本章详细描述。
DTSpec定义的设备节点可能附加更多要求或限制。

2.3.1 compatible

属性名称: compatible
值类型:
描述:
compatible 属性值包含一个或多个字符串,其定义设备的特定编程模型。这个字符串列表应有设备驱动客户端程序选择。该属性值包含null结尾字符串列表,由大部分特殊到通用。他们可以允许一个设备树描述其对一个系列类似器件的兼容性,即可允许一个设备驱动匹配多个设备。
推荐格式: “manufacturer, model”, manufacturer为代表制造厂商的名称,model指定型号数字。
例如:
compatibel = “fsl, mpc8641”, 'nsl6550";
该示例中,一个操作系统会先尝试定位支持fsl,mpc8641的驱动,如果没找到,则会厂商寻找支持更通用的nsl6550设备驱动。

4) 关注我

                                    ****我的公众号****

我的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值