From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Rocky Hao Date: Fri, 9 Mar 2018 17:36:39 +0800 Subject: thermal: rockchip: add tsadc support for rk3308 Change-Id: Ibf1782ca471c8ad4b14d6fd64eeb123181903adc Signed-off-by: Rocky Hao --- Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml | 1 + drivers/thermal/rockchip_thermal.c | 26 ++++++++++ 2 files changed, 27 insertions(+) diff --git a/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml b/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml index 55f8ec0bec01..c822baf04aed 100644 --- a/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml +++ b/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml @@ -15,6 +15,7 @@ properties: - rockchip,px30-tsadc - rockchip,rk3228-tsadc - rockchip,rk3288-tsadc + - rockchip,rk3308-tsadc - rockchip,rk3328-tsadc - rockchip,rk3368-tsadc - rockchip,rk3399-tsadc diff --git a/drivers/thermal/rockchip_thermal.c b/drivers/thermal/rockchip_thermal.c index 77231a9d28ff..13182e2a3142 100644 --- a/drivers/thermal/rockchip_thermal.c +++ b/drivers/thermal/rockchip_thermal.c @@ -1060,6 +1060,28 @@ static void rk_tsadcv3_tshut_mode(int chn, void __iomem *regs, writel_relaxed(val_cru, regs + TSADCV3_HSHUT_CRU_INT_EN); } +static const struct rockchip_tsadc_chip rk3308_tsadc_data = { + .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 = { /* cpu, gpu */ .chn_offset = 0, @@ -1321,6 +1343,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, -- Armbian