Re: [PATCH] arm64: dts: rockchip: Fix the DCDC_REG2 minimum voltage on Quartz64 Model B

Chen-Yu Tsai
2024-05-29T16:27:36Z

On Tue, May 21, 2024 at 1:20 AM Dragan Simic <dsimic@manjaro.org> wrote:
>
> Correct the specified regulator-min-microvolt value for the buck DCDC_REG2
> regulator, which is part of the Rockchip RK809 PMIC, in the Pine64 Quartz64
> Model B board dts. According to the RK809 datasheet, version 1.01, this
> regulator is capable of producing voltages as low as 0.5 V on its output,
> instead of going down to 0.9 V only, which is additionally confirmed by the
> regulator-min-microvolt values found in the board dts files for the other
> supported boards that use the same RK809 PMIC.
>
> This allows the DVFS to clock the GPU on the Quartz64 Model B below 700 MHz,
> all the way down to 200 MHz, which saves some power and reduces the amount of
> generated heat a bit, improving the thermal headroom and possibly improving
> the bursty CPU and GPU performance on this board.
>
> This also eliminates the following warnings in the kernel log:
>
> core: _opp_supported_by_regulators: OPP minuV: 825000 maxuV: 825000, not supported by regulator
> panfrost fde60000.gpu: _opp_add: OPP not supported by regulators (200000000)
> core: _opp_supported_by_regulators: OPP minuV: 825000 maxuV: 825000, not supported by regulator
> panfrost fde60000.gpu: _opp_add: OPP not supported by regulators (300000000)
> core: _opp_supported_by_regulators: OPP minuV: 825000 maxuV: 825000, not supported by regulator
> panfrost fde60000.gpu: _opp_add: OPP not supported by regulators (400000000)
> core: _opp_supported_by_regulators: OPP minuV: 825000 maxuV: 825000, not supported by regulator
> panfrost fde60000.gpu: _opp_add: OPP not supported by regulators (600000000)
>
> Fixes: dcc8c66bef79 ("arm64: dts: rockchip: add Pine64 Quartz64-B device tree")
> Cc: stable@vger.kernel.org
> Reported-By: Diederik de Haas <didi.debian@cknow.org>
> Signed-off-by: Dragan Simic <dsimic@manjaro.org>
> ---
> arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts
> index 26322a358d91..b908ce006c26 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts
> @@ -289,7 +289,7 @@ vdd_gpu: DCDC_REG2 {
> regulator-name = "vdd_gpu";
> regulator-always-on;
> regulator-boot-on;
> - regulator-min-microvolt = <900000>;
> + regulator-min-microvolt = <500000>;

The constraints here are supposed to be the constraints of the consumer,
not the provider. The latter is already known by the implementation.

So if the GPU can go down to 0.825V or 0.81V even (based on the datasheet),
this should say the corresponding value. Surely the GPU can't go down to
0.5V?

Can you send another fix for it?

ChenYu

> regulator-max-microvolt = <1350000>;
> regulator-ramp-delay = <6001>;
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel