* [PATCH v5 1/3] dt-bindings: thermal: sun8i: Add binding for D1/T113s THS controller
2023-06-14 12:55 [PATCH v5 0/3] Add D1/T113s thermal sensor controller support Maksim Kiselev
@ 2023-06-14 12:55 ` Maksim Kiselev
2023-06-14 12:55 ` [PATCH v5 2/3] thermal: sun8i: Add D1/T113s THS controller support Maksim Kiselev
2023-06-14 12:55 ` [PATCH v5 3/3] riscv: dts: allwinner: d1: Add thermal sensor Maksim Kiselev
2 siblings, 0 replies; 4+ messages in thread
From: Maksim Kiselev @ 2023-06-14 12:55 UTC (permalink / raw)
To: linux-kernel
Cc: Maxim Kiselev, Conor Dooley, Vasily Khoruzhick, Yangtao Li,
Rafael J. Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Paul Walmsley, Palmer Dabbelt,
Albert Ou, Cristian Ciocaltea, Andre Przywara, linux-pm,
devicetree, linux-arm-kernel, linux-sunxi, linux-riscv
From: Maxim Kiselev <bigunclemax@gmail.com>
Add a binding for D1/T113s thermal sensor controller.
Signed-off-by: Maxim Kiselev <bigunclemax@gmail.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
---
.../bindings/thermal/allwinner,sun8i-a83t-ths.yaml | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-ths.yaml b/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-ths.yaml
index fbd4212285e2..9b2272a9ec15 100644
--- a/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-ths.yaml
+++ b/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-ths.yaml
@@ -16,6 +16,7 @@ properties:
- allwinner,sun8i-a83t-ths
- allwinner,sun8i-h3-ths
- allwinner,sun8i-r40-ths
+ - allwinner,sun20i-d1-ths
- allwinner,sun50i-a64-ths
- allwinner,sun50i-a100-ths
- allwinner,sun50i-h5-ths
@@ -61,6 +62,7 @@ allOf:
compatible:
contains:
enum:
+ - allwinner,sun20i-d1-ths
- allwinner,sun50i-a100-ths
- allwinner,sun50i-h6-ths
@@ -84,7 +86,9 @@ allOf:
properties:
compatible:
contains:
- const: allwinner,sun8i-h3-ths
+ enum:
+ - allwinner,sun8i-h3-ths
+ - allwinner,sun20i-d1-ths
then:
properties:
@@ -103,6 +107,7 @@ allOf:
enum:
- allwinner,sun8i-h3-ths
- allwinner,sun8i-r40-ths
+ - allwinner,sun20i-d1-ths
- allwinner,sun50i-a64-ths
- allwinner,sun50i-a100-ths
- allwinner,sun50i-h5-ths
--
2.39.2
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH v5 2/3] thermal: sun8i: Add D1/T113s THS controller support
2023-06-14 12:55 [PATCH v5 0/3] Add D1/T113s thermal sensor controller support Maksim Kiselev
2023-06-14 12:55 ` [PATCH v5 1/3] dt-bindings: thermal: sun8i: Add binding for D1/T113s THS controller Maksim Kiselev
@ 2023-06-14 12:55 ` Maksim Kiselev
2023-06-14 12:55 ` [PATCH v5 3/3] riscv: dts: allwinner: d1: Add thermal sensor Maksim Kiselev
2 siblings, 0 replies; 4+ messages in thread
From: Maksim Kiselev @ 2023-06-14 12:55 UTC (permalink / raw)
To: linux-kernel
Cc: Maxim Kiselev, Vasily Khoruzhick, Yangtao Li, Rafael J. Wysocki,
Daniel Lezcano, Amit Kucheria, Zhang Rui, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Cristian Ciocaltea, linux-pm, devicetree, linux-arm-kernel,
linux-sunxi, linux-riscv
From: Maxim Kiselev <bigunclemax@gmail.com>
This patch adds a thermal sensor controller support for the D1/T113s,
which is similar to the one on H6, but with only one sensor and
different scale and offset values.
Signed-off-by: Maxim Kiselev <bigunclemax@gmail.com>
---
drivers/thermal/sun8i_thermal.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/thermal/sun8i_thermal.c b/drivers/thermal/sun8i_thermal.c
index 793ddce72132..01cc4e130892 100644
--- a/drivers/thermal/sun8i_thermal.c
+++ b/drivers/thermal/sun8i_thermal.c
@@ -628,6 +628,18 @@ static const struct ths_thermal_chip sun50i_h6_ths = {
.calc_temp = sun8i_ths_calc_temp,
};
+static const struct ths_thermal_chip sun20i_d1_ths = {
+ .sensor_num = 1,
+ .has_bus_clk_reset = true,
+ .offset = 188552,
+ .scale = 673,
+ .temp_data_base = SUN50I_H6_THS_TEMP_DATA,
+ .calibrate = sun50i_h6_ths_calibrate,
+ .init = sun50i_h6_thermal_init,
+ .irq_ack = sun50i_h6_irq_ack,
+ .calc_temp = sun8i_ths_calc_temp,
+};
+
static const struct of_device_id of_ths_match[] = {
{ .compatible = "allwinner,sun8i-a83t-ths", .data = &sun8i_a83t_ths },
{ .compatible = "allwinner,sun8i-h3-ths", .data = &sun8i_h3_ths },
@@ -636,6 +648,7 @@ static const struct of_device_id of_ths_match[] = {
{ .compatible = "allwinner,sun50i-a100-ths", .data = &sun50i_a100_ths },
{ .compatible = "allwinner,sun50i-h5-ths", .data = &sun50i_h5_ths },
{ .compatible = "allwinner,sun50i-h6-ths", .data = &sun50i_h6_ths },
+ { .compatible = "allwinner,sun20i-d1-ths", .data = &sun20i_d1_ths },
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(of, of_ths_match);
--
2.39.2
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH v5 3/3] riscv: dts: allwinner: d1: Add thermal sensor
2023-06-14 12:55 [PATCH v5 0/3] Add D1/T113s thermal sensor controller support Maksim Kiselev
2023-06-14 12:55 ` [PATCH v5 1/3] dt-bindings: thermal: sun8i: Add binding for D1/T113s THS controller Maksim Kiselev
2023-06-14 12:55 ` [PATCH v5 2/3] thermal: sun8i: Add D1/T113s THS controller support Maksim Kiselev
@ 2023-06-14 12:55 ` Maksim Kiselev
2 siblings, 0 replies; 4+ messages in thread
From: Maksim Kiselev @ 2023-06-14 12:55 UTC (permalink / raw)
To: linux-kernel
Cc: Maxim Kiselev, Vasily Khoruzhick, Yangtao Li, Rafael J. Wysocki,
Daniel Lezcano, Amit Kucheria, Zhang Rui, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Cristian Ciocaltea, linux-pm, devicetree, linux-arm-kernel,
linux-sunxi, linux-riscv
From: Maxim Kiselev <bigunclemax@gmail.com>
This patch adds a thermal sensor controller node for the D1/T113s.
Also it adds a THS calibration data cell to efuse node.
Signed-off-by: Maxim Kiselev <bigunclemax@gmail.com>
---
.../boot/dts/allwinner/sunxi-d1s-t113.dtsi | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi b/arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi
index 922e8e0e2c09..9da1e4ddb662 100644
--- a/arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi
+++ b/arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi
@@ -138,6 +138,19 @@ ccu: clock-controller@2001000 {
#reset-cells = <1>;
};
+ ths: thermal-sensor@2009400 {
+ compatible = "allwinner,sun20i-d1-ths";
+ reg = <0x02009400 0x400>;
+ interrupts = <SOC_PERIPHERAL_IRQ(58) IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_THS>;
+ clock-names = "bus";
+ resets = <&ccu RST_BUS_THS>;
+ nvmem-cells = <&ths_calibration>;
+ nvmem-cell-names = "calibration";
+ status = "disabled";
+ #thermal-sensor-cells = <0>;
+ };
+
dmic: dmic@2031000 {
compatible = "allwinner,sun20i-d1-dmic",
"allwinner,sun50i-h6-dmic";
@@ -365,6 +378,10 @@ sid: efuse@3006000 {
reg = <0x3006000 0x1000>;
#address-cells = <1>;
#size-cells = <1>;
+
+ ths_calibration: thermal-sensor-calibration@14 {
+ reg = <0x14 0x4>;
+ };
};
crypto: crypto@3040000 {
--
2.39.2
^ permalink raw reply related [flat|nested] 4+ messages in thread