[linux] 08/09: [armhf] Add ARM Mali Midgard device tree bindings and gpu node for rk3288

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Mon Jul 17 00:38:49 UTC 2017


This is an automated email from the git hooks/post-receive script.

benh pushed a commit to branch sid
in repository linux.

commit 4e322430eca8d8e6be97fb20e9cb4e9ee1a13582
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Mon Jul 17 01:05:51 2017 +0100

    [armhf] Add ARM Mali Midgard device tree bindings and gpu node for rk3288
    
    Thanks: Guillaume Tucker
    Closes: #865646
---
 debian/changelog                                   |   2 +
 ...rockchip-add-arm-mali-gpu-node-for-rk3288.patch |  75 +++++++++++
 ...kchip-enable-arm-mali-gpu-on-rk3288-firef.patch |  29 +++++
 ...kchip-enable-arm-mali-gpu-on-rk3288-rock2.patch |  29 +++++
 ...kchip-enable-arm-mali-gpu-on-rk3288-veyro.patch |  30 +++++
 ...-gpu-add-bindings-for-the-arm-mali-midgar.patch | 140 +++++++++++++++++++++
 debian/patches/series                              |   5 +
 7 files changed, 310 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index caf427a..7086421 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -275,6 +275,8 @@ linux (4.11.11-1) UNRELEASED; urgency=medium
     (Closes: #866706)
   * [x86] pinctrl: cherryview: Extend the Chromebook DMI quirk to Intel_Strago
     systems (Closes: #862723)
+  * [armhf] Add ARM Mali Midgard device tree bindings and gpu node for rk3288
+    (thanks to Guillaume Tucker) (Closes: #865646)
 
   [ Uwe Kleine-König ]
   * [arm64] enable FB_SIMPLE
diff --git a/debian/patches/features/arm/arm-dts-rockchip-add-arm-mali-gpu-node-for-rk3288.patch b/debian/patches/features/arm/arm-dts-rockchip-add-arm-mali-gpu-node-for-rk3288.patch
new file mode 100644
index 0000000..74b47db
--- /dev/null
+++ b/debian/patches/features/arm/arm-dts-rockchip-add-arm-mali-gpu-node-for-rk3288.patch
@@ -0,0 +1,75 @@
+From: Guillaume Tucker <guillaume.tucker at collabora.com>
+Date: Wed, 3 May 2017 10:56:26 +0100
+Subject: [2/5] ARM: dts: rockchip: add ARM Mali GPU node for rk3288
+Origin: https://git.kernel.org/linus/e3df026c594c77f0de1bdaa413d591b4345e4b6a
+Bug-Debian: https://bugs.debian.org/865646
+
+Add Mali GPU device tree node for the rk3288 SoC, with devfreq
+opp table.
+
+Signed-off-by: Guillaume Tucker <guillaume.tucker at collabora.com>
+Tested-by: Enric Balletbo i Serra <enric.balletbo at collabora.com>
+Signed-off-by: Heiko Stuebner <heiko at sntech.de>
+---
+ arch/arm/boot/dts/rk3288.dtsi | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+
+--- a/arch/arm/boot/dts/rk3288.dtsi
++++ b/arch/arm/boot/dts/rk3288.dtsi
+@@ -43,6 +43,7 @@
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/pinctrl/rockchip.h>
+ #include <dt-bindings/clock/rk3288-cru.h>
++#include <dt-bindings/power/rk3288-power.h>
+ #include <dt-bindings/thermal/thermal.h>
+ #include <dt-bindings/power/rk3288-power.h>
+ #include <dt-bindings/soc/rockchip,boot-mode.h>
+@@ -1187,6 +1188,48 @@
+ 		reg = <0xffaf0080 0x20>;
+ 	};
+ 
++	gpu: mali at ffa30000 {
++		compatible = "rockchip,rk3288-mali", "arm,mali-t760", "arm,mali-midgard";
++		reg = <0xffa30000 0x10000>;
++		interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
++			     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
++			     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
++		interrupt-names = "job", "mmu", "gpu";
++		clocks = <&cru ACLK_GPU>;
++		operating-points-v2 = <&gpu_opp_table>;
++		power-domains = <&power RK3288_PD_GPU>;
++		status = "disabled";
++	};
++
++	gpu_opp_table: gpu-opp-table {
++		compatible = "operating-points-v2";
++
++		opp at 100000000 {
++			opp-hz = /bits/ 64 <100000000>;
++			opp-microvolt = <950000>;
++		};
++		opp at 200000000 {
++			opp-hz = /bits/ 64 <200000000>;
++			opp-microvolt = <950000>;
++		};
++		opp at 300000000 {
++			opp-hz = /bits/ 64 <300000000>;
++			opp-microvolt = <1000000>;
++		};
++		opp at 400000000 {
++			opp-hz = /bits/ 64 <400000000>;
++			opp-microvolt = <1100000>;
++		};
++		opp at 500000000 {
++			opp-hz = /bits/ 64 <500000000>;
++			opp-microvolt = <1200000>;
++		};
++		opp at 600000000 {
++			opp-hz = /bits/ 64 <600000000>;
++			opp-microvolt = <1250000>;
++		};
++	};
++
+ 	gic: interrupt-controller at ffc01000 {
+ 		compatible = "arm,gic-400";
+ 		interrupt-controller;
diff --git a/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-firef.patch b/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-firef.patch
new file mode 100644
index 0000000..63fb362
--- /dev/null
+++ b/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-firef.patch
@@ -0,0 +1,29 @@
+From: Guillaume Tucker <guillaume.tucker at collabora.com>
+Date: Wed, 3 May 2017 10:56:28 +0100
+Subject: [4/5] ARM: dts: rockchip: enable ARM Mali GPU on rk3288-firefly
+Origin: https://git.kernel.org/linus/93dedf52894e360731de17bdd9358873b36c3e0f
+Bug-Debian: https://bugs.debian.org/865646
+
+Add reference to the Mali GPU device tree node on rk3288-firefly.
+Tested on Firefly board.
+
+Signed-off-by: Guillaume Tucker <guillaume.tucker at collabora.com>
+Signed-off-by: Heiko Stuebner <heiko at sntech.de>
+---
+ arch/arm/boot/dts/rk3288-firefly.dtsi | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/arch/arm/boot/dts/rk3288-firefly.dtsi
++++ b/arch/arm/boot/dts/rk3288-firefly.dtsi
+@@ -219,6 +219,11 @@
+ 	status = "ok";
+ };
+ 
++&gpu {
++	mali-supply = <&vdd_gpu>;
++	status = "okay";
++};
++
+ &hdmi {
+ 	ddc-i2c-bus = <&i2c5>;
+ 	status = "okay";
diff --git a/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-rock2.patch b/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-rock2.patch
new file mode 100644
index 0000000..390012a
--- /dev/null
+++ b/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-rock2.patch
@@ -0,0 +1,29 @@
+From: Guillaume Tucker <guillaume.tucker at collabora.com>
+Date: Wed, 3 May 2017 10:56:27 +0100
+Subject: [3/5] ARM: dts: rockchip: enable ARM Mali GPU on rk3288-rock2-som
+Origin: https://git.kernel.org/linus/d6823b67288aad6810336b963140059721c83644
+Bug-Debian: https://bugs.debian.org/865646
+
+Add reference to the Mali GPU device tree node on the
+rk3288-rock2-som platform.  Tested on a Radxa Rock2 Square board.
+
+Signed-off-by: Guillaume Tucker <guillaume.tucker at collabora.com>
+Signed-off-by: Heiko Stuebner <heiko at sntech.de>
+---
+ arch/arm/boot/dts/rk3288-rock2-som.dtsi | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/arch/arm/boot/dts/rk3288-rock2-som.dtsi
++++ b/arch/arm/boot/dts/rk3288-rock2-som.dtsi
+@@ -113,6 +113,11 @@
+ 	tx_delay = <0x30>;
+ };
+ 
++&gpu {
++	mali-supply = <&vdd_gpu>;
++	status = "okay";
++};
++
+ &i2c0 {
+ 	status = "okay";
+ 
diff --git a/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-veyro.patch b/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-veyro.patch
new file mode 100644
index 0000000..74a551f
--- /dev/null
+++ b/debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-veyro.patch
@@ -0,0 +1,30 @@
+From: Enric Balletbo i Serra <enric.balletbo at collabora.com>
+Date: Wed, 3 May 2017 10:56:29 +0100
+Subject: [5/5] ARM: dts: rockchip: enable ARM Mali GPU on rk3288-veyron
+Origin: https://git.kernel.org/linus/08e779e59950affaec4f677b22fda6a1ab150a43
+Bug-Debian: https://bugs.debian.org/865646
+
+Add reference to the Mali GPU device tree node on rk3288-veyron.
+Tested on Minnie and Jerry boards.
+
+Signed-off-by: Enric Balletbo i Serra <enric.balletbo at collabora.com>
+Signed-off-by: Guillaume Tucker <guillaume.tucker at collabora.com>
+Signed-off-by: Heiko Stuebner <heiko at sntech.de>
+---
+ arch/arm/boot/dts/rk3288-veyron.dtsi | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/arch/arm/boot/dts/rk3288-veyron.dtsi
++++ b/arch/arm/boot/dts/rk3288-veyron.dtsi
+@@ -161,6 +161,11 @@
+ 	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
+ };
+ 
++&gpu {
++	mali-supply = <&vdd_gpu>;
++	status = "okay";
++};
++
+ &hdmi {
+ 	ddc-i2c-bus = <&i2c5>;
+ 	status = "okay";
diff --git a/debian/patches/features/arm/dt-bindings-gpu-add-bindings-for-the-arm-mali-midgar.patch b/debian/patches/features/arm/dt-bindings-gpu-add-bindings-for-the-arm-mali-midgar.patch
new file mode 100644
index 0000000..248ac0a
--- /dev/null
+++ b/debian/patches/features/arm/dt-bindings-gpu-add-bindings-for-the-arm-mali-midgar.patch
@@ -0,0 +1,140 @@
+From: Guillaume Tucker <guillaume.tucker at collabora.com>
+Date: Wed, 3 May 2017 10:56:25 +0100
+Subject: [1/5] dt-bindings: gpu: add bindings for the ARM Mali Midgard GPU
+Origin: https://git.kernel.org/linus/7fa049dd1bdeb63d8beb3de6dde5a990843d0324
+Bug-Debian: https://bugs.debian.org/865646
+
+The ARM Mali Midgard GPU family is present in a number of SoCs
+from many different vendors such as Samsung Exynos and Rockchip.
+
+Import the device tree bindings documentation from the r16p0
+release of the Mali Midgard GPU kernel driver:
+
+  https://developer.arm.com/-/media/Files/downloads/mali-drivers/kernel/mali-midgard-gpu/TX011-SW-99002-r16p0-00rel0.tgz
+
+Remove the copyright and GPL licence header as deemed not necessary.
+
+Redesign the "compatible" property strings to list all the Mali
+Midgard GPU types and add vendor specific ones.
+
+Drop the "clock-names" property as the Mali Midgard GPU uses only one
+clock (the driver now needs to call clk_get with NULL).
+
+Convert the "interrupt-names" property values to lower-case: "job",
+"mmu" and "gpu".
+
+Replace the deprecated "operating-points" optional property with
+"operating-points-v2".
+
+Omit the following optional properties in this initial version as they
+are only used in very specific cases:
+
+  * snoop_enable_smc
+  * snoop_disable_smc
+  * jm_config
+  * power_model
+  * system-coherency
+  * ipa-model
+
+Update the example accordingly to reflect all these changes, based on
+rk3288 mali-t760.
+
+CC: John Reitan <john.reitan at arm.com>
+Signed-off-by: Guillaume Tucker <guillaume.tucker at collabora.com>
+Tested-by: Enric Balletbo i Serra <enric.balletbo at collabora.com>
+Reviewed-by: Rob Herring <robh at kernel.org>
+Signed-off-by: Heiko Stuebner <heiko at sntech.de>
+---
+ .../devicetree/bindings/gpu/arm,mali-midgard.txt   | 86 ++++++++++++++++++++++
+ 1 file changed, 86 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt
+
+--- /dev/null
++++ b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt
+@@ -0,0 +1,86 @@
++ARM Mali Midgard GPU
++====================
++
++Required properties:
++
++- compatible :
++  * Must contain one of the following:
++    + "arm,mali-t604"
++    + "arm,mali-t624"
++    + "arm,mali-t628"
++    + "arm,mali-t720"
++    + "arm,mali-t760"
++    + "arm,mali-t820"
++    + "arm,mali-t830"
++    + "arm,mali-t860"
++    + "arm,mali-t880"
++  * which must be preceded by one of the following vendor specifics:
++    + "amlogic,meson-gxm-mali"
++    + "rockchip,rk3288-mali"
++
++- reg : Physical base address of the device and length of the register area.
++
++- interrupts : Contains the three IRQ lines required by Mali Midgard devices.
++
++- interrupt-names : Contains the names of IRQ resources in the order they were
++  provided in the interrupts property. Must contain: "job", "mmu", "gpu".
++
++
++Optional properties:
++
++- clocks : Phandle to clock for the Mali Midgard device.
++
++- mali-supply : Phandle to regulator for the Mali device. Refer to
++  Documentation/devicetree/bindings/regulator/regulator.txt for details.
++
++- operating-points-v2 : Refer to Documentation/devicetree/bindings/power/opp.txt
++  for details.
++
++
++Example for a Mali-T760:
++
++gpu at ffa30000 {
++	compatible = "rockchip,rk3288-mali", "arm,mali-t760", "arm,mali-midgard";
++	reg = <0xffa30000 0x10000>;
++	interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
++		     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
++		     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
++	interrupt-names = "job", "mmu", "gpu";
++	clocks = <&cru ACLK_GPU>;
++	mali-supply = <&vdd_gpu>;
++	operating-points-v2 = <&gpu_opp_table>;
++	power-domains = <&power RK3288_PD_GPU>;
++};
++
++gpu_opp_table: opp_table0 {
++	compatible = "operating-points-v2";
++
++	opp at 533000000 {
++		opp-hz = /bits/ 64 <533000000>;
++		opp-microvolt = <1250000>;
++	};
++	opp at 450000000 {
++		opp-hz = /bits/ 64 <450000000>;
++		opp-microvolt = <1150000>;
++	};
++	opp at 400000000 {
++		opp-hz = /bits/ 64 <400000000>;
++		opp-microvolt = <1125000>;
++	};
++	opp at 350000000 {
++		opp-hz = /bits/ 64 <350000000>;
++		opp-microvolt = <1075000>;
++	};
++	opp at 266000000 {
++		opp-hz = /bits/ 64 <266000000>;
++		opp-microvolt = <1025000>;
++	};
++	opp at 160000000 {
++		opp-hz = /bits/ 64 <160000000>;
++		opp-microvolt = <925000>;
++	};
++	opp at 100000000 {
++		opp-hz = /bits/ 64 <100000000>;
++		opp-microvolt = <912500>;
++	};
++};
diff --git a/debian/patches/series b/debian/patches/series
index e656e80..10aba25 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -66,6 +66,11 @@ features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
 features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch
 features/x86/x86-memtest-WARN-if-bad-RAM-found.patch
 features/x86/x86-make-x32-syscall-support-conditional.patch
+features/arm/dt-bindings-gpu-add-bindings-for-the-arm-mali-midgar.patch
+features/arm/arm-dts-rockchip-add-arm-mali-gpu-node-for-rk3288.patch
+features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-rock2.patch
+features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-firef.patch
+features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-veyro.patch
 
 # Miscellaneous bug fixes
 bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list