平台
soc : rk3568
board: EVB1-DDR4-V10
软 件:Android 11
Linux:4.19.232
一、前言
在RK3568平台上进行Android开发时,了解设备树源文件(Device Tree Source,DTS)对于理解硬件资源分配和配置非常重要。DTS文件描述了设备的硬件结构和属性,包括处理器、外设和中断等信息。本文将详细介绍在RK3568平台上使用DTS文件进行硬件资源配置的过程,并提供相应的源代码示例。
瑞芯微平台设备树文件通常位于sdk-xxxxxx/kernel/arch/arm64/boot/dts/rockchip
目录下:
对于rk3568平台来说,我们经常用到色设备树文件
rk3568.dtsi
rk3568-evb.dtsi
rk3568-pinctrl.dtsi
rk3568-evb1-ddr4-v10.dtsi
这个几个文件之间关系:
- rk3568.dtsi 芯片说明书(SoC 自带资源)
- rk3568-evb.dtsi 官方评估板的参考设计
- rk3568-pinctrl.dtsi 描述各个外设的引脚配置
- rk3568-evb1-ddr4-v10.dtsi 底板的硬件电路原理图映射
设备树最终文件xxxx .dtb 的生成通常遵循这样的 include 关系:
rk3568-evb1-ddr4-v10.dts → include "rk3568-evb1-ddr4-v10.dtsi"
→ include "rk3568-evb.dtsi"
→ include "rk3568.dtsi"
最终合并后,编译生成的 rk3568-evb1-ddr4-v10.dtb 就描述了完整硬件,可以烧录到板子中了。
二、设备树文件
1. rk3568.dtsi
这是 SoC 级别的设备树,该文件主要是对 RK3568 SoC内部的硬件资源做描述,任何基于 RK3568 的开发板设备树,最终都会包含它。
硬件资源:
CPU、GIC(中断控制器)、timer
UART/I2C/SPI/USB/PCIe/GMAC/DSI/CSI/GPIO/MMC/SATA 等控制器节点
内部电源域、时钟树、复位控制器
基础 pinctrl 配置(但不包含具体板子引脚复用)

2. rk3568-evb.dtsi
这是通用 EVB(Evaluation Board,评估板)级别的设备树。
在 rk3568.dtsi 的基础上,补充了评估板通用的SoC硬件资源与外设连接关系:
- 哪些 GPIO 口接了 LED、按键
- 哪些 I2C 控制器挂了电源管理芯片 (PMIC)、传感器
- 哪个 UART 做调试串口
- 哪些接口默认启用(比如 SD 卡、eMMC、SPI-NOR)

它相当于"参考板级配置",不同厂商做自己的板子时,一般会基于它再做修改。
3. rk3568-pinctrl.dtsi
RK芯片的设备树⼀般把pinctrl节点放在soc.dtsi
,例如rk3568.dtsi
,⼀般位于最后⼀个节点。
该节点主要描述了rk3568 gpio控制器gpio0~gpio4详细信息。

而文件rk3568-pinctrl.dtsi则详细描述了公板对各个外设引脚配置信息,
引用了父节点pinctrl。

4. rk3568-evb1-ddr4-v10.dtsi
这是瑞芯微提供的公板硬件信息的板级设备树。
在 rk3568-evb.dtsi 的基础上,进一步补充/覆盖:
- 基于 i2c总线从设备信息(从设备地址,连接到哪个i2c控制器)
- 存储器配置(比如 DDR4,容量,频率)
- 电源管理细节(PMIC 的型号、LDO/BUCK 的电压)
- 板载外设的具体型号(比如 LCD 面板、触摸屏、摄像头模组)
- 针对厂商开发板的 GPIO/pinctrl 复用(哪些引脚连了什么)
- 调试开关(比如默认启用 UART2 还是 UART4)
还有csi、dsi、gmac、mdio、sata等控制器所连接的外设信息。
换句话说,这个文件就是"某个厂商某个板子的具体硬件描述",对应 datasheet 里的原理图。
其他厂家往往会基于瑞芯微的SoC定制自己的评估版,比如正点原子的atk-3568开发板,
具体厂商/具体硬件版本的板级设备树,对应的文件如下:
rk3568-atk-evb1-ddr4-v10.dtsi
然后修改同级目录的Makefile即可。
三、举例
例1 摄像头ov13850
比如我们有一个摄像头ov13850,cpu通过i2c对它进行配置。
所以他需要执行父节点i2c4,
同时还要通过节点 remote-endpoint 与对应的mipi控制器csi2-dph0产生联系
例2 音频编解码芯片rk809
该芯片集成在rk3568 SoC内部的rk809内部,所以瑞芯微将该芯片信息放置在rk3568-evb.dtsi
,
该芯片是语音编解码芯片,通过i2s总线连接到i2s控制器i2s1_8ch
,
同时它的主时钟连接到引脚gpio1的A2,所以该引脚描述信息通过属性pinctrl-0
指定,信息描述位于文件rockchip-pinconf.dtsi。

更多资料获取
一口君将所有rk3568的camera原创文章整理成pdf文档,

转发文章,并回复关键字rxw,获取pdf文档