Android 系统与设备树支持关系图
📊 Android 系统与设备树支持关系图
| Android 版本 | 典型内核版本 | 设备树(Device Tree)支持情况 | 说明 |
|---|---|---|---|
| Android 2.x–4.3 | Linux 2.6.x–3.0 | ❌ 基本没有设备树支持 | 多为旧式 board-xxx.c 板级硬编码初始化方式 |
| Android 4.4 (KitKat) | Linux 3.4 / 3.10 | 🚧 初步支持(少量平台) | 少部分 ARM 平台开始尝试设备树;全志/瑞芯微/MTK 仍广泛用 fex 或板级代码 |
| Android 5.0–5.1 | Linux 3.10 / 3.18 | ✅ 开始广泛引入 DT | 高通/三星平台大量使用 DT,全志/瑞芯微开始尝试 |
| Android 6.0 (Marshmallow) | Linux 3.18 / 4.1 | ✅ 主流平台使用 DT | Google 强烈推荐使用设备树;新项目基本都开始迁移 |
| Android 7.0–8.x | Linux 4.x 系列 | ✅ 必须使用 DT(特别是 64 位) | 所有主流平台 DT 化,ARM64 平台完全不支持非 DT 启动 |
| Android 9.0+ | Linux 4.9+ / 5.x | ✅ 全面 DT | 所有平台设备树驱动是唯一标准方式 |
💡 特别说明:
- Android 6.0+ + ARM64 架构:Google 强制使用设备树,内核本身就不再支持非 DT 的平台初始化方式。
- 全志 / 瑞芯微 平台由于历史包袱,在 Android 4.x/5.x 上经常使用
.fex + script.bin的方式来初始化 GPIO、时钟、摄像头等外设。
📁 小提示:如何判断自己平台是否使用设备树?
| 线索 | 判断依据 |
|---|---|
是否存在 .dts / .dtsi 文件 |
有 → 使用 DT |
是否存在 sys_config.fex / script.bin |
有 → 使用全志平台旧式配置 |
驱动中是否用 of_property_* 系列 API |
有 → 使用 DT |
驱动中是否用 script_get_*、fdt_get_* 等 |
有 → 使用 fex 或全志专用配置方式 |

浙公网安备 33010602011771号