81 lines
3.9 KiB
Diff
81 lines
3.9 KiB
Diff
From f94500eb7328b35f3d0927635b1aba26c85ea4b0 Mon Sep 17 00:00:00 2001
|
|
From: Sebastian Reichel <sebastian.reichel@collabora.com>
|
|
Date: Thu, 20 Feb 2025 19:58:11 +0100
|
|
Subject: [PATCH] arm64: dts: rockchip: Add GPU power domain regulator
|
|
dependency for RK3588
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Enabling the GPU power domain requires that the GPU regulator is
|
|
enabled. The regulator is enabled at boot time, but gets disabled
|
|
automatically when there are no users.
|
|
|
|
This means the system might run into a failure state hanging the
|
|
whole system for the following use cases:
|
|
|
|
* if the GPU driver is being probed late (e.g. build as a
|
|
module and firmware is not in initramfs), the regulator
|
|
might already have been disabled. In that case the power
|
|
domain is enabled before the regulator.
|
|
* unbinding the GPU driver will disable the PM domain and
|
|
the regulator. When the driver is bound again, the PM
|
|
domain will be enabled before the regulator and error
|
|
appears.
|
|
|
|
Avoid this by adding an explicit regulator dependency to the
|
|
power domain.
|
|
|
|
Tested-by: Heiko Stuebner <heiko@sntech.de>
|
|
Reported-by: Adrián Martínez Larumbe <adrian.larumbe@collabora.com>
|
|
Tested-by: Adrian Larumbe <adrian.larumbe@collabora.com> # On Rock 5B
|
|
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
|
|
Link: https://lore.kernel.org/r/20250220-rk3588-gpu-pwr-domain-regulator-v6-8-a4f9c24e5b81@kernel.org
|
|
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
---
|
|
arch/arm64/boot/dts/rockchip/rk3588-armsom-lm7.dtsi | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 2 +-
|
|
arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6a-common.dtsi | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-fet3588-c.dtsi | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-firefly-core-3588j.dtsi | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-friendlyelec-cm3588.dtsi | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-h96-max-v58.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5.dtsi | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-toybrick-x0.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588s-odroid-m2.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts | 4 ++++
|
|
arch/arm64/boot/dts/rockchip/rk3588s-rock-5c.dts | 4 ++++
|
|
30 files changed, 117 insertions(+), 1 deletion(-)
|
|
|
|
--- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
|
|
+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
|
|
@@ -565,6 +565,10 @@
|
|
status = "okay";
|
|
};
|
|
|
|
+&pd_gpu {
|
|
+ domain-supply = <&vdd_gpu_s0>;
|
|
+};
|
|
+
|
|
&pinctrl {
|
|
gpio-leds {
|
|
sys_led_pin: sys-led-pin {
|