linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/8] Add Allwinner H6 Mali Midgard gpu node
@ 2019-04-10 23:25 Clément Péron
  2019-04-10 23:25 ` [PATCH 1/8] dt-bindings: gpu: mali-midgard: Add resets property Clément Péron
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Clément Péron @ 2019-04-10 23:25 UTC (permalink / raw)
  To: Rob Herring, Maxime Ripard, Chen-Yu Tsai, Icenowy Zheng,
	Jagan Teki, Jernej Skrabec
  Cc: devicetree, linux-kernel, linux-arm-kernel, dri-devel,
	linux-sunxi, Clément Péron

Hi,

The Allwinner H6 has a Mali-T720 MP2. The drivers are
out-of-tree so this serie 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 serie.

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

The GPU opp table is taken from Jernej Škrabec's patch
on LibreELEC.tv.

Thanks,
Clement

Clément Péron (7):
  dt-bindings: gpu: add bus clock for Mali Midgard GPUs
  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

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

 .../bindings/gpu/arm,mali-midgard.txt         | 26 ++++++
 .../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  | 80 +++++++++++++++++++
 6 files changed, 126 insertions(+)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 1/8] dt-bindings: gpu: mali-midgard: Add resets property
  2019-04-10 23:25 [PATCH 0/8] Add Allwinner H6 Mali Midgard gpu node Clément Péron
@ 2019-04-10 23:25 ` Clément Péron
  2019-04-10 23:25 ` [PATCH 2/8] dt-bindings: gpu: add bus clock for Mali Midgard GPUs Clément Péron
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Clément Péron @ 2019-04-10 23:25 UTC (permalink / raw)
  To: Rob Herring, Maxime Ripard, Chen-Yu Tsai, Icenowy Zheng,
	Jagan Teki, Jernej Skrabec
  Cc: devicetree, linux-kernel, linux-arm-kernel, dri-devel,
	linux-sunxi, Neil Armstrong, Kevin Hilman

From: Neil Armstrong <narmstrong@baylibre.com>

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 <narmstrong@baylibre.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
---
 .../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


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 2/8] dt-bindings: gpu: add bus clock for Mali Midgard GPUs
  2019-04-10 23:25 [PATCH 0/8] Add Allwinner H6 Mali Midgard gpu node Clément Péron
  2019-04-10 23:25 ` [PATCH 1/8] dt-bindings: gpu: mali-midgard: Add resets property Clément Péron
@ 2019-04-10 23:25 ` Clément Péron
  2019-04-10 23:25 ` [PATCH 3/8] dt-bindings: gpu: mali-midgard: Add h6 mali gpu compatible Clément Péron
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Clément Péron @ 2019-04-10 23:25 UTC (permalink / raw)
  To: Rob Herring, Maxime Ripard, Chen-Yu Tsai, Icenowy Zheng,
	Jagan Teki, Jernej Skrabec
  Cc: devicetree, linux-kernel, linux-arm-kernel, dri-devel,
	linux-sunxi, Clément Péron

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

Add the binding for the bus clock.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 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


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 3/8] dt-bindings: gpu: mali-midgard: Add h6 mali gpu compatible
  2019-04-10 23:25 [PATCH 0/8] Add Allwinner H6 Mali Midgard gpu node Clément Péron
  2019-04-10 23:25 ` [PATCH 1/8] dt-bindings: gpu: mali-midgard: Add resets property Clément Péron
  2019-04-10 23:25 ` [PATCH 2/8] dt-bindings: gpu: add bus clock for Mali Midgard GPUs Clément Péron
