rk3568 内核设备树(DTS)架构

rk3568 内核设备树(DTS)架构

设备树(Device Tree)是一种描述硬件设备的数据结构,它被广泛应用于嵌入式系统中,用于描述系统中各种硬件设备的信息,包括CPU、内存、外设等。设备树的主要作用是将硬件设备的信息与操作系统内核分离开来,使得内核可以在不了解具体硬件细节的情况下运行在不同的硬件平台上。
设备树的结构是一棵树形结构,每个节点都有一个唯一的名称和一个属性列表。在设备树中,每个节点都代表一个硬件设备或者一个硬件设备的子系统。节点之间的层级关系通过节点的父子关系来表示,子节点的属性可以继承父节点的属性。

作者:炭烤毛蛋 ,点击博主了解更多。


提示:开发过程使用新增 xxx.dtsi,小差异修改迁移到 xxx.dts。不仅让设备树更简洁、清晰,也减少适配过程的重复工作量。 在SDK更新时会自动合入相关修改,减少代码合并的工作量,也避免遗漏SDK重要的更新。

文章目录

  • rk3568 内核设备树(DTS)架构
  • 1. 图解设备树层级关系
  • 2. 添加用户设备树
  • 总结


1. 图解设备树层级关系

在内核中,设备树被表示为一组.dts和.dtsi文件。.dtsi文件是设备树的片段文件,它包含了一些公共的设备树节点和属性,可以被其他的.dts或.dtsi文件所包含。.dts文件是设备树的顶层文件,它包含了整个设备树的结构和属性。

Rockchip 开发板 Linux系统
用户主板
欢迎订阅碳烤毛蛋博客了解更多
Rockchip 开发板 Android系统
gpio
DDR
宏定义头文件
android
BSP
用户开发
linux
BSP
Android
BSP
BSP
linux
rk3568-evb-lp4x-linux-v10.dts
rk3568-evb-'user'-lp4x-linux-v10.dts
rk3568-evb-'user'-lp4x-v10.dts
rk3568-evb-'user'-lp4x-v10.dtsi
rk3568-evb-lp4x-v10.dts
rk3568-pinctl.dtsi
rk3568.dtsi
rk3568-dram-default-timing.dtsi
xxx.h
rk3568-evb.dtsi
rk3568-evb-lp4x-v10.dtsi
rk3568-android.dtsi
rk3568-linux.dtsi
rk3568-evb-lp4x-linux-v10.dtsi

rk3568.dtsi 作为基础设备树片段,一般由芯片厂商修改;
rk3568-evb.dtsi 主办基础硬件配置,此出多为匹配官方开发扳硬件BSP,定制化设计时以官方模板基础进行修改;
rk3568-evb-lp4x-v10.dtsi 则是为适配 lp4x (lpddr4x)芯片作出修改,其余芯片配套与rk3568-evb.dtsi相同,原基础精简修改不仅增加设备树相关代码健壮性,还更容易移植;
rk3568-evb-lp4x-v10.dts 作为主dts,其中有引用其它子设备树片段,包含系统界别设备树和板级支持设备。

2. 添加用户设备树

用户需开发设备树
引用
android
rk3568-evb-'user'-lp4x-v10.dtsi
rk3568-evb-'user'-lp4x-v10.dts
rk3568.dts
rk3568-evb.dtsi
android.dtsi

用户开发内核时,定制开发过程参照官方原理图demo修改,rk3568-evb-'user'-lp4x-v10.dtsirk3568-evb.dtsi进行覆写以适配定制主板。rk3568-evb-'user'-lp4x-v10.dts引用系统配置和系统配置,安卓系统需要引用 andorid.dtsi

总结

不枉博主一片辛苦,欢迎订阅博主–炭烤毛蛋 。

你可能感兴趣的:(DTS,Linux,Android,android,linux)