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 |
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 --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 {