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 或全志专用配置方式

posted @ 2025-04-15 09:43  Greg_LYU  阅读(91)  评论(0)    收藏  举报