01
低功耗设计概述
为什么需要低功耗?功耗的组成(动态、静态、漏电流),挑战与趋势。
基础概念
02
驱动框架基础
Linux设备驱动模型:platform bus、device、driver,驱动与硬件交互。
驱动模型
03
系统级功耗管理框架
ACPI与DT功耗节点,系统睡眠状态 S0/S1/S3/S4/S5。
ACPI设备树
04
Runtime PM 核心机制
runtime PM框架、核心API (pm_runtime_get/put)、自动挂起与唤醒。
RuntimePM
05
Clock框架与时钟门控
CCF简介,clk_prepare_enable/clk_disable_unprepare,时钟门控实现。
时钟门控
06
Regulator框架与电压调节
Regulator驱动模型,regulator_get/set_voltage,DVFS基础。
电压DVFS
07
中断控制器与唤醒源
GIC/GPIO低功耗配置,enable_irq_wake,系统从suspend唤醒。
中断唤醒
08
CPU Idle框架
C0/C1/C2/Cn状态,cpuidle驱动注册,governor策略 (menu/ladder)。
CPU IdleGovernor
09
CPU Freq框架与DVFS
cpufreq驱动架构,频率/电压联动,ondemand/schedutil governor。
cpufreqDVFS
10
Device PM QoS框架
PM QoS类别 (CPU/Device),QoS请求添加与通知,防止过深睡眠。
QoS延迟
11
系统Suspend/Resume流程
完整链路:kernel/device/irq,noirq阶段,syscore_ops。
SuspendResume
12
驱动中的suspend/resume回调
struct dev_pm_ops详解,suspend/resume/freeze/thaw,回调顺序。
回调dev_pm_ops
13
自动休眠策略设计
基于idle timeout自动休眠,用户态/内核态协同,参数调优。
休眠策略
14
外设低功耗模式
SPI/I2C/UART睡眠配置,FIFO与DMA低功耗设计。
外设总线
15
DMA引擎的低功耗设计
DMA控制器电源管理,通道请求/释放,暂停与恢复。
DMA引擎
16
GPU与显示子系统的低功耗
GPU DVFS,帧缓冲刷新率控制,DSI/eDP休眠序列。
GPU显示
17
音频子系统的低功耗
音频编解码器电源管理,I2S/TDM时钟门控,ALSA SoC DPCM。
音频ALSA
18
存储子系统(eMMC/UFS)低功耗
eMMC休眠命令CMD5,UFS电源模式,BKOPS与休眠。
存储eMMC
19
网络设备(WiFi/BT)低功耗
WiFi省电模式PS Poll,BT Sniff模式,主机/协处理器协同。
WiFi蓝牙
20
传感器Hub与Always-on系统
Sensor Hub架构,AON与主CPU交互,FIFO批处理。
传感器AON
21
电池管理与充电驱动
电量计Fuel Gauge驱动,充电曲线CC/CV,状态上报与策略。
电池充电
22
热管理框架与温控策略
Thermal框架 (cooling device/thermal zone),温控降频与关机保护。
温控Thermal
23
Trace与Profiling工具
ftrace与power trace event,powertop使用,功耗数据采集分析。
TraceProfiling
24
功耗调试与优化方法论
功耗拆解方法 (peripherals/CPU/GPU),wakeup storm/漏电定位。
调试优化
25
用户空间功耗管理接口
sysfs/power/接口,Android wake lock机制,用户态策略配置。
用户态sysfs
26
多核异构系统的功耗管理
big.LITTLE架构,CPU集群电源域管理,调度器与功耗协同。
异构big.LITTLE
27
虚拟化环境下的功耗管理
Hypervisor功耗管理支持,Guest OS策略,设备直通与功耗。
虚拟化Hypervisor
28
安全与功耗的权衡
安全启动与功耗,TEE(TrustZone)影响,安全外设电源管理。
安全TEE
29
低功耗驱动的测试与验证
单元测试kunit,功耗场景测试 (suspend/resume循环),自动化脚本。
测试验证
30
综合案例:智能手表低功耗驱动
需求分析,架构设计,关键驱动实现 (display/sensor/connectivity),功耗调优。
实战智能手表