* [v2 PATCH 0/2] arm64: dts: Add sdm845 GPU/GMU and SMMU
@ 2018-03-16 18:51 Jordan Crouse
2018-03-16 18:51 ` [PATCH 2/2] arm64: dts: sdm845: Add gpu and gmu device nodes Jordan Crouse
[not found] ` <20180316185152.32020-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
0 siblings, 2 replies; 9+ messages in thread
From: Jordan Crouse @ 2018-03-16 18:51 UTC (permalink / raw)
To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
Cc: nm-l0cyMroinI0, devicetree-u79uwXL29TY76Z2rM5mHXA,
rnayak-sgV2jX0FEOL9JmXXK+q4OQ, linux-pm-u79uwXL29TY76Z2rM5mHXA,
sboyd-DgEjT+Ai2ygdnm+yROfE0A,
linux-arm-msm-u79uwXL29TY76Z2rM5mHXA,
dianders-F7+t8E8rja9g9hUCZPvPmw,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
vireshk-DgEjT+Ai2ygdnm+yROfE0A,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
(resend because I forgot to CC everybody on the patches)
Add DT nodes for the sdm845 GPU/GMU (graphics management unit) and the companion
arm-smmu-v2 compatible SMMU.
This builds on the following dependencies -
https://patchwork.kernel.org/patch/10286369/ - bindings for qcom,level
https://patchwork.kernel.org/patch/10281599/ - qcom,smmu-v2 bindings
Please refer to https://patchwork.freedesktop.org/series/37428/ for the driver
code.
[v2 - changed qcom,arc-level to qcom,level following discussion with Viresh;
change gmu phandle to qcom,gmu per Rob]
Jordan Crouse (2):
dt-bindings: Document qcom,adreno-gmu
arm64: dts: sdm845: Add gpu and gmu device nodes
.../devicetree/bindings/display/msm/gmu.txt | 54 ++++++++++
.../devicetree/bindings/display/msm/gpu.txt | 10 +-
arch/arm64/boot/dts/qcom/sdm845.dtsi | 119 +++++++++++++++++++++
3 files changed, 181 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/display/msm/gmu.txt
--
2.16.1
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/2] arm64: dts: sdm845: Add gpu and gmu device nodes
2018-03-16 18:51 [v2 PATCH 0/2] arm64: dts: Add sdm845 GPU/GMU and SMMU Jordan Crouse
@ 2018-03-16 18:51 ` Jordan Crouse
[not found] ` <20180316185152.32020-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
1 sibling, 0 replies; 9+ messages in thread
From: Jordan Crouse @ 2018-03-16 18:51 UTC (permalink / raw)
To: freedreno
Cc: nm, devicetree, rnayak, linux-pm, sboyd, linux-arm-msm, dianders,
dri-devel, vireshk, linux-arm-kernel
Add the nodes to describe the Adreno GPU and GMU devices.
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
---
arch/arm64/boot/dts/qcom/sdm845.dtsi | 119 +++++++++++++++++++++++++++++++++++
1 file changed, 119 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index 16b5f356ec96..854da6604417 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -312,4 +312,123 @@
};
};
};
+
+ adreno_smmu: arm,smmu-adreno@5040000 {
+ compatible = "qcom,msm8996-smmu-v2";
+ reg = <0x5040000 0x10000>;
+ #iommu-cells = <1>;
+ #global-interrupts = <2>;
+ interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 364 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 365 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 366 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 367 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 368 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 369 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 370 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 371 IRQ_TYPE_EDGE_RISING>;
+ clocks = <&clock_gcc GCC_GPU_MEMNOC_GFX_CLK>,
+ <&clock_gcc GCC_GPU_CFG_AHB_CLK>;
+ clock-names = "bus", "iface";
+
+ power-domains = <&clock_gpucc GPU_CX_GDSC>;
+ };
+
+ gpu_opp_table: adreno-opp-table {
+ compatible = "operating-points-v2";
+
+ opp-710000000 {
+ opp-hz = /bits/ 64 <710000000>;
+ qcom,level = <416>;
+ };
+
+ opp-675000000 {
+ opp-hz = /bits/ 64 <675000000>;
+ qcom,level = <384>;
+ };
+
+ opp-596000000 {
+ opp-hz = /bits/ 64 <596000000>;
+ qcom,level = <320>;
+ };
+
+ opp-520000000 {
+ opp-hz = /bits/ 64 <520000000>;
+ qcom,level = <256>;
+ };
+
+ opp-414000000 {
+ opp-hz = /bits/ 64 <414000000>;
+ qcom,level = <192>;
+ };
+
+ opp-342000000 {
+ opp-hz = /bits/ 64 <342000000>;
+ qcom,level = <128>;
+ };
+
+ opp-257000000 {
+ opp-hz = /bits/ 64 <257000000>;
+ qcom,level = <64>;
+ };
+ };
+
+ gpu@5000000 {
+ compatible = "qcom,adreno-630.2", "qcom,adreno";
+ #stream-id-cells = <16>;
+
+ reg = <0x5000000 0x40000>;
+ reg-names = "kgsl_3d0_reg_memory";
+
+ /*
+ * Look ma, no clocks! The GPU clocks and power are controlled
+ * entirely by the GMU
+ */
+
+ interrupts = <0 300 0>;
+ interrupt-names = "kgsl_3d0_irq";
+
+ iommus = <&adreno_smmu 0>;
+
+ operating-points-v2 = <&gpu_opp_table>;
+
+ gmu = <&gmu>;
+ };
+
+ gmu_opp_table: adreno-gmu-opp-table {
+ compatible = "operating-points-v2";
+
+ opp-400000000 {
+ opp-hz = /bits/ 64 <400000000>;
+ qcom,level = <128>;
+ };
+
+ opp-200000000 {
+ opp-hz = /bits/ 64 <200000000>;
+ qcom,level = <48>;
+ };
+ };
+
+ gmu: gmu@506a000 {
+ compatible="qcom,adreno-gmu";
+
+ reg = <0x506a000 0x30000>, <0xb200000 0x300000>;
+ reg-names = "gmu", "gmu_pdc";
+
+ interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "hfi", "gmu";
+
+ clocks = <&clock_gpucc GPU_CC_CX_GMU_CLK>,
+ <&clock_gpucc GPU_CC_CXO_CLK>,
+ <&clock_gcc GCC_DDRSS_GPU_AXI_CLK>,
+ <&clock_gcc GCC_GPU_MEMNOC_GFX_CLK>;
+ clock-names = "gmu", "cxo", "axi", "memnoc";
+
+ power-domains = <&clock_gpucc GPU_CX_GDSC>;
+ iommus = <&adreno_smmu 5>;
+
+ operating-points-v2 = <&gmu_opp_table>;
+ };
};
--
2.16.1
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 9+ messages in thread
[parent not found: <20180316185152.32020-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>]
* [PATCH 1/2] dt-bindings: Document qcom,adreno-gmu
[not found] ` <20180316185152.32020-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
@ 2018-03-16 18:51 ` Jordan Crouse
[not found] ` <20180316185152.32020-2-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-03-20 3:44 ` [v2 PATCH 0/2] arm64: dts: Add sdm845 GPU/GMU and SMMU Viresh Kumar
1 sibling, 1 reply; 9+ messages in thread
From: Jordan Crouse @ 2018-03-16 18:51 UTC (permalink / raw)
To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
Cc: nm-l0cyMroinI0, devicetree-u79uwXL29TY76Z2rM5mHXA,
rnayak-sgV2jX0FEOL9JmXXK+q4OQ, linux-pm-u79uwXL29TY76Z2rM5mHXA,
sboyd-DgEjT+Ai2ygdnm+yROfE0A,
linux-arm-msm-u79uwXL29TY76Z2rM5mHXA,
dianders-F7+t8E8rja9g9hUCZPvPmw,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
vireshk-DgEjT+Ai2ygdnm+yROfE0A,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Document the device tree bindings for the Adreno GMU device
available on Adreno a6xx targets.
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
---
.../devicetree/bindings/display/msm/gmu.txt | 54 ++++++++++++++++++++++
.../devicetree/bindings/display/msm/gpu.txt | 10 +++-
2 files changed, 62 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/display/msm/gmu.txt
diff --git a/Documentation/devicetree/bindings/display/msm/gmu.txt b/Documentation/devicetree/bindings/display/msm/gmu.txt
new file mode 100644
index 000000000000..f65bb49fff36
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/msm/gmu.txt
@@ -0,0 +1,54 @@
+Qualcomm adreno/snapdragon GMU (Graphics management unit)
+
+The GMU is a programmable power controller for the GPU. the CPU controls the
+GMU which in turn handles power controls for the GPU.
+
+Required properties:
+- compatible:
+ * "qcom,adreno-gmu"
+- reg: Physical base address and length of the GMU registers.
+- reg-names: Matching names for the register regions
+ * "gmu"
+ * "gmu_pdc"
+- interrupts: The interrupt signals from the GMU.
+- interrupt-names: Matching names for the interrupts
+ * "hfi"
+ * "gmu"
+- clocks: phandles to the device clocks
+- clock-names: Matching names for the clocks
+ * "gmu"
+ * "cxo"
+ * "axi"
+ * "mnoc"
+- power-domains: should be <&clock_gpucc GPU_CX_GDSC>
+- iommus: phandle to the adreno iommu
+- operating-points-v2: phandle to the OPP operating points
+
+Example:
+
+/ {
+ ...
+
+ gmu: gmu@506a000 {
+ compatible="qcom,adreno-gmu";
+
+ reg = <0x506a000 0x30000>,
+ <0xb200000 0x300000>;
+ reg-names = "gmu", "gmu_pdc";
+
+ interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "hfi", "gmu";
+
+ clocks = <&clock_gpucc GPU_CC_CX_GMU_CLK>,
+ <&clock_gpucc GPU_CC_CXO_CLK>,
+ <&clock_gcc GCC_DDRSS_GPU_AXI_CLK>,
+ <&clock_gcc GCC_GPU_MEMNOC_GFX_CLK>;
+ clock-names = "gmu", "cxo", "axi", "memnoc";
+
+ power-domains = <&clock_gpucc GPU_CX_GDSC>;
+ iommus = <&adreno_smmu 5>;
+
+ i operating-points-v2 = <&gmu_opp_table>;
+ };
+};
diff --git a/Documentation/devicetree/bindings/display/msm/gpu.txt b/Documentation/devicetree/bindings/display/msm/gpu.txt
index 43fac0fe09bb..544a7510166b 100644
--- a/Documentation/devicetree/bindings/display/msm/gpu.txt
+++ b/Documentation/devicetree/bindings/display/msm/gpu.txt
@@ -8,12 +8,18 @@ Required properties:
with the chip-id.
- reg: Physical base address and length of the controller's registers.
- interrupts: The interrupt signal from the gpu.
-- clocks: device clocks
+
+Optional properties.
+- clocks: device clocks. Required for a3xx, a4xx and a5xx targets. a6xx and
+ newer with a GMU attached do not have direct clock control from the CPU and
+ do not need to provide clock properties.
See ../clocks/clock-bindings.txt for details.
-- clock-names: the following clocks are required:
+- clock-names: the following clocks can be provided:
* "core"
* "iface"
* "mem_iface"
+- qcom,gmu: For a6xx and newer targets a phandle to the GMU device that will
+ control the power for the GPU
Example:
--
2.16.1
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [v2 PATCH 0/2] arm64: dts: Add sdm845 GPU/GMU and SMMU
[not found] ` <20180316185152.32020-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-03-16 18:51 ` [PATCH 1/2] dt-bindings: Document qcom,adreno-gmu Jordan Crouse
@ 2018-03-20 3:44 ` Viresh Kumar
1 sibling, 0 replies; 9+ messages in thread
From: Viresh Kumar @ 2018-03-20 3:44 UTC (permalink / raw)
To: Jordan Crouse
Cc: nm-l0cyMroinI0, devicetree-u79uwXL29TY76Z2rM5mHXA,
rnayak-sgV2jX0FEOL9JmXXK+q4OQ, linux-pm-u79uwXL29TY76Z2rM5mHXA,
sboyd-DgEjT+Ai2ygdnm+yROfE0A,
linux-arm-msm-u79uwXL29TY76Z2rM5mHXA,
dianders-F7+t8E8rja9g9hUCZPvPmw,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
vireshk-DgEjT+Ai2ygdnm+yROfE0A,
freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
On 16-03-18, 12:51, Jordan Crouse wrote:
> (resend because I forgot to CC everybody on the patches)
>
> Add DT nodes for the sdm845 GPU/GMU (graphics management unit) and the companion
> arm-smmu-v2 compatible SMMU.
>
> This builds on the following dependencies -
> https://patchwork.kernel.org/patch/10286369/ - bindings for qcom,level
> https://patchwork.kernel.org/patch/10281599/ - qcom,smmu-v2 bindings
>
> Please refer to https://patchwork.freedesktop.org/series/37428/ for the driver
> code.
>
> [v2 - changed qcom,arc-level to qcom,level following discussion with Viresh;
> change gmu phandle to qcom,gmu per Rob]
>
> Jordan Crouse (2):
> dt-bindings: Document qcom,adreno-gmu
> arm64: dts: sdm845: Add gpu and gmu device nodes
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
--
viresh
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno
^ permalink raw reply [flat|nested] 9+ messages in thread
* [v3 PATCH 0/2] arm64: dts: Add sdm845 GPU/GMU and SMMU
@ 2018-08-08 22:46 Jordan Crouse
[not found] ` <20180808224701.7527-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Jordan Crouse @ 2018-08-08 22:46 UTC (permalink / raw)
To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
Cc: nm-l0cyMroinI0, devicetree-u79uwXL29TY76Z2rM5mHXA,
rnayak-sgV2jX0FEOL9JmXXK+q4OQ, linux-pm-u79uwXL29TY76Z2rM5mHXA,
sboyd-DgEjT+Ai2ygdnm+yROfE0A,
linux-arm-msm-u79uwXL29TY76Z2rM5mHXA,
hoegsberg-Re5JQEeQqe8AvxtiuMwx3w,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
sibis-sgV2jX0FEOL9JmXXK+q4OQ, vireshk-DgEjT+Ai2ygdnm+yROfE0A,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Add DT nodes for the sdm845 GPU/GMU (graphics management unit) and the companion
arm-smmu-v2 compatible SMMU.
This builds on the following dependencies -
https://patchwork.kernel.org/patch/10286369/ - bindings for qcom,level
https://patchwork.kernel.org/patch/10281599/ - qcom,smmu-v2 bindings
And requires these two changes for the driver:
https://patchwork.freedesktop.org/patch/243512/ - use new PDC sections
https://patchwork.freedesktop.org/patch/243513/ - use qcom,gmu instead of gmu
I think we are still waiting for the dependencies to merge but this should
at least be usable for anybody with a target that wants to get the GPU up
and happy.
[v3 - Split GMU PDC region into two GPU specific sections, fix indentation,
really use qcom,gmu for the phandle name]
[v2 - changed qcom,arc-level to qcom,level following discussion with Viresh;
change gmu phandle to qcom,gmu per Rob]
Jordan Crouse (2):
dt-bindings: Document qcom,adreno-gmu
arm64: dts: sdm845: Add gpu and gmu device nodes
.../devicetree/bindings/display/msm/gmu.txt | 54 ++++++++
.../devicetree/bindings/display/msm/gpu.txt | 10 +-
arch/arm64/boot/dts/qcom/sdm845.dtsi | 121 ++++++++++++++++++
3 files changed, 183 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/display/msm/gmu.txt
--
2.18.0
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 0/2] arm64: dts: Add sdm845 GPU/GMU and SMMU
@ 2018-03-02 21:56 Jordan Crouse
[not found] ` <20180302215638.6145-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Jordan Crouse @ 2018-03-02 21:56 UTC (permalink / raw)
To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
Cc: nm-l0cyMroinI0, devicetree-u79uwXL29TY76Z2rM5mHXA,
rnayak-sgV2jX0FEOL9JmXXK+q4OQ, linux-pm-u79uwXL29TY76Z2rM5mHXA,
linux-arm-msm-u79uwXL29TY76Z2rM5mHXA,
sboyd-sgV2jX0FEOL9JmXXK+q4OQ, dianders-F7+t8E8rja9g9hUCZPvPmw,
vireshk-DgEjT+Ai2ygdnm+yROfE0A,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Building on the sdm845 changes from Rajendra and SMMU changes from Vivek this
is an initial stab at the DT nodes for the sdm845 GPU and GMU (graphics
management unit) which is responsible for the direct power control of the GPU
including the companion arm-smmu-v2 compatible SMMU.
Please refer to https://patchwork.freedesktop.org/series/37428/ for the driver
code.
Jordan Crouse (2):
dt-bindings: Document qcom,adreno-gmu
arm64: dts: sdm845: Support GPU/GMU
.../devicetree/bindings/display/msm/gmu.txt | 54 ++++++++++
.../devicetree/bindings/display/msm/gpu.txt | 10 +-
arch/arm64/boot/dts/qcom/sdm845.dtsi | 120 +++++++++++++++++++++
3 files changed, 182 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/display/msm/gmu.txt
--
2.16.1
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2018-08-08 22:47 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-16 18:51 [v2 PATCH 0/2] arm64: dts: Add sdm845 GPU/GMU and SMMU Jordan Crouse
2018-03-16 18:51 ` [PATCH 2/2] arm64: dts: sdm845: Add gpu and gmu device nodes Jordan Crouse
[not found] ` <20180316185152.32020-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-03-16 18:51 ` [PATCH 1/2] dt-bindings: Document qcom,adreno-gmu Jordan Crouse
[not found] ` <20180316185152.32020-2-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-03-26 22:23 ` Rob Herring
2018-03-20 3:44 ` [v2 PATCH 0/2] arm64: dts: Add sdm845 GPU/GMU and SMMU Viresh Kumar
-- strict thread matches above, loose matches on Subject: below --
2018-08-08 22:46 [v3 " Jordan Crouse
[not found] ` <20180808224701.7527-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-08-08 22:47 ` [PATCH 1/2] dt-bindings: Document qcom,adreno-gmu Jordan Crouse
2018-03-02 21:56 [PATCH 0/2] arm64: dts: Add sdm845 GPU/GMU and SMMU Jordan Crouse
[not found] ` <20180302215638.6145-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-03-02 21:56 ` [PATCH 1/2] dt-bindings: Document qcom,adreno-gmu Jordan Crouse
[not found] ` <20180302215638.6145-2-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-03-05 19:38 ` Rob Herring
2018-03-16 18:27 ` Jordan Crouse
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).