01
设备树基础 概念
什么是设备树?为什么需要设备树?设备树与ACPI的区别。
02
设备树语法 节点/属性
节点、属性、标签、包含文件(#include)详解。
03
设备树编译器 DTC
DTC工具的使用、编译与反编译、常见错误排查。
04
CPU节点配置 cpus
cpus节点、cpu-map、cpu节点属性(reg、clock-frequency等)。
05
多核启动原理 ARM64
ARM64多核启动流程、PSCI协议、spin-table方式。
06
PSCI节点配置 smc/hvc
psci节点、method(smc/hvc)、compatible属性。
07
Spin-table方式 启动
cpu-release-addr属性、spin-table启动流程、优缺点分析。
08
GIC中断控制器 v2/v3
GICv2/GICv3设备树节点、interrupt-cells、interrupt-parent。
09
定时器节点 arch_timer
ARM通用定时器(arch_timer)、clock-frequency、interrupts配置。
10
内存节点 memory
memory节点、reg属性、多块内存配置、reserved-memory。
11
BootROM流程 BL1/BL2
BootROM如何跳转到BL1/BL2、ATF(ARM Trusted Firmware)的作用。
12
ATF与设备树 FW_CONFIG
ATF如何解析设备树、传递设备树给内核、FW_CONFIG。
13
内核SMP初始化 hotplug
smp_init_cpus、smp_boot_secondary、CPU hotplug流程。
14
CPU idle与设备树 idle-states
cpu-idle-states节点、entry-method、idle状态配置。
15
CPU频率与设备树 OPP
operating-points-v2、clocks、cpu-supply、动态调频。
16
多核调度与设备树 big.LITTLE
cpu-capacity、sched-energy、大小核架构(big.LITTLE)。
17
中断控制器级联 interrupt-map
interrupt-map、interrupt-parent级联、多级中断。
18
DMA控制器 IOMMU
dma-ranges、dma-coherent、IOMMU配置。
19
PCIe控制器 总线
PCIe节点、bus-range、device_type、interrupt-map。
20
GPIO控制器 gpio-hog
gpio-controller、gpio-cells、gpio-hog。
21
时钟控制器 assigned-clocks
clocks、clock-names、assigned-clocks、clock-frequency。
22
电源管理 power-domains
power-domains、power-domain-cells、系统挂起/唤醒。
23
热管理 thermal-zones
thermal-zones、cooling-devices、trip-points。
24
IOMMU SMMU
iommu-map、iommu-cells、SMMU配置。
25
RTC节点 实时时钟
rtc节点、compatible、reg、interrupts。
26
看门狗 watchdog
watchdog节点、timeout-sec、nowayout。
27
音频设备 codec
sound节点、DAI链接、codec配置。
28
显示控制器 HDMI
display节点、panel、backlight、HDMI。
29
网络设备 ethernet
ethernet节点、phy-handle、mac-address、mdio。
30
实战调试 overlay
设备树覆盖(overlay)、dtb打包、U-Boot传递设备树、常见问题排查。