Skip to content

drivercraft/rockchip-soc

Repository files navigation

rockchip-soc

Rockchip SoC 的 Rust 实现,提供时钟和复位单元 (CRU) 驱动。

当前支持

RK3588

  • ✅ PLL 时钟配置 (9 个 PLL)
  • ✅ PLL 寄存器读取和频率计算
  • ✅ 频率计算 (整数和小数分频)
  • ✅ CRU 初始化验证 (对比 u-boot)
  • ✅ 17 个预设频率
  • ✅ 完整的单元测试覆盖 (28 个测试)

详细文档: doc/3588/

快速开始

运行测试

# 运行所有库测试
cargo test --lib

# 运行 PLL 相关测试
cargo test --lib pll

# 运行集成测试 (需要 ostool)
cargo install ostool
cargo test --test test --target aarch64-unknown-none-softfloat

# 带 u-boot 的开发板测试
cargo test --test test --target aarch64-unknown-none-softfloat -- uboot

项目结构

rockchip-soc/
├── src/
│   ├── clock/
│   │   └── pll.rs              # 通用 PLL 类型定义
│   ├── variants/
│   │   ├── rk3588/
│   │   │   └── cru/
│   │   │       ├── pll.rs      # RK3588 PLL 配置
│   │   │       ├── consts.rs   # CRU 寄存器常量
│   │   │       └── mod.rs      # CRU 模块
│   │   └── mod.rs
│   └── lib.rs
├── doc/
│   └── 3588/                   # RK3588 文档
│       ├── README.md           # 文档索引
│       ├── PLL.md              # PLL 配置说明
│       ├── PLL_ID_MAPPING.md   # ID 映射说明
│       └── TEST_REPORT.md      # 测试报告
└── README.md

设计原则

  • SOLID: 单一职责,开闭原则,里氏替换,接口隔离,依赖倒置
  • KISS: 保持简单直观
  • DRY: 避免重复代码
  • YAGNI: 只实现必需功能

参考资料

  1. u-boot RK3588 时钟驱动
  2. RK3588 TRM (需要 NDA)

许可证

[待定]


版本: 0.1.0 更新时间: 2025-12-31

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages