arm64: dts: rockchip: Enable GPU on rk3588-evb1
authorBoris Brezillon <boris.brezillon@collabora.com>
Tue, 26 Mar 2024 16:52:08 +0000 (17:52 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Wed, 27 Mar 2024 09:50:03 +0000 (10:50 +0100)
Enable the Mali GPU in the RK3588 EVB1.

This marks the GPU regulators as always-on, because the generic
coupler regulator logic from the kernel can only handle them
when they are marked as always-on. Technically it's okay to
disable the regulators, when the GPU is not used.

Considering the RK3588 EVB1 is not battery powered, the slightly
increased power consumption for keeping the regulator always
enabled is not a big deal. Thus it's better to enable GPU support
than wait for a better solution.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20240326165232.73585-5-sebastian.reichel@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts

index de30c2632b8e5fc8cc6d89272269353676b1e1a3..56c019b25fa855e694e5aa436343f7d411f1bf40 100644 (file)
        status = "okay";
 };
 
+&gpu {
+       mali-supply = <&vdd_gpu_s0>;
+       sram-supply = <&vdd_gpu_mem_s0>;
+       status = "okay";
+};
+
 &i2c2 {
        status = "okay";
 
 
                regulators {
                        vdd_gpu_s0: dcdc-reg1 {
+                               /* regulator coupling requires always-on */
+                               regulator-always-on;
                                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;
                                };
                        };
 
                        vdd_gpu_mem_s0: dcdc-reg5 {
+                               /* regulator coupling requires always-on */
+                               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;
                                };