内核版本:Linux 3.14
平台: imx6q-sabresd
问题描述: 对新引入的device tree机制不甚理解。是否可以理解为如果我要加入一个驱动,只需要重新编译dts文件,更新dtb文件即可,无需再重新编译zImage? 不知道这样理解是否正确?
另,对dts的格式也存有疑问,网上说一个dts文件只有一个根节点,但我查看工程中的imx6q-sabresd.dts ,大致如下:
/dts-v1/;
#include "imx6q.dtsi"
#include "imx6qdl-sabresd.dtsi"
/ {
model = "Freescale i.MX6 Quad SABRE Smart Device Board";
compatible = "fsl,imx6q-sabresd", "fsl,imx6q";
};
&battery {
offset-charger = <1900>;
offset-discharger = <1694>;
offset-usb-charger = <1685>;
};
&ldb {
lvds-channel@0 {
crtc = "ipu2-di0";
};
lvds-channel@1 {
crtc = "ipu2-di1";
};
};
其中,&battery和&ldb 似乎都没有在根节点里而是自成一个节点,不知道他们是如何联系在一起的呢?
那假如我想加入一个gpio的驱动来驱动一个led灯(GPIO2 ROW5),那我应该怎么修改此文件来加入该驱动呢?
新手,不知道描述清楚没有,望各位大神不吝赐教,谢谢。
|