瑞芯微 | RK3568设备树文件整理

平台

复制代码
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文档

相关推荐
Industio_触觉智能1 个月前
瑞芯微RK3576平台FFmpeg硬件编解码移植及性能测试实战攻略
ffmpeg·开发板·嵌入式开发·瑞芯微·视频解码·rk3576·rk3576j
Industio_触觉智能1 个月前
瑞芯微RK3576开发板Android14三屏异显开发教程
android·开发板·瑞芯微·rk3576·多屏异显·rk3576j·三屏异显
Industio_触觉智能3 个月前
量产技巧之RK3588 Android12默认移除导航栏&状态栏
android·rk3588·开发板·核心板·瑞芯微·rk3588j
Industio_触觉智能4 个月前
触觉智能RK3576核心板工业应用之软硬件全国产化,成功适配开源鸿蒙OpenHarmony5.0
开发板·openharmony·开源鸿蒙·核心板·瑞芯微·rk3576·rk3576j
plmm烟酒僧6 个月前
在 RK3588 多线程推理 YOLO 时,同时开启硬件解码和 RGA 加速的性能分析
yolo·rkmpp·瑞芯微·硬件加速·rga·色彩空间转换
花落已飘6 个月前
RK3568 pinctrl内容讲解
linux·设备树·rk3568
Ronin-Lotus7 个月前
上位机知识篇---龙芯2k1000教育派设备树更新
linux·设备树·龙芯·2k1000·教育派
Industio_触觉智能8 个月前
瑞芯微开发板/主板Android调试串口配置为普通串口方法 深圳触觉智能科技分享
android·串口调试·瑞芯微·安卓开发板·rk3562
Leon_Chenl9 个月前
瑞芯微 RK 系列 RK3588 使用 ffmpeg-rockchip 实现 MPP 视频硬件编解码-代码版
ffmpeg·音视频·rockchip·瑞芯微·ffmpeg-rochchip·硬件编解码