RK3588 监控拓扑与设备树
1. SoC 温度
RK3588 DTS:
1 | tsadc@fec00000 |
rk3588s.dtsi 定义 7 个 thermal sensor channel/zone,覆盖 package、bigcore、littlecore、center、GPU、NPU 等平台定义区域。
驱动:
1 | drivers/thermal/rockchip_thermal.c |
它不在 drivers/hwmon/,主要接口是 thermal sysfs。
2. Thermal zones
1 | for z in /sys/class/thermal/thermal_zone*; do |
温度单位为 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=y在rk3588_edge.config显式启用;- 主
rockchip_linux_defconfig未显式启用 PWM fan; - DTS 节点和驱动配置必须同时存在。
5. 外部传感器
公共 RK3588 DTS未呈现统一板载 INA、LM75 或 PMBus方案。定制板应按:
1 | 原理图芯片 -> bus/address -> DTS compatible -> Kconfig driver |
逐项核对。
6. IIO bridge
若 SARADC 采样热敏电阻/rail,可:
- 由 thermal ADC sensor driver提供 thermal;
- 由 IIO用户态接口读取;
- 由
iio_hwmon桥接到 hwmon。
不要同时由多个 consumer无协调改变 ADC 配置。
7. 风扇控制路径
本厂商 pwm-fan:
1 | 有 ROCKCHIP_SYSTEM_MONITOR + rockchip,temp-trips |
两条路径不同,不能只看 /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 | zcat /proc/config.gz | grep -E 'HWMON|PWM_FAN|ROCKCHIP_THERMAL|IIO_HWMON' |
正在加载留言…