2024-03-28 19:27:13

by Dmitry Rokosov

[permalink] [raw]
Subject: [PATCH v2 0/3] arm64: dts: amlogic: a1: introduce thermal setup

This patch series introduces thermal sensor declaration to the Meson A1
common dtsi file. It also sets up thermal zones for the AD402 reference
board. It depends on the series with A1 thermal support at [1].

Changes v2 since v1 at [2]:
- provide Neil RvB for cooling-cells dts patch
- purge unnecessary 'amlogic,a1-thermal' fallback

Links:
[1] - https://lore.kernel.org/all/[email protected]/
[2] - https://lore.kernel.org/all/[email protected]/

Signed-off-by: Dmitry Rokosov <[email protected]>

Dmitry Rokosov (3):
arm64: dts: amlogic: a1: add cooling-cells for DVFS feature
arm64: dts: amlogic: a1: introduce cpu temperature sensor
arm64: dts: amlogic: ad402: setup thermal-zones

.../arm64/boot/dts/amlogic/meson-a1-ad402.dts | 45 +++++++++++++++++++
arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 13 ++++++
2 files changed, 58 insertions(+)

--
2.43.0



2024-03-28 19:27:19

by Dmitry Rokosov

[permalink] [raw]
Subject: [PATCH v2 1/3] arm64: dts: amlogic: a1: add cooling-cells for DVFS feature

It's used for CPU with DVFS feature to specify minimum and maximum
cooling state used in the reference.
Without these values DVFS will not work and dtbs_check will raise the
error.

Signed-off-by: Dmitry Rokosov <[email protected]>
Reviewed-by: Neil Armstrong <[email protected]>
---
arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
index fbee986421f1..f65d4a77ee52 100644
--- a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
@@ -32,6 +32,7 @@ cpu0: cpu@0 {
reg = <0x0 0x0>;
enable-method = "psci";
next-level-cache = <&l2>;
+ #cooling-cells = <2>;
};

cpu1: cpu@1 {
@@ -40,6 +41,7 @@ cpu1: cpu@1 {
reg = <0x0 0x1>;
enable-method = "psci";
next-level-cache = <&l2>;
+ #cooling-cells = <2>;
};

l2: l2-cache0 {
--
2.43.0


2024-03-28 19:27:25

by Dmitry Rokosov

[permalink] [raw]
Subject: [PATCH v2 2/3] arm64: dts: amlogic: a1: introduce cpu temperature sensor

The A1 SoC family has only one thermal sensor for CPU temperature
measurement. It is required to set the TS clock rate to 500kHz to make
it workable.

Signed-off-by: Dmitry Rokosov <[email protected]>
---
arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
index f65d4a77ee52..de77eb53d1dc 100644
--- a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
@@ -854,6 +854,17 @@ usb2_phy1: phy@4000 {
power-domains = <&pwrc PWRC_USB_ID>;
};

+ cpu_temp: temperature-sensor@4c00 {
+ compatible = "amlogic,a1-cpu-thermal";
+ reg = <0x0 0x4c00 0x0 0x50>;
+ interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clkc_periphs CLKID_TS>;
+ assigned-clocks = <&clkc_periphs CLKID_TS>;
+ assigned-clock-rates = <500000>;
+ #thermal-sensor-cells = <0>;
+ amlogic,ao-secure = <&sec_AO>;
+ };
+
hwrng: rng@5118 {
compatible = "amlogic,meson-rng";
reg = <0x0 0x5118 0x0 0x4>;
--
2.43.0


2024-03-28 19:27:32

by Dmitry Rokosov

[permalink] [raw]
Subject: [PATCH v2 3/3] arm64: dts: amlogic: ad402: setup thermal-zones

There is one thermal zone with 3 trip points: soc_passive, soc_hot, and
soc_critical, as well as two cooling maps.

Signed-off-by: Dmitry Rokosov <[email protected]>
---
.../arm64/boot/dts/amlogic/meson-a1-ad402.dts | 45 +++++++++++++++++++
1 file changed, 45 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-a1-ad402.dts b/arch/arm64/boot/dts/amlogic/meson-a1-ad402.dts
index 6c02301840ff..2d22e8b45c6d 100644
--- a/arch/arm64/boot/dts/amlogic/meson-a1-ad402.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-a1-ad402.dts
@@ -7,6 +7,7 @@
/dts-v1/;

#include "meson-a1.dtsi"
+#include <dt-bindings/thermal/thermal.h>

#include <dt-bindings/gpio/gpio.h>

@@ -177,6 +178,50 @@ codec {
};
};
};
+
+ thermal-zones {
+ soc_thermal: soc_thermal {
+ polling-delay = <1000>;
+ polling-delay-passive = <100>;
+ sustainable-power = <130>;
+
+ thermal-sensors = <&cpu_temp>;
+
+ trips {
+ soc_passive: soc-passive {
+ temperature = <70000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
+ soc_hot: soc-hot {
+ temperature = <85000>;
+ hysteresis = <5000>;
+ type = "hot";
+ };
+
+ soc_critical: soc-critical {
+ temperature = <110000>;
+ hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+
+ soc_cooling_maps: cooling-maps {
+ map0 {
+ trip = <&soc_passive>;
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+
+ map1 {
+ trip = <&soc_hot>;
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+ };
+ };
};

/* Bluetooth HCI H4 */
--
2.43.0


2024-05-03 18:42:40

by Dmitry Rokosov

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] arm64: dts: amlogic: a1: introduce thermal setup

Hello Neil,

A1 Thermal Sensor was applied to linux-pm for v6.10-rc1:

https://lore.kernel.org/all/[email protected]/

Could you please advise if it's enough to proceed with this series? Or
do I need to do something more?

On Thu, Mar 28, 2024 at 10:26:34PM +0300, Dmitry Rokosov wrote:
> This patch series introduces thermal sensor declaration to the Meson A1
> common dtsi file. It also sets up thermal zones for the AD402 reference
> board. It depends on the series with A1 thermal support at [1].
>
> Changes v2 since v1 at [2]:
> - provide Neil RvB for cooling-cells dts patch
> - purge unnecessary 'amlogic,a1-thermal' fallback
>
> Links:
> [1] - https://lore.kernel.org/all/[email protected]/
> [2] - https://lore.kernel.org/all/[email protected]/
>
> Signed-off-by: Dmitry Rokosov <[email protected]>
>
> Dmitry Rokosov (3):
> arm64: dts: amlogic: a1: add cooling-cells for DVFS feature
> arm64: dts: amlogic: a1: introduce cpu temperature sensor
> arm64: dts: amlogic: ad402: setup thermal-zones
>
> .../arm64/boot/dts/amlogic/meson-a1-ad402.dts | 45 +++++++++++++++++++
> arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 13 ++++++
> 2 files changed, 58 insertions(+)

--
Thank you,
Dmitry