[linux] 07/07: [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:39:11 UTC 2017
This is an automated email from the git hooks/post-receive script.
benh pushed a commit to branch stretch
in repository linux.
commit 3ced38be8ed87c5c415fe2d6af600d9a099e2fb8
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 3969b02..83fcf83 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,8 @@ linux (4.9.30-3) UNRELEASED; urgency=medium
* [x86] pinctrl: cherryview: Add terminate entry for dmi_system_id tables
* [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)
[ Cyril Brulebois ]
* [arm64,armhf] udeb: Ship usb3503 module in usb-modules, needed for
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..4a6df7b
--- /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>
+@@ -1102,6 +1103,48 @@
+ };
+ };
+
++ 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 7c133d0..6bdad41 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -77,6 +77,11 @@ features/arm/ARM-dts-orion5x-lschl-Fix-model-name.patch
features/arm/ARM-dts-orion5x-lschl-More-consistent-naming-on-link.patch
features/arm/ARM-orion5x-fix-Makefile-for-linkstation-lschl.dtb.patch
features/arm64/serial-pl011-add-console-matching-function.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