78 lines
2.9 KiB
Diff
78 lines
2.9 KiB
Diff
From 498c9f200325f0397fd03163a98e053430b80aa4 Mon Sep 17 00:00:00 2001
|
|
From: ashthespy <ashthespy@users.noreply.github.com>
|
|
Date: Fri, 17 Jan 2020 15:58:20 +0100
|
|
Subject: [PATCH 08/23] thermal: rockchip: add tsadc support for rk3308
|
|
|
|
From a231e9c68e5f5e6cf5a82a40828cfd1df4ad1f3e Mon Sep 17 00:00:00 2001
|
|
From: Rocky Hao <rocky.hao@rock-chips.com>
|
|
Date: Fri, 9 Mar 2018 17:36:39 +0800
|
|
Subject: [PATCH] thermal: rockchip: add tsadc support for rk3308
|
|
|
|
Change-Id: Ibf1782ca471c8ad4b14d6fd64eeb123181903adc
|
|
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
|
|
---
|
|
.../bindings/thermal/rockchip-thermal.yaml | 1 +
|
|
drivers/thermal/rockchip_thermal.c | 28 +++++++++++++++++++
|
|
2 files changed, 29 insertions(+)
|
|
|
|
diff --git a/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml b/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml
|
|
index c6aac9bcacf1..3a0a9556680e 100644
|
|
--- a/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml
|
|
+++ b/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml
|
|
@@ -16,6 +16,7 @@
|
|
- rockchip,rv1108-tsadc # RV1108 SoCs
|
|
- rockchip,rk3228-tsadc # RK3228 SoCs
|
|
- rockchip,rk3288-tsadc # RK3288 SoCs
|
|
+ - rockchip,rk3308-tsadc # RK3308 SoCs
|
|
- rockchip,rk3328-tsadc # RK3328 SoCs
|
|
- rockchip,rk3368-tsadc # RK3368 SoCs
|
|
- rockchip,rk3399-tsadc # RK3399 SoCs
|
|
diff --git a/drivers/thermal/rockchip_thermal.c b/drivers/thermal/rockchip_thermal.c
|
|
index 343c2f5c5a25..d4d66724535a 100644
|
|
--- a/drivers/thermal/rockchip_thermal.c
|
|
+++ b/drivers/thermal/rockchip_thermal.c
|
|
@@ -821,6 +821,30 @@ static void rk_tsadcv2_tshut_mode(int chn, void __iomem *regs,
|
|
writel_relaxed(val, regs + TSADCV2_INT_EN);
|
|
}
|
|
|
|
+static const struct rockchip_tsadc_chip rk3308_tsadc_data = {
|
|
+ .chn_id[SENSOR_CPU] = 0, /* cpu sensor is channel 0 */
|
|
+ .chn_id[SENSOR_GPU] = 1, /* gpu sensor is channel 1 */
|
|
+ .chn_num = 2, /* 2 channels for tsadc */
|
|
+
|
|
+ .tshut_mode = TSHUT_MODE_CRU, /* default TSHUT via CRU */
|
|
+ .tshut_temp = 95000,
|
|
+
|
|
+ .initialize = rk_tsadcv4_initialize,
|
|
+ .irq_ack = rk_tsadcv3_irq_ack,
|
|
+ .control = rk_tsadcv3_control,
|
|
+ .get_temp = rk_tsadcv2_get_temp,
|
|
+ .set_alarm_temp = rk_tsadcv2_alarm_temp,
|
|
+ .set_tshut_temp = rk_tsadcv2_tshut_temp,
|
|
+ .set_tshut_mode = rk_tsadcv2_tshut_mode,
|
|
+
|
|
+ .table = {
|
|
+ .id = rk3328_code_table,
|
|
+ .length = ARRAY_SIZE(rk3328_code_table),
|
|
+ .data_mask = TSADCV2_DATA_MASK,
|
|
+ .mode = ADC_INCREMENT,
|
|
+ },
|
|
+};
|
|
+
|
|
static const struct rockchip_tsadc_chip px30_tsadc_data = {
|
|
.chn_id[SENSOR_CPU] = 0, /* cpu sensor is channel 0 */
|
|
.chn_id[SENSOR_GPU] = 1, /* gpu sensor is channel 1 */
|
|
@@ -1032,6 +1056,10 @@ static const struct of_device_id of_rockchip_thermal_match[] = {
|
|
.compatible = "rockchip,rk3288-tsadc",
|
|
.data = (void *)&rk3288_tsadc_data,
|
|
},
|
|
+ {
|
|
+ .compatible = "rockchip,rk3308-tsadc",
|
|
+ .data = (void *)&rk3308_tsadc_data,
|
|
+ },
|
|
{
|
|
.compatible = "rockchip,rk3328-tsadc",
|
|
.data = (void *)&rk3328_tsadc_data,
|
|
--
|
|
2.25.1
|