Re: [PATCH v1 4/4] arm64: dts: rockchip: rk3588-evb1: Enable GPU

From: Boris Brezillon
Date: Mon Mar 25 2024 - 13:14:38 EST


On Mon, 25 Mar 2024 16:37:21 +0100
Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> wrote:

> From: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx>
>
> Enable the Mali GPU in the RK3588 EVB1.
>
> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
> index de30c2632b8e..b51a17b404f3 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
> @@ -281,6 +281,12 @@ &gmac0_rgmii_clk
> status = "okay";
> };
>
> +&gpu {
> + mali-supply = <&vdd_gpu_s0>;
> + sram-supply = <&vdd_gpu_mem_s0>;
> + status = "okay";
> +};
> +
> &i2c2 {
> status = "okay";
>
> @@ -484,12 +490,15 @@ rk806_dvs3_null: dvs3-null-pins {
>
> regulators {
> vdd_gpu_s0: dcdc-reg1 {
> + regulator-always-on;

IIRC, this is only needed because of some bug in the power-domain
driver (or elsewhere). Is there any other reason to flag those as
always-on? I mean, it's working but probably not ideal from a PM
standpoint, as that means the regulators will stay on even when the GPU
is idle.

> regulator-boot-on;
> regulator-min-microvolt = <550000>;
> regulator-max-microvolt = <950000>;
> regulator-ramp-delay = <12500>;
> regulator-name = "vdd_gpu_s0";
> regulator-enable-ramp-delay = <400>;
> + regulator-coupled-with = <&vdd_gpu_mem_s0>;
> + regulator-coupled-max-spread = <10000>;
> regulator-state-mem {
> regulator-off-in-suspend;
> };
> @@ -534,12 +543,15 @@ regulator-state-mem {
> };
>
> vdd_gpu_mem_s0: dcdc-reg5 {
> + regulator-always-on;
> regulator-boot-on;
> regulator-min-microvolt = <675000>;
> regulator-max-microvolt = <950000>;
> regulator-ramp-delay = <12500>;
> regulator-enable-ramp-delay = <400>;
> regulator-name = "vdd_gpu_mem_s0";
> + regulator-coupled-with = <&vdd_gpu_s0>;
> + regulator-coupled-max-spread = <10000>;
> regulator-state-mem {
> regulator-off-in-suspend;
> };