@ 2019-04-10 23:25 ` Clément Péron
  2019-04-11  7:27   ` Maxime Ripard
  2019-04-10 23:25 ` [PATCH 4/8] arm64: dts: allwinner: Add ARM Mali GPU node for H6 Clément Péron
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Clément Péron @ 2019-04-10 23:25 UTC (permalink / raw)
  To: Rob Herring, Maxime Ripard, Chen-Yu Tsai, Icenowy Zheng,
	Jagan Teki, Jernej Skrabec
  Cc: devicetree, linux-kernel, linux-arm-kernel, dri-devel,
	linux-sunxi, Clément Péron

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

Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 .../devicetree/bindings/gpu/arm,mali-midgard.txt          | 8 +++++++-
 1 file changed, 7 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..9e71146b5c8a 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,14 @@ 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:
+  - resets: Should contain phandle of :
+    + GPU reset line
+
 - "amlogic,meson-gxm-mali"
   Required properties:
   - resets : Should contain phandles of :
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 4/8] arm64: dts: allwinner: Add ARM Mali GPU node for H6
  2019-04-10 23:25 [PATCH 0/8] Add Allwinner H6 Mali Midgard gpu node Clément Péron
                   ` (2 preceding siblings ...)
  2019-04-10 23:25 ` [PATCH 3/8] dt-bindings: gpu: mali-midgard: Add h6 mali gpu compatible Clément Péron
@ 2019-04-10 23:25 ` Clément Péron
  2019-04-11  7:28   ` Maxime Ripard
  2019-04-10 23:25 ` [PATCH 5/8] arm64: dts: allwinner: Add mali GPU supply for Pine H64 Clément Péron
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Clément Péron @ 2019-04-10 23:25 UTC (permalink / raw)
  To: Rob Herring, Maxime Ripard, Chen-Yu Tsai, Icenowy Zheng,
	Jagan Teki, Jernej Skrabec
  Cc: devicetree, linux-kernel, linux-arm-kernel, dri-devel,
	linux-sunxi, Clément Péron

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

Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 80 ++++++++++++++++++++
 1 file changed, 80 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
index e0dc4a05c1ba..152b2128aadf 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -17,6 +17,71 @@
 	#address-cells = <1>;
 	#size-cells = <1>;
 
+	gpu_opp_table: opp_table1 {
+		compatible = "operating-points-v2";
+
+		opp@756000000 {
+			opp-hz = /bits/ 64 <756000000>;
+			opp-microvolt = <1040000>;
+		};
+		opp@624000000 {
+			opp-hz = /bits/ 64 <624000000>;
+			opp-microvolt = <950000>;
+		};
+		opp@576000000 {
+			opp-hz = /bits/ 64 <576000000>;
+			opp-microvolt = <930000>;
+		};
+		opp@540000000 {
+			opp-hz = /bits/ 64 <540000000>;
+			opp-microvolt = <910000>;
+		};
+		opp@504000000 {
+			opp-hz = /bits/ 64 <504000000>;
+			opp-microvolt = <890000>;
+		};
+		opp@456000000 {
+			opp-hz = /bits/ 64 <456000000>;
+			opp-microvolt = <870000>;
+		};
+		opp@432000000 {
+			opp-hz = /bits/ 64 <432000000>;
+			opp-microvolt = <860000>;
+		};
+		opp@420000000 {
+			opp-hz = /bits/ 64 <420000000>;
+			opp-microvolt = <850000>;
+		};
+		opp@408000000 {
+			opp-hz = /bits/ 64 <408000000>;
+			opp-microvolt = <840000>;
+		};
+		opp@384000000 {
+			opp-hz = /bits/ 64 <384000000>;
+			opp-microvolt = <830000>;
+		};
+		opp@360000000 {
+			opp-hz = /bits/ 64 <360000000>;
+			opp-microvolt = <820000>;
+		};
+		opp@336000000 {
+			opp-hz = /bits/ 64 <336000000>;
+			opp-microvolt = <810000>;
+		};
+		opp@312000000 {
+			opp-hz = /bits/ 64 <312000000>;
+			opp-microvolt = <810000>;
+		};
+		opp@264000000 {
+			opp-hz = /bits/ 64 <264000000>;
+			opp-microvolt = <810000>;
+		};
+		opp@216000000 {
+			opp-hz = /bits/ 64 <216000000>;
+			opp-microvolt = <810000>;
+		};
+	};
+
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
@@ -157,6 +222,21 @@
 			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>;
