RK3588 功耗分析与优化
1. 概述
1.1 功能简介
RK3588 是 Rockchip 推出的高性能 SoC,集成四核 Cortex-A76 和四核 Cortex-A55 CPU,还有 Mali-G610 GPU、6TOPS NPU、视频编解码引擎等多个计算单元。这种多核异构架构带来一个直接后果:不同应用场景下的功耗差别很大,典型范围在 5W 到 15W 之间,所以功耗分析和优化值得专门做一轮。
本文介绍 RK3588 平台的功耗分析方法和优化策略,内容包括:
- 基于 RK806 PMIC 的多电源域架构(PMIC 是板上的电源管理芯片,各模块分路供电)
- CPU/GPU/NPU/DDR 的 DVFS(动态电压频率调节)配置
- 系统休眠(Suspend/Standby)和低功耗模式
- 基于 sysfs 接口的实时功耗监测
- 热管理与功耗协同优化
1.2 应用场景
先看几类典型场景的功耗区间和优化抓手,对号入座:
| 应用场景 | 典型功耗 | 优化重点 |
|---|---|---|
| 边缘AI推理 | 8-12W | NPU 独立运行,CPU 降至低频 |
| 视频会议终端 | 6-10W | VPU 硬解码,GPU 降低负载 |
| 工业网关 | 3-5W | 全速休眠,按需唤醒 |
| 8K视频播放 | 10-15W | VIDEO 域持续供电,CPU 低负载 |
| 低功耗传感器节点 | 2-4W | 深度休眠,GPIO 唤醒 |
1.3 工作原理
RK3588 的功耗管理体系分三层,从底往上:
硬件层,RK806-1 PMIC 为系统提供多路独立电源输出,每个电源域(Power Domain,可以独立断电的一组电路)都能单独开关。CPU、GPU、NPU、VIDEO、VPU、DDR、PERI 等域由独立的 LDO/Buck 输出供电。
内核层,Linux 6.1 内核通过电源域框架(Generic Power Domain)统一管理各硬件模块的上下电时序;DVFS 驱动根据负载动态调整各计算单元的电压和频率,在性能与功耗之间取平衡。
用户空间层,电源状态、频率、温度等信息通过 sysfs 接口暴露出来,用户空间工具(如 powertop)读取这些信息做分析;PMU 驱动还提供硬件级性能计数器,支持精确的功耗归因。
2. 硬件准备
2.1 硬件清单
| 序号 | 名称 | 型号/规格 | 用途 | 备注 |
|---|---|---|---|---|
| 1 | 核心板 | C-3588LQ V1.0 | 主控平台 | 含 RK806-1 PMIC |
| 2 | 底板 | SHIMETAPI-M5-R2A V1.0 | 外设扩展 | 标准接口引出 |
| 3 | 电源适配器 | 12V/5A DC | 系统供电 | 建议 60W 以上 |
| 4 | USB 调试线 | Type-C USB | 串口调试 | 必需 |
| 5 | SD 卡 | 32GB+ Class10 | 系统启动 | 建议 64GB |
| 6 | 万用表 | 支持 mA 级测量 | 功耗测量 | 可选,用于精确测量 |
| 7 | 功率计 | 显示实时功率 | 整板功耗监测 | 可选 |
2.2 硬件确认
开工前确认 PMIC 驱动、电源域、DVFS 和 NPU 节点都就绪,注释里写了每条命令的预期结果:
# 确认内核版本
uname -r
# 期望输出: 6.1.x-rk3588
# 确认 RK806 PMIC 驱动已加载
ls /sys/bus/iio/devices/
# 期望看到 iio:device0(RK806 ADC 通道)
# 检查电源域状态
ls /sys/kernel/debug/pm_genpd/
# 应显示多个电源域目录
# 确认 DVFS 支持
ls /sys/devices/system/cpu/cpufreq/
# 期望看到 policy0 到 policy7
# 检查 NPU 设备
ls /sys/class/rknpu/
# 确认 NPU 设备节点存在3. 软件准备
3.1 工具安装
装好功耗分析工具(powertop 是 Intel 出品的功耗分析器,嵌入式 Linux 上也能用)、内核调试工具和性能统计工具:
# 安装功耗分析工具
sudo apt-get update
sudo apt-get install -y powertop iotop stress-ng
# 安装内核调试工具
sudo apt-get install -y linux-tools-common linux-tools-generic
# 安装 sysstat 用于性能统计
sudo apt-get install -y sysstat
# 安装 thermald 用于热管理
sudo apt-get install -y thermald
# 验证安装
powertop --versionpowertop --version 能打印版本号即安装成功。
3.2 内核配置
在内核配置中确保以下选项已开启(对应 Linux 6.1 内核),缺了哪个哪条功能就不工作:
# 电源管理
CONFIG_PM=y
CONFIG_PM_SLEEP=y
CONFIG_PM_ADVANCED_SUSPEND=y
# CPU 调频
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
# RK806 PMIC
CONFIG_MFD_RK8XX=y
CONFIG_REGULATOR_RK808=y
CONFIG_IIO_RK806=y
# 电源域
CONFIG_PM_GENERIC_DOMAINS=y
CONFIG_ROCKCHIP_PM_DOMAINS=y
# NPU 电源管理
CONFIG_ROCKCHIP_NPU=y
CONFIG_ROCKCHIP_NPU_PM=y
# 热管理
CONFIG_THERMAL=y
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_TZTSADC=y4. 操作步骤
4.1 功耗测量
4.1.1 系统级功耗读取
第一步先搞清楚能不能从软件读到功耗。本机 /sys/class/powersupply/ 为空(没有电池/电量计驱动),板级功耗只能外接功率计测;不过 RK806 相关的 IIO ADC 设备是存在的,可用通道看设备目录下的 in* 文件。脚本部分把各路状态定期记进 CSV,方便事后分析:
# 读取电池/电源状态
# ⚠ 本机 /sys/class/power_supply/ 为空(无电池/电量计驱动),
# 板级功耗只能外接功率计(电源串电流表/功率探头)
ls /sys/class/power_supply/ # 无输出
# IIO 设备存在(RK806 相关 ADC):
ls /sys/bus/iio/devices/
# iio:device0 iio_sysfs_trigger
# 可用通道以设备目录下 in_* 文件为准:
ls /sys/bus/iio/devices/iio:device0/ | grep in_ | head
# 实时功率计算脚本
#!/bin/bash
# power_monitor.sh - 实时功耗监测
INTERVAL=2
LOG_FILE="power_log.csv"
echo "Timestamp,CPU_Load,GPU_Freq,NPU_Power,Board_Power" > $LOG_FILE
while true; do
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
# CPU 负载
CPU_LOAD=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}')
# GPU 频率
GPU_FREQ=$(cat /sys/class/devfreq/fb000000.gpu/cur_freq 2>/dev/null || echo "N/A") # 本机路径
# NPU 电源状态( 空闲时读出 off,推理时 on——RK806 动态上下电)
NPU_POWER=$(sudo cat /sys/kernel/debug/rknpu/power 2>/dev/null || echo "N/A")
# 板级功耗(需要硬件功率计)
BOARD_POWER=$(cat /sys/class/power_supply/*/power_now 2>/dev/null || echo "N/A")
echo "$TIMESTAMP,$CPU_LOAD,$GPU_FREQ,$NPU_POWER,$BOARD_POWER" >> $LOG_FILE
sleep $INTERVAL
done4.1.2 CPU 功耗测量
CPU 这边能读到频率和温度,电压不暴露给用户态(本机没有 scaling_cur_voltage 节点):
# 读取 CPU 频率( 本机没有 scaling_cur_voltage 节点,电压不暴露给用户态)
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq
# 读取 CPU 温度(热传感器)
cat /sys/class/thermal/thermal_zone0/temp
# 输出: 39769(毫摄氏度,÷1000 = 39.769°C)
# CPU 各集群频率(3 个 policy: policy0=A55 cpu0-3, policy4=A76 cpu4-5, policy6=A76 cpu6-7)
for policy in /sys/devices/system/cpu/cpufreq/policy*; do
echo "$(basename $policy): $(cat $policy/scaling_cur_freq) KHz"
done4.2 CPU 功耗优化
4.2.1 调频策略配置
功耗优化最直接的手段是换 governor(调频策略)和收紧频率上下限,三档策略按需选:
# 查看当前调频策略
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
# 设置性能模式(高功耗)
echo performance | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor
# 设置节能模式(低功耗)
echo powersave | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor
# 设置交互模式(平衡)
echo schedutil | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor
# 设置最大最小频率限制
echo 1800000 | sudo tee /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
echo 408000 | sudo tee /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq改完再 cat 一次 scaling_governor 或 scaling_cur_freq,读到新值即生效。
4.2.2 CPU 核心热插拔
更彻底的办法是把不用的核心直接下线(热插拔,hotplug),比空转的核省得多。比如把 4 个 A76 大核全部关掉:
# 禁用大核(Cortex-A76)降低功耗
echo 0 | sudo tee /sys/devices/system/cpu/cpu4/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu5/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu6/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu7/online
# 重新启用
echo 1 | sudo tee /sys/devices/system/cpu/cpu4/online下面是 cpu7 摘除再恢复的过程,nproc 的变化可以当验证手段:
$ cat /sys/devices/system/cpu/cpu7/online # 1
$ sudo sh -c 'echo 0 > /sys/devices/system/cpu/cpu7/online'
$ cat /sys/devices/system/cpu/cpu7/online # 0
$ nproc # 7 ← 核心数实时变化
$ sudo sh -c 'echo 1 > /sys/devices/system/cpu/cpu7/online'
$ nproc # 8注意:本机 8 个核(含 cpu0)全部支持热插拔,cpu7/cpu3/cpu0 逐个下线均成功,nproc 从 8 实时变为 7,重新 echo 1 恢复;下线 cpu0 后调度器自动把任务迁到其它核。
4.2.3 CPU 功耗优化脚本
把上面的动作按三种模式打包成脚本,一条命令切换:
#!/bin/bash
# cpu_power_optimize.sh - CPU 功耗优化脚本
MODE=$1
case $MODE in
"performance")
echo "设置性能模式..."
echo performance | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor
echo 2256000 | sudo tee /sys/devices/system/cpu/cpufreq/policy4/scaling_max_freq
echo 2256000 | sudo tee /sys/devices/system/cpu/cpufreq/policy6/scaling_max_freq
echo 1800000 | sudo tee /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
# A76 最高 2.256GHz(非 2.4GHz),A55 最高 1.8GHz,三个 policy 上限不同
echo 1 | sudo tee /sys/devices/system/cpu/cpu*/online
;;
"balanced")
echo "设置平衡模式..."
echo schedutil | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor
echo 2016000 | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_max_freq
echo 1 | sudo tee /sys/devices/system/cpu/cpu*/online
;;
"powersave")
echo "设置节能模式..."
echo powersave | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor
echo 1200000 | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_max_freq
# 关闭部分大核
echo 0 | sudo tee /sys/devices/system/cpu/cpu5/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu6/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu7/online
;;
*)
echo "用法: $0 <performance|balanced|powersave>"
exit 1
;;
esac
echo "CPU 功耗配置完成"
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor脚本末尾会回显 governor,输出的就是当前生效的策略。
4.3 GPU/NPU 功耗优化
4.3.1 GPU 调频
GPU 的调频接口在 devfreq 下,限制 max_freq 是控制功耗最有效的开关:
# 查看 GPU 当前频率
cat /sys/class/devfreq/fb000000.gpu/cur_freq
# 查看 GPU 可用频率
cat /sys/class/devfreq/fb000000.gpu/available_frequencies
# 设置 GPU 调频策略
echo performance | sudo tee /sys/class/devfreq/fb000000.gpu/governor
echo powersave | sudo tee /sys/class/devfreq/fb000000.gpu/governor
# 限制 GPU 最大频率
echo 600000000 | sudo tee /sys/class/devfreq/fb000000.gpu/max_freq4.3.2 NPU 功耗管理
NPU 有独立的电源域,RK806 会在它空闲时自动断电(空闲读出 off、推理时 on),也可以手动控制:
# 查看 NPU 频率
cat /sys/kernel/debug/rknpu/freq
# 查看 NPU 功耗信息
cat /sys/kernel/debug/rknpu/power
# NPU 电源域控制(需要 root)
echo on | sudo tee /sys/kernel/debug/rknpu/power_state
echo off | sudo tee /sys/kernel/debug/rknpu/power_state4.4 休眠配置
4.4.1 Suspend 模式
Suspend(挂起到内存)是常用的低功耗状态,内存保持供电、其它大部分电路断电。进休眠前先把唤醒源配置好,不然睡下去就叫不醒了:
# 进入 Suspend 模式
echo mem | sudo tee /sys/power/state
# 配置唤醒源
echo enabled | sudo tee /sys/class/tty/ttyS*/power/wakeup
echo enabled | sudo tee /sys/input/event*/power/wakeup
# 查看唤醒源状态
cat /sys/power/wakeup_count4.4.2 Standby 模式
Standby 是更浅的休眠,唤醒更快,部分系统支持。GPIO 唤醒的配置也在这里:
# 进入 Standby 模式(部分系统支持)
echo standby | sudo tee /sys/power/state
# 配置 GPIO 唤醒
echo 17 | sudo tee /sys/class/gpio/export
echo in | sudo tee /sys/class/gpio/gpio17/direction
echo rising | sudo tee /sys/class/gpio/gpio17/edge
echo enabled | sudo tee /sys/devices/platform/gpio-keys/power/wakeup4.4.3 自动休眠配置
让系统在空闲一段时间后自己睡,改 systemd 的两个配置文件即可:
# 配置系统空闲后自动休眠
sudo tee /etc/systemd/sleep.conf <<EOF
[Sleep]
HibernateDelaySec=30min
SuspendDelaySec=5min
EOF
# 配置屏幕关闭后休眠
sudo tee /etc/systemd/logind.conf <<EOF
[Login]
HandleLidSwitch=suspend
HandleLidSwitchExternalPower=suspend
IdleAction=suspend
IdleActionSec=300
EOF配置后重启 systemd-logind(或重启系统),放置到设定时长观察是否自动休眠即可验证。
4.5 动态调频
4.5.1 DDR 频率调节
DDR 内存也吃功耗,轻负载时让它降频运行能省不少。接口同样是 devfreq 的 dmc 节点:
# 查看 DDR 当前频率
cat /sys/class/devfreq/dmc/cur_freq
# 查看 DDR 可用频率
cat /sys/class/devfreq/dmc/available_frequencies
# 设置 DDR 调频策略
echo performance | sudo tee /sys/class/devfreq/dmc/governor
echo powersave | sudo tee /sys/class/devfreq/dmc/governor4.5.2 综合调频脚本
CPU、GPU、DDR 的上限调整各记一条命令太麻烦,这个脚本统一处理,参数是「域 + 频率(MHz)」:
#!/bin/bash
# dvfs_manager.sh - 综合 DVFS 管理脚本
DOMAIN=$1
ACTION=$2
usage() {
echo "用法: $0 <cpu|gpu|npu|ddr> <freq_mhz>"
echo "示例: $0 cpu 1800"
echo " $0 gpu 600"
exit 1
}
[ $# -ne 2 ] && usage
case $DOMAIN in
"cpu")
FREQ_KHZ=$((ACTION * 1000))
echo $FREQ_KHZ | sudo tee /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
echo "CPU 最大频率设置为 ${ACTION}MHz"
;;
"gpu")
FREQ_HZ=$((ACTION * 1000000))
echo $FREQ_HZ | sudo tee /sys/class/devfreq/fb000000.gpu/max_freq
echo "GPU 最大频率设置为 ${ACTION}MHz"
;;
"ddr")
FREQ_HZ=$((ACTION * 1000000))
echo $FREQ_HZ | sudo tee /sys/class/devfreq/dmc/max_freq
echo "DDR 最大频率设置为 ${ACTION}MHz"
;;
*)
usage
;;
esac5. 代码详解
5.1 PMIC 架构
RK3588 使用 RK806-1 作为主 PMIC,通过 I2C 接口与 SoC 连接,各路输出各管一摊:
| 电源通道 | 输出电压范围 | 供电对象 | 最大电流 |
|---|---|---|---|
| DCDC1 | 0.5V-3.3V | CPU 大核 | 5A |
| DCDC2 | 0.5V-3.3V | CPU 小核 | 5A |
| DCDC3 | 0.5V-3.3V | GPU | 5A |
| DCDC4 | 0.5V-3.3V | NPU/VIDEO | 5A |
| DCDC5 | 0.5V-3.3V | DDR | 5A |
| DCDC6 | 0.5V-3.3V | PERI | 5A |
| LDO1 | 0.5V-3.3V | PLL | 300mA |
| LDO2 | 0.5V-3.3V | AVDD | 300mA |
| LDO3 | 0.5V-3.3V | VPU | 300mA |
| LDO4 | 0.5V-3.3V | 音频 | 300mA |
PMIC 初始化代码路径:drivers/mfd/rk8xx-core.c
5.2 电源域管理
Linux 6.1 内核使用 Generic Power Domain(genpd)框架管理 RK3588 的电源域,设备树里每个域声明自己的时钟和电源,内核据此决定何时上电下电:
// arch/arm64/boot/dts/rockchip/rk3588.dtsi 中的电源域定义
power: power-management {
compatible = "rockchip,rk3588-power";
rockchip,pmu = <&pmu>;
#power-domain-cells = <1>;
pd_gpu: gpu-power-domain {
clocks = <&cru ACLK_GPU_ROOT>;
power-supply = <&vdd_gpu_s0>;
#power-domain-cells = <0>;
};
pd_npu: npu-power-domain {
clocks = <&cru ACLK_NPU_ROOT>;
power-supply = <&vdd_npu_s0>;
#power-domain-cells = <0>;
};
pd_video: video-power-domain {
clocks = <&cru ACLK_VPU_ROOT>;
power-supply = <&vdd_video_s0>;
#power-domain-cells = <0>;
};
};运行中的电源域状态可以直接从 sysfs 查看:
# 查看所有电源域状态
for pd in /sys/kernel/debug/pm_genpd/*/status; do
echo "$(dirname $pd | xargs basename): $(cat $pd)"
done
# 查看电源域引用计数
for pd in /sys/kernel/debug/pm_genpd/*/projection; do
echo "$(dirname $pd | xargs basename): $(cat $pd)"
done引用计数不为零的域就是还有设备在用、断不掉电的域。
5.3 DVFS 实现
DVFS 靠 OPP(Operating Performance Points)表定义各频率点对应的电压值,频率越高需要的电压越高:
// CPU OPP 表定义
static struct rockchip_opp_table cpu_opp_table[] = {
{ .freq = 408000, .volt = 750000 },
{ .freq = 600000, .volt = 775000 },
{ .freq = 816000, .volt = 800000 },
{ .freq = 1008000, .volt = 825000 },
{ .freq = 1200000, .volt = 850000 },
{ .freq = 1416000, .volt = 875000 },
{ .freq = 1608000, .volt = 900000 },
{ .freq = 1800000, .volt = 925000 },
{ .freq = 2016000, .volt = 950000 },
{ .freq = 2208000, .volt = 975000 },
{ .freq = 2256000, .volt = 1000000 }, // A76 最高 2.256GHz
};DVFS 驱动路径:drivers/cpufreq/rockchip-cpufreq.c
6. 常见问题
6.1 系统功耗异常偏高
现象是待机功耗超过 5W,远高于正常水平。多半有进程在偷偷忙、电源域断不掉或唤醒源异常,按顺序排查:
# 1. 检查是否有异常进程占用 CPU
top -bn1 | head -20
# 2. 检查各电源域状态
for pd in /sys/kernel/debug/pm_genpd/*/status; do
echo "$(basename $(dirname $pd)): $(cat $pd)"
done
# 3. 检查未关闭的设备
ls /sys/bus/platform/drivers/*/bind
# 4. 查看唤醒源
cat /sys/power/wakeup_count
dmesg | grep -i wakeup6.2 CPU 降频后性能不足
设置了节能模式后 CPU 频率被压在 1GHz 以下,应用响应变慢。先确认频率限制,再看温度,最后换回动态策略:
# 1. 检查当前频率限制
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
# 2. 临时提升频率上限
echo 2016000 | sudo tee /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
# 3. 检查温度是否触发降频
cat /sys/class/thermal/thermal_zone0/temp
# 如果温度过高(>80°C),需要改善散热
# 4. 使用 schedutil 替代 powersave
echo schedutil | sudo tee /sys/devices/system/cpu/cpufreq/policy0/scaling_governor6.3 GPU 功耗不可控
GPU 频率降不下来,一直跑在高位。先看是不是真有负载,再强制限频、换策略:
# 1. 检查 GPU 负载
cat /sys/class/devfreq/fb000000.gpu/load
# 2. 强制设置低频
echo 200000000 | sudo tee /sys/class/devfreq/fb000000.gpu/max_freq
# 3. 切换调频策略
echo powersave | sudo tee /sys/class/devfreq/fb000000.gpu/governor
# 4. 检查是否有 GPU 密集型进程
ps aux | grep -i gpu6.4 NPU 电源无法关闭
NPU 空闲时电源域仍开着。查状态、查引用计数,确认驱动释放了资源再考虑手动断电:
# 1. 检查 NPU 电源域状态
cat /sys/kernel/debug/rknpu/power
# 2. 检查 NPU 引用计数
cat /sys/kernel/debug/pm_genpd/pd_npu/projection
# 3. 确保 NPU 驱动已正确释放资源
lsmod | grep rknpu
# 4. 手动关闭 NPU 电源(谨慎使用)
echo off | sudo tee /sys/kernel/debug/rknpu/power_state6.5 休眠后无法唤醒
进了 Suspend 后按键或 GPIO 都叫不醒。排查思路是逐层确认:唤醒源配置、GPIO 唤醒开关、唤醒中断日志:
# 1. 检查唤醒源配置
cat /sys/power/wakeup_count
# 2. 确认 GPIO 唤醒已启用
echo enabled | sudo tee /sys/class/tty/ttyS0/power/wakeup
# 3. 检查唤醒中断
dmesg | grep -i "wakeup source"
# 4. 测试 GPIO 唤醒
echo 17 | sudo tee /sys/class/gpio/export
echo in | sudo tee /sys/class/gpio/gpio17/direction
echo rising | sudo tee /sys/class/gpio/gpio17/edge
echo enabled | sudo tee /sys/devices/platform/gpio-keys/power/wakeup6.6 热管理导致频繁降频
温度过高时 CPU/GPU 频繁降频,性能忽高忽低。先看各传感器读数和当前降温策略,从散热硬件入手,临时调高阈值只是应急:
# 1. 查看各温度传感器
for tz in /sys/class/thermal/thermal_zone*; do
echo "$(cat $tz/type): $(($(cat $tz/temp)/1000))°C"
done
# 2. 查看当前降温策略
cat /sys/class/thermal/thermal_zone0/policy
# 3. 临时提高温度阈值(不推荐长期使用)
echo 95000 | sudo tee /sys/class/thermal/thermal_zone0/trip_point_0_temp
# 4. 改善硬件散热
# - 增加散热片
# - 使用导热硅脂
# - 增加风扇7. 相关文档
- RK3588 Linux 6.1 开发指南(电源管理章节)
- RK3588 硬件规格书(电源域定义)
- RK806 PMIC 数据手册
- Linux 6.1 内核文档(Power Management)
- Rockchip DVFS 开发指南
