* [PATCH 0/4] ARM: dts: helios4: add regulator supplies and thermal cooling
@ 2026-06-28 23:00 Rosen Penev
2026-06-28 23:00 ` [PATCH 1/4] ARM: dts: helios4: add vcc-supply to EEPROM Rosen Penev
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Rosen Penev @ 2026-06-28 23:00 UTC (permalink / raw)
To: devicetree
Cc: Andrew Lunn, Gregory Clement, Sebastian Hesselbarth, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dennis Gilmore,
moderated list:ARM/Marvell Kirkwood and Armada 370, 375, 38x,...,
open list
This series adds missing vcc-supply properties to the EEPROM and GPIO
expander on the Helios4, adds SATA regulator supplies, and wires the
on-board LM75 temperature sensor into a thermal zone with active fan
cooling.
Rosen Penev (4):
ARM: dts: helios4: add vcc-supply to EEPROM
ARM: dts: helios4: add vcc-supply to GPIO expander
ARM: dts: helios4: add SATA regulator supplies
ARM: dts: helios4: wire LM75 into a thermal zone with fan cooling
.../boot/dts/marvell/armada-388-helios4.dts | 46 +++++++++++++++++++
1 file changed, 46 insertions(+)
--
2.54.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/4] ARM: dts: helios4: add vcc-supply to EEPROM
2026-06-28 23:00 [PATCH 0/4] ARM: dts: helios4: add regulator supplies and thermal cooling Rosen Penev
@ 2026-06-28 23:00 ` Rosen Penev
2026-06-28 23:00 ` [PATCH 2/4] ARM: dts: helios4: add vcc-supply to GPIO expander Rosen Penev
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Rosen Penev @ 2026-06-28 23:00 UTC (permalink / raw)
To: devicetree
Cc: Andrew Lunn, Gregory Clement, Sebastian Hesselbarth, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dennis Gilmore,
moderated list:ARM/Marvell Kirkwood and Armada 370, 375, 38x,...,
open list
The at24 driver requests a 'vcc' supply for the EEPROM, producing
'supply vcc not found, using dummy regulator' at boot when the
property is missing.
The EEPROM sits on the Helios 4 and is powered by the
same always-on 3.3V rail used by other on-board I2C devices.
Add vcc-supply = <®_3p3v> to silence the warning.
Fixes: ced8025b569e ("ARM: dts: armada388-helios4")
Assisted-by: opencode:big-pickle
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
arch/arm/boot/dts/marvell/armada-388-helios4.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/boot/dts/marvell/armada-388-helios4.dts b/arch/arm/boot/dts/marvell/armada-388-helios4.dts
index 390e98df49c9..05540b8012c2 100644
--- a/arch/arm/boot/dts/marvell/armada-388-helios4.dts
+++ b/arch/arm/boot/dts/marvell/armada-388-helios4.dts
@@ -201,6 +201,10 @@ temp_sensor: temp@4c {
reg = <0x4c>;
vcc-supply = <®_3p3v>;
};
+
+ eeprom@53 {
+ vcc-supply = <®_3p3v>;
+ };
};
i2c@11100 {
--
2.54.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/4] ARM: dts: helios4: add vcc-supply to GPIO expander
2026-06-28 23:00 [PATCH 0/4] ARM: dts: helios4: add regulator supplies and thermal cooling Rosen Penev
2026-06-28 23:00 ` [PATCH 1/4] ARM: dts: helios4: add vcc-supply to EEPROM Rosen Penev
@ 2026-06-28 23:00 ` Rosen Penev
2026-06-28 23:00 ` [PATCH 3/4] ARM: dts: helios4: add SATA regulator supplies Rosen Penev
2026-06-28 23:00 ` [PATCH 4/4] ARM: dts: helios4: wire LM75 into a thermal zone with fan cooling Rosen Penev
3 siblings, 0 replies; 6+ messages in thread
From: Rosen Penev @ 2026-06-28 23:00 UTC (permalink / raw)
To: devicetree
Cc: Andrew Lunn, Gregory Clement, Sebastian Hesselbarth, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dennis Gilmore,
moderated list:ARM/Marvell Kirkwood and Armada 370, 375, 38x,...,
open list
The pca953x driver requests a 'vcc' supply, producing:
pca953x 0-0020: supply vcc not found, using dummy regulator
The PCA9655 (PCA9555-compatible) expander is powered by the same
always-on 3.3V rail as the other I2C devices on the bus. Add
vcc-supply = <®_3p3v> to silence the warning.
Fixes: ced8025b569e ("ARM: dts: armada388-helios4")
Assisted-by: opencode:big-pickle
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
arch/arm/boot/dts/marvell/armada-388-helios4.dts | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/boot/dts/marvell/armada-388-helios4.dts b/arch/arm/boot/dts/marvell/armada-388-helios4.dts
index 05540b8012c2..cf0432a0e71a 100644
--- a/arch/arm/boot/dts/marvell/armada-388-helios4.dts
+++ b/arch/arm/boot/dts/marvell/armada-388-helios4.dts
@@ -169,6 +169,7 @@ expander0: gpio-expander@20 {
gpio-controller;
#gpio-cells = <2>;
reg = <0x20>;
+ vcc-supply = <®_3p3v>;
pinctrl-names = "default";
pinctrl-0 = <&pca0_pins>;
interrupt-parent = <&gpio0>;
--
2.54.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/4] ARM: dts: helios4: add SATA regulator supplies
2026-06-28 23:00 [PATCH 0/4] ARM: dts: helios4: add regulator supplies and thermal cooling Rosen Penev
2026-06-28 23:00 ` [PATCH 1/4] ARM: dts: helios4: add vcc-supply to EEPROM Rosen Penev
2026-06-28 23:00 ` [PATCH 2/4] ARM: dts: helios4: add vcc-supply to GPIO expander Rosen Penev
@ 2026-06-28 23:00 ` Rosen Penev
2026-06-28 23:00 ` [PATCH 4/4] ARM: dts: helios4: wire LM75 into a thermal zone with fan cooling Rosen Penev
3 siblings, 0 replies; 6+ messages in thread
From: Rosen Penev @ 2026-06-28 23:00 UTC (permalink / raw)
To: devicetree
Cc: Andrew Lunn, Gregory Clement, Sebastian Hesselbarth, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dennis Gilmore,
moderated list:ARM/Marvell Kirkwood and Armada 370, 375, 38x,...,
open list
The ahci-mvebu driver and libahci_platform request three supplies
on SATA controller and port nodes:
- ahci-supply (controller power)
- phy-supply (PHY power)
- target-supply (disk power per port)
Without them the regulator core prints notices at boot, e.g.:
supply ahci not found, using dummy regulator
supply phy not found, using dummy regulator
supply target not found, using dummy regulator
The SATA controller and PHY inside the Armada 388 SoC are powered
by the 3.3V I/O rail; the four disk bays are powered by the 5V HDD
rail. Wire the existing fixed regulators accordingly.
Fixes: ced8025b569e ("ARM: dts: armada388-helios4")
Assisted-by: opencode:big-pickle
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
arch/arm/boot/dts/marvell/armada-388-helios4.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/marvell/armada-388-helios4.dts b/arch/arm/boot/dts/marvell/armada-388-helios4.dts
index cf0432a0e71a..626a7339a5d0 100644
--- a/arch/arm/boot/dts/marvell/armada-388-helios4.dts
+++ b/arch/arm/boot/dts/marvell/armada-388-helios4.dts
@@ -222,13 +222,17 @@ sata@a8000 {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
+ ahci-supply = <®_3p3v>;
+ phy-supply = <®_3p3v>;
sata0: sata-port@0 {
reg = <0>;
+ target-supply = <®_5p0v_hdd>;
};
sata1: sata-port@1 {
reg = <1>;
+ target-supply = <®_5p0v_hdd>;
};
};
@@ -236,13 +240,17 @@ sata@e0000 {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
+ ahci-supply = <®_3p3v>;
+ phy-supply = <®_3p3v>;
sata2: sata-port@0 {
reg = <0>;
+ target-supply = <®_5p0v_hdd>;
};
sata3: sata-port@1 {
reg = <1>;
+ target-supply = <®_5p0v_hdd>;
};
};
--
2.54.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/4] ARM: dts: helios4: wire LM75 into a thermal zone with fan cooling
2026-06-28 23:00 [PATCH 0/4] ARM: dts: helios4: add regulator supplies and thermal cooling Rosen Penev
` (2 preceding siblings ...)
2026-06-28 23:00 ` [PATCH 3/4] ARM: dts: helios4: add SATA regulator supplies Rosen Penev
@ 2026-06-28 23:00 ` Rosen Penev
2026-06-28 23:13 ` sashiko-bot
3 siblings, 1 reply; 6+ messages in thread
From: Rosen Penev @ 2026-06-28 23:00 UTC (permalink / raw)
To: devicetree
Cc: Andrew Lunn, Gregory Clement, Sebastian Hesselbarth, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dennis Gilmore,
moderated list:ARM/Marvell Kirkwood and Armada 370, 375, 38x,...,
open list
The LM75 temperature sensor on i2c0 creates a hwmon interface but was
not referenced by any thermal zone, producing:
hwmon hwmon0: temp1_input not attached to any thermal zone
Assisted-by: opencode:big-pickle
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
.../boot/dts/marvell/armada-388-helios4.dts | 33 +++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/arch/arm/boot/dts/marvell/armada-388-helios4.dts b/arch/arm/boot/dts/marvell/armada-388-helios4.dts
index 626a7339a5d0..6e0452217265 100644
--- a/arch/arm/boot/dts/marvell/armada-388-helios4.dts
+++ b/arch/arm/boot/dts/marvell/armada-388-helios4.dts
@@ -8,6 +8,7 @@
*/
/dts-v1/;
+#include <dt-bindings/thermal/thermal.h>
#include "armada-388.dtsi"
#include "armada-38x-solidrun-microsom.dtsi"
@@ -68,6 +69,35 @@ reg_5p0v_usb: regulator-5v-usb {
vin-supply = <®_12v>;
};
+ thermal-zones {
+ board-thermal {
+ polling-delay-passive = <2000>;
+ polling-delay = <10000>;
+ thermal-sensors = <&temp_sensor>;
+
+ trips {
+ board_alert: board-alert {
+ temperature = <55000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ board_crit: board-crit {
+ temperature = <85000>;
+ hysteresis = <2000>;
+ type = "critical";
+ };
+ };
+
+ cooling-maps {
+ map0 {
+ trip = <&board_alert>;
+ cooling-device = <&fan1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+ <&fan2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+ };
+ };
+
system-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
@@ -129,6 +159,7 @@ fan1: j10-pwm {
pwms = <&gpio1 9 40000>; /* Target freq:25 kHz */
pinctrl-names = "default";
pinctrl-0 = <&helios_fan1_pins>;
+ #cooling-cells = <2>;
};
fan2: j17-pwm {
@@ -136,6 +167,7 @@ fan2: j17-pwm {
pwms = <&gpio1 23 40000>; /* Target freq:25 kHz */
pinctrl-names = "default";
pinctrl-0 = <&helios_fan2_pins>;
+ #cooling-cells = <2>;
};
usb2_phy: usb2-phy {
@@ -201,6 +233,7 @@ temp_sensor: temp@4c {
compatible = "ti,lm75";
reg = <0x4c>;
vcc-supply = <®_3p3v>;
+ #thermal-sensor-cells = <0>;
};
eeprom@53 {
--
2.54.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 4/4] ARM: dts: helios4: wire LM75 into a thermal zone with fan cooling
2026-06-28 23:00 ` [PATCH 4/4] ARM: dts: helios4: wire LM75 into a thermal zone with fan cooling Rosen Penev
@ 2026-06-28 23:13 ` sashiko-bot
0 siblings, 0 replies; 6+ messages in thread
From: sashiko-bot @ 2026-06-28 23:13 UTC (permalink / raw)
To: Rosen Penev; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] The `pwm-fan` nodes (`fan1` and `fan2`) are missing the `cooling-levels` property, rendering the dynamic thermal fan cooling entirely non-functional.
- [Low] The `#thermal-sensor-cells` property is added to the LM75 node without documenting it in the `lm75.yaml` DT binding schema.
- [Low] The `board_alert` trip point incorrectly uses `type = "passive"` for active cooling fans.
--
commit 1aed98d24fa9eab58f80e2422b885b0e44e17d12
Author: Rosen Penev <rosenp@gmail.com>
ARM: dts: helios4: wire LM75 into a thermal zone with fan cooling
The LM75 temperature sensor on i2c0 creates a hwmon interface but was
not referenced by any thermal zone. This patch wires it into a thermal
zone with fan cooling maps.
> diff --git a/arch/arm/boot/dts/marvell/armada-388-helios4.dts b/arch/arm/boot/dts/marvell/armada-388-helios4.dts
> index 003b0708e9656..51675646ec397 100644
> --- a/arch/arm/boot/dts/marvell/armada-388-helios4.dts
> +++ b/arch/arm/boot/dts/marvell/armada-388-helios4.dts
[ ... ]
> @@ -68,6 +69,35 @@ reg_5p0v_usb: regulator-5v-usb {
> vin-supply = <®_12v>;
> };
>
> + thermal-zones {
> + board-thermal {
> + polling-delay-passive = <2000>;
> + polling-delay = <10000>;
> + thermal-sensors = <&temp_sensor>;
> +
> + trips {
> + board_alert: board-alert {
> + temperature = <55000>;
> + hysteresis = <5000>;
> + type = "passive";
[Severity: Low]
Does this trip type match the intended use for active cooling fans?
The thermal-zones.yaml device tree binding explicitly designates type = active
for fans and type = passive for CPU throttling. By using passive, the thermal
framework will use polling-delay-passive intervals instead of standard active
cooling intervals.
> + };
[ ... ]
> @@ -129,6 +159,7 @@ fan1: j10-pwm {
> pwms = <&gpio1 9 40000>; /* Target freq:25 kHz */
> pinctrl-names = "default";
> pinctrl-0 = <&helios_fan1_pins>;
> + #cooling-cells = <2>;
[Severity: High]
Is the required cooling-levels property missing from this fan node?
Without cooling-levels defined in the pwm-fan nodes, the driver's
pwm_fan_get_cooling_data() in drivers/hwmon/pwm-fan.c returns early.
This leaves pwm_fan_max_state at 0, causing the driver to set the fans to a
100% duty cycle and register the cooling device with a max state of 0. When
the thermal governor attempts to change the state, it can only request state
0, leaving the fan permanently at full speed.
> };
>
> fan2: j17-pwm {
> @@ -136,6 +167,7 @@ fan2: j17-pwm {
> pwms = <&gpio1 23 40000>; /* Target freq:25 kHz */
> pinctrl-names = "default";
> pinctrl-0 = <&helios_fan2_pins>;
> + #cooling-cells = <2>;
[Severity: High]
Will this fan also need the cooling-levels property to be controlled by the
thermal zone?
Without the property, the same issue as above will prevent the thermal
governor from adjusting this fan's speed.
> };
[ ... ]
> @@ -201,6 +233,7 @@ temp_sensor: temp@4c {
> compatible = "ti,lm75";
> reg = <0x4c>;
> vcc-supply = <®_3p3v>;
> + #thermal-sensor-cells = <0>;
[Severity: Low]
Should the LM75 device tree binding schema be updated to document this new
provider capability?
Adding an undocumented capability causes dtbs_check schema validation errors
or warnings. The Documentation/devicetree/bindings/hwmon/lm75.yaml file needs
to be updated to include #thermal-sensor-cells.
> };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260628230042.1204293-1-rosenp@gmail.com?part=4
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-06-28 23:13 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-28 23:00 [PATCH 0/4] ARM: dts: helios4: add regulator supplies and thermal cooling Rosen Penev
2026-06-28 23:00 ` [PATCH 1/4] ARM: dts: helios4: add vcc-supply to EEPROM Rosen Penev
2026-06-28 23:00 ` [PATCH 2/4] ARM: dts: helios4: add vcc-supply to GPIO expander Rosen Penev
2026-06-28 23:00 ` [PATCH 3/4] ARM: dts: helios4: add SATA regulator supplies Rosen Penev
2026-06-28 23:00 ` [PATCH 4/4] ARM: dts: helios4: wire LM75 into a thermal zone with fan cooling Rosen Penev
2026-06-28 23:13 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox