* [PATCH v1 1/2] arm64: dts: add missing sram-supply to mali gpu nodes
@ 2026-02-15 10:02 Onur Özkan
2026-02-15 10:02 ` [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196 Onur Özkan
` (3 more replies)
0 siblings, 4 replies; 15+ messages in thread
From: Onur Özkan @ 2026-02-15 10:02 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Alim Akhtar, Matthias Brugger,
AngeloGioacchino Del Regno, Geert Uytterhoeven, Magnus Damm,
Heiko Stuebner, devicetree, linux-arm-kernel, linux-sunxi,
linux-kernel, linux-samsung-soc, linux-mediatek,
linux-renesas-soc, linux-rockchip
Cc: Onur Özkan
Some arm64 Mali GPU DT nodes define mali-supply but
are missing sram-supply.
As discussed in [1], sram-supply should be explicitly
defined for all relevant compatibles. If there is no
separate SRAM rail, it can reference the same regulator
as mali-supply.
This change adds the missing sram-supply properties to
affected DT files. This aligns DTs with expected regulator
modeling and avoids relying on implicit fallback behavior.
[1]: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
Signed-off-by: Onur Özkan <work@onurozkan.dev>
---
arch/arm64/boot/dts/allwinner/sun50i-h313-tanix-tx1.dts | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h313-x96q.dts | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h6-tanix.dtsi | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h618-longan-module-3h.dtsi | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dts | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts | 1 +
arch/arm64/boot/dts/allwinner/sun50i-h618-transpeed-8k618-t.dts | 1 +
.../boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts | 1 +
arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts | 1 +
arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts | 1 +
arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts | 1 +
arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts | 1 +
arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi | 1 +
arch/arm64/boot/dts/exynos/exynos7-espresso.dts | 1 +
arch/arm64/boot/dts/mediatek/mt8183-evb.dts | 1 +
arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 1 +
arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts | 1 +
arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi | 1 +
arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi | 1 +
arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi | 1 +
arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi | 1 +
arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 1 +
arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi | 1 +
arch/arm64/boot/dts/mediatek/mt8390-grinn-genio-sbc.dtsi | 1 +
arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi | 1 +
arch/arm64/boot/dts/mediatek/mt8395-kontron-3-5-sbc-i1200.dts | 1 +
arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts | 1 +
arch/arm64/boot/dts/renesas/r9a07g044l2-remi-pi.dts | 1 +
arch/arm64/boot/dts/renesas/r9a09g056n48-rzv2n-evk.dts | 1 +
arch/arm64/boot/dts/renesas/r9a09g057h44-rzv2h-evk.dts | 1 +
arch/arm64/boot/dts/renesas/rzg2l-smarc-som.dtsi | 1 +
arch/arm64/boot/dts/renesas/rzg2lc-smarc-som.dtsi | 1 +
arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi | 1 +
arch/arm64/boot/dts/rockchip/px30-cobra.dtsi | 1 +
arch/arm64/boot/dts/rockchip/px30-evb.dts | 1 +
arch/arm64/boot/dts/rockchip/px30-firefly-jd4-core.dtsi | 1 +
arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3328-a1.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3399-eaidk-610.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3399-evb-ind.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3399-firefly.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3399-khadas-edge.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3399-leez-p710.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3399-orangepi.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3528-armsom-sige1.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3528-rock-2.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3566-bigtreetech-cb2.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3566-lckfb-tspi.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3566-lubancat-1.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3566-pinetab2.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3566-powkiddy-x55.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3566-rock-3c.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3566-soquartz.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3568-easepi-r1.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3568-fastrhino-r66s.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3568-hinlink-opc.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3568-lubancat-2.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3568-mecsbc.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3568-photonicat.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3568-qnap-tsx33.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3568-roc-pc.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3568-wolfvision-pf5.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3576-100ask-dshanpi-a1.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3576-luckfox-core3576.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3576-nanopi-m5.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3576-nanopi-r76s.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3576-roc-pc.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3588-armsom-lm7.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3588-h96-max-v58.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3588s-odroid-m2.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi | 1 +
arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3588s-rock-5c.dts | 1 +
137 files changed, 137 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h313-tanix-tx1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h313-tanix-tx1.dts
index 7906b79c0389..c2fde0f12e32 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h313-tanix-tx1.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h313-tanix-tx1.dts
@@ -81,6 +81,7 @@ &ehci0 {
&gpu {
mali-supply = <®_dcdc1>;
+ sram-supply = <®_dcdc1>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h313-x96q.dts b/arch/arm64/boot/dts/allwinner/sun50i-h313-x96q.dts
index b2275eb3d55b..25d68ad4c2fb 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h313-x96q.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h313-x96q.dts
@@ -76,6 +76,7 @@ &ehci3 {
&gpu {
mali-supply = <®_dcdcc>;
+ sram-supply = <®_dcdcc>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
index 2c64d834a2c4..d7b556eab5ad 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
@@ -106,6 +106,7 @@ &emac {
&gpu {
mali-supply = <®_dcdcc>;
+ sram-supply = <®_dcdcc>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
index dc7381c944c9..069487d372c5 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
@@ -115,6 +115,7 @@ &ehci3 {
&gpu {
mali-supply = <®_dcdcc>;
+ sram-supply = <®_dcdcc>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
index e34dbb992021..b77ef2c7dc7c 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
@@ -78,6 +78,7 @@ &ehci3 {
&gpu {
mali-supply = <®_dcdcc>;
+ sram-supply = <®_dcdcc>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
index fa7a765ee828..fd880a2a01fb 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
@@ -110,6 +110,7 @@ &emac {
&gpu {
mali-supply = <®_dcdcc>;
+ sram-supply = <®_dcdcc>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix.dtsi
index bb7de37c0d58..e9d386d967ab 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-tanix.dtsi
@@ -106,6 +106,7 @@ &ehci3 {
&gpu {
mali-supply = <®_vdd_cpu_gpu>;
+ sram-supply = <®_vdd_cpu_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
index bebfeb2a337a..b5493da7e0d9 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
@@ -69,6 +69,7 @@ &cpu0 {
&gpu {
mali-supply = <®_dcdc1>;
+ sram-supply = <®_dcdc1>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
index f2e3300e078a..a1d79994f5c8 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
@@ -26,6 +26,7 @@ &emac0 {
&gpu {
mali-supply = <®_dcdcc>;
+ sram-supply = <®_dcdcc>;
};
&mmc0 {
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
index 085f3e4e8eaa..9ecb5fb2b3fd 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
@@ -52,6 +52,7 @@ &ehci2 {
&gpu {
mali-supply = <®_dcdcc>;
+ sram-supply = <®_dcdcc>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h618-longan-module-3h.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h618-longan-module-3h.dtsi
index 3f416d129b72..f2d5ac3d742e 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h618-longan-module-3h.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h618-longan-module-3h.dtsi
@@ -12,6 +12,7 @@ &cpu0 {
&gpu {
mali-supply = <®_dcdc1>;
+ sram-supply = <®_dcdc1>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dts b/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dts
index b340bbcb710d..c838d9a96b03 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dts
@@ -71,6 +71,7 @@ &ehci1 {
&gpu {
mali-supply = <®_dcdc1>;
+ sram-supply = <®_dcdc1>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts
index c51d4d9120de..1eb6f9812ddb 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts
@@ -29,6 +29,7 @@ &ext_rgmii_phy {
&gpu {
mali-supply = <®_dcdc1>;
+ sram-supply = <®_dcdc1>;
};
&mmc0 {
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h618-transpeed-8k618-t.dts b/arch/arm64/boot/dts/allwinner/sun50i-h618-transpeed-8k618-t.dts
index efe0faa252f5..ccbb9861733f 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h618-transpeed-8k618-t.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h618-transpeed-8k618-t.dts
@@ -71,6 +71,7 @@ &ehci1 {
&gpu {
mali-supply = <®_dcdc1>;
+ sram-supply = <®_dcdc1>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts
index 1a750c5f6fac..9258e44c74f9 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts
@@ -202,6 +202,7 @@ &ehci0 {
&gpu {
mali-supply = <®_dcdc2>;
+ sram-supply = <®_dcdc2>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts
index bfdf1728cd14..e15520b6ac60 100644
--- a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts
+++ b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts
@@ -98,6 +98,7 @@ &gmac1 {
&gpu {
mali-supply = <®_dcdc2>;
+ sram-supply = <®_dcdc2>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts b/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
index a96927fbdadd..57965327dee4 100644
--- a/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
+++ b/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
@@ -56,6 +56,7 @@ &ehci1 {
&gpu {
mali-supply = <®_dcdc2>;
+ sram-supply = <®_dcdc2>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts b/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
index 054d0357c139..9c44af6aafe7 100644
--- a/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
+++ b/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
@@ -96,6 +96,7 @@ &gmac1 {
&gpu {
mali-supply = <®_dcdc2>;
+ sram-supply = <®_dcdc2>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts b/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts
index 9e6b21cf293e..db518f9de9e7 100644
--- a/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts
+++ b/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts
@@ -116,6 +116,7 @@ &gmac1 {
&gpu {
mali-supply = <®_dcdc2>;
+ sram-supply = <®_dcdc2>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
index a1fb354dea9f..aba7f7325d8c 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
@@ -356,6 +356,7 @@ &dsi {
&gpu {
mali-supply = <&buck6_reg>;
+ sram-supply = <&buck6_reg>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
index 1f2eddcebdd9..2c449636dacc 100644
--- a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
+++ b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
@@ -61,6 +61,7 @@ &fin_pll {
&gpu {
mali-supply = <&buck6_reg>;
+ sram-supply = <&buck6_reg>;
};
&serial_2 {
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-evb.dts b/arch/arm64/boot/dts/mediatek/mt8183-evb.dts
index f04baea5d6cb..4b32f7c86e58 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-evb.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8183-evb.dts
@@ -53,6 +53,7 @@ &auxadc {
&gpu {
mali-supply = <&mt6358_vgpu_reg>;
+ sram-supply = <&mt6358_vgpu_reg>;
};
&i2c0 {
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
index 4b87d4940c8c..a26765e82925 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
@@ -260,6 +260,7 @@ &gic {
&gpu {
mali-supply = <&mt6358_vgpu_reg>;
+ sram-supply = <&mt6358_vgpu_reg>;
};
&i2c0 {
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
index f60ef3e53a09..3bf54ac3a32b 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
@@ -83,6 +83,7 @@ &auxadc {
&gpu {
mali-supply = <&mt6358_vgpu_reg>;
+ sram-supply = <&mt6358_vgpu_reg>;
};
&i2c0 {
diff --git a/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi b/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
index ff20376a44d7..6b2393d1c09e 100644
--- a/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8186-corsola.dtsi
@@ -379,6 +379,7 @@ &gic {
&gpu {
mali-supply = <&mt6366_vgpu_reg>;
+ sram-supply = <&mt6366_vgpu_reg>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi b/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
index 7fedbacdac44..331d3f874081 100644
--- a/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
@@ -416,6 +416,7 @@ dptx_out: endpoint {
&gpu {
mali-supply = <&mt6359_vproc2_buck_reg>;
+ sram-supply = <&mt6359_vproc2_buck_reg>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
index 0b4664f044a1..38dc45a95db7 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
@@ -301,6 +301,7 @@ &gic {
&gpu {
mali-supply = <&mt6315_7_vbuck1>;
+ sram-supply = <&mt6315_7_vbuck1>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
index b3761b80cac7..54ce2a420eee 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
@@ -490,6 +490,7 @@ &gic {
&gpu {
status = "okay";
mali-supply = <&mt6315_7_vbuck1>;
+ sram-supply = <&mt6315_7_vbuck1>;
};
&i2c0 {
diff --git a/arch/arm64/boot/dts/mediatek/mt8365-evk.dts b/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
index b5dd5ef9fa11..67bc6c35cf59 100644
--- a/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
@@ -286,6 +286,7 @@ eth_phy: ethernet-phy@0 {
&gpu {
mali-supply = <&mt6357_vcore_reg>;
+ sram-supply = <&mt6357_vcore_reg>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi b/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
index a2cdecd2b903..4c3d83bd9a83 100644
--- a/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
@@ -334,6 +334,7 @@ &gamma0_out {
&gpu {
mali-supply = <&mt6359_vproc2_buck_reg>;
+ sram-supply = <&mt6359_vproc2_buck_reg>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8390-grinn-genio-sbc.dtsi b/arch/arm64/boot/dts/mediatek/mt8390-grinn-genio-sbc.dtsi
index 888248a75e93..1c4c668ee979 100644
--- a/arch/arm64/boot/dts/mediatek/mt8390-grinn-genio-sbc.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8390-grinn-genio-sbc.dtsi
@@ -507,6 +507,7 @@ &scp_c0 {
&gpu {
mali-supply = <&mt6359_vproc2_buck_reg>;
+ sram-supply = <&mt6359_vproc2_buck_reg>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi b/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi
index 2b7167804e71..ed7125c6cb38 100644
--- a/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8395-genio-common.dtsi
@@ -319,6 +319,7 @@ &gamma0_out {
&gpu {
mali-supply = <&mt6315_7_vbuck1>;
+ sram-supply = <&mt6315_7_vbuck1>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8395-kontron-3-5-sbc-i1200.dts b/arch/arm64/boot/dts/mediatek/mt8395-kontron-3-5-sbc-i1200.dts
index d16f545cbbb2..5096305f9415 100644
--- a/arch/arm64/boot/dts/mediatek/mt8395-kontron-3-5-sbc-i1200.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8395-kontron-3-5-sbc-i1200.dts
@@ -289,6 +289,7 @@ ethernet_phy0: ethernet-phy@1 {
&gpu {
status = "okay";
mali-supply = <&mt6315_7_vbuck1>;
+ sram-supply = <&mt6315_7_vbuck1>;
};
/* CSI1/CSI2 connector */
diff --git a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
index d32f973f5e05..2a2a32bf4ece 100644
--- a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
@@ -267,6 +267,7 @@ rgmii_phy: ethernet-phy@1 {
&gpu {
mali-supply = <&mt6315_7_vbuck1>;
+ sram-supply = <&mt6315_7_vbuck1>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/renesas/r9a07g044l2-remi-pi.dts b/arch/arm64/boot/dts/renesas/r9a07g044l2-remi-pi.dts
index 3267e7b75b58..6b7cadb92cdb 100644
--- a/arch/arm64/boot/dts/renesas/r9a07g044l2-remi-pi.dts
+++ b/arch/arm64/boot/dts/renesas/r9a07g044l2-remi-pi.dts
@@ -145,6 +145,7 @@ &extal_clk {
&gpu {
mali-supply = <®_1p1v>;
+ sram-supply = <®_1p1v>;
};
&i2c0 {
diff --git a/arch/arm64/boot/dts/renesas/r9a09g056n48-rzv2n-evk.dts b/arch/arm64/boot/dts/renesas/r9a09g056n48-rzv2n-evk.dts
index 066e66b5d51a..04bb0b23b17b 100644
--- a/arch/arm64/boot/dts/renesas/r9a09g056n48-rzv2n-evk.dts
+++ b/arch/arm64/boot/dts/renesas/r9a09g056n48-rzv2n-evk.dts
@@ -112,6 +112,7 @@ ð1 {
&gpu {
status = "okay";
mali-supply = <®_0p8v>;
+ sram-supply = <®_0p8v>;
};
&hsusb {
diff --git a/arch/arm64/boot/dts/renesas/r9a09g057h44-rzv2h-evk.dts b/arch/arm64/boot/dts/renesas/r9a09g057h44-rzv2h-evk.dts
index 445fce156f73..69390bbd448a 100644
--- a/arch/arm64/boot/dts/renesas/r9a09g057h44-rzv2h-evk.dts
+++ b/arch/arm64/boot/dts/renesas/r9a09g057h44-rzv2h-evk.dts
@@ -137,6 +137,7 @@ ð1 {
&gpu {
status = "okay";
mali-supply = <®_0p8v>;
+ sram-supply = <®_0p8v>;
};
&hsusb {
diff --git a/arch/arm64/boot/dts/renesas/rzg2l-smarc-som.dtsi b/arch/arm64/boot/dts/renesas/rzg2l-smarc-som.dtsi
index d511e152d7c6..6231ce279fda 100644
--- a/arch/arm64/boot/dts/renesas/rzg2l-smarc-som.dtsi
+++ b/arch/arm64/boot/dts/renesas/rzg2l-smarc-som.dtsi
@@ -151,6 +151,7 @@ &extal_clk {
&gpu {
mali-supply = <®_1p1v>;
+ sram-supply = <®_1p1v>;
};
&i2c3 {
diff --git a/arch/arm64/boot/dts/renesas/rzg2lc-smarc-som.dtsi b/arch/arm64/boot/dts/renesas/rzg2lc-smarc-som.dtsi
index 3e8909a872e3..b975b9a684d6 100644
--- a/arch/arm64/boot/dts/renesas/rzg2lc-smarc-som.dtsi
+++ b/arch/arm64/boot/dts/renesas/rzg2lc-smarc-som.dtsi
@@ -104,6 +104,7 @@ &extal_clk {
&gpu {
mali-supply = <®_1p1v>;
+ sram-supply = <®_1p1v>;
};
&i2c2 {
diff --git a/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi b/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi
index 7faa44510d98..43fc4d7f8386 100644
--- a/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi
+++ b/arch/arm64/boot/dts/renesas/rzg3e-smarc-som.dtsi
@@ -100,6 +100,7 @@ ð1 {
&gpu {
status = "okay";
mali-supply = <®_vdd0p8v_others>;
+ sram-supply = <®_vdd0p8v_others>;
};
&i2c2 {
diff --git a/arch/arm64/boot/dts/rockchip/px30-cobra.dtsi b/arch/arm64/boot/dts/rockchip/px30-cobra.dtsi
index b7e669d8ba4d..fd4f1caeaedb 100644
--- a/arch/arm64/boot/dts/rockchip/px30-cobra.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30-cobra.dtsi
@@ -142,6 +142,7 @@ &gmac {
&gpu {
mali-supply = <&vdd_log>;
+ sram-supply = <&vdd_log>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/px30-evb.dts b/arch/arm64/boot/dts/rockchip/px30-evb.dts
index 85d1642eb9be..8885a4433cea 100644
--- a/arch/arm64/boot/dts/rockchip/px30-evb.dts
+++ b/arch/arm64/boot/dts/rockchip/px30-evb.dts
@@ -178,6 +178,7 @@ &gmac {
&gpu {
mali-supply = <&vdd_log>;
+ sram-supply = <&vdd_log>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/px30-firefly-jd4-core.dtsi b/arch/arm64/boot/dts/rockchip/px30-firefly-jd4-core.dtsi
index 1ad0e52a64ab..532f4adf0a25 100644
--- a/arch/arm64/boot/dts/rockchip/px30-firefly-jd4-core.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30-firefly-jd4-core.dtsi
@@ -57,6 +57,7 @@ &emmc {
&gpu {
mali-supply = <&vdd_log>;
+ sram-supply = <&vdd_log>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi b/arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi
index 192791993f05..710a85065836 100644
--- a/arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi
@@ -163,6 +163,7 @@ &emmc {
&gpu {
mali-supply = <&vdd_log>;
+ sram-supply = <&vdd_log>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts b/arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts
index 3566c14850c6..8d6b743443c0 100644
--- a/arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts
@@ -191,6 +191,7 @@ &gmac2phy {
&gpu {
mali-supply = <&vdd_log>;
+ sram-supply = <&vdd_log>;
};
&hdmi {
diff --git a/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dtsi b/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dtsi
index 54395a40b087..cd9843c9d335 100644
--- a/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dtsi
@@ -151,6 +151,7 @@ &dsi_dphy {
&gpu {
mali-supply = <&vdd_logic>;
+ sram-supply = <&vdd_logic>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts b/arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts
index 4d306085646c..6706fa04e64d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts
@@ -358,6 +358,7 @@ &dsi_dphy {
&gpu {
mali-supply = <&vdd_logic>;
+ sram-supply = <&vdd_logic>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi b/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi
index bf4554eff47d..457840a78f03 100644
--- a/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi
@@ -254,6 +254,7 @@ &dsi_dphy {
&gpu {
mali-supply = <&vdd_logic>;
+ sram-supply = <&vdd_logic>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-a1.dts b/arch/arm64/boot/dts/rockchip/rk3328-a1.dts
index 30bdb38f0727..73786851f77a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-a1.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-a1.dts
@@ -149,6 +149,7 @@ rtl8211f: ethernet-phy@0 {
&gpu {
mali-supply = <&vdd_logic>;
+ sram-supply = <&vdd_logic>;
};
&hdmi {
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi
index 7d62a3e96b19..bc7f14ef4fb6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi
@@ -169,6 +169,7 @@ &gmac2io {
&gpu {
mali-supply = <&vdd_logic>;
+ sram-supply = <&vdd_logic>;
};
&hdmi {
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
index 592fd8ca21df..d5aba8b49d81 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
@@ -154,6 +154,7 @@ &gmac2io {
&gpu {
mali-supply = <&vdd_logic>;
+ sram-supply = <&vdd_logic>;
};
&hdmi {
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-eaidk-610.dts b/arch/arm64/boot/dts/rockchip/rk3399-eaidk-610.dts
index b90bf26b58be..b1a59f24a9f8 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-eaidk-610.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-eaidk-610.dts
@@ -289,6 +289,7 @@ &gmac {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-evb-ind.dts b/arch/arm64/boot/dts/rockchip/rk3399-evb-ind.dts
index 70aee1ab904c..8d738d0509fd 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-evb-ind.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-evb-ind.dts
@@ -61,6 +61,7 @@ &emmc_phy {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
index 0568dfa140b3..b088d3dac2e9 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-firefly.dts
@@ -301,6 +301,7 @@ &gmac {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
index 7eca1da78cff..8f2e36ac3667 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
@@ -406,6 +406,7 @@ &emmc_phy {
&gpu {
mali-supply = <&ppvar_gpu>;
+ sram-supply = <&ppvar_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts b/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
index 352c8efb37e0..1405298cefb4 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
@@ -189,6 +189,7 @@ &gmac {
&gpu {
status = "okay";
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
};
&hdmi {
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-khadas-edge.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-khadas-edge.dtsi
index 880c24084952..96ceda94784f 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-khadas-edge.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-khadas-edge.dtsi
@@ -252,6 +252,7 @@ &gmac {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-leez-p710.dts b/arch/arm64/boot/dts/rockchip/rk3399-leez-p710.dts
index 2cdc2013c320..b4b51bea48d1 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-leez-p710.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-leez-p710.dts
@@ -158,6 +158,7 @@ &gmac {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
index c8eb5481f43d..c2dc4ecefd88 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
@@ -202,6 +202,7 @@ rtl8211e: ethernet-phy@1 {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-orangepi.dts b/arch/arm64/boot/dts/rockchip/rk3399-orangepi.dts
index 2ddd4da15597..0c810ed8f95b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-orangepi.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-orangepi.dts
@@ -235,6 +235,7 @@ rtl8211e: ethernet-phy@1 {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
index 810ab6ff4e67..7248010f8a74 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
@@ -418,6 +418,7 @@ &emmc_phy {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
index 5de964d369b0..bdf58a267ede 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
@@ -243,6 +243,7 @@ &emmc_phy {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
index 8299e9d10c7c..cb6a0c5c61e6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
@@ -177,6 +177,7 @@ &gmac {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
index fc9279627ef6..0a8555992b61 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
@@ -267,6 +267,7 @@ &gmac {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
index 6d52e3723a4e..8b1057a96887 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
@@ -187,6 +187,7 @@ &gmac {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
index 046dbe329017..0726617629ff 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
@@ -214,6 +214,7 @@ &gmac {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
index 7b1086682d11..9f41cfc0319a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
@@ -123,6 +123,7 @@ &emmc_phy {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
index 8b72ae6449c9..530a9d2f0205 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi
@@ -319,6 +319,7 @@ &hdmi_sound {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi
index e5c4addb4837..474e8bdce8f9 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi
@@ -206,6 +206,7 @@ &gmac {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3528-armsom-sige1.dts b/arch/arm64/boot/dts/rockchip/rk3528-armsom-sige1.dts
index 6e21579365a5..4116983b9fa1 100644
--- a/arch/arm64/boot/dts/rockchip/rk3528-armsom-sige1.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3528-armsom-sige1.dts
@@ -261,6 +261,7 @@ &gmac1 {
&gpu {
mali-supply = <&vdd_logic>;
+ sram-supply = <&vdd_logic>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts b/arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts
index 9f683033c5f3..3f2584610ce7 100644
--- a/arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3528-nanopi-zero2.dts
@@ -221,6 +221,7 @@ &gmac1 {
&gpu {
mali-supply = <&vdd_logic>;
+ sram-supply = <&vdd_logic>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts b/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
index b32452756155..51ab95e2d3bb 100644
--- a/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
@@ -204,6 +204,7 @@ &gmac1 {
&gpu {
mali-supply = <&vdd_logic>;
+ sram-supply = <&vdd_logic>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3528-rock-2.dtsi b/arch/arm64/boot/dts/rockchip/rk3528-rock-2.dtsi
index aedc7ee9ee46..b984b228b7e4 100644
--- a/arch/arm64/boot/dts/rockchip/rk3528-rock-2.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3528-rock-2.dtsi
@@ -184,6 +184,7 @@ &cpu3 {
&gpu {
mali-supply = <&vdd_logic>;
+ sram-supply = <&vdd_logic>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi
index 645db9d3d297..669959e87085 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi
@@ -223,6 +223,7 @@ &cpu3 {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-bigtreetech-cb2.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-bigtreetech-cb2.dtsi
index b6cf03a7ba66..9bef8d87123c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-bigtreetech-cb2.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3566-bigtreetech-cb2.dtsi
@@ -280,6 +280,7 @@ rgmii_phy0: phy@0 {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-lckfb-tspi.dts b/arch/arm64/boot/dts/rockchip/rk3566-lckfb-tspi.dts
index ed65d3120444..95db6314e47e 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-lckfb-tspi.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3566-lckfb-tspi.dts
@@ -187,6 +187,7 @@ &cpu3 {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-lubancat-1.dts b/arch/arm64/boot/dts/rockchip/rk3566-lubancat-1.dts
index ddf84c2a19cf..583d6ac9ff42 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-lubancat-1.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3566-lubancat-1.dts
@@ -143,6 +143,7 @@ &cpu3 {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts b/arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts
index fb1f65c86883..56f107e6711c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3566-nanopi-r3s.dts
@@ -154,6 +154,7 @@ &gmac1m0_rgmii_clk_level2
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
index 33bc5249d729..59eb930dce7d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts
@@ -193,6 +193,7 @@ &gmac1m1_rgmii_bus
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dtsi
index e2f0ccc6dbe7..5ab2d51e7a31 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dtsi
@@ -169,6 +169,7 @@ &gmac1m0_rgmii_bus
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-pinetab2.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-pinetab2.dtsi
index 08bf40de17ea..c39105aa1e3c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-pinetab2.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3566-pinetab2.dtsi
@@ -311,6 +311,7 @@ &dsi_dphy0 {
&gpu {
mali-supply = <&vdd_gpu_npu>;
+ sram-supply = <&vdd_gpu_npu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi
index bd332714a023..9d5d265c9962 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi
@@ -382,6 +382,7 @@ &dsi_dphy0 {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-x55.dts b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-x55.dts
index e274f7bf9dfb..a4936f7be31b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-x55.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-x55.dts
@@ -416,6 +416,7 @@ mipi_in_panel: endpoint {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
index a9021c524afb..742f59a79419 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
@@ -294,6 +294,7 @@ &gmac1m0_clkinout
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts
index f8cf03380636..db9c7b3c13df 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts
@@ -201,6 +201,7 @@ &gmac1m1_clkinout
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi
index 8453f06c261c..669f82a03d08 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi
@@ -95,6 +95,7 @@ &cpu3 {
&gpu {
mali-supply = <&vdd_gpu_npu>;
+ sram-supply = <&vdd_gpu_npu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3.dtsi
index 1ee5d96a46a1..070e396ec2f5 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3.dtsi
@@ -179,6 +179,7 @@ &gpio4 {
&gpu {
mali-supply = <&vdd_gpu_npu>;
+ sram-supply = <&vdd_gpu_npu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts b/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts
index 7e499064e035..f91a0862910d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts
@@ -196,6 +196,7 @@ &gmac1m0_clkinout
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-rock-3c.dts b/arch/arm64/boot/dts/rockchip/rk3566-rock-3c.dts
index 80ac40555e02..56b16d0c6a1b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-rock-3c.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3566-rock-3c.dts
@@ -205,6 +205,7 @@ &gmac1m1_rgmii_bus
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-soquartz.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-soquartz.dtsi
index 6b9aa0e1ad21..9ab51f4eb3bd 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-soquartz.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3566-soquartz.dtsi
@@ -159,6 +159,7 @@ nextrst-hog {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4.dts b/arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4.dts
index 4db00489be40..83acf407a688 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4.dts
@@ -300,6 +300,7 @@ &gmac1m1_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts b/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts
index 4d3ebe50b90b..3dbec5b58cd5 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts
@@ -255,6 +255,7 @@ &gmac1m1_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-easepi-r1.dts b/arch/arm64/boot/dts/rockchip/rk3568-easepi-r1.dts
index 12225b631eb6..39b92d1841b3 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-easepi-r1.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-easepi-r1.dts
@@ -193,6 +193,7 @@ &gmac1m1_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
index b01f952b640e..0381d04fe78e 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
@@ -268,6 +268,7 @@ &gmac1m1_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-fastrhino-r66s.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-fastrhino-r66s.dtsi
index b0ac1e58a352..52400401342b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-fastrhino-r66s.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3568-fastrhino-r66s.dtsi
@@ -121,6 +121,7 @@ &display_subsystem {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-hinlink-opc.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-hinlink-opc.dtsi
index 14f3839ca091..55b920fa0dad 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-hinlink-opc.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3568-hinlink-opc.dtsi
@@ -180,6 +180,7 @@ &cpu3 {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-lubancat-2.dts b/arch/arm64/boot/dts/rockchip/rk3568-lubancat-2.dts
index a7fe5655a85d..5c97849e6b9d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-lubancat-2.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-lubancat-2.dts
@@ -166,6 +166,7 @@ &cpu3 {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-mecsbc.dts b/arch/arm64/boot/dts/rockchip/rk3568-mecsbc.dts
index b1f185a58902..0f124b4ac2d4 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-mecsbc.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-mecsbc.dts
@@ -149,6 +149,7 @@ &gmac1m1_clkinout
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dtsi
index e3f44ea4eabe..9e38fdda6eda 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3568-nanopi-r5s.dtsi
@@ -177,6 +177,7 @@ &cpu3 {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
index 442a2bc43ba8..99922399141f 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts
@@ -216,6 +216,7 @@ &gmac0_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-photonicat.dts b/arch/arm64/boot/dts/rockchip/rk3568-photonicat.dts
index 58c1052ba8ef..7195272544aa 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-photonicat.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-photonicat.dts
@@ -285,6 +285,7 @@ &gmac1m1_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-qnap-tsx33.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-qnap-tsx33.dtsi
index f009275c72c8..d641c801a5e0 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-qnap-tsx33.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3568-qnap-tsx33.dtsi
@@ -189,6 +189,7 @@ map3 {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi
index 729e38b9f620..6bdb6aecc095 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi
@@ -110,6 +110,7 @@ &cpu3 {
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-roc-pc.dts b/arch/arm64/boot/dts/rockchip/rk3568-roc-pc.dts
index 60faa0c80cd7..cd0da40060bb 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-roc-pc.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-roc-pc.dts
@@ -219,6 +219,7 @@ &gmac1m1_rgmii_bus
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
index 44cfdfeed668..cbcaeeb4a760 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
@@ -274,6 +274,7 @@ &gmac1m1_clkinout
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
index 3d0c1ccfaa79..de4616977bcc 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
@@ -216,6 +216,7 @@ &gmac1m1_rgmii_bus
&gpu {
mali-supply = <&vdd_gpu>;
+ sram-supply = <&vdd_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-wolfvision-pf5.dts b/arch/arm64/boot/dts/rockchip/rk3568-wolfvision-pf5.dts
index bb33fabae16e..578d45c2f49c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-wolfvision-pf5.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-wolfvision-pf5.dts
@@ -146,6 +146,7 @@ &cpu3 {
&gpu {
mali-supply = <&vcc0v9_gpu>;
+ sram-supply = <&vcc0v9_gpu>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3576-100ask-dshanpi-a1.dts b/arch/arm64/boot/dts/rockchip/rk3576-100ask-dshanpi-a1.dts
index b19f9b6be6bf..83c6a0be7a15 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576-100ask-dshanpi-a1.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3576-100ask-dshanpi-a1.dts
@@ -274,6 +274,7 @@ ð1m0_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts b/arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts
index 3386084f6318..3d4799f3ec85 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts
@@ -308,6 +308,7 @@ ð1m0_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts
index db8fef7a4f1b..e8b4a324c094 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts
@@ -296,6 +296,7 @@ ð1m0_rgmii_bus
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3576-luckfox-core3576.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-luckfox-core3576.dtsi
index 9187012d6fa4..d4342986e285 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576-luckfox-core3576.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3576-luckfox-core3576.dtsi
@@ -227,6 +227,7 @@ &cpu_l3 {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3576-nanopi-m5.dts b/arch/arm64/boot/dts/rockchip/rk3576-nanopi-m5.dts
index bb2cc2814b83..984cbbe39c8f 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576-nanopi-m5.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3576-nanopi-m5.dts
@@ -307,6 +307,7 @@ &gmac1 {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3576-nanopi-r76s.dts b/arch/arm64/boot/dts/rockchip/rk3576-nanopi-r76s.dts
index 31fbefaeceab..173082610cb6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576-nanopi-r76s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3576-nanopi-r76s.dts
@@ -236,6 +236,7 @@ &cpu_l3 {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3576-roc-pc.dts b/arch/arm64/boot/dts/rockchip/rk3576-roc-pc.dts
index d0ab1d1e0e11..f436d7bc3c5a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576-roc-pc.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3576-roc-pc.dts
@@ -263,6 +263,7 @@ &cpu_b3 {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts b/arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts
index 7023dc326d0e..dd3647414b7d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts
@@ -285,6 +285,7 @@ ð0m0_rgmii_bus
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-armsom-lm7.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-armsom-lm7.dtsi
index e44125e9a8fb..aa8ff9c35b5b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-armsom-lm7.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-armsom-lm7.dtsi
@@ -71,6 +71,7 @@ &cpu_l3 {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts b/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts
index 39197ee19837..2398c7ebde96 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts
@@ -173,6 +173,7 @@ &cpu_l3 {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi
index b07543315f87..2407709e9dd5 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi
@@ -138,6 +138,7 @@ &gmac0_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-h96-max-v58.dts b/arch/arm64/boot/dts/rockchip/rk3588-h96-max-v58.dts
index 73d8ce4fde2b..7b3f81cb8e23 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-h96-max-v58.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-h96-max-v58.dts
@@ -206,6 +206,7 @@ &cpu_l3 {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
index 176925d0a1a8..4057303f2e94 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
@@ -282,6 +282,7 @@ mdot2e-w-disable2-n-hog {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
index fafeabe9adf9..5f524009345b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
@@ -348,6 +348,7 @@ &gpio4 {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts b/arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts
index fbe1d5c06d90..003e08b00d03 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts
@@ -200,6 +200,7 @@ &gmac1_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5.dtsi
index 3bceee948458..3515f3b84600 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5.dtsi
@@ -215,6 +215,7 @@ &cpu_l3 {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
index 172aeabba72a..e46e28c557ca 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
@@ -324,6 +324,7 @@ dp1_out_con: endpoint {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi
index b3e76ad2d869..95e57637e8af 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi
@@ -179,6 +179,7 @@ &cpu_l3 {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
index 365c1d958f2d..da2b2ebfd22c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
@@ -151,6 +151,7 @@ ð0_pins
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi
index 6daea8961fdd..0bdf12d80dc9 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi
@@ -118,6 +118,7 @@ &gmac1_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts b/arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts
index 189444d20779..19d5717a6fa2 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts
@@ -247,6 +247,7 @@ dp0_out_con: endpoint {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts b/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts
index 21eb003198fe..b9b1b6c154ae 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts
@@ -495,6 +495,7 @@ dsi0_out_panel: endpoint {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts b/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts
index 174d299cc6bb..f79747ff7204 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts
@@ -273,6 +273,7 @@ &gpio4 {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts b/arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts
index 2c22abaf40a8..2d1019555e77 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts
@@ -190,6 +190,7 @@ &combphy2_psu {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
index 1b6a59f7cabc..8d37af811904 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
@@ -232,6 +232,7 @@ &gmac1_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-odroid-m2.dts b/arch/arm64/boot/dts/rockchip/rk3588s-odroid-m2.dts
index a72063c55140..034c47a6d2b2 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-odroid-m2.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-odroid-m2.dts
@@ -245,6 +245,7 @@ &gmac1_rgmii_bus
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi
index dafad29f9854..981f1c826e80 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi
@@ -177,6 +177,7 @@ &gmac1_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts b/arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts
index 7e179862da6e..ddee29658fa6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts
@@ -220,6 +220,7 @@ &gmac1_rgmii_clk
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
index 045a853d39ec..3a45cba725d1 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
@@ -187,6 +187,7 @@ &cpu_l3 {
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5c.dts b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5c.dts
index b837c4e08cec..cf4ac6b2254b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5c.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5c.dts
@@ -254,6 +254,7 @@ &gmac1_rgmii_bus
&gpu {
mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_s0>;
status = "okay";
};
--
2.51.2
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196
2026-02-15 10:02 [PATCH v1 1/2] arm64: dts: add missing sram-supply to mali gpu nodes Onur Özkan
@ 2026-02-15 10:02 ` Onur Özkan
2026-02-15 22:21 ` Adam Ford
2026-02-16 9:37 ` Boris Brezillon
2026-02-15 10:27 ` [PATCH v1 1/2] arm64: dts: add missing sram-supply to mali gpu nodes Krzysztof Kozlowski
` (2 subsequent siblings)
3 siblings, 2 replies; 15+ messages in thread
From: Onur Özkan @ 2026-02-15 10:02 UTC (permalink / raw)
To: Boris Brezillon, Steven Price, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Matthias Brugger, AngeloGioacchino Del Regno, dri-devel,
linux-kernel, linux-arm-kernel, linux-mediatek
Cc: Onur Özkan
If sram-supply is missing, Panthor falls back to a
dummy regulator with a warning. This implicit behavior
hides missing DT wiring behind regulator core fallback.
Make SRAM handling explicit: require sram-supply for all
Panthor compatibles except mt8196-mali where GPU supplies
are intentionally managed outside Panthor and DT does not
model sram-supply for that compatible.
This keeps DT power modeling explicit and avoids relying on
dummy-regulator fallback.
Link: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
Signed-off-by: Onur Özkan <work@onurozkan.dev>
---
drivers/gpu/drm/panthor/panthor_devfreq.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/panthor/panthor_devfreq.c b/drivers/gpu/drm/panthor/panthor_devfreq.c
index 2249b41ca4af..5f6075f18fe3 100644
--- a/drivers/gpu/drm/panthor/panthor_devfreq.c
+++ b/drivers/gpu/drm/panthor/panthor_devfreq.c
@@ -206,12 +206,17 @@ int panthor_devfreq_init(struct panthor_device *ptdev)
* But without knowing if it's beneficial or not (in term of power
* consumption), or how much it slows down the suspend/resume steps,
* let's just keep regulators enabled for the device lifetime.
+ *
+ * Treat sram-supply as mandatory except for mt8196-mali. It manages
+ * SRAM outside Panthor so this driver must not require direct control
+ * over it.
*/
- ret = devm_regulator_get_enable_optional(dev, "sram");
- if (ret && ret != -ENODEV) {
- if (ret != -EPROBE_DEFER)
+ if (!of_device_is_compatible(dev->of_node, "mediatek,mt8196-mali")) {
+ ret = devm_regulator_get_enable_optional(dev, "sram");
+ if (ret) {
DRM_DEV_ERROR(dev, "Couldn't retrieve/enable sram supply\n");
- return ret;
+ return ret;
+ }
}
opp = devfreq_recommended_opp(dev, &cur_freq, 0);
--
2.51.2
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196
2026-02-15 10:02 ` [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196 Onur Özkan
@ 2026-02-15 22:21 ` Adam Ford
2026-02-16 9:44 ` Boris Brezillon
2026-02-16 9:37 ` Boris Brezillon
1 sibling, 1 reply; 15+ messages in thread
From: Adam Ford @ 2026-02-15 22:21 UTC (permalink / raw)
To: Onur Özkan
Cc: Boris Brezillon, Steven Price, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Matthias Brugger, AngeloGioacchino Del Regno, dri-devel,
linux-kernel, linux-arm-kernel, linux-mediatek
On Sun, Feb 15, 2026 at 4:04 AM Onur Özkan <work@onurozkan.dev> wrote:
>
> If sram-supply is missing, Panthor falls back to a
> dummy regulator with a warning. This implicit behavior
> hides missing DT wiring behind regulator core fallback.
>
> Make SRAM handling explicit: require sram-supply for all
> Panthor compatibles except mt8196-mali where GPU supplies
> are intentionally managed outside Panthor and DT does not
> model sram-supply for that compatible.
>
> This keeps DT power modeling explicit and avoids relying on
> dummy-regulator fallback.
>
> Link: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
> Signed-off-by: Onur Özkan <work@onurozkan.dev>
> ---
> drivers/gpu/drm/panthor/panthor_devfreq.c | 13 +++++++++----
> 1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/panthor/panthor_devfreq.c b/drivers/gpu/drm/panthor/panthor_devfreq.c
> index 2249b41ca4af..5f6075f18fe3 100644
> --- a/drivers/gpu/drm/panthor/panthor_devfreq.c
> +++ b/drivers/gpu/drm/panthor/panthor_devfreq.c
> @@ -206,12 +206,17 @@ int panthor_devfreq_init(struct panthor_device *ptdev)
> * But without knowing if it's beneficial or not (in term of power
> * consumption), or how much it slows down the suspend/resume steps,
> * let's just keep regulators enabled for the device lifetime.
> + *
> + * Treat sram-supply as mandatory except for mt8196-mali. It manages
> + * SRAM outside Panthor so this driver must not require direct control
> + * over it.
> */
> - ret = devm_regulator_get_enable_optional(dev, "sram");
> - if (ret && ret != -ENODEV) {
> - if (ret != -EPROBE_DEFER)
> + if (!of_device_is_compatible(dev->of_node, "mediatek,mt8196-mali")) {
I wonder if a more generic device tree flag would be better here.
What happens if others do the same as Mediatek or Mediatek decides to
do this with more processors and this list grows? It seems like a
panthor binding might be useful to prevent future bloat. As of right
now, the 8196 isn't uptream,so it seems like adding this flag would be
harmless to everything else, and it woudl likely be required on mt8196
adam
> + ret = devm_regulator_get_enable_optional(dev, "sram");
> + if (ret) {
> DRM_DEV_ERROR(dev, "Couldn't retrieve/enable sram supply\n");
> - return ret;
> + return ret;
> + }
> }
>
> opp = devfreq_recommended_opp(dev, &cur_freq, 0);
> --
> 2.51.2
>
>
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196
2026-02-15 22:21 ` Adam Ford
@ 2026-02-16 9:44 ` Boris Brezillon
2026-02-16 11:44 ` AngeloGioacchino Del Regno
0 siblings, 1 reply; 15+ messages in thread
From: Boris Brezillon @ 2026-02-16 9:44 UTC (permalink / raw)
To: Adam Ford
Cc: Onur Özkan, Steven Price, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Matthias Brugger, AngeloGioacchino Del Regno, dri-devel,
linux-kernel, linux-arm-kernel, linux-mediatek
Hello Adam,
On Sun, 15 Feb 2026 16:21:34 -0600
Adam Ford <aford173@gmail.com> wrote:
> On Sun, Feb 15, 2026 at 4:04 AM Onur Özkan <work@onurozkan.dev> wrote:
> >
> > If sram-supply is missing, Panthor falls back to a
> > dummy regulator with a warning. This implicit behavior
> > hides missing DT wiring behind regulator core fallback.
> >
> > Make SRAM handling explicit: require sram-supply for all
> > Panthor compatibles except mt8196-mali where GPU supplies
> > are intentionally managed outside Panthor and DT does not
> > model sram-supply for that compatible.
> >
> > This keeps DT power modeling explicit and avoids relying on
> > dummy-regulator fallback.
> >
> > Link: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
> > Signed-off-by: Onur Özkan <work@onurozkan.dev>
> > ---
> > drivers/gpu/drm/panthor/panthor_devfreq.c | 13 +++++++++----
> > 1 file changed, 9 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/panthor/panthor_devfreq.c b/drivers/gpu/drm/panthor/panthor_devfreq.c
> > index 2249b41ca4af..5f6075f18fe3 100644
> > --- a/drivers/gpu/drm/panthor/panthor_devfreq.c
> > +++ b/drivers/gpu/drm/panthor/panthor_devfreq.c
> > @@ -206,12 +206,17 @@ int panthor_devfreq_init(struct panthor_device *ptdev)
> > * But without knowing if it's beneficial or not (in term of power
> > * consumption), or how much it slows down the suspend/resume steps,
> > * let's just keep regulators enabled for the device lifetime.
> > + *
> > + * Treat sram-supply as mandatory except for mt8196-mali. It manages
> > + * SRAM outside Panthor so this driver must not require direct control
> > + * over it.
> > */
> > - ret = devm_regulator_get_enable_optional(dev, "sram");
> > - if (ret && ret != -ENODEV) {
> > - if (ret != -EPROBE_DEFER)
> > + if (!of_device_is_compatible(dev->of_node, "mediatek,mt8196-mali")) {
>
> I wonder if a more generic device tree flag would be better here.
No, we don't want it as a separate DT flag. This is all stuff we can
hide behind the compat, and every bit we add to the DT we don't
strictly need turns out to be a liability in the long run in general.
> What happens if others do the same as Mediatek or Mediatek decides to
> do this with more processors and this list grows?
That's what panthor_soc_data is for: you can attach per-compat
properties without polluting the DT with more stuff that can be
directly inferred from the compatible.
> It seems like a
> panthor binding might be useful to prevent future bloat.
It's actually the opposite, the more we add to the DT, the trickier it
gets to maintain, because we tend to get those things wrong (is the
SRAM really not needed on mt8196, or is this just a workaround to hide
the fact the PM is deferred to some FW?).
Regards,
Boris
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196
2026-02-16 9:44 ` Boris Brezillon
@ 2026-02-16 11:44 ` AngeloGioacchino Del Regno
2026-02-16 12:43 ` Nicolas Frattaroli
0 siblings, 1 reply; 15+ messages in thread
From: AngeloGioacchino Del Regno @ 2026-02-16 11:44 UTC (permalink / raw)
To: Boris Brezillon, Adam Ford, Nicolas Frattaroli
Cc: Onur Özkan, Steven Price, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Matthias Brugger, dri-devel, linux-kernel, linux-arm-kernel,
linux-mediatek
Il 16/02/26 10:44, Boris Brezillon ha scritto:
> Hello Adam,
>
> On Sun, 15 Feb 2026 16:21:34 -0600
> Adam Ford <aford173@gmail.com> wrote:
>
>> On Sun, Feb 15, 2026 at 4:04 AM Onur Özkan <work@onurozkan.dev> wrote:
>>>
>>> If sram-supply is missing, Panthor falls back to a
>>> dummy regulator with a warning. This implicit behavior
>>> hides missing DT wiring behind regulator core fallback.
>>>
>>> Make SRAM handling explicit: require sram-supply for all
>>> Panthor compatibles except mt8196-mali where GPU supplies
>>> are intentionally managed outside Panthor and DT does not
>>> model sram-supply for that compatible.
>>>
>>> This keeps DT power modeling explicit and avoids relying on
>>> dummy-regulator fallback.
>>>
>>> Link: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
>>> Signed-off-by: Onur Özkan <work@onurozkan.dev>
>>> ---
>>> drivers/gpu/drm/panthor/panthor_devfreq.c | 13 +++++++++----
>>> 1 file changed, 9 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/panthor/panthor_devfreq.c b/drivers/gpu/drm/panthor/panthor_devfreq.c
>>> index 2249b41ca4af..5f6075f18fe3 100644
>>> --- a/drivers/gpu/drm/panthor/panthor_devfreq.c
>>> +++ b/drivers/gpu/drm/panthor/panthor_devfreq.c
>>> @@ -206,12 +206,17 @@ int panthor_devfreq_init(struct panthor_device *ptdev)
>>> * But without knowing if it's beneficial or not (in term of power
>>> * consumption), or how much it slows down the suspend/resume steps,
>>> * let's just keep regulators enabled for the device lifetime.
>>> + *
>>> + * Treat sram-supply as mandatory except for mt8196-mali. It manages
>>> + * SRAM outside Panthor so this driver must not require direct control
>>> + * over it.
>>> */
>>> - ret = devm_regulator_get_enable_optional(dev, "sram");
>>> - if (ret && ret != -ENODEV) {
>>> - if (ret != -EPROBE_DEFER)
>>> + if (!of_device_is_compatible(dev->of_node, "mediatek,mt8196-mali")) {
>>
>> I wonder if a more generic device tree flag would be better here.
>
> No, we don't want it as a separate DT flag. This is all stuff we can
> hide behind the compat, and every bit we add to the DT we don't
> strictly need turns out to be a liability in the long run in general.
>
>> What happens if others do the same as Mediatek or Mediatek decides to
>> do this with more processors and this list grows?
>
> That's what panthor_soc_data is for: you can attach per-compat
> properties without polluting the DT with more stuff that can be
> directly inferred from the compatible.
>
>> It seems like a
>> panthor binding might be useful to prevent future bloat.
>
> It's actually the opposite, the more we add to the DT, the trickier it
> gets to maintain, because we tend to get those things wrong (is the
> SRAM really not needed on mt8196, or is this just a workaround to hide
> the fact the PM is deferred to some FW?).
>
MT8196 has three supplies: core, stack, sram.
For example, the Google Rauru Chromebooks use those:
core-supply = <&mt6373_vbuck7>;
stack-supply = <&mt6316dp_vbuck0>;
sram-supply = <&mt6316kp_vbuck1>;
As of now (in our midstream trees), these supplies are declared in the gpufreq
node (the performance domain controller), and required to be on whenever GPUEB
interaction is needed, other than whenever the GPU itself is, well, needed to
be powered.
As of the current model, these supplies are getting powered on and off along
with the MFG power domain.
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c#n1005
I'm not sure what happens if we also add those to the GPU node... for this, I'm
adding Nicolas to the Ccs, as he is the one who developed support for EB.
Cheers,
Angelo
> Regards,
>
> Boris
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196
2026-02-16 11:44 ` AngeloGioacchino Del Regno
@ 2026-02-16 12:43 ` Nicolas Frattaroli
2026-02-16 13:59 ` Liviu Dudau
2026-02-16 14:06 ` Boris Brezillon
0 siblings, 2 replies; 15+ messages in thread
From: Nicolas Frattaroli @ 2026-02-16 12:43 UTC (permalink / raw)
To: Boris Brezillon, Adam Ford, AngeloGioacchino Del Regno
Cc: Onur Özkan, Steven Price, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Matthias Brugger, dri-devel, linux-kernel, linux-arm-kernel,
linux-mediatek
On Monday, 16 February 2026 12:44:39 Central European Standard Time AngeloGioacchino Del Regno wrote:
> Il 16/02/26 10:44, Boris Brezillon ha scritto:
> > Hello Adam,
> >
> > On Sun, 15 Feb 2026 16:21:34 -0600
> > Adam Ford <aford173@gmail.com> wrote:
> >
> >> On Sun, Feb 15, 2026 at 4:04 AM Onur Özkan <work@onurozkan.dev> wrote:
> >>>
> >>> If sram-supply is missing, Panthor falls back to a
> >>> dummy regulator with a warning. This implicit behavior
> >>> hides missing DT wiring behind regulator core fallback.
This is intentional design of the regulator API. A missing supply will
always result in a dummy regulator. The _optional function bubbles the
missing supply condition up to the caller.
Catching device trees lacking supplies that are marked as required by
the binding is done with dtbs_check, not at runtime.
> >>>
> >>> Make SRAM handling explicit: require sram-supply for all
> >>> Panthor compatibles except mt8196-mali where GPU supplies
> >>> are intentionally managed outside Panthor and DT does not
> >>> model sram-supply for that compatible.
> >>>
> >>> This keeps DT power modeling explicit and avoids relying on
> >>> dummy-regulator fallback.
> >>>
> >>> Link: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
> >>> Signed-off-by: Onur Özkan <work@onurozkan.dev>
> >>> ---
> >>> drivers/gpu/drm/panthor/panthor_devfreq.c | 13 +++++++++----
> >>> 1 file changed, 9 insertions(+), 4 deletions(-)
> >>>
> >>> diff --git a/drivers/gpu/drm/panthor/panthor_devfreq.c b/drivers/gpu/drm/panthor/panthor_devfreq.c
> >>> index 2249b41ca4af..5f6075f18fe3 100644
> >>> --- a/drivers/gpu/drm/panthor/panthor_devfreq.c
> >>> +++ b/drivers/gpu/drm/panthor/panthor_devfreq.c
> >>> @@ -206,12 +206,17 @@ int panthor_devfreq_init(struct panthor_device *ptdev)
> >>> * But without knowing if it's beneficial or not (in term of power
> >>> * consumption), or how much it slows down the suspend/resume steps,
> >>> * let's just keep regulators enabled for the device lifetime.
> >>> + *
> >>> + * Treat sram-supply as mandatory except for mt8196-mali. It manages
> >>> + * SRAM outside Panthor so this driver must not require direct control
> >>> + * over it.
> >>> */
> >>> - ret = devm_regulator_get_enable_optional(dev, "sram");
> >>> - if (ret && ret != -ENODEV) {
> >>> - if (ret != -EPROBE_DEFER)
> >>> + if (!of_device_is_compatible(dev->of_node, "mediatek,mt8196-mali")) {
If you really need a per-SoC branch then please just store it in the
platform data so we don't have these "of_device_is_compatible" checks
littered throughout the driver.
> >>
> >> I wonder if a more generic device tree flag would be better here.
> >
> > No, we don't want it as a separate DT flag. This is all stuff we can
> > hide behind the compat, and every bit we add to the DT we don't
> > strictly need turns out to be a liability in the long run in general.
> >
> >> What happens if others do the same as Mediatek or Mediatek decides to
> >> do this with more processors and this list grows?
> >
> > That's what panthor_soc_data is for: you can attach per-compat
> > properties without polluting the DT with more stuff that can be
> > directly inferred from the compatible.
> >
> >> It seems like a
> >> panthor binding might be useful to prevent future bloat.
> >
> > It's actually the opposite, the more we add to the DT, the trickier it
> > gets to maintain, because we tend to get those things wrong (is the
> > SRAM really not needed on mt8196, or is this just a workaround to hide
> > the fact the PM is deferred to some FW?).
> >
>
> MT8196 has three supplies: core, stack, sram.
>
> For example, the Google Rauru Chromebooks use those:
>
> core-supply = <&mt6373_vbuck7>;
> stack-supply = <&mt6316dp_vbuck0>;
> sram-supply = <&mt6316kp_vbuck1>;
>
> As of now (in our midstream trees), these supplies are declared in the gpufreq
> node (the performance domain controller), and required to be on whenever GPUEB
> interaction is needed, other than whenever the GPU itself is, well, needed to
> be powered.
>
> As of the current model, these supplies are getting powered on and off along
> with the MFG power domain.
>
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c#n1005
>
> I'm not sure what happens if we also add those to the GPU node... for this, I'm
> adding Nicolas to the Ccs, as he is the one who developed support for EB.
Fairly sure they need to be on as part of any of the operations the MFG stuff
does, but I also am not 100% sure on this because I didn't take notes at the
time.
Either way, this patch shouldn't exist, it doesn't do anything useful, as a
missing supply from the DT can be caught with `make dtbs_check`. It does not
need to be booted on each device to then have the driver abort probe at runtime.
>
> Cheers,
> Angelo
>
> > Regards,
> >
> > Boris
>
>
>
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196
2026-02-16 12:43 ` Nicolas Frattaroli
@ 2026-02-16 13:59 ` Liviu Dudau
2026-02-16 14:20 ` Boris Brezillon
2026-02-16 14:06 ` Boris Brezillon
1 sibling, 1 reply; 15+ messages in thread
From: Liviu Dudau @ 2026-02-16 13:59 UTC (permalink / raw)
To: Nicolas Frattaroli
Cc: Boris Brezillon, Adam Ford, AngeloGioacchino Del Regno,
Onur Özkan, Steven Price, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthias Brugger,
dri-devel, linux-kernel, linux-arm-kernel, linux-mediatek,
Krzysztof Kozlowski, Mark Brown
On Mon, Feb 16, 2026 at 01:43:19PM +0100, Nicolas Frattaroli wrote:
> On Monday, 16 February 2026 12:44:39 Central European Standard Time AngeloGioacchino Del Regno wrote:
> > Il 16/02/26 10:44, Boris Brezillon ha scritto:
> > > Hello Adam,
> > >
> > > On Sun, 15 Feb 2026 16:21:34 -0600
> > > Adam Ford <aford173@gmail.com> wrote:
> > >
> > >> On Sun, Feb 15, 2026 at 4:04 AM Onur Özkan <work@onurozkan.dev> wrote:
> > >>>
> > >>> If sram-supply is missing, Panthor falls back to a
> > >>> dummy regulator with a warning. This implicit behavior
> > >>> hides missing DT wiring behind regulator core fallback.
>
> This is intentional design of the regulator API. A missing supply will
> always result in a dummy regulator. The _optional function bubbles the
> missing supply condition up to the caller.
>
> Catching device trees lacking supplies that are marked as required by
> the binding is done with dtbs_check, not at runtime.
I'm replying to this thread while I'm also trying to cover some discussion in the
DT patch series.
What we're trying to solve is this: the Mali GPUs have an L2$+bits power domain
that in upstream ended up being called 'sram' for reasons. The domain is important
both for ultimate power savings (you can turn off most of the other GPU domains
and preserve enough state for the GPU to wake up on an interrupt) and for normal
operations, for obvious reasons. Now, vendors either don't bother to put a
separate domain just for "sram" or go to the extreme of handing over control over
that domain to an MCU that implements aggresive and system-wide policies. We're
trying to cater for all cases, include the (currently hypotetical) one where you
have a separate "sram" power domain that Linux can control.
When we have first upstreamed the bindings, inspired by Panfrost driver, we have
added the sram-supply as mandatory which I think is turning out to be a mistake.
Prompted by Mark Brown's reply[1] to Tyr adding 'sram-supply' as an optional
property, Onur has started this and the DT patch series[2] to enforce the presence
of an 'sram-supply' to reduce the number of warnings in dtbs_check. In reality
what we are enforcing is a dummy supply that is the same as the one the GPU is using
because most of the systems don't have a specific one.
So the problem we have is: do we change the upstream binding and make 'sram-supply'
optional for every compatible string given that it is unlikely to be provided (and
the code did not enforce it in panthor_devfreq.c anyway from the beginning), or
do we accept that this power domain is important but usually not specified and we
go with the current DT patch series that provides one?
[1] https://lore.kernel.org/all/20260212100538.170445-1-work@onurozkan.dev/
[2] https://lore.kernel.org/all/20260215100302.136719-1-work@onurozkan.dev/
>
> > >>>
> > >>> Make SRAM handling explicit: require sram-supply for all
> > >>> Panthor compatibles except mt8196-mali where GPU supplies
> > >>> are intentionally managed outside Panthor and DT does not
> > >>> model sram-supply for that compatible.
> > >>>
> > >>> This keeps DT power modeling explicit and avoids relying on
> > >>> dummy-regulator fallback.
> > >>>
> > >>> Link: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
> > >>> Signed-off-by: Onur Özkan <work@onurozkan.dev>
> > >>> ---
> > >>> drivers/gpu/drm/panthor/panthor_devfreq.c | 13 +++++++++----
> > >>> 1 file changed, 9 insertions(+), 4 deletions(-)
> > >>>
> > >>> diff --git a/drivers/gpu/drm/panthor/panthor_devfreq.c b/drivers/gpu/drm/panthor/panthor_devfreq.c
> > >>> index 2249b41ca4af..5f6075f18fe3 100644
> > >>> --- a/drivers/gpu/drm/panthor/panthor_devfreq.c
> > >>> +++ b/drivers/gpu/drm/panthor/panthor_devfreq.c
> > >>> @@ -206,12 +206,17 @@ int panthor_devfreq_init(struct panthor_device *ptdev)
> > >>> * But without knowing if it's beneficial or not (in term of power
> > >>> * consumption), or how much it slows down the suspend/resume steps,
> > >>> * let's just keep regulators enabled for the device lifetime.
> > >>> + *
> > >>> + * Treat sram-supply as mandatory except for mt8196-mali. It manages
> > >>> + * SRAM outside Panthor so this driver must not require direct control
> > >>> + * over it.
> > >>> */
> > >>> - ret = devm_regulator_get_enable_optional(dev, "sram");
> > >>> - if (ret && ret != -ENODEV) {
> > >>> - if (ret != -EPROBE_DEFER)
> > >>> + if (!of_device_is_compatible(dev->of_node, "mediatek,mt8196-mali")) {
>
> If you really need a per-SoC branch then please just store it in the
> platform data so we don't have these "of_device_is_compatible" checks
> littered throughout the driver.
I agree, if we go with "sram-supply" being optional only for mt8196-mali then we should
put this in the panthor_soc_data payload and here we use that.
>
> > >>
> > >> I wonder if a more generic device tree flag would be better here.
> > >
> > > No, we don't want it as a separate DT flag. This is all stuff we can
> > > hide behind the compat, and every bit we add to the DT we don't
> > > strictly need turns out to be a liability in the long run in general.
> > >
> > >> What happens if others do the same as Mediatek or Mediatek decides to
> > >> do this with more processors and this list grows?
> > >
> > > That's what panthor_soc_data is for: you can attach per-compat
> > > properties without polluting the DT with more stuff that can be
> > > directly inferred from the compatible.
> > >
> > >> It seems like a
> > >> panthor binding might be useful to prevent future bloat.
> > >
> > > It's actually the opposite, the more we add to the DT, the trickier it
> > > gets to maintain, because we tend to get those things wrong (is the
> > > SRAM really not needed on mt8196, or is this just a workaround to hide
> > > the fact the PM is deferred to some FW?).
> > >
> >
> > MT8196 has three supplies: core, stack, sram.
> >
> > For example, the Google Rauru Chromebooks use those:
> >
> > core-supply = <&mt6373_vbuck7>;
> > stack-supply = <&mt6316dp_vbuck0>;
> > sram-supply = <&mt6316kp_vbuck1>;
> >
> > As of now (in our midstream trees), these supplies are declared in the gpufreq
> > node (the performance domain controller), and required to be on whenever GPUEB
> > interaction is needed, other than whenever the GPU itself is, well, needed to
> > be powered.
> >
> > As of the current model, these supplies are getting powered on and off along
> > with the MFG power domain.
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c#n1005
> >
> > I'm not sure what happens if we also add those to the GPU node... for this, I'm
> > adding Nicolas to the Ccs, as he is the one who developed support for EB.
>
> Fairly sure they need to be on as part of any of the operations the MFG stuff
> does, but I also am not 100% sure on this because I didn't take notes at the
> time.
>
> Either way, this patch shouldn't exist, it doesn't do anything useful, as a
> missing supply from the DT can be caught with `make dtbs_check`. It does not
> need to be booted on each device to then have the driver abort probe at runtime.
So what should we do when dtbs_check catches it? Series [2] is trying to provide
a supply, but it is a bogus one because in reality the vendors don't declare one.
Best regards,
Liviu
>
> >
> > Cheers,
> > Angelo
> >
> > > Regards,
> > >
> > > Boris
> >
> >
> >
>
>
>
>
--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
¯\_(ツ)_/¯
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196
2026-02-16 13:59 ` Liviu Dudau
@ 2026-02-16 14:20 ` Boris Brezillon
0 siblings, 0 replies; 15+ messages in thread
From: Boris Brezillon @ 2026-02-16 14:20 UTC (permalink / raw)
To: Liviu Dudau
Cc: Nicolas Frattaroli, Adam Ford, AngeloGioacchino Del Regno,
Onur Özkan, Steven Price, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthias Brugger,
dri-devel, linux-kernel, linux-arm-kernel, linux-mediatek,
Krzysztof Kozlowski, Mark Brown
Hi Liviu,
On Mon, 16 Feb 2026 13:59:27 +0000
Liviu Dudau <liviu.dudau@arm.com> wrote:
> On Mon, Feb 16, 2026 at 01:43:19PM +0100, Nicolas Frattaroli wrote:
> > On Monday, 16 February 2026 12:44:39 Central European Standard Time AngeloGioacchino Del Regno wrote:
> > > Il 16/02/26 10:44, Boris Brezillon ha scritto:
> > > > Hello Adam,
> > > >
> > > > On Sun, 15 Feb 2026 16:21:34 -0600
> > > > Adam Ford <aford173@gmail.com> wrote:
> > > >
> > > >> On Sun, Feb 15, 2026 at 4:04 AM Onur Özkan <work@onurozkan.dev> wrote:
> > > >>>
> > > >>> If sram-supply is missing, Panthor falls back to a
> > > >>> dummy regulator with a warning. This implicit behavior
> > > >>> hides missing DT wiring behind regulator core fallback.
> >
> > This is intentional design of the regulator API. A missing supply will
> > always result in a dummy regulator. The _optional function bubbles the
> > missing supply condition up to the caller.
> >
> > Catching device trees lacking supplies that are marked as required by
> > the binding is done with dtbs_check, not at runtime.
>
> I'm replying to this thread while I'm also trying to cover some discussion in the
> DT patch series.
>
> What we're trying to solve is this: the Mali GPUs have an L2$+bits power domain
> that in upstream ended up being called 'sram' for reasons. The domain is important
> both for ultimate power savings (you can turn off most of the other GPU domains
> and preserve enough state for the GPU to wake up on an interrupt) and for normal
> operations, for obvious reasons. Now, vendors either don't bother to put a
> separate domain just for "sram" or go to the extreme of handing over control over
> that domain to an MCU that implements aggresive and system-wide policies. We're
> trying to cater for all cases, include the (currently hypotetical) one where you
> have a separate "sram" power domain that Linux can control.
>
> When we have first upstreamed the bindings, inspired by Panfrost driver, we have
> added the sram-supply as mandatory which I think is turning out to be a mistake.
> Prompted by Mark Brown's reply[1] to Tyr adding 'sram-supply' as an optional
> property, Onur has started this and the DT patch series[2] to enforce the presence
> of an 'sram-supply' to reduce the number of warnings in dtbs_check. In reality
> what we are enforcing is a dummy supply that is the same as the one the GPU is using
> because most of the systems don't have a specific one.
>
> So the problem we have is: do we change the upstream binding and make 'sram-supply'
> optional for every compatible string given that it is unlikely to be provided (and
> the code did not enforce it in panthor_devfreq.c anyway from the beginning), or
> do we accept that this power domain is important but usually not specified and we
> go with the current DT patch series that provides one?
My main worry with this approach is that SoC/board bring-up tends to be
an iterative process in practice, and it usually starts with a
bunch of resources forcibly enabled (either in the bootloader
or directly in Linux) because that's easy. Problem is, that's also very
easy to forget defining non-optional resources when the dts[i] is
upstreamed, because everything seems to work just fine. And because of
this DT backward-compat constraint, if get it wrong, and the supply is
needed for real, when we get to implement the real thing we're just
screwed. Having a runtime error preventing the device to probe forces
people to at least think twice before doing something stupid, like
making the SRAM (or L2-cache) supply point to the core supply when they
are two distinct regulator outputs.
Regards,
Boris
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196
2026-02-16 12:43 ` Nicolas Frattaroli
2026-02-16 13:59 ` Liviu Dudau
@ 2026-02-16 14:06 ` Boris Brezillon
1 sibling, 0 replies; 15+ messages in thread
From: Boris Brezillon @ 2026-02-16 14:06 UTC (permalink / raw)
To: Nicolas Frattaroli
Cc: Adam Ford, AngeloGioacchino Del Regno, Onur Özkan,
Steven Price, Liviu Dudau, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthias Brugger,
dri-devel, linux-kernel, linux-arm-kernel, linux-mediatek
Hi Nicolas,
On Mon, 16 Feb 2026 13:43:19 +0100
Nicolas Frattaroli <nicolas.frattaroli@collabora.com> wrote:
> > >>
> > >> I wonder if a more generic device tree flag would be better here.
> > >
> > > No, we don't want it as a separate DT flag. This is all stuff we can
> > > hide behind the compat, and every bit we add to the DT we don't
> > > strictly need turns out to be a liability in the long run in general.
> > >
> > >> What happens if others do the same as Mediatek or Mediatek decides to
> > >> do this with more processors and this list grows?
> > >
> > > That's what panthor_soc_data is for: you can attach per-compat
> > > properties without polluting the DT with more stuff that can be
> > > directly inferred from the compatible.
> > >
> > >> It seems like a
> > >> panthor binding might be useful to prevent future bloat.
> > >
> > > It's actually the opposite, the more we add to the DT, the trickier it
> > > gets to maintain, because we tend to get those things wrong (is the
> > > SRAM really not needed on mt8196, or is this just a workaround to hide
> > > the fact the PM is deferred to some FW?).
> > >
> >
> > MT8196 has three supplies: core, stack, sram.
> >
> > For example, the Google Rauru Chromebooks use those:
> >
> > core-supply = <&mt6373_vbuck7>;
> > stack-supply = <&mt6316dp_vbuck0>;
> > sram-supply = <&mt6316kp_vbuck1>;
> >
> > As of now (in our midstream trees), these supplies are declared in the gpufreq
> > node (the performance domain controller), and required to be on whenever GPUEB
> > interaction is needed, other than whenever the GPU itself is, well, needed to
> > be powered.
> >
> > As of the current model, these supplies are getting powered on and off along
> > with the MFG power domain.
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c#n1005
> >
> > I'm not sure what happens if we also add those to the GPU node... for this, I'm
> > adding Nicolas to the Ccs, as he is the one who developed support for EB.
>
> Fairly sure they need to be on as part of any of the operations the MFG stuff
> does, but I also am not 100% sure on this because I didn't take notes at the
> time.
>
> Either way, this patch shouldn't exist, it doesn't do anything useful, as a
> missing supply from the DT can be caught with `make dtbs_check`.
Well, the fact DTs lacking the sram-supply definition went through
is a clear sign that `make dtbs_check` is not bulletproof. Not saying
the script doesn't work, but if maintainers don't run it automatically
before merging DTs, it's going to fail again, I'm afraid. If we had
enforced that "supply is mandatory" rule at runtime, we wouldn't be in
position where we have invalid DTs/DTBs merged/deployed, and I'm saying
that as the person git blame points to for introducing this logic :-).
> It does not
> need to be booted on each device to then have the driver abort probe at runtime.
Now that we've merged those DTs we can't really fail the probe
anyway, because that would break DT-backward compat, but flagging those
DTBs as broken (with an error message) would be better than pretending
it's all good, IMHO.
Regards,
Boris
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196
2026-02-15 10:02 ` [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196 Onur Özkan
2026-02-15 22:21 ` Adam Ford
@ 2026-02-16 9:37 ` Boris Brezillon
2026-02-16 14:41 ` Onur Özkan
1 sibling, 1 reply; 15+ messages in thread
From: Boris Brezillon @ 2026-02-16 9:37 UTC (permalink / raw)
To: Onur Özkan
Cc: Steven Price, Liviu Dudau, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthias Brugger,
AngeloGioacchino Del Regno, dri-devel, linux-kernel,
linux-arm-kernel, linux-mediatek
On Sun, 15 Feb 2026 13:02:51 +0300
Onur Özkan <work@onurozkan.dev> wrote:
> If sram-supply is missing, Panthor falls back to a
> dummy regulator with a warning. This implicit behavior
> hides missing DT wiring behind regulator core fallback.
>
> Make SRAM handling explicit: require sram-supply for all
> Panthor compatibles except mt8196-mali where GPU supplies
> are intentionally managed outside Panthor and DT does not
> model sram-supply for that compatible.
>
> This keeps DT power modeling explicit and avoids relying on
> dummy-regulator fallback.
>
> Link: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
> Signed-off-by: Onur Özkan <work@onurozkan.dev>
> ---
> drivers/gpu/drm/panthor/panthor_devfreq.c | 13 +++++++++----
> 1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/panthor/panthor_devfreq.c b/drivers/gpu/drm/panthor/panthor_devfreq.c
> index 2249b41ca4af..5f6075f18fe3 100644
> --- a/drivers/gpu/drm/panthor/panthor_devfreq.c
> +++ b/drivers/gpu/drm/panthor/panthor_devfreq.c
> @@ -206,12 +206,17 @@ int panthor_devfreq_init(struct panthor_device *ptdev)
> * But without knowing if it's beneficial or not (in term of power
> * consumption), or how much it slows down the suspend/resume steps,
> * let's just keep regulators enabled for the device lifetime.
> + *
> + * Treat sram-supply as mandatory except for mt8196-mali. It manages
> + * SRAM outside Panthor so this driver must not require direct control
> + * over it.
> */
> - ret = devm_regulator_get_enable_optional(dev, "sram");
> - if (ret && ret != -ENODEV) {
> - if (ret != -EPROBE_DEFER)
> + if (!of_device_is_compatible(dev->of_node, "mediatek,mt8196-mali")) {
Rather than checking for specific compats here, let's go for
a dont_need_sram_supply bool in panthor_soc_data.
> + ret = devm_regulator_get_enable_optional(dev, "sram");
If we assume SRAM supply is mandatory, should this be
devm_regulator_get_enable() instead?
> + if (ret) {
> DRM_DEV_ERROR(dev, "Couldn't retrieve/enable sram supply\n");
> - return ret;
> + return ret;
> + }
> }
>
> opp = devfreq_recommended_opp(dev, &cur_freq, 0);
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196
2026-02-16 9:37 ` Boris Brezillon
@ 2026-02-16 14:41 ` Onur Özkan
2026-02-16 15:20 ` Steven Price
0 siblings, 1 reply; 15+ messages in thread
From: Onur Özkan @ 2026-02-16 14:41 UTC (permalink / raw)
To: Boris Brezillon
Cc: Steven Price, Liviu Dudau, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthias Brugger,
AngeloGioacchino Del Regno, dri-devel, linux-kernel,
linux-arm-kernel, linux-mediatek
On Mon, 16 Feb 2026 10:37:43 +0100
Boris Brezillon <boris.brezillon@collabora.com> wrote:
> On Sun, 15 Feb 2026 13:02:51 +0300
> Onur Özkan <work@onurozkan.dev> wrote:
>
> > If sram-supply is missing, Panthor falls back to a
> > dummy regulator with a warning. This implicit behavior
> > hides missing DT wiring behind regulator core fallback.
> >
> > Make SRAM handling explicit: require sram-supply for all
> > Panthor compatibles except mt8196-mali where GPU supplies
> > are intentionally managed outside Panthor and DT does not
> > model sram-supply for that compatible.
> >
> > This keeps DT power modeling explicit and avoids relying on
> > dummy-regulator fallback.
> >
> > Link: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
> > Signed-off-by: Onur Özkan <work@onurozkan.dev>
> > ---
> > drivers/gpu/drm/panthor/panthor_devfreq.c | 13 +++++++++----
> > 1 file changed, 9 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/panthor/panthor_devfreq.c
> > b/drivers/gpu/drm/panthor/panthor_devfreq.c index
> > 2249b41ca4af..5f6075f18fe3 100644 ---
> > a/drivers/gpu/drm/panthor/panthor_devfreq.c +++
> > b/drivers/gpu/drm/panthor/panthor_devfreq.c @@ -206,12 +206,17 @@
> > int panthor_devfreq_init(struct panthor_device *ptdev)
> > * But without knowing if it's beneficial or not (in term
> > of power
> > * consumption), or how much it slows down the
> > suspend/resume steps,
> > * let's just keep regulators enabled for the device
> > lifetime.
> > + *
> > + * Treat sram-supply as mandatory except for mt8196-mali.
> > It manages
> > + * SRAM outside Panthor so this driver must not require
> > direct control
> > + * over it.
> > */
> > - ret = devm_regulator_get_enable_optional(dev, "sram");
> > - if (ret && ret != -ENODEV) {
> > - if (ret != -EPROBE_DEFER)
> > + if (!of_device_is_compatible(dev->of_node,
> > "mediatek,mt8196-mali")) {
>
> Rather than checking for specific compats here, let's go for
> a dont_need_sram_supply bool in panthor_soc_data.
>
Makes sense.
> > + ret = devm_regulator_get_enable_optional(dev,
> > "sram");
>
> If we assume SRAM supply is mandatory, should this be
> devm_regulator_get_enable() instead?
>
That was the first thing I did but when I tested it, it didn't work as
expected because devm_regulator_get_enable() fell back to the dummy
regulator without returning an error.
Regards,
Onur
> > + if (ret) {
> > DRM_DEV_ERROR(dev, "Couldn't
> > retrieve/enable sram supply\n");
> > - return ret;
> > + return ret;
> > + }
> > }
> >
> > opp = devfreq_recommended_opp(dev, &cur_freq, 0);
>
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196
2026-02-16 14:41 ` Onur Özkan
@ 2026-02-16 15:20 ` Steven Price
0 siblings, 0 replies; 15+ messages in thread
From: Steven Price @ 2026-02-16 15:20 UTC (permalink / raw)
To: Onur Özkan, Boris Brezillon
Cc: Liviu Dudau, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Simona Vetter, Matthias Brugger,
AngeloGioacchino Del Regno, dri-devel, linux-kernel,
linux-arm-kernel, linux-mediatek
On 16/02/2026 14:41, Onur Özkan wrote:
> On Mon, 16 Feb 2026 10:37:43 +0100
> Boris Brezillon <boris.brezillon@collabora.com> wrote:
>
>> On Sun, 15 Feb 2026 13:02:51 +0300
>> Onur Özkan <work@onurozkan.dev> wrote:
>>
>>> If sram-supply is missing, Panthor falls back to a
>>> dummy regulator with a warning. This implicit behavior
>>> hides missing DT wiring behind regulator core fallback.
>>>
>>> Make SRAM handling explicit: require sram-supply for all
>>> Panthor compatibles except mt8196-mali where GPU supplies
>>> are intentionally managed outside Panthor and DT does not
>>> model sram-supply for that compatible.
>>>
>>> This keeps DT power modeling explicit and avoids relying on
>>> dummy-regulator fallback.
>>>
>>> Link: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
>>> Signed-off-by: Onur Özkan <work@onurozkan.dev>
>>> ---
>>> drivers/gpu/drm/panthor/panthor_devfreq.c | 13 +++++++++----
>>> 1 file changed, 9 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/panthor/panthor_devfreq.c
>>> b/drivers/gpu/drm/panthor/panthor_devfreq.c index
>>> 2249b41ca4af..5f6075f18fe3 100644 ---
>>> a/drivers/gpu/drm/panthor/panthor_devfreq.c +++
>>> b/drivers/gpu/drm/panthor/panthor_devfreq.c @@ -206,12 +206,17 @@
>>> int panthor_devfreq_init(struct panthor_device *ptdev)
>>> * But without knowing if it's beneficial or not (in term
>>> of power
>>> * consumption), or how much it slows down the
>>> suspend/resume steps,
>>> * let's just keep regulators enabled for the device
>>> lifetime.
>>> + *
>>> + * Treat sram-supply as mandatory except for mt8196-mali.
>>> It manages
>>> + * SRAM outside Panthor so this driver must not require
>>> direct control
>>> + * over it.
>>> */
>>> - ret = devm_regulator_get_enable_optional(dev, "sram");
>>> - if (ret && ret != -ENODEV) {
>>> - if (ret != -EPROBE_DEFER)
>>> + if (!of_device_is_compatible(dev->of_node,
>>> "mediatek,mt8196-mali")) {
>>
>> Rather than checking for specific compats here, let's go for
>> a dont_need_sram_supply bool in panthor_soc_data.
>>
>
> Makes sense.
>
>>> + ret = devm_regulator_get_enable_optional(dev,
>>> "sram");
>>
>> If we assume SRAM supply is mandatory, should this be
>> devm_regulator_get_enable() instead?
>>
>
> That was the first thing I did but when I tested it, it didn't work as
> expected because devm_regulator_get_enable() fell back to the dummy
> regulator without returning an error.
My understanding was that devm_regulator_get_enable() would output a
warning in that case.
I'm not sure it really makes sense to deliberately fail the probe just
because the regulator isn't there: we know in practice it often works
and it can be useful for bring-up purposes. The issue was that we don't
want DTs submitted without the "sram" regulator and the dt-check hasn't
been sufficient in the past to catch such errors.
So a dmesg warning seems (to me) like the right sort of balance -
there's obviously something to fix, but it doesn't block bring-up
(unless of course the hardware actually requires it of course).
I also note that you've lost the -EPROBE_DEFER check, meaning that the
log message you've added will spam the logs if a defer happens.
My reading for these threads is that we need:
* A new field in panthor_soc_data for the mt8196 case.
* To check for new field, and if it's not set then use
devm_regulator_get_enable() so that it generates a warning message if
the regulator isn't present. Otherwise we skip the call.
So no need for panthor itself to log any messages, and we just return
any errors from devm_regulator_get_enable(). A missing regulator will
generate a warning but no error.
What am I missing?
Thanks,
Steve
> Regards,
> Onur
>
>>> + if (ret) {
>>> DRM_DEV_ERROR(dev, "Couldn't
>>> retrieve/enable sram supply\n");
>>> - return ret;
>>> + return ret;
>>> + }
>>> }
>>>
>>> opp = devfreq_recommended_opp(dev, &cur_freq, 0);
>>
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 1/2] arm64: dts: add missing sram-supply to mali gpu nodes
2026-02-15 10:02 [PATCH v1 1/2] arm64: dts: add missing sram-supply to mali gpu nodes Onur Özkan
2026-02-15 10:02 ` [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196 Onur Özkan
@ 2026-02-15 10:27 ` Krzysztof Kozlowski
2026-02-16 11:33 ` AngeloGioacchino Del Regno
2026-02-24 11:19 ` Chen-Yu Tsai
3 siblings, 0 replies; 15+ messages in thread
From: Krzysztof Kozlowski @ 2026-02-15 10:27 UTC (permalink / raw)
To: Onur Özkan, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Alim Akhtar,
Matthias Brugger, AngeloGioacchino Del Regno, Geert Uytterhoeven,
Magnus Damm, Heiko Stuebner, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel, linux-samsung-soc, linux-mediatek,
linux-renesas-soc, linux-rockchip
On 15/02/2026 11:02, Onur Özkan wrote:
> Some arm64 Mali GPU DT nodes define mali-supply but
> are missing sram-supply.
>
> As discussed in [1], sram-supply should be explicitly
> defined for all relevant compatibles. If there is no
> separate SRAM rail, it can reference the same regulator
> as mali-supply.
But is this then a sram-supply?
For me it seems you just want to get rid of the warning from [1] and
that is not correct patch. I don't care about that warning and you
should not add DTS changes just to remove the warning.
You should add a CORRECT supply, if one exist. If one does not exist,
you cannot add it.
Please wrap commit message according to Linux coding style / submission
process (neither too early nor over the limit):
https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597
>
> This change adds the missing sram-supply properties to
> affected DT files. This aligns DTs with expected regulator
> modeling and avoids relying on implicit fallback behavior.
>
> [1]: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
That's not really relevant... and my first impression was that you miss
bindings. You should rather explain this all in terms of hardware or
bindings - e.g. this supply is or is not in the bindings and you are
adding it because it's missing.
>
> Signed-off-by: Onur Özkan <work@onurozkan.dev>
Please split your patch per Soc subsystems.
> ---
...
> diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
> index a1fb354dea9f..aba7f7325d8c 100644
> --- a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
> +++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
> @@ -356,6 +356,7 @@ &dsi {
>
> &gpu {
> mali-supply = <&buck6_reg>;
> + sram-supply = <&buck6_reg>;
There is no dedicated sram supply. It is probably routed internally, so
I don't think we should expose it.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH v1 1/2] arm64: dts: add missing sram-supply to mali gpu nodes
2026-02-15 10:02 [PATCH v1 1/2] arm64: dts: add missing sram-supply to mali gpu nodes Onur Özkan
2026-02-15 10:02 ` [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196 Onur Özkan
2026-02-15 10:27 ` [PATCH v1 1/2] arm64: dts: add missing sram-supply to mali gpu nodes Krzysztof Kozlowski
@ 2026-02-16 11:33 ` AngeloGioacchino Del Regno
2026-02-24 11:19 ` Chen-Yu Tsai
3 siblings, 0 replies; 15+ messages in thread
From: AngeloGioacchino Del Regno @ 2026-02-16 11:33 UTC (permalink / raw)
To: Onur Özkan, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Alim Akhtar,
Matthias Brugger, Geert Uytterhoeven, Magnus Damm, Heiko Stuebner,
devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
linux-samsung-soc, linux-mediatek, linux-renesas-soc,
linux-rockchip
Il 15/02/26 11:02, Onur Özkan ha scritto:
> Some arm64 Mali GPU DT nodes define mali-supply but
> are missing sram-supply.
>
> As discussed in [1], sram-supply should be explicitly
> defined for all relevant compatibles. If there is no
> separate SRAM rail, it can reference the same regulator
> as mali-supply.
>
> This change adds the missing sram-supply properties to
> affected DT files. This aligns DTs with expected regulator
> modeling and avoids relying on implicit fallback behavior.
>
> [1]: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
>
Sorry, at least for MediaTek, this makes no sense. The SRAM supply on MTK platforms
is managed by the mediatek-regulator-coupler driver, as it scales in a peculiar way
in relation to the GPU core supply.
Besides, you're cloning the GPU core supply to the sram supply, which is, well,
simply wrong... and you're changing devicetrees of SoCs that are running on
panfrost (not on panthor), which will anyway ignore the existance of the SRAM
supply.
That's also going to give all sorts of binding warnings, I guess, but I didn't
check anyway.
While the change makes sense, as in, I agree with Mark in that the SRAM must have
a power supply in order to actually work... I'm afraid that what you're doing here
needs a bit more work before it becomes acceptable.
Especially - faking the vgpu-core regulator (not just on MTK, but on all) to also
be the sram regulator leads to confusion and is, well, plain wrong.
Cheers,
Angelo
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 1/2] arm64: dts: add missing sram-supply to mali gpu nodes
2026-02-15 10:02 [PATCH v1 1/2] arm64: dts: add missing sram-supply to mali gpu nodes Onur Özkan
` (2 preceding siblings ...)
2026-02-16 11:33 ` AngeloGioacchino Del Regno
@ 2026-02-24 11:19 ` Chen-Yu Tsai
3 siblings, 0 replies; 15+ messages in thread
From: Chen-Yu Tsai @ 2026-02-24 11:19 UTC (permalink / raw)
To: Onur Özkan
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jernej Skrabec,
Samuel Holland, Alim Akhtar, Matthias Brugger,
AngeloGioacchino Del Regno, Geert Uytterhoeven, Magnus Damm,
Heiko Stuebner, devicetree, linux-arm-kernel, linux-sunxi,
linux-kernel, linux-samsung-soc, linux-mediatek,
linux-renesas-soc, linux-rockchip
On Sun, Feb 15, 2026 at 6:04 PM Onur Özkan <work@onurozkan.dev> wrote:
>
> Some arm64 Mali GPU DT nodes define mali-supply but
> are missing sram-supply.
>
> As discussed in [1], sram-supply should be explicitly
> defined for all relevant compatibles. If there is no
> separate SRAM rail, it can reference the same regulator
> as mali-supply.
>
> This change adds the missing sram-supply properties to
> affected DT files. This aligns DTs with expected regulator
> modeling and avoids relying on implicit fallback behavior.
>
> [1]: https://lore.kernel.org/all/20260213155937.6af75786@nimda/
>
> Signed-off-by: Onur Özkan <work@onurozkan.dev>
> ---
> arch/arm64/boot/dts/allwinner/sun50i-h313-tanix-tx1.dts | 1 +
> arch/arm64/boot/dts/allwinner/sun50i-h313-x96q.dts | 1 +
> arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 1 +
> arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts | 1 +
> arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi | 1 +
> arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts | 1 +
> arch/arm64/boot/dts/allwinner/sun50i-h6-tanix.dtsi | 1 +
> arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi | 1 +
> arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts | 1 +
> arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts | 1 +
> arch/arm64/boot/dts/allwinner/sun50i-h618-longan-module-3h.dtsi | 1 +
> arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero2w.dts | 1 +
> arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts | 1 +
> arch/arm64/boot/dts/allwinner/sun50i-h618-transpeed-8k618-t.dts | 1 +
> .../boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts | 1 +
> arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts | 1 +
> arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts | 1 +
> arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts | 1 +
> arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts | 1 +
We don't know the internals of these SoCs, even though said power is
likely from the same regulator, as that rail provides power to most
of the SoC. But I would rather not speculate.
I think these systems are at the other end of the spectrum: the power
rail for the GPU and the rest of the SoC is simply never turned off.
Neither is DVFS available. In theory you could make it work, but the
voltage range is fixed so there is little savings to be had.
ChenYu
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2026-02-24 11:19 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-15 10:02 [PATCH v1 1/2] arm64: dts: add missing sram-supply to mali gpu nodes Onur Özkan
2026-02-15 10:02 ` [PATCH v1 2/2] drm/panthor: treat sram as mandatory except mt8196 Onur Özkan
2026-02-15 22:21 ` Adam Ford
2026-02-16 9:44 ` Boris Brezillon
2026-02-16 11:44 ` AngeloGioacchino Del Regno
2026-02-16 12:43 ` Nicolas Frattaroli
2026-02-16 13:59 ` Liviu Dudau
2026-02-16 14:20 ` Boris Brezillon
2026-02-16 14:06 ` Boris Brezillon
2026-02-16 9:37 ` Boris Brezillon
2026-02-16 14:41 ` Onur Özkan
2026-02-16 15:20 ` Steven Price
2026-02-15 10:27 ` [PATCH v1 1/2] arm64: dts: add missing sram-supply to mali gpu nodes Krzysztof Kozlowski
2026-02-16 11:33 ` AngeloGioacchino Del Regno
2026-02-24 11:19 ` Chen-Yu Tsai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox