Dts实例分析
Posted aaronGao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dts实例分析相关的知识,希望对你有一定的参考价值。
1. 字段-status:在*.dtsi和*.dts中,对设备的使能和失能由两种方式,可参考http://lists.infradead.org/pipermail/linux-arm-kernel/2012-February/086295.html在freescale中的实现,是链接中提到的第一种,在*.dtsi中会将所有的设备设置为status="disabled";而在*.dts中若使用,可以override该设备状态status="okay";
2.字段-compatible:在开发中可能会遇到,需要定义自己的设备匹配方式,区别于系统默认的,如将SPI、UART中某一个口单独抽出来,这时候需要重新定义compatible属性,和之前系统自带的属性区别开,那么此时可以在*.dts文件中,对*.dtsi中对应节点进行compatible属性override重写,因为一般compatible属性都是在*.dtsi中申明,在*.dts中包含,而*.dtsi又是提取了较为common的一些属性,所以如果自定义,最好在*.dts中进行重写。
3.字段-pinctrl-names/pinctrl-0:概念从wowotech这个博客可以知道,前者是设备的state列表,具体说就是pin state引脚状态,比如uart,如果pinctrl-names设为"active"那么就是uart复用状态,而设为"sleep"则普通GPIO,用户可以将其设为低功耗状态;而pinctrl-0则是句柄列表,每个句柄都指向pin configuration,会出现一个pin state对应多个pin configuration. 而每个CPU都有自己配置IO方式,具体可参照DS和http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/pinctrl/。举个例子,假如你在用uart的时候,对应Tx/Rx管脚,那么必然这两个脚也对应common gpio功能,这个时候就可以通过上述链接的方式找到对应芯片配置方式进行配置,然后在dts节点中引用;同时使用串口可能还会用到某个common gpio来实现当串口收到数据时就拉高此gpio,那么同样也可以在上述的pinctrl中加入此gpio的复用方式(common gpio),然后在节点中引用。
以上是关于Dts实例分析的主要内容,如果未能解决你的问题,请参考以下文章