2019-04-17 17:31:30

by Clément Péron

[permalink] [raw]
Subject: [PATCH v3 0/8] Allwinner H6 Mali GPU support

Hi,

The Allwinner H6 has a Mali-T720 MP2. The drivers are
out-of-tree so this series only introduce the dt-bindings.

The first patch is from Neil Amstrong and has been already
merged in linux-amlogic. It is required for this series.

The second patch is from Icenowy Zheng where I changed the
order has required by Rob Herring.
See: https://patchwork.kernel.org/patch/10699829/

Thanks,
Clement

Changes in v3 (Thanks to Maxime Ripard):
- Reauthor Icenowy for her path

Changes in v2 (Thanks to Maxime Ripard):
- Drop GPU OPP Table
- Add clocks and clock-names in required

Clément Péron (6):
dt-bindings: gpu: mali-midgard: Add h6 mali gpu compatible
arm64: dts: allwinner: Add ARM Mali GPU node for H6
arm64: dts: allwinner: Add mali GPU supply for Pine H64
arm64: dts: allwinner: Add mali GPU supply for Beelink GS1
arm64: dts: allwinner: Add mali GPU supply for OrangePi Boards
arm64: dts: allwinner: Add mali GPU supply for OrangePi 3

Icenowy Zheng (1):
dt-bindings: gpu: mali-midgard: Add bus clock bindings

Neil Armstrong (1):
dt-bindings: gpu: mali-midgard: Add resets property

.../bindings/gpu/arm,mali-midgard.txt | 27 +++++++++++++++++++
.../dts/allwinner/sun50i-h6-beelink-gs1.dts | 5 ++++
.../dts/allwinner/sun50i-h6-orangepi-3.dts | 5 ++++
.../dts/allwinner/sun50i-h6-orangepi.dtsi | 5 ++++
.../boot/dts/allwinner/sun50i-h6-pine-h64.dts | 5 ++++
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 14 ++++++++++
6 files changed, 61 insertions(+)

--
2.17.1


2019-04-17 17:31:34

by Clément Péron

[permalink] [raw]
Subject: [PATCH v3 1/8] dt-bindings: gpu: mali-midgard: Add resets property

From: Neil Armstrong <[email protected]>

The Amlogic ARM Mali Midgard requires reset controls to power on and
software reset the GPU, adds these as optional in the bindings.

Signed-off-by: Neil Armstrong <[email protected]>
Reviewed-by: Rob Herring <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
---
.../devicetree/bindings/gpu/arm,mali-midgard.txt | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt
index 18a2cde2e5f3..1b1a74129141 100644
--- a/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt
+++ b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt
@@ -37,6 +37,20 @@ Optional properties:
- operating-points-v2 : Refer to Documentation/devicetree/bindings/opp/opp.txt
for details.

+- resets : Phandle of the GPU reset line.
+
+Vendor-specific bindings
+------------------------
+
+The Mali GPU is integrated very differently from one SoC to
+another. In order to accomodate those differences, you have the option
+to specify one more vendor-specific compatible, among:
+
+- "amlogic,meson-gxm-mali"
+ Required properties:
+ - resets : Should contain phandles of :
+ + GPU reset line
+ + GPU APB glue reset line

Example for a Mali-T760:

--
2.17.1

2019-04-17 17:31:42

by Clément Péron

[permalink] [raw]
Subject: [PATCH v3 5/8] arm64: dts: allwinner: Add mali GPU supply for Pine H64

Enable and add supply to the Mali GPU node on the
Pine H64 board.

Signed-off-by: Clément Péron <[email protected]>
---
arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts | 5 +++++
1 file changed, 5 insertions(+)

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 4802902e128f..e16a8c6738f9 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
@@ -85,6 +85,11 @@
status = "okay";
};

+&gpu {
+ mali-supply = <&reg_dcdcc>;
+ status = "okay";
+};
+
&hdmi {
status = "okay";
};
--
2.17.1

2019-04-17 17:31:53

by Clément Péron

[permalink] [raw]
Subject: [PATCH v3 8/8] arm64: dts: allwinner: Add mali GPU supply for OrangePi 3

Enable and add supply to the Mali GPU node on the
Orange Pi 3 board.

Signed-off-by: Clément Péron <[email protected]>
---
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts | 5 +++++
1 file changed, 5 insertions(+)

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 17d496990108..d4c989cc92a7 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
@@ -58,6 +58,11 @@
status = "okay";
};

+&gpu {
+ mali-supply = <&reg_dcdcc>;
+ status = "okay";
+};
+
&mmc0 {
vmmc-supply = <&reg_cldo1>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
--
2.17.1

2019-04-17 17:32:04

by Clément Péron

[permalink] [raw]
Subject: [PATCH v3 6/8] arm64: dts: allwinner: Add mali GPU supply for Beelink GS1

Enable and add supply to the Mali GPU node on the
Beelink GS1 board.

Signed-off-by: Clément Péron <[email protected]>
---
arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 5 +++++
1 file changed, 5 insertions(+)

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 0dc33c90dd60..21440d572f0a 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
@@ -70,6 +70,11 @@
status = "okay";
};

