* [PATCH v3 1/2] dt-bindings: Add documentation for GV11B GPU
@ 2020-07-17 8:36 Thierry Reding
2020-07-17 8:36 ` [PATCH v3 2/2] arm64: tegra: Add the GPU on Tegra194 Thierry Reding
2020-07-17 8:40 ` [PATCH v3 1/2] dt-bindings: Add documentation for GV11B GPU Jon Hunter
0 siblings, 2 replies; 4+ messages in thread
From: Thierry Reding @ 2020-07-17 8:36 UTC (permalink / raw)
To: Thierry Reding
Cc: Rob Herring, Jon Hunter, Terje Bergstrom, Debarshi Dutta,
linux-tegra, devicetree, linux-arm-kernel
From: Thierry Reding <treding@nvidia.com>
The GV11B's device tree bindings are the same as for GP10B, though the
GPU is not completely compatible, so all that is needed is a different
compatible string.
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Changes in v3:
- document the "fuse" clock which needs to be enabled during the GPU
initialization
.../devicetree/bindings/gpu/nvidia,gk20a.txt | 25 +++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt b/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
index f32bbba4d3bc..662a3c8a7d29 100644
--- a/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
+++ b/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
@@ -6,6 +6,7 @@ Required properties:
- nvidia,gk20a
- nvidia,gm20b
- nvidia,gp10b
+ - nvidia,gv11b
- reg: Physical base address and length of the controller's registers.
Must contain two entries:
- first entry for bar0
@@ -25,6 +26,9 @@ Required properties:
If the compatible string is "nvidia,gm20b", then the following clock
is also required:
- ref
+If the compatible string is "nvidia,gv11b", then the following clock is also
+required:
+ - fuse
- resets: Must contain an entry for each entry in reset-names.
See ../reset/reset.txt for details.
- reset-names: Must include the following entries:
@@ -88,3 +92,24 @@ Example for GP10B:
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>;
iommus = <&smmu TEGRA186_SID_GPU>;
};
+
+Example for GV11B:
+
+ gpu@17000000 {
+ compatible = "nvidia,gv11b";
+ reg = <0x17000000 0x10000000>,
+ <0x18000000 0x10000000>;
+ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "stall", "nonstall";
+ clocks = <&bpmp TEGRA194_CLK_GPCCLK>,
+ <&bpmp TEGRA194_CLK_GPU_PWR>,
+ <&bpmp TEGRA194_CLK_FUSE>;
+ clock-names = "gpu", "pwr", "fuse";
+ resets = <&bpmp TEGRA194_RESET_GPU>;
+ reset-names = "gpu";
+ dma-coherent;
+
+ power-domains = <&bpmp TEGRA194_POWER_DOMAIN_GPU>;
+ iommus = <&smmu TEGRA194_SID_GPU>;
+ };
--
2.27.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v3 2/2] arm64: tegra: Add the GPU on Tegra194
2020-07-17 8:36 [PATCH v3 1/2] dt-bindings: Add documentation for GV11B GPU Thierry Reding
@ 2020-07-17 8:36 ` Thierry Reding
2020-07-17 8:40 ` Jon Hunter
2020-07-17 8:40 ` [PATCH v3 1/2] dt-bindings: Add documentation for GV11B GPU Jon Hunter
1 sibling, 1 reply; 4+ messages in thread
From: Thierry Reding @ 2020-07-17 8:36 UTC (permalink / raw)
To: Thierry Reding
Cc: Rob Herring, Jon Hunter, Terje Bergstrom, Debarshi Dutta,
linux-tegra, devicetree, linux-arm-kernel
From: Thierry Reding <treding@nvidia.com>
The GPU found on NVIDIA Tegra194 SoCs is a Volta generation GPU called
GV11B.
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Changes in v3:
- mark the GPU as DMA coherent because that's enforced by the MSS
- add FUSE clock which is needed during GPU initialization
- enable GPU by default
arch/arm64/boot/dts/nvidia/tegra194.dtsi | 34 ++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
index 98c366ab4aab..48160f48003a 100644
--- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
@@ -1395,6 +1395,40 @@ sor3: sor@15bc0000 {
nvidia,interface = <3>;
};
};
+
+ gpu@17000000 {
+ compatible = "nvidia,gv11b";
+ reg = <0x17000000 0x10000000>,
+ <0x18000000 0x10000000>;
+ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "stall", "nonstall";
+ clocks = <&bpmp TEGRA194_CLK_GPCCLK>,
+ <&bpmp TEGRA194_CLK_GPU_PWR>,
+ <&bpmp TEGRA194_CLK_FUSE>;
+ clock-names = "gpu", "pwr", "fuse";
+ resets = <&bpmp TEGRA194_RESET_GPU>;
+ reset-names = "gpu";
+ dma-coherent;
+
+ power-domains = <&bpmp TEGRA194_POWER_DOMAIN_GPU>;
+ interconnects = <&mc TEGRA194_MEMORY_CLIENT_NVL1R &emc>,
+ <&mc TEGRA194_MEMORY_CLIENT_NVL1RHP &emc>,
+ <&mc TEGRA194_MEMORY_CLIENT_NVL1W &emc>,
+ <&mc TEGRA194_MEMORY_CLIENT_NVL2R &emc>,
+ <&mc TEGRA194_MEMORY_CLIENT_NVL2RHP &emc>,
+ <&mc TEGRA194_MEMORY_CLIENT_NVL2W &emc>,
+ <&mc TEGRA194_MEMORY_CLIENT_NVL3R &emc>,
+ <&mc TEGRA194_MEMORY_CLIENT_NVL3RHP &emc>,
+ <&mc TEGRA194_MEMORY_CLIENT_NVL3W &emc>,
+ <&mc TEGRA194_MEMORY_CLIENT_NVL4R &emc>,
+ <&mc TEGRA194_MEMORY_CLIENT_NVL4RHP &emc>,
+ <&mc TEGRA194_MEMORY_CLIENT_NVL4W &emc>;
+ interconnect-names = "dma-mem", "read-0-hp", "write-0",
+ "read-1", "read-1-hp", "write-1",
+ "read-2", "read-2-hp", "write-2",
+ "read-3", "read-3-hp", "write-3";
+ };
};
pcie@14100000 {
--
2.27.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: Add documentation for GV11B GPU
2020-07-17 8:36 [PATCH v3 1/2] dt-bindings: Add documentation for GV11B GPU Thierry Reding
2020-07-17 8:36 ` [PATCH v3 2/2] arm64: tegra: Add the GPU on Tegra194 Thierry Reding
@ 2020-07-17 8:40 ` Jon Hunter
1 sibling, 0 replies; 4+ messages in thread
From: Jon Hunter @ 2020-07-17 8:40 UTC (permalink / raw)
To: Thierry Reding
Cc: Rob Herring, Terje Bergstrom, Debarshi Dutta, linux-tegra,
devicetree, linux-arm-kernel
On 17/07/2020 09:36, Thierry Reding wrote:
> From: Thierry Reding <treding@nvidia.com>
>
> The GV11B's device tree bindings are the same as for GP10B, though the
> GPU is not completely compatible, so all that is needed is a different
> compatible string.
>
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
> Changes in v3:
> - document the "fuse" clock which needs to be enabled during the GPU
> initialization
>
> .../devicetree/bindings/gpu/nvidia,gk20a.txt | 25 +++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt b/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
> index f32bbba4d3bc..662a3c8a7d29 100644
> --- a/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
> +++ b/Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt
> @@ -6,6 +6,7 @@ Required properties:
> - nvidia,gk20a
> - nvidia,gm20b
> - nvidia,gp10b
> + - nvidia,gv11b
> - reg: Physical base address and length of the controller's registers.
> Must contain two entries:
> - first entry for bar0
> @@ -25,6 +26,9 @@ Required properties:
> If the compatible string is "nvidia,gm20b", then the following clock
> is also required:
> - ref
> +If the compatible string is "nvidia,gv11b", then the following clock is also
> +required:
> + - fuse
> - resets: Must contain an entry for each entry in reset-names.
> See ../reset/reset.txt for details.
> - reset-names: Must include the following entries:
> @@ -88,3 +92,24 @@ Example for GP10B:
> power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>;
> iommus = <&smmu TEGRA186_SID_GPU>;
> };
> +
> +Example for GV11B:
> +
> + gpu@17000000 {
> + compatible = "nvidia,gv11b";
> + reg = <0x17000000 0x10000000>,
> + <0x18000000 0x10000000>;
> + interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "stall", "nonstall";
> + clocks = <&bpmp TEGRA194_CLK_GPCCLK>,
> + <&bpmp TEGRA194_CLK_GPU_PWR>,
> + <&bpmp TEGRA194_CLK_FUSE>;
> + clock-names = "gpu", "pwr", "fuse";
> + resets = <&bpmp TEGRA194_RESET_GPU>;
> + reset-names = "gpu";
> + dma-coherent;
> +
> + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_GPU>;
> + iommus = <&smmu TEGRA194_SID_GPU>;
> + };
>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Cheers
Jon
--
nvpublic
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3 2/2] arm64: tegra: Add the GPU on Tegra194
2020-07-17 8:36 ` [PATCH v3 2/2] arm64: tegra: Add the GPU on Tegra194 Thierry Reding
@ 2020-07-17 8:40 ` Jon Hunter
0 siblings, 0 replies; 4+ messages in thread
From: Jon Hunter @ 2020-07-17 8:40 UTC (permalink / raw)
To: Thierry Reding
Cc: Rob Herring, Terje Bergstrom, Debarshi Dutta, linux-tegra,
devicetree, linux-arm-kernel
On 17/07/2020 09:36, Thierry Reding wrote:
> From: Thierry Reding <treding@nvidia.com>
>
> The GPU found on NVIDIA Tegra194 SoCs is a Volta generation GPU called
> GV11B.
>
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
> Changes in v3:
> - mark the GPU as DMA coherent because that's enforced by the MSS
> - add FUSE clock which is needed during GPU initialization
> - enable GPU by default
>
> arch/arm64/boot/dts/nvidia/tegra194.dtsi | 34 ++++++++++++++++++++++++
> 1 file changed, 34 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
> index 98c366ab4aab..48160f48003a 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi
> +++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
> @@ -1395,6 +1395,40 @@ sor3: sor@15bc0000 {
> nvidia,interface = <3>;
> };
> };
> +
> + gpu@17000000 {
> + compatible = "nvidia,gv11b";
> + reg = <0x17000000 0x10000000>,
> + <0x18000000 0x10000000>;
> + interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "stall", "nonstall";
> + clocks = <&bpmp TEGRA194_CLK_GPCCLK>,
> + <&bpmp TEGRA194_CLK_GPU_PWR>,
> + <&bpmp TEGRA194_CLK_FUSE>;
> + clock-names = "gpu", "pwr", "fuse";
> + resets = <&bpmp TEGRA194_RESET_GPU>;
> + reset-names = "gpu";
> + dma-coherent;
> +
> + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_GPU>;
> + interconnects = <&mc TEGRA194_MEMORY_CLIENT_NVL1R &emc>,
> + <&mc TEGRA194_MEMORY_CLIENT_NVL1RHP &emc>,
> + <&mc TEGRA194_MEMORY_CLIENT_NVL1W &emc>,
> + <&mc TEGRA194_MEMORY_CLIENT_NVL2R &emc>,
> + <&mc TEGRA194_MEMORY_CLIENT_NVL2RHP &emc>,
> + <&mc TEGRA194_MEMORY_CLIENT_NVL2W &emc>,
> + <&mc TEGRA194_MEMORY_CLIENT_NVL3R &emc>,
> + <&mc TEGRA194_MEMORY_CLIENT_NVL3RHP &emc>,
> + <&mc TEGRA194_MEMORY_CLIENT_NVL3W &emc>,
> + <&mc TEGRA194_MEMORY_CLIENT_NVL4R &emc>,
> + <&mc TEGRA194_MEMORY_CLIENT_NVL4RHP &emc>,
> + <&mc TEGRA194_MEMORY_CLIENT_NVL4W &emc>;
> + interconnect-names = "dma-mem", "read-0-hp", "write-0",
> + "read-1", "read-1-hp", "write-1",
> + "read-2", "read-2-hp", "write-2",
> + "read-3", "read-3-hp", "write-3";
> + };
> };
>
> pcie@14100000 {
>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Cheers
Jon
--
nvpublic
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-07-17 8:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-17 8:36 [PATCH v3 1/2] dt-bindings: Add documentation for GV11B GPU Thierry Reding
2020-07-17 8:36 ` [PATCH v3 2/2] arm64: tegra: Add the GPU on Tegra194 Thierry Reding
2020-07-17 8:40 ` Jon Hunter
2020-07-17 8:40 ` [PATCH v3 1/2] dt-bindings: Add documentation for GV11B GPU Jon Hunter
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).