2016-03-11 03:52:29

by Alexandre Courbot

[permalink] [raw]
Subject: [PATCH 0/5] arm64: tegra: fix DT definitions for GM20B GPU

Small series that fixes/completes DT bindings for Tegra GPUs and add two
missing entries required for the Tegra210 GPU to operate properly.

Alexandre Courbot (5):
dt-bindings: gk20a: Fix typo in compatible name
dt-bindings: gk20a: Document iommus property
dt-bindings: Add documentation for GM20B GPU
arm64: tegra210: Add pllg_ref clock to GM20B
arm64: tegra210: Add IOMMU node to GM20B

.../devicetree/bindings/gpu/nvidia,gk20a.txt | 35 +++++++++++++++++++---
arch/arm64/boot/dts/nvidia/tegra210.dtsi | 8 +++--
2 files changed, 37 insertions(+), 6 deletions(-)

--
2.7.2


2016-03-11 03:52:34

by Alexandre Courbot

[permalink] [raw]
Subject: [PATCH 1/5] dt-bindings: gk20a: Fix typo in compatible name

The correct compatible name is "nvidia,gk20a".

Signed-off-by: Alexandre Courbot <[email protected]>
---
Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt b/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
index 23bfe8e1f7cc..914f0ff4020e 100644
--- a/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
+++ b/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
@@ -1,9 +1,9 @@
NVIDIA GK20A Graphics Processing Unit

Required properties:
-- compatible: "nvidia,<chip>-<gpu>"
+- compatible: "nvidia,<gpu>"
Currently recognized values:
- - nvidia,tegra124-gk20a
+ - nvidia,gk20a
- reg: Physical base address and length of the controller's registers.
Must contain two entries:
- first entry for bar0
--
2.7.2

2016-03-11 03:52:41

by Alexandre Courbot

[permalink] [raw]
Subject: [PATCH 5/5] arm64: tegra210: Add IOMMU node to GM20B

Nouveau can take advantage of this declaration to remove the need for
contiguous memory.

Signed-off-by: Alexandre Courbot <[email protected]>
---
arch/arm64/boot/dts/nvidia/tegra210.dtsi | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/arm64/boot/dts/nvidia/tegra210.dtsi b/arch/arm64/boot/dts/nvidia/tegra210.dtsi
index 0c51ac3b0f56..63063e56c1d9 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra210.dtsi
@@ -314,6 +314,9 @@
clock-names = "gpu", "pwr", "pllg_ref";
resets = <&tegra_car 184>;
reset-names = "gpu";
+
+ iommus = <&mc TEGRA_SWGROUP_GPU>;
+
status = "disabled";
};

--
2.7.2

2016-03-11 03:52:51

by Alexandre Courbot

[permalink] [raw]
Subject: [PATCH 4/5] arm64: tegra210: Add pllg_ref clock to GM20B

This clock is required for the GPU to operate.

Signed-off-by: Alexandre Courbot <[email protected]>
---
arch/arm64/boot/dts/nvidia/tegra210.dtsi | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/nvidia/tegra210.dtsi b/arch/arm64/boot/dts/nvidia/tegra210.dtsi
index 362c269946ff..0c51ac3b0f56 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra210.dtsi
@@ -309,8 +309,9 @@
<GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "stall", "nonstall";
clocks = <&tegra_car TEGRA210_CLK_GPU>,
- <&tegra_car TEGRA210_CLK_PLL_P_OUT5>;
- clock-names = "gpu", "pwr";
+ <&tegra_car TEGRA210_CLK_PLL_P_OUT5>,
+ <&tegra_car TEGRA210_CLK_PLL_G_REF>;
+ clock-names = "gpu", "pwr", "pllg_ref";
resets = <&tegra_car 184>;
reset-names = "gpu";
status = "disabled";
--
2.7.2

2016-03-11 03:53:07

by Alexandre Courbot

[permalink] [raw]
Subject: [PATCH 3/5] dt-bindings: Add documentation for GM20B GPU

GM20B's definition is mostly similar to GK20A's, but requires an
additional clock.

Signed-off-by: Alexandre Courbot <[email protected]>
---
.../devicetree/bindings/gpu/nvidia,gk20a.txt | 27 ++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt b/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
index 1e3748337319..2609b0f3337c 100644
--- a/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
+++ b/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
@@ -1,9 +1,10 @@
-NVIDIA GK20A Graphics Processing Unit
+NVIDIA Tegra Graphics Processing Units

Required properties:
- compatible: "nvidia,<gpu>"
Currently recognized values:
- nvidia,gk20a
+ - nvidia,gm20b
- reg: Physical base address and length of the controller's registers.
Must contain two entries:
- first entry for bar0
@@ -19,6 +20,9 @@ Required properties:
- clock-names: Must include the following entries:
- gpu
- pwr
+If the compatible string is "nvidia,gm20b", then the following clock
+is also required:
+ - pllg_ref
- resets: Must contain an entry for each entry in reset-names.
See ../reset/reset.txt for details.
- reset-names: Must include the following entries:
@@ -27,7 +31,7 @@ Required properties:
Optional properties:
- iommus: A reference to the IOMMU. See ../iommu/iommu.txt for details.

-Example:
+Example for GK20A:

gpu@0,57000000 {
compatible = "nvidia,gk20a";
@@ -45,3 +49,22 @@ Example:
iommus = <&mc TEGRA_SWGROUP_GPU>;
status = "disabled";
};
+
+Example for GM20B:
+
+ gpu@0,57000000 {
+ compatible = "nvidia,gm20b";
+ reg = <0x0 0x57000000 0x0 0x01000000>,
+ <0x0 0x58000000 0x0 0x01000000>;
+ interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "stall", "nonstall";
+ clocks = <&tegra_car TEGRA210_CLK_GPU>,
+ <&tegra_car TEGRA210_CLK_PLL_P_OUT5>,
+ <&tegra_car TEGRA210_CLK_PLL_G_REF>;
+ clock-names = "gpu", "pwr", "pllg_ref";
+ resets = <&tegra_car 184>;
+ reset-names = "gpu";
+ iommus = <&mc TEGRA_SWGROUP_GPU>;
+ status = "disabled";
+ };
--
2.7.2

2016-03-11 03:54:12

by Alexandre Courbot

[permalink] [raw]
Subject: [PATCH 2/5] dt-bindings: gk20a: Document iommus property

GK20A can optionally make use of an IOMMU.

Signed-off-by: Alexandre Courbot <[email protected]>
---
Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt b/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
index 914f0ff4020e..1e3748337319 100644
--- a/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
+++ b/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
@@ -24,6 +24,9 @@ Required properties:
- reset-names: Must include the following entries:
- gpu

+Optional properties:
+- iommus: A reference to the IOMMU. See ../iommu/iommu.txt for details.
+
Example:

gpu@0,57000000 {
@@ -39,5 +42,6 @@ Example:
clock-names = "gpu", "pwr";
resets = <&tegra_car 184>;
reset-names = "gpu";
+ iommus = <&mc TEGRA_SWGROUP_GPU>;
status = "disabled";
};
--
2.7.2