* [PATCH v3 1/2] dt-bindings: Add documentation for GV11B GPU
@ 2020-07-17 8:36 Thierry Reding
[not found] ` <20200717083609.557205-1-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 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-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
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-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
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[parent not found: <20200717083609.557205-1-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* [PATCH v3 2/2] arm64: tegra: Add the GPU on Tegra194 [not found] ` <20200717083609.557205-1-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2020-07-17 8:36 ` Thierry Reding [not found] ` <20200717083609.557205-2-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> The GPU found on NVIDIA Tegra194 SoCs is a Volta generation GPU called GV11B. Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> --- 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
[parent not found: <20200717083609.557205-2-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v3 2/2] arm64: tegra: Add the GPU on Tegra194 [not found] ` <20200717083609.557205-2-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 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-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r On 17/07/2020 09:36, Thierry Reding wrote: > From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> > > The GPU found on NVIDIA Tegra194 SoCs is a Volta generation GPU called > GV11B. > > Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> > --- > 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-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> Cheers Jon -- nvpublic ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: Add documentation for GV11B GPU [not found] ` <20200717083609.557205-1-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r On 17/07/2020 09:36, Thierry Reding wrote: > From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> > > 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-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> > --- > 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-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> Cheers Jon -- nvpublic ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-07-17 8:40 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
[not found] ` <20200717083609.557205-1-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-07-17 8:36 ` [PATCH v3 2/2] arm64: tegra: Add the GPU on Tegra194 Thierry Reding
[not found] ` <20200717083609.557205-2-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
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