t113-c-dts探索篇1
参考链接:
dtsi--寻找共有设备描述:
寻找路径
经过source和lunch,可以看到输出使用的设备为
因此,我们可以用cdts来快速定位设备树所在文件。
我们打开此dtsi文件之后可以发现包含了大量的.h文件,猜测是内核启动的驱动文件
我们使用全局搜索将dt-bingdings搜索出来,可以看到这些文件
我们将其中一个文件打开,可以看到里面都是定义类型,因此这些.h文件几乎都是相当于把数字封装成好理解点的名字
这些都是全志这类芯片共有的设备信息,我们用也不是改这里,改的是bord.dts文件,我们打开dts文件
可以看到,开头就包含了我们刚刚提到的dtsi文件
bord.dts的探索
我们打开开发板的tree所在路径,方便理解与查看,同时可见到dts把描述做成了文件夹的形式
/dts-v1/
此为描述dts的版本信息
memreserve
回到dts中,我们可以看到特殊关键字memreserve,即保留内存空间
modle、compatible
作为描述的属性,详情移步dts详细解析,需要注意的是compatible只描述适合的设备也可以的,不用非得描述设备商。
address-cell、size-cell
描述设备的寄存器地址和寄存器大小
interrupt-parent
这个则为引用gic的中断信息,详情在详细解析
对于interrupt-controller,简单来说就是
interrupts,一个中断标识符列表,表示每一个中断输出信号. 设备树中中断的部分涉及的部分比较多,interrupt-controller表示这个节点是一个中断控制器,需要注意的是,一个SoC中可能有不止一个中断控制器,
phandle
用数字来表明自己,后续可以再别的函数中引用,也可以用label来表明,详情在详细解析
说着说着说到dtsi去了
[ label: ] property-name;
其实就是一个是label,用来引用的,而真正的名字是后面的 property-name,我们可以看到这个名字是可以在板子上显示出来的
dts详细解析
对于dts大概的详细解析此链接非常有参考价值
https://blog.csdn.net/baidu_33879812/article/details/98591999
设备中的时钟
https://www.cnblogs.com/dream397/p/15629567.html