发 帖  
原厂入驻New

[经验] RK3288 dts和dtsi介绍

2020-2-11 11:43:37  1710 RK3288
分享
3
Device Tree 是一种描述硬件的数据结构,它起源于 OpenFirmware(OF)。在 Linux2.6 中,ARM 架构的板机硬件细节过多地被硬编码在arch/arm/plat-xxx 和arch/arm/mach-xxx,采用 Device Tree 后,许多硬件的细节可以直接透过它传递给 Linux,而不再需要在 kernel 中进行大量的冗余编码。
   Device Tree 由一系列被命名的结点(node)和属性(property)组成,而结点本身可包含子节点。所谓属性,其实就是成对出现的 name 和 value 。
    在 Device Tree 中,可描述的信息包括(原先这些信息大多被硬编码到 kernel 中):
·      CPU的数量和类别
·      内存基地址和大小
·      总线和桥
·      外设连接
·      中断控制器和中断使用情况
·      GPIO控制器和GPIO使用情况
·      clock控制器和Clock使用情况
    它基本上就是画一棵电路板上(CPU、总线、设备组成)的树,Bootloader 会将这棵树传递给内核,然后内核可以识别这棵树,并根据它展开出 Linux 内核中的 platform_device、i2c_client、spi_device等设备,而这些设备用到的内存、IRQ 等资源,也被传递给了内核,内核会将这些资源绑定给展开的相应的设备。
   .dts 文件是一种 ASCII 文本格式的 Device Tree 描述。基本上,在 ARM Linux 中,一个 .dts 文件对应一个 ARM 的 machine,一般放置在内核的 arch/arm/boot/dts/ 目录。由于一个 SOC 可能对应多个 machine(一个SOC可以对应多个产品和电路板),势必这些 .dts 文件需包含许多共同的部分,Linux 内核为了简化,把 SOC 公用的部分或者多个 machine 共同的部分一般提炼为 .dtsi,类似于C语言的头文件。其他的 machine 对应的 .dts 就是 include 这个 .dtsi 。
ookkk.jpg

top877 2020-2-13 20:11:49
很好的文章,继续加油
回复

举报

andiyli 2020-2-16 11:43:12
很好的文章  感谢分享  
回复

举报

2064474298 2020-2-18 20:17:56
这个资料真的很不错
回复

举报

qq470199829 2020-2-25 21:40:29
讲的非常好 ,很有价值
回复

举报

qq470199829 2020-5-5 14:56:49
顶顶顶顶顶顶顶顶顶
回复

举报

qq470199829 2020-5-7 09:31:01
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
回复

举报

qq7643066 2020-6-9 09:13:21
你中意了吗
NetFocus-RK3288开发板规格书2019.pdf (996.37 KB, 下载次数: 0)
19.5 寸智能办公主板 规格书.pdf (1.36 MB, 下载次数: 0)




回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发经验
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表