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

Heiko Stuebner heiko at sntech.de
Thu Apr 11 11:42:44 PDT 2024


Am Montag, 25. März 2024, 18:51:33 CEST schrieb Chris Morgan:
> From: Chris Morgan <macromorgan at 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 at 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 at 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 {
> 







More information about the Linux-rockchip mailing list