+			operating-points-v2 = <&gpu_opp_table>;
+			status = "disabled";
+		};
+
 		syscon: syscon@3000000 {
 			compatible = "allwinner,sun50i-h6-system-control",
 				     "allwinner,sun50i-a64-system-control";
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 5/8] arm64: dts: allwinner: Add mali GPU supply for Pine H64
  2019-04-10 23:25 [PATCH 0/8] Add Allwinner H6 Mali Midgard gpu node Clément Péron
                   ` (3 preceding siblings ...)
  2019-04-10 23:25 ` [PATCH 4/8] arm64: dts: allwinner: Add ARM Mali GPU node for H6 Clément Péron
@ 2019-04-10 23:25 ` Clément Péron
  2019-04-10 23:25 ` [PATCH 6/8] arm64: dts: allwinner: Add mali GPU supply for Beelink GS1 Clément Péron
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Clément Péron @ 2019-04-10 23:25 UTC (permalink / raw)
  To: Rob Herring, Maxime Ripard, Chen-Yu Tsai, Icenowy Zheng,
	Jagan Teki, Jernej Skrabec
  Cc: devicetree, linux-kernel, linux-arm-kernel, dri-devel,
	linux-sunxi, Clément Péron

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

Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 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


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 6/8] arm64: dts: allwinner: Add mali GPU supply for Beelink GS1
  2019-04-10 23:25 [PATCH 0/8] Add Allwinner H6 Mali Midgard gpu node Clément Péron
                   ` (4 preceding siblings ...)
  2019-04-10 23:25 ` [PATCH 5/8] arm64: dts: allwinner: Add mali GPU supply for Pine H64 Clément Péron
@ 2019-04-10 23:25 ` Clément Péron
  2019-04-10 23:25 ` [PATCH 7/8] arm64: dts: allwinner: Add mali GPU supply for OrangePi Boards Clément Péron
  2019-04-10 23:25 ` [PATCH 8/8] arm64: dts: allwinner: Add mali GPU supply for OrangePi 3 Clément Péron
  7 siblings, 0 replies; 14+ messages in thread
From: Clément Péron @ 2019-04-10 23:25 UTC (permalink / raw)
  To: Rob Herring, Maxime Ripard, Chen-Yu Tsai, Icenowy Zheng,
	Jagan Teki, Jernej Skrabec
  Cc: devicetree, linux-kernel, linux-arm-kernel, dri-devel,
	linux-sunxi, Clément Péron

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

Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 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


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 7/8] arm64: dts: allwinner: Add mali GPU supply for OrangePi Boards
  2019-04-10 23:25 [PATCH 0/8] Add Allwinner H6 Mali Midgard gpu node Clément Péron
                   ` (5 preceding siblings ...)
  2019-04-10 23:25 ` [PATCH 6/8] arm64: dts: allwinner: Add mali GPU supply for Beelink GS1 Clément Péron
@ 2019-04-10 23:25 ` Clément Péron
  2019-04-10 23:25 ` [PATCH 8/8] arm64: dts: allwinner: Add mali GPU supply for OrangePi 3 Clément Péron
  7 siblings, 0 replies; 14+ messages in thread
From: Clément Péron @ 2019-04-10 23:25 UTC (permalink / raw)
  To: Rob Herring, Maxime Ripard, Chen-Yu Tsai, Icenowy Zheng,
	Jagan Teki, Jernej Skrabec
  Cc: devicetree, linux-kernel, linux-arm-kernel, dri-devel,
	linux-sunxi, Clément Péron

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 <peron.clem@gmail.com>
---
 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


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 8/8] arm64: dts: allwinner: Add mali GPU supply for OrangePi 3
  2019-04-10 23:25 [PATCH 0/8] Add Allwinner H6 Mali Midgard gpu node Clément Péron
                   ` (6 preceding siblings ...)
  2019-04-10 23:25 ` [PATCH 7/8] arm64: dts: allwinner: Add mali GPU supply for OrangePi Boards Clément Péron
@ 2019-04-10 23:25 ` Clément Péron
  7 siblings, 0 replies; 14+ messages in thread