+&gpu {
+ mali-supply = <&reg_dcdcc>;
+ status = "okay";
+};
+
&hdmi {
status = "okay";
};
--
2.17.1

2019-04-17 17:32:13

by Clément Péron

[permalink] [raw]
Subject: [PATCH v3 7/8] arm64: dts: allwinner: Add mali GPU supply for OrangePi Boards

Enable and add supply to the Mali GPU node on the
Orange Pi One Plus and Lite2 boards.

Signed-off-by: Clément Péron <[email protected]>
---
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
index 62e27948a3fa..bd13297555ab 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
@@ -55,6 +55,11 @@
status = "okay";
};

+&gpu {
+ mali-supply = <&reg_dcdcc>;
+ status = "okay";
+};
+
&mmc0 {
vmmc-supply = <&reg_cldo1>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
--
2.17.1

2019-04-17 17:32:44

by Clément Péron

[permalink] [raw]
Subject: [PATCH v3 3/8] dt-bindings: gpu: mali-midgard: Add h6 mali gpu compatible

This add the H6 mali compatible in the dt-bindings to later support
specific implementation.

Signed-off-by: Clément Péron <[email protected]>
---
.../devicetree/bindings/gpu/arm,mali-midgard.txt | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt
index 2e8bbce35695..4bf17e1cf555 100644
--- a/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt
+++ b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt
@@ -15,6 +15,7 @@ Required properties:
+ "arm,mali-t860"
+ "arm,mali-t880"
* which must be preceded by one of the following vendor specifics:
+ + "allwinner,sun50i-h6-mali"
+ "amlogic,meson-gxm-mali"
+ "rockchip,rk3288-mali"
+ "rockchip,rk3399-mali"
@@ -49,9 +50,15 @@ Vendor-specific bindings
------------------------

The Mali GPU is integrated very differently from one SoC to
-another. In order to accomodate those differences, you have the option
+another. In order to accommodate those differences, you have the option
to specify one more vendor-specific compatible, among:

+- "allwinner,sun50i-h6-mali"
+ Required properties:
+ - clocks : phandles to core and bus clocks
+ - clock-names : must contain "core" and "bus"
+ - resets: phandle to GPU reset line
+
- "amlogic,meson-gxm-mali"
Required properties:
- resets : Should contain phandles of :
--
2.17.1

2019-04-17 17:34:05

by Clément Péron

[permalink] [raw]
Subject: [PATCH v3 4/8] arm64: dts: allwinner: Add ARM Mali GPU node for H6

Add the mali gpu node to the H6 device-tree.

Signed-off-by: Clément Péron <[email protected]>
---
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
index 16c5c3d0fd81..6aad06095c40 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -157,6 +157,20 @@
allwinner,sram = <&ve_sram 1>;
};

+ gpu: gpu@1800000 {
+ compatible = "allwinner,sun50i-h6-mali",
+ "arm,mali-t720";
+ reg = <0x01800000 0x4000>;
+ interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "job", "mmu", "gpu";
+ clocks = <&ccu CLK_GPU>, <&ccu CLK_BUS_GPU>;
+ clock-names = "core", "bus";
+ resets = <&ccu RST_BUS_GPU>;
+ status = "disabled";
+ };
+
syscon: syscon@3000000 {
compatible = "allwinner,sun50i-h6-system-control",
"allwinner,sun50i-a64-system-control";
--
2.17.1

2019-04-17 17:34:13

by Clément Péron

[permalink] [raw]
Subject: [PATCH v3 2/8] dt-bindings: gpu: mali-midgard: Add bus clock bindings

From: Icenowy Zheng <[email protected]>

Some SoCs adds a bus clock gate to the Mali Midgard GPU.

Add the binding for the bus clock.

Signed-off-by: Icenowy Zheng <[email protected]>
Signed-off-by: Clément Péron <[email protected]>
---
Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt
index 1b1a74129141..2e8bbce35695 100644
--- a/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt
+++ b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt
@@ -31,6 +31,12 @@ Optional properties:

- clocks : Phandle to clock for the Mali Midgard device.

+- clock-names : Specify the names of the clocks specified in clocks
+ when multiple clocks are present.
+ * core: clock driving the GPU itself (When only one clock is present,
+ assume it's this clock.)
+ * bus: bus clock for the GPU
+
- mali-supply : Phandle to regulator for the Mali device. Refer to
Documentation/devicetree/bindings/regulator/regulator.txt for details.

--
2.17.1

2019-04-26 22:54:31

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v3 3/8] dt-bindings: gpu: mali-midgard: Add h6 mali gpu compatible

On Wed, 17 Apr 2019 19:30:26 +0200, =?UTF-8?q?Cl=C3=A9ment=20P=C3=A9ron?= wrote:
> This add the H6 mali compatible in the dt-bindings to later support
> specific implementation.
>
> Signed-off-by: Cl?ment P?ron <[email protected]>
> ---
> .../devicetree/bindings/gpu/arm,mali-midgard.txt | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>

Reviewed-by: Rob Herring <[email protected]>

2019-04-26 22:54:36

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v3 2/8] dt-bindings: gpu: mali-midgard: Add bus clock bindings

On Wed, Apr 17, 2019 at 07:30:25PM +0200, Cl?ment P?ron wrote:
> From: Icenowy Zheng <[email protected]>
>
> Some SoCs adds a bus clock gate to the Mali Midgard GPU.
>
> Add the binding for the bus clock.
>
> Signed-off-by: Icenowy Zheng <[email protected]>
> Signed-off-by: Cl?ment P?ron <[email protected]>
> ---
> Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt | 6 ++++++
> 1 file changed, 6 insertions(+)

The panfrost driver is merged now (to drm-misc) if you want to add
support for the 2nd clock.

Reviewed-by: Rob Herring <[email protected]>

2019-05-11 16:41:16

by Clément Péron

[permalink] [raw]
Subject: Re: [PATCH v3 0/8] Allwinner H6 Mali GPU support

Hi Maxime,

Is this series ok for you ?

Thanks,
Clement

On Wed, 17 Apr 2019 at 19:30, Clément Péron <[email protected]> wrote:
>
> Hi,
>
> The Allwinner H6 has a Mali-T720 MP2. The drivers are
> out-of-tree so this series only introduce the dt-bindings.
>
> The first patch is from Neil Amstrong and has been already
> merged in linux-amlogic. It is required for this series.
>
> The second patch is from Icenowy Zheng where I changed the
> order has required by Rob Herring.
> See: https://patchwork.kernel.org/patch/10699829/
>
> Thanks,
> Clement
>
> Changes in v3 (Thanks to Maxime Ripard):
> - Reauthor Icenowy for her path
>
> Changes in v2 (Thanks to Maxime Ripard):
> - Drop GPU OPP Table
> - Add clocks and clock-names in required
>
> Clément Péron (6):
> dt-bindings: gpu: mali-midgard: Add h6 mali gpu compatible
> arm64: dts: allwinner: Add ARM Mali GPU node for H6
> arm64: dts: allwinner: Add mali GPU supply for Pine H64
> arm64: dts: allwinner: Add mali GPU supply for Beelink GS1
> arm64: dts: allwinner: Add mali GPU supply for OrangePi Boards
> arm64: dts: allwinner: Add mali GPU supply for OrangePi 3
>
> Icenowy Zheng (1):
> dt-bindings: gpu: mali-midgard: Add bus clock bindings
>
> Neil Armstrong (1):
> dt-bindings: gpu: mali-midgard: Add resets property
>
> .../bindings/gpu/arm,mali-midgard.txt | 27 +++++++++++++++++++
> .../dts/allwinner/sun50i-h6-beelink-gs1.dts | 5 ++++
> .../dts/allwinner/sun50i-h6-orangepi-3.dts | 5 ++++
> .../dts/allwinner/sun50i-h6-orangepi.dtsi | 5 ++++
> .../boot/dts/allwinner/sun50i-h6-pine-h64.dts | 5 ++++
> arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 14 ++++++++++
> 6 files changed, 61 insertions(+)
>
> --
> 2.17.1
>

2019-05-12 13:46:19

by Maxime Ripard

[permalink] [raw]
Subject: Re: [PATCH v3 0/8] Allwinner H6 Mali GPU support

On Sat, May 11, 2019 at 06:39:39PM +0200, Cl?ment P?ron wrote:
> Hi Maxime,
>
> Is this series ok for you ?

I'm not the maintainer of that binding, so I'd need a ack from whoever
that is.

Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


Attachments:
(No filename) (296.00 B)
signature.asc (235.00 B)
Download all attachments

2019-05-12 16:23:45

by Clément Péron

[permalink] [raw]
Subject: Re: [PATCH v3 0/8] Allwinner H6 Mali GPU support

Hi,

On Sun, 12 May 2019 at 15:45, Maxime Ripard <[email protected]> wrote:
>
> On Sat, May 11, 2019 at 06:39:39PM +0200, Clément Péron wrote:
> > Hi Maxime,
> >
> > Is this series ok for you ?
>
> I'm not the maintainer of that binding, so I'd need a ack from whoever
> that is.

Indeed, I will collect Rob H. reviewed and resent with the correct maintainer.

Regards,
Clement

>
> Maxime
>
> --
> Maxime Ripard, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com