返回所有文章
工程 / TSENGCHEN BLOG

RV1126B-System-Monitor-Overview

09_Engineering/RV1126B NPU temputure monitor · RV1126B-System-Monitor-Overview

09_Engineering · 第 7 / 7 篇

保留原笔记正文与技术内容,仅脱敏敏感信息。配图按作者要求保留原样。

RV1126B System Monitor 机制说明

System Monitor 是 Rockchip 内核中的全局策略管理器:读取温度与系统状态,并对 CPU、NPU、DDR 等设备施加限频、调压或 CPU 上下线策略。它不是温度传感器,也不替代 Thermal 的硬件过温保护。

作用

  • 按温度表限制 NPU、CPU 等 Devfreq 设备的最高频率。
  • 根据休眠、视频、性能、重启等系统状态更新设备的 QoS 限制。
  • 在 DTS 配置支持时,执行低温调压、CPU 上下线和 DDR tREFI 调整。

NPU 温控链路

TSADC 温度
  -> cpu-thermal
  -> rockchip-system-monitor
  -> 已注册的 NPU
  -> temp-freq-table
  -> NPU Devfreq 最大频率 QoS

NPU 驱动初始化后注册到 System Monitor。System Monitor 沿 NPU 节点的 operating-points-v2 引用找到 npu_opp_table,读取其中的 rockchip,temp-freq-table。

rockchip,temp-freq-table = <
    70000  600000
    75000  510000
    80000  396000
>;

上表表示:温度超过 70°C、75°C、80°C 时,NPU 最大频率依次限制为 600 MHz、510 MHz、396 MHz。温度值单位是 m°C,频率单位是 kHz;源码使用严格大于判断,因此温度正好到达阈值时不会立即进入下一档。

管理方式

System Monitor 设置的是 NPU Devfreq 的最大频率 QoS,不是直接锁定当前频率。因此:

  • 低于第一档时,不施加该温度表限制,NPU 可按负载升频。
  • 超过阈值时,NPU 不能超过对应上限,但空闲时仍可更低。
  • 降温后会解除或放宽限制;降温路径有约 2°C 的变化门限,以减小频率反复跳变。

temp-freq-table 与 Linux Thermal 的 cooling-maps 是两条独立路径。因此 cool1 保持为 0 不代表温度表未生效;应以 NPU 实际频率是否被限制为准。

关键位置

  • System Monitor DTS 节点:kernel-6.1/arch/arm64/boot/dts/rockchip/rv1126b.dtsi
  • System Monitor 驱动:kernel-6.1/drivers/soc/rockchip/rockchip_system_monitor.c
  • NPU Devfreq 注册与调频:kernel-6.1/drivers/rknpu/rknpu_devfreq.c

运行时可查看:

cat /sys/class/devfreq/22000000.npu/cur_freq
cat /sys/class/devfreq/22000000.npu/available_frequencies
09_Engineering · 文档目录
上一篇RV1126B-NPU-Temperature-Limit-Verification