From: Clément Péron @ 2019-04-10 23:25 UTC (permalink / raw)
  To: Rob Herring, Maxime Ripard, Chen-Yu Tsai, Icenowy Zheng,
	Jagan Teki, Jernej Skrabec
  Cc: devicetree, linux-kernel, linux-arm-kernel, dri-devel,
	linux-sunxi, Clément Péron

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

Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 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


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 3/8] dt-bindings: gpu: mali-midgard: Add h6 mali gpu compatible
  2019-04-10 23:25 ` [PATCH 3/8] dt-bindings: gpu: mali-midgard: Add h6 mali gpu compatible Clément Péron
@ 2019-04-11  7:27   ` Maxime Ripard
  2019-04-11  8:03     ` Clément Péron
  0 siblings, 1 reply; 14+ messages in thread
From: Maxime Ripard @ 2019-04-11  7:27 UTC (permalink / raw)
  To: Clément Péron
  Cc: Rob Herring, Chen-Yu Tsai, Icenowy Zheng, Jagan Teki,
	Jernej Skrabec, devicetree, linux-kernel, linux-arm-kernel,
	dri-devel, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 1592 bytes --]

On Thu, Apr 11, 2019 at 01:25:38AM +0200, Clément Péron wrote:
> This add the H6 mali compatible in the dt-bindings to later support
> specific implementation.
>
> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> ---
>  .../devicetree/bindings/gpu/arm,mali-midgard.txt          | 8 +++++++-
>  1 file changed, 7 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..9e71146b5c8a 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,14 @@ 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:
> +  - resets: Should contain phandle of :
> +    + GPU reset line
> +

And clocks, I assume?

Maxime

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 4/8] arm64: dts: allwinner: Add ARM Mali GPU node for H6
  2019-04-10 23:25 ` [PATCH 4/8] arm64: dts: allwinner: Add ARM Mali GPU node for H6 Clément Péron
@ 2019-04-11  7:28   ` Maxime Ripard
  2019-04-11  7:56     ` Clément Péron
  0 siblings, 1 reply; 14+ messages in thread
From: Maxime Ripard @ 2019-04-11  7:28 UTC (permalink / raw)
  To: Clément Péron
  Cc: Rob Herring, Chen-Yu Tsai, Icenowy Zheng, Jagan Teki,
	Jernej Skrabec, devicetree, linux-kernel, linux-arm-kernel,
	dri-devel, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 2397 bytes --]

On Thu, Apr 11, 2019 at 01:25:39AM +0200, Clément Péron wrote:
> Add the mali gpu node to the H6 device-tree.
>
> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> ---
>  arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 80 ++++++++++++++++++++
>  1 file changed, 80 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> index e0dc4a05c1ba..152b2128aadf 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> @@ -17,6 +17,71 @@
>  	#address-cells = <1>;
>  	#size-cells = <1>;
>
> +	gpu_opp_table: opp_table1 {
> +		compatible = "operating-points-v2";
> +
> +		opp@756000000 {
> +			opp-hz = /bits/ 64 <756000000>;
> +			opp-microvolt = <1040000>;
> +		};
> +		opp@624000000 {
> +			opp-hz = /bits/ 64 <624000000>;
> +			opp-microvolt = <950000>;
> +		};
> +		opp@576000000 {
> +			opp-hz = /bits/ 64 <576000000>;
> +			opp-microvolt = <930000>;
> +		};
> +		opp@540000000 {
> +			opp-hz = /bits/ 64 <540000000>;
> +			opp-microvolt = <910000>;
> +		};
> +		opp@504000000 {
> +			opp-hz = /bits/ 64 <504000000>;
> +			opp-microvolt = <890000>;
> +		};
> +		opp@456000000 {
> +			opp-hz = /bits/ 64 <456000000>;
> +			opp-microvolt = <870000>;
> +		};
> +		opp@432000000 {
> +			opp-hz = /bits/ 64 <432000000>;
> +			opp-microvolt = <860000>;
> +		};
> +		opp@420000000 {
> +			opp-hz = /bits/ 64 <420000000>;
> +			opp-microvolt = <850000>;
> +		};
> +		opp@408000000 {
> +			opp-hz = /bits/ 64 <408000000>;
> +			opp-microvolt = <840000>;
> +		};
> +		opp@384000000 {
> +			opp-hz = /bits/ 64 <384000000>;
> +			opp-microvolt = <830000>;
> +		};
> +		opp@360000000 {
> +			opp-hz = /bits/ 64 <360000000>;
> +			opp-microvolt = <820000>;
> +		};
> +		opp@336000000 {
> +			opp-hz = /bits/ 64 <336000000>;
> +			opp-microvolt = <810000>;
> +		};
> +		opp@312000000 {
> +			opp-hz = /bits/ 64 <312000000>;
> +			opp-microvolt = <810000>;
> +		};
> +		opp@264000000 {
> +			opp-hz = /bits/ 64 <264000000>;
> +			opp-microvolt = <810000>;
> +		};
> +		opp@216000000 {
> +			opp-hz = /bits/ 64 <216000000>;
> +			opp-microvolt = <810000>;
> +		};
> +	};
> +

