[armhf] Add ARM Mali Midgard device tree bindings and gpu node for rk3288
Thanks: Guillaume Tucker Closes: #865646
This commit is contained in:
parent
1a49ee814f
commit
4e322430ec
|
@ -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
|
||||
|
|
75
debian/patches/features/arm/arm-dts-rockchip-add-arm-mali-gpu-node-for-rk3288.patch
vendored
Normal file
75
debian/patches/features/arm/arm-dts-rockchip-add-arm-mali-gpu-node-for-rk3288.patch
vendored
Normal file
|
@ -0,0 +1,75 @@
|
|||
From: Guillaume Tucker <guillaume.tucker@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@collabora.com>
|
||||
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
|
||||
Signed-off-by: Heiko Stuebner <heiko@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@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@100000000 {
|
||||
+ opp-hz = /bits/ 64 <100000000>;
|
||||
+ opp-microvolt = <950000>;
|
||||
+ };
|
||||
+ opp@200000000 {
|
||||
+ opp-hz = /bits/ 64 <200000000>;
|
||||
+ opp-microvolt = <950000>;
|
||||
+ };
|
||||
+ opp@300000000 {
|
||||
+ opp-hz = /bits/ 64 <300000000>;
|
||||
+ opp-microvolt = <1000000>;
|
||||
+ };
|
||||
+ opp@400000000 {
|
||||
+ opp-hz = /bits/ 64 <400000000>;
|
||||
+ opp-microvolt = <1100000>;
|
||||
+ };
|
||||
+ opp@500000000 {
|
||||
+ opp-hz = /bits/ 64 <500000000>;
|
||||
+ opp-microvolt = <1200000>;
|
||||
+ };
|
||||
+ opp@600000000 {
|
||||
+ opp-hz = /bits/ 64 <600000000>;
|
||||
+ opp-microvolt = <1250000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
gic: interrupt-controller@ffc01000 {
|
||||
compatible = "arm,gic-400";
|
||||
interrupt-controller;
|
29
debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-firef.patch
vendored
Normal file
29
debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-firef.patch
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
From: Guillaume Tucker <guillaume.tucker@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@collabora.com>
|
||||
Signed-off-by: Heiko Stuebner <heiko@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";
|
29
debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-rock2.patch
vendored
Normal file
29
debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-rock2.patch
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
From: Guillaume Tucker <guillaume.tucker@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@collabora.com>
|
||||
Signed-off-by: Heiko Stuebner <heiko@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";
|
||||
|
30
debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-veyro.patch
vendored
Normal file
30
debian/patches/features/arm/arm-dts-rockchip-enable-arm-mali-gpu-on-rk3288-veyro.patch
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
From: Enric Balletbo i Serra <enric.balletbo@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@collabora.com>
|
||||
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
||||
Signed-off-by: Heiko Stuebner <heiko@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";
|
140
debian/patches/features/arm/dt-bindings-gpu-add-bindings-for-the-arm-mali-midgar.patch
vendored
Normal file
140
debian/patches/features/arm/dt-bindings-gpu-add-bindings-for-the-arm-mali-midgar.patch
vendored
Normal file
|
@ -0,0 +1,140 @@
|
|||
From: Guillaume Tucker <guillaume.tucker@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@arm.com>
|
||||
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
|
||||
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
|
||||
Reviewed-by: Rob Herring <robh@kernel.org>
|
||||
Signed-off-by: Heiko Stuebner <heiko@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@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@533000000 {
|
||||
+ opp-hz = /bits/ 64 <533000000>;
|
||||
+ opp-microvolt = <1250000>;
|
||||
+ };
|
||||
+ opp@450000000 {
|
||||
+ opp-hz = /bits/ 64 <450000000>;
|
||||
+ opp-microvolt = <1150000>;
|
||||
+ };
|
||||
+ opp@400000000 {
|
||||
+ opp-hz = /bits/ 64 <400000000>;
|
||||
+ opp-microvolt = <1125000>;
|
||||
+ };
|
||||
+ opp@350000000 {
|
||||
+ opp-hz = /bits/ 64 <350000000>;
|
||||
+ opp-microvolt = <1075000>;
|
||||
+ };
|
||||
+ opp@266000000 {
|
||||
+ opp-hz = /bits/ 64 <266000000>;
|
||||
+ opp-microvolt = <1025000>;
|
||||
+ };
|
||||
+ opp@160000000 {
|
||||
+ opp-hz = /bits/ 64 <160000000>;
|
||||
+ opp-microvolt = <925000>;
|
||||
+ };
|
||||
+ opp@100000000 {
|
||||
+ opp-hz = /bits/ 64 <100000000>;
|
||||
+ opp-microvolt = <912500>;
|
||||
+ };
|
||||
+};
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue