From: Icenowy Zheng <icen...@aosc.io>

The thermal sensor in Allwinner R40 SoC is quite similar to the one in
Allwinner A64 SoC, with only slightly different temperature calculation
formula.

Signed-off-by: Icenowy Zheng <icen...@aosc.io>
---
 drivers/thermal/sun8i_thermal.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/thermal/sun8i_thermal.c b/drivers/thermal/sun8i_thermal.c
index 78a888d85cba..0de9a56c3775 100644
--- a/drivers/thermal/sun8i_thermal.c
+++ b/drivers/thermal/sun8i_thermal.c
@@ -529,6 +529,17 @@ static const struct ths_thermal_chip sun8i_h3_ths = {
        .irq_ack = sun8i_h3_irq_ack,
 };
 
+static const struct ths_thermal_chip sun8i_r40_ths = {
+       .sensor_num = 3,
+       .offset = -2222,
+       .scale = -113,
+       .has_mod_clk = true,
+       .temp_data_base = SUN8I_THS_TEMP_DATA,
+       .calibrate = sun8i_h3_ths_calibrate,
+       .init = sun8i_h3_thermal_init,
+       .irq_ack = sun8i_h3_irq_ack,
+};
+
 static const struct ths_thermal_chip sun50i_a64_ths = {
        .sensor_num = 3,
        .offset = -2170,
@@ -563,6 +574,7 @@ static const struct ths_thermal_chip sun50i_h6_ths = {
 
 static const struct of_device_id of_ths_match[] = {
        { .compatible = "allwinner,sun8i-h3-ths", .data = &sun8i_h3_ths },
+       { .compatible = "allwinner,sun8i-r40-ths", .data = &sun8i_r40_ths },
        { .compatible = "allwinner,sun50i-a64-ths", .data = &sun50i_a64_ths },
        { .compatible = "allwinner,sun50i-h5-ths", .data = &sun50i_h5_ths },
        { .compatible = "allwinner,sun50i-h6-ths", .data = &sun50i_h6_ths },
-- 
2.17.1

Reply via email to