How were those OPPs tested?

Maxime

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 4/8] arm64: dts: allwinner: Add ARM Mali GPU node for H6
  2019-04-11  7:28   ` Maxime Ripard
@ 2019-04-11  7:56     ` Clément Péron
  2019-04-11  9:12       ` Maxime Ripard
  0 siblings, 1 reply; 14+ messages in thread
From: Clément Péron @ 2019-04-11  7:56 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Rob Herring, Chen-Yu Tsai, Icenowy Zheng, Jagan Teki,
	Jernej Skrabec, devicetree, linux-kernel, linux-arm-kernel,
	dri-devel, linux-sunxi

Hi,

On Thu, 11 Apr 2019 at 09:28, Maxime Ripard <maxime.ripard@bootlin.com> wrote:
>
> On Thu, Apr 11, 2019 at 01:25:39AM +0200, Clément Péron wrote:
> > Add the mali gpu node to the H6 device-tree.
> >
> > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > ---
> >  arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 80 ++++++++++++++++++++
> >  1 file changed, 80 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> > index e0dc4a05c1ba..152b2128aadf 100644
> > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> > @@ -17,6 +17,71 @@
> >       #address-cells = <1>;
> >       #size-cells = <1>;
> >
> > +     gpu_opp_table: opp_table1 {
> > +             compatible = "operating-points-v2";
> > +
> > +             opp@756000000 {
> > +                     opp-hz = /bits/ 64 <756000000>;
> > +                     opp-microvolt = <1040000>;
> > +             };
> > +             opp@624000000 {
> > +                     opp-hz = /bits/ 64 <624000000>;
> > +                     opp-microvolt = <950000>;
> > +             };
> > +             opp@576000000 {
> > +                     opp-hz = /bits/ 64 <576000000>;
> > +                     opp-microvolt = <930000>;
> > +             };
> > +             opp@540000000 {
> > +                     opp-hz = /bits/ 64 <540000000>;
> > +                     opp-microvolt = <910000>;
> > +             };
> > +             opp@504000000 {
> > +                     opp-hz = /bits/ 64 <504000000>;
> > +                     opp-microvolt = <890000>;
> > +             };
> > +             opp@456000000 {
> > +                     opp-hz = /bits/ 64 <456000000>;
> > +                     opp-microvolt = <870000>;
> > +             };
> > +             opp@432000000 {
> > +                     opp-hz = /bits/ 64 <432000000>;
> > +                     opp-microvolt = <860000>;
> > +             };
> > +             opp@420000000 {
> > +                     opp-hz = /bits/ 64 <420000000>;
> > +                     opp-microvolt = <850000>;
> > +             };
> > +             opp@408000000 {
> > +                     opp-hz = /bits/ 64 <408000000>;
> > +                     opp-microvolt = <840000>;
> > +             };
> > +             opp@384000000 {
> > +                     opp-hz = /bits/ 64 <384000000>;
> > +                     opp-microvolt = <830000>;
> > +             };
> > +             opp@360000000 {
> > +                     opp-hz = /bits/ 64 <360000000>;
> > +                     opp-microvolt = <820000>;
> > +             };
> > +             opp@336000000 {
> > +                     opp-hz = /bits/ 64 <336000000>;
> > +                     opp-microvolt = <810000>;
> > +             };
> > +             opp@312000000 {
> > +                     opp-hz = /bits/ 64 <312000000>;
> > +                     opp-microvolt = <810000>;
> > +             };
> > +             opp@264000000 {
> > +                     opp-hz = /bits/ 64 <264000000>;
> > +                     opp-microvolt = <810000>;
> > +             };
> > +             opp@216000000 {
> > +                     opp-hz = /bits/ 64 <216000000>;
> > +                     opp-microvolt = <810000>;
> > +             };
> > +     };
> > +
>
> How were those OPPs tested?

They are taken from the vendor device tree.
https://github.com/Allwinner-Homlet/H6-BSP4.9-linux/blob/master/arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi#L2121

Clement

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

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 3/8] dt-bindings: gpu: mali-midgard: Add h6 mali gpu compatible
  2019-04-11  7:27   ` Maxime Ripard
