From: Mikhail Kalashnikov <iuncuim@gmail.com>
All devices based on the A523/A527/H728/T527 processors contain a G57 MC1 GPU.
Enable the DT nodes for this GPU and specify a regulator that supplies power
to the SoC's VDD_GPU pins. The other parameters are set in the SoC dtsi,
so are board independent.
Signed-off-by: Mikhail Kalashnikov <iuncuim@gmail.com>
---
arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts | 5 +++++
arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts | 5 +++++
arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts | 5 +++++
arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts | 5 +++++
4 files changed, 20 insertions(+)
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 8bc0f2c72..553ad774e 100644
--- a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts
+++ b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts
@@ -66,6 +66,11 @@ &gmac0 {
status = "okay";
};
+&gpu {
+ mali-supply = <®_dcdc2>;
+ status = "okay";
+};
+
&mdio0 {
ext_rgmii_phy: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
diff --git a/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts b/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
index 59db10354..a96927fbd 100644
--- a/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
+++ b/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
@@ -54,6 +54,11 @@ &ehci1 {
status = "okay";
};
+&gpu {
+ mali-supply = <®_dcdc2>;
+ status = "okay";
+};
+
&mmc0 {
vmmc-supply = <®_vcc3v3>;
cd-gpios = <&pio 5 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PF6 */
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 142177c1f..b9eeb6753 100644
--- a/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
+++ b/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
@@ -76,6 +76,11 @@ &gmac0 {
status = "okay";
};
+&gpu {
+ mali-supply = <®_dcdc2>;
+ status = "okay";
+};
+
&mdio0 {
ext_rgmii_phy: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
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 5f97505ec..d07bb9193 100644
--- a/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts
+++ b/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts
@@ -95,6 +95,11 @@ &ehci1 {
status = "okay";
};
+&gpu {
+ mali-supply = <®_dcdc2>;
+ status = "okay";
+};
+
&mmc0 {
vmmc-supply = <®_cldo3>;
cd-gpios = <&pio 5 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PF6 */
--
2.50.0
On Fri, 11 Jul 2025 11:57:29 +0800
iuncuim <iuncuim@gmail.com> wrote:
> From: Mikhail Kalashnikov <iuncuim@gmail.com>
>
> All devices based on the A523/A527/H728/T527 processors contain a G57 MC1 GPU.
>
> Enable the DT nodes for this GPU and specify a regulator that supplies power
> to the SoC's VDD_GPU pins. The other parameters are set in the SoC dtsi,
> so are board independent.
Checked the schematics of the three boards where those are available,
and it's indeed DCDC2 there providing the voltage. For the X96QPro+,
regulators.txt in debugs confirms this as well.
> Signed-off-by: Mikhail Kalashnikov <iuncuim@gmail.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Cheers,
Andre
> ---
> arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts | 5 +++++
> arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts | 5 +++++
> arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts | 5 +++++
> arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts | 5 +++++
> 4 files changed, 20 insertions(+)
>
> 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 8bc0f2c72..553ad774e 100644
> --- a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts
> @@ -66,6 +66,11 @@ &gmac0 {
> status = "okay";
> };
>
> +&gpu {
> + mali-supply = <®_dcdc2>;
> + status = "okay";
> +};
> +
> &mdio0 {
> ext_rgmii_phy: ethernet-phy@1 {
> compatible = "ethernet-phy-ieee802.3-c22";
> diff --git a/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts b/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
> index 59db10354..a96927fbd 100644
> --- a/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
> @@ -54,6 +54,11 @@ &ehci1 {
> status = "okay";
> };
>
> +&gpu {
> + mali-supply = <®_dcdc2>;
> + status = "okay";
> +};
> +
> &mmc0 {
> vmmc-supply = <®_vcc3v3>;
> cd-gpios = <&pio 5 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PF6 */
> 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 142177c1f..b9eeb6753 100644
> --- a/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun55i-t527-avaota-a1.dts
> @@ -76,6 +76,11 @@ &gmac0 {
> status = "okay";
> };
>
> +&gpu {
> + mali-supply = <®_dcdc2>;
> + status = "okay";
> +};
> +
> &mdio0 {
> ext_rgmii_phy: ethernet-phy@1 {
> compatible = "ethernet-phy-ieee802.3-c22";
> 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 5f97505ec..d07bb9193 100644
> --- a/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun55i-t527-orangepi-4a.dts
> @@ -95,6 +95,11 @@ &ehci1 {
> status = "okay";
> };
>
> +&gpu {
> + mali-supply = <®_dcdc2>;
> + status = "okay";
> +};
> +
> &mmc0 {
> vmmc-supply = <®_cldo3>;
> cd-gpios = <&pio 5 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PF6 */
© 2016 - 2026 Red Hat, Inc.