RK3588 监控拓扑与设备树

RK3588 监控拓扑与设备树

1. SoC 温度

RK3588 DTS:

1
2
tsadc@fec00000
compatible = "rockchip,rk3588-tsadc"

rk3588s.dtsi 定义 7 个 thermal sensor channel/zone,覆盖 package、bigcore、littlecore、center、GPU、NPU 等平台定义区域。

驱动:

1
2
drivers/thermal/rockchip_thermal.c
CONFIG_ROCKCHIP_THERMAL=y

它不在 drivers/hwmon/,主要接口是 thermal sysfs。

2. Thermal zones

1
2
3
for z in /sys/class/thermal/thermal_zone*; do
echo "$(cat "$z/type"): $(cat "$z/temp")"
done

温度单位为 millidegree Celsius。zone 的 trip、cooling map 和 governor 决定降频/风扇/临界关机。

3. PWM fan

多个 RK3588 EVB/vehicle/toybrick DTS 定义 compatible = "pwm-fan"

  • PWM period;
  • cooling-levels;
  • #cooling-cells
  • 厂商 rockchip,temp-trips

驱动同时提供:

  • hwmon pwm1
  • 可选 tach fanN_input
  • thermal cooling device,或 Rockchip system monitor notifier。

4. 配置

  • HWMON 默认 y,但最终配置为准;
  • ROCKCHIP_THERMAL=y 在主 defconfig显式启用;
  • SENSORS_PWM_FAN=yrk3588_edge.config 显式启用;
  • rockchip_linux_defconfig 未显式启用 PWM fan;
  • DTS 节点和驱动配置必须同时存在。

5. 外部传感器

公共 RK3588 DTS未呈现统一板载 INA、LM75 或 PMBus方案。定制板应按:

1
2
原理图芯片 -> bus/address -> DTS compatible -> Kconfig driver
-> probe log -> hwmon name/attributes

逐项核对。

6. IIO bridge

若 SARADC 采样热敏电阻/rail,可:

  • 由 thermal ADC sensor driver提供 thermal;
  • 由 IIO用户态接口读取;
  • iio_hwmon 桥接到 hwmon。

不要同时由多个 consumer无协调改变 ADC 配置。

7. 风扇控制路径

本厂商 pwm-fan:

1
2
3
4
5
有 ROCKCHIP_SYSTEM_MONITOR + rockchip,temp-trips
-> Rockchip notifier直接控制

否则 CONFIG_THERMAL
-> generic thermal cooling device

两条路径不同,不能只看 /sys/class/thermal/cooling_device* 判断风扇是否受控。

8. 电源观测

PMIC/regulator节点描述 setpoint 和约束,不一定提供实际 voltage/current hwmon。需要功耗测量时应使用板载 shunt monitor、PMBus或外部仪器校准。

9. RK3588 高负载

视频编解码、GPU、NPU、ISP并发时:

  • 观察各 thermal zone;
  • 检查 fan state/PWM;
  • 观察 cpufreq/devfreq throttling;
  • 记录环境温度;
  • 检查散热器接触;
  • 避免只看单一 package 温度。

10. 验证

1
2
3
4
zcat /proc/config.gz | grep -E 'HWMON|PWM_FAN|ROCKCHIP_THERMAL|IIO_HWMON'
ls /sys/class/hwmon
ls /sys/class/thermal
dmesg | grep -Ei 'hwmon|pwm.fan|thermal|tsadc'

文章互动

阅读 --

留言

0 条留言

正在加载留言…