关键词: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>;
};
};
};
};