关键词:rk3288; thermal; tsadc;rockchip,px30-tsadc;rockchip,rk3228-tsadc;rockchip,rk3288-tsadc;rockchip,rk3308-tsadc;rockchip,rk3328-tsadc;rockchip,rk3366-tsadc;rockchip,rk3368-tsadc;rockchip,rk3399-tsadc
rk3288 — thermal dts配置
1、TSADC简介:
TSADC (Temperature Sensor ADC) 即在rockchip芯片内部的温度传感器
2、属性值配置:
- compatible : 可以配置成"rockchip,<name>-tsadc" "rockchip,px30-tsadc": found on PX30 SoCs "rockchip,rk3228-tsadc": found on RK3228 SoCs "rockchip,rk3288-tsadc": found on RK3288 SoCs "rockchip,rk3308-tsadc": found on RK3308 SoCs "rockchip,rk3328-tsadc": found on RK3328 SoCs "rockchip,rk3366-tsadc": found on RK3366 SoCs "rockchip,rk3368-tsadc": found on RK3368 SoCs "rockchip,rk3399-tsadc": found on RK3399 SoCs - reg : 配置寄存器的物理基地址,以及寄存器的空间大小; - interrupts : 配置thermal的中断号; - clocks : 配置thermal 相关的时钟,与clock-names 一一对应; - clock-names : tsadc是转换时钟,apb_pclk是外设时钟; - resets : 配置thermal的复位控制器; - reset-names : 配置复位名称"tsadc-apb". - pinctrl-names : pinctrl的名称; - pinctrl-0 : init代表在设备初始化之前会被设置; - pinctrl-1 : default代表在设备复位时会被设置; - pinctrl-2 : sleep代表在suspend时被设置; - #thermal-sensor-cells : 配置成1; 可选属性配置 - rockchip,hw-tshut-temp : 配置硬件控制关机的温度值; - rockchip,hw-tshut-mode : 配置硬件控制关机的模式,0:CRU,1:GPIO; - rockchip,hw-tshut-polarity : 配置硬件控制关机的极性,0:低电平,1:高电平; - rockchip,grf : 配置grf;
3、以rk3288为例:
Exiample: tsadc: tsadc@ff280000 { compatible = "rockchip,rk3288-tsadc"; reg = <0xff280000 0x100>; interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; clock-names = "tsadc", "apb_pclk"; resets = <&cru SRST_TSADC>; reset-names = "tsadc-apb"; pinctrl-names = "init", "default", "sleep"; pinctrl-0 = <&otp_gpio>; pinctrl-1 = <&otp_out>; pinctrl-2 = <&otp_gpio>; #thermal-sensor-cells = <1>; rockchip,hw-tshut-temp = <95000>; rockchip,hw-tshut-mode = <0>; rockchip,hw-tshut-polarity = <0>; }; Example: referring to thermal sensors: thermal-zones { cpu_thermal: cpu_thermal { polling-delay-passive = <1000>; /* milliseconds */ polling-delay = <5000>; /* milliseconds */ /* sensor ID */ thermal-sensors = <&tsadc 1>; trips { cpu_alert0: cpu_alert { temperature = <70000>; /* millicelsius */ hysteresis = <2000>; /* millicelsius */ type = "passive"; }; cpu_crit: cpu_crit { temperature = <90000>; /* millicelsius */ hysteresis = <2000>; /* millicelsius */ type = "critical"; }; }; cooling-maps { map0 { trip = <&cpu_alert0>; cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; }; }; };