@ 2019-04-11  8:03     ` Clément Péron
  0 siblings, 0 replies; 14+ messages in thread
From: Clément Péron @ 2019-04-11  8:03 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Rob Herring, Chen-Yu Tsai, Icenowy Zheng, Jagan Teki,
	Jernej Skrabec, devicetree, linux-kernel, linux-arm-kernel,
	dri-devel, linux-sunxi

Hi,

On Thu, 11 Apr 2019 at 09:27, Maxime Ripard <maxime.ripard@bootlin.com> wrote:
>
> On Thu, Apr 11, 2019 at 01:25:38AM +0200, Clément Péron wrote:
> > This add the H6 mali compatible in the dt-bindings to later support
> > specific implementation.
> >
> > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > ---
> >  .../devicetree/bindings/gpu/arm,mali-midgard.txt          | 8 +++++++-
> >  1 file changed, 7 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..9e71146b5c8a 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,14 @@ 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:
> > +  - resets: Should contain phandle of :
> > +    + GPU reset line
> > +
>
> And clocks, I assume?
Yes you're right clocks are also required for the H6.

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

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 4/8] arm64: dts: allwinner: Add ARM Mali GPU node for H6
  2019-04-11  7:56     ` Clément Péron
@ 2019-04-11  9:12       ` Maxime Ripard
  0 siblings, 0 replies; 14+ messages in thread
From: Maxime Ripard @ 2019-04-11  9:12 UTC (permalink / raw)
  To: Clément Péron
  Cc: Rob Herring, Chen-Yu Tsai, Icenowy Zheng, Jagan Teki,
	Jernej Skrabec, devicetree, linux-kernel, linux-arm-kernel,
	dri-devel, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 4006 bytes --]

On Thu, Apr 11, 2019 at 09:56:15AM +0200, Clément Péron wrote:
> Hi,
>
> On Thu, 11 Apr 2019 at 09:28, Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> >
> > On Thu, Apr 11, 2019 at 01:25:39AM +0200, Clément Péron wrote:
> > > Add the mali gpu node to the H6 device-tree.
> > >
> > > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > > ---
> > >  arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 80 ++++++++++++++++++++
> > >  1 file changed, 80 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> > > index e0dc4a05c1ba..152b2128aadf 100644
> > > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> > > @@ -17,6 +17,71 @@
> > >       #address-cells = <1>;
> > >       #size-cells = <1>;
> > >
> > > +     gpu_opp_table: opp_table1 {
> > > +             compatible = "operating-points-v2";
> > > +
> > > +             opp@756000000 {
> > > +                     opp-hz = /bits/ 64 <756000000>;
> > > +                     opp-microvolt = <1040000>;
> > > +             };
> > > +             opp@624000000 {
> > > +                     opp-hz = /bits/ 64 <624000000>;
> > > +                     opp-microvolt = <950000>;
> > > +             };
> > > +             opp@576000000 {
> > > +                     opp-hz = /bits/ 64 <576000000>;
> > > +                     opp-microvolt = <930000>;
> > > +             };
> > > +             opp@540000000 {
> > > +                     opp-hz = /bits/ 64 <540000000>;
> > > +                     opp-microvolt = <910000>;
> > > +             };
> > > +             opp@504000000 {
> > > +                     opp-hz = /bits/ 64 <504000000>;
> > > +                     opp-microvolt = <890000>;
> > > +             };
> > > +             opp@456000000 {
> > > +                     opp-hz = /bits/ 64 <456000000>;
> > > +                     opp-microvolt = <870000>;
> > > +             };
> > > +             opp@432000000 {
> > > +                     opp-hz = /bits/ 64 <432000000>;
> > > +                     opp-microvolt = <860000>;
> > > +             };
> > > +             opp@420000000 {
> > > +                     opp-hz = /bits/ 64 <420000000>;
> > > +                     opp-microvolt = <850000>;
> > > +             };
> > > +             opp@408000000 {
> > > +                     opp-hz = /bits/ 64 <408000000>;
> > > +                     opp-microvolt = <840000>;
> > > +             };
> > > +             opp@384000000 {
> > > +                     opp-hz = /bits/ 64 <384000000>;
> > > +                     opp-microvolt = <830000>;
> > > +             };
> > > +             opp@360000000 {
> > > +                     opp-hz = /bits/ 64 <360000000>;
> > > +                     opp-microvolt = <820000>;
> > > +             };
> > > +             opp@336000000 {
> > > +                     opp-hz = /bits/ 64 <336000000>;
> > > +                     opp-microvolt = <810000>;
> > > +             };
> > > +             opp@312000000 {
> > > +                     opp-hz = /bits/ 64 <312000000>;
> > > +                     opp-microvolt = <810000>;
> > > +             };
> > > +             opp@264000000 {
> > > +                     opp-hz = /bits/ 64 <264000000>;
> > > +                     opp-microvolt = <810000>;
> > > +             };
> > > +             opp@216000000 {
> > > +                     opp-hz = /bits/ 64 <216000000>;
> > > +                     opp-microvolt = <810000>;
> > > +             };
> > > +     };
> > > +
> >
> > How were those OPPs tested?
>
> They are taken from the vendor device tree.
> https://github.com/Allwinner-Homlet/H6-BSP4.9-linux/blob/master/arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi#L2121

Please remove them if you haven't tested them then.

Maxime

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2019-04-11  9:12 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-10 23:25 [PATCH 0/8] Add Allwinner H6 Mali Midgard gpu node Clément Péron
2019-04-10 23:25 ` [PATCH 1/8] dt-bindings: gpu: mali-midgard: Add resets property Clément Péron
2019-04-10 23:25 ` [PATCH 2/8] dt-bindings: gpu: add bus clock for Mali Midgard GPUs Clément Péron
2019-04-10 23:25 ` [PATCH 3/8] dt-bindings: gpu: mali-midgard: Add h6 mali gpu compatible Clément Péron
2019-04-11  7:27   ` Maxime Ripard
2019-04-11  8:03     ` Clément Péron
2019-04-10 23:25 ` [PATCH 4/8] arm64: dts: allwinner: Add ARM Mali GPU node for H6 Clément Péron
2019-04-11  7:28   ` Maxime Ripard
2019-04-11  7:56     ` Clément Péron
2019-04-11  9:12       ` Maxime Ripard
2019-04-10 23:25 ` [PATCH 5/8] arm64: dts: allwinner: Add mali GPU supply for Pine H64 Clément Péron
2019-04-10 23:25 ` [PATCH 6/8] arm64: dts: allwinner: Add mali GPU supply for Beelink GS1 Clément Péron
2019-04-10 23:25 ` [PATCH 7/8] arm64: dts: allwinner: Add mali GPU supply for OrangePi Boards Clément Péron
2019-04-10 23:25 ` [PATCH 8/8] arm64: dts: allwinner: Add mali GPU supply for OrangePi 3 Clément Péron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).