ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RK3288 dts和dtsi介绍

RK3288 dts和dtsi介绍

原创 Linux操作系统 作者:tt7643066 时间:2020-02-11 11:38:04 0 删除 编辑

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 。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69948385/viewspace-2675088/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
新创云智能科技 基于瑞芯微RK3588、RK3576、RK3568、RK3566、RK3399、RK3128等平台的核心板、开发板、工控板、主板,支持定制化OEM/ODM,提供产品解决方案。

注册时间:2019-09-14

  • 博文量
    66
  • 访问量
    122707