diff mbox series

[4/4] arm64: dts: rockchip: Describe Alternate Regulator Config on RGB30

Message ID 20240325175133.19393-5-macroalpha82@gmail.com (mailing list archive)
State New, archived
Headers show
Series User Requested Fixes for Powkiddy RK3566 Devices | expand

Commit Message

Chris Morgan March 25, 2024, 5:51 p.m. UTC
From: Chris Morgan <macromorgan@hotmail.com>

Describe a possible secondary regulator configuration for the RGB30.
At some point Powkiddy altered the CPU regulator for the RGB30 without
creating a new model revision. Note this in the device-tree in the
hopes that it may alleviate a user's confusion (or possibly allow a
bootloader to manipulate the tree to swap out the regulators when the
alternate configuration is detected).

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
---
 .../dts/rockchip/rk3566-powkiddy-rgb30.dts    | 24 +++++++++++++++++++
 1 file changed, 24 insertions(+)

Comments

Heiko Stübner April 11, 2024, 6:42 p.m. UTC | #1
Am Montag, 25. März 2024, 18:51:33 CEST schrieb Chris Morgan:
> From: Chris Morgan <macromorgan@hotmail.com>
> 
> Describe a possible secondary regulator configuration for the RGB30.
> At some point Powkiddy altered the CPU regulator for the RGB30 without
> creating a new model revision. Note this in the device-tree in the
> hopes that it may alleviate a user's confusion (or possibly allow a
> bootloader to manipulate the tree to swap out the regulators when the
> alternate configuration is detected).
> 
> Signed-off-by: Chris Morgan <macromorgan@hotmail.com>

I don't think this is the correct approach here, we'll really need
a second board dts for the variant.

Only describing the regulator in a comment does not help the affected
users at all, as they would need to adapt the dt they have on their
device on each update.

Having a second dtb will have the kernel build both (also improving
build testing) and allow them to configure their bootloader to load
the correct one, even if we can't detect the variant device automatically.


Heiko

> ---
>  .../dts/rockchip/rk3566-powkiddy-rgb30.dts    | 24 +++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts
> index e359465eebe9..484f097e9f11 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts
> @@ -54,6 +54,30 @@ regulator-state-mem {
>  			regulator-off-in-suspend;
>  		};
>  	};
> +
> +	/*
> +	 * Some RGB30 devices use a different CPU regulator. These
> +	 * devices have no external markings to denote a different
> +	 * model revision.
> +	 */
> +	vdd_cpu_alt: regulator@40 {
> +		compatible = "tcs,tcs4525";
> +		reg = <0x40>;
> +		fcs,suspend-voltage-selector = <1>;
> +		regulator-always-on;
> +		regulator-boot-on;
> +		regulator-min-microvolt = <712500>;
> +		regulator-max-microvolt = <1390000>;
> +		regulator-name = "vdd_cpu_alt";
> +		regulator-ramp-delay = <2300>;
> +		vin-supply = <&vcc_sys>;
> +
> +		status = "disabled";
> +
> +		regulator-state-mem {
> +			regulator-off-in-suspend;
> +		};
> +	};
>  };
>  
>  &sdmmc2 {
>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts
index e359465eebe9..484f097e9f11 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts
@@ -54,6 +54,30 @@  regulator-state-mem {
 			regulator-off-in-suspend;
 		};
 	};
+
+	/*
+	 * Some RGB30 devices use a different CPU regulator. These
+	 * devices have no external markings to denote a different
+	 * model revision.
+	 */
+	vdd_cpu_alt: regulator@40 {
+		compatible = "tcs,tcs4525";
+		reg = <0x40>;
+		fcs,suspend-voltage-selector = <1>;
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <712500>;
+		regulator-max-microvolt = <1390000>;
+		regulator-name = "vdd_cpu_alt";
+		regulator-ramp-delay = <2300>;
+		vin-supply = <&vcc_sys>;
+
+		status = "disabled";
+
+		regulator-state-mem {
+			regulator-off-in-suspend;
+		};
+	};
 };
 
 &sdmmc2 {