linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] arm64: dts: qcom: qcs404: CDSP for APF support
@ 2019-03-24 17:20 Bjorn Andersson
  2019-03-24 17:20 ` [PATCH 1/2] arm64: dts: qcom: qcs404: Add turingcc node Bjorn Andersson
  2019-03-24 17:20 ` [PATCH 2/2] arm64: dts: qcom: Fully describe the CDSP Bjorn Andersson
  0 siblings, 2 replies; 5+ messages in thread
From: Bjorn Andersson @ 2019-03-24 17:20 UTC (permalink / raw)
  To: Andy Gross, Vinod Koul
  Cc: David Brown, Rob Herring, Mark Rutland, linux-arm-msm,
	devicetree, linux-kernel

Add the clock controller and describe the cdsp in a way that it can be reused
between different trusted environments.

Bjorn Andersson (2):
  arm64: dts: qcom: qcs404: Add turingcc node
  arm64: dts: qcom: Fully describe the CDSP

 arch/arm64/boot/dts/qcom/qcs404.dtsi | 100 ++++++++++++++++++---------
 1 file changed, 69 insertions(+), 31 deletions(-)

-- 
2.18.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] arm64: dts: qcom: qcs404: Add turingcc node
  2019-03-24 17:20 [PATCH 0/2] arm64: dts: qcom: qcs404: CDSP for APF support Bjorn Andersson
@ 2019-03-24 17:20 ` Bjorn Andersson
  2019-04-27  8:17   ` Vinod Koul
  2019-03-24 17:20 ` [PATCH 2/2] arm64: dts: qcom: Fully describe the CDSP Bjorn Andersson
  1 sibling, 1 reply; 5+ messages in thread
From: Bjorn Andersson @ 2019-03-24 17:20 UTC (permalink / raw)
  To: Andy Gross, Vinod Koul
  Cc: David Brown, Rob Herring, Mark Rutland, linux-arm-msm,
	devicetree, linux-kernel

Add a node describing the Turing Clock Controller of the QCS404. Given
the default access restriction the node is left disabled.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---
 arch/arm64/boot/dts/qcom/qcs404.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qcs404.dtsi b/arch/arm64/boot/dts/qcom/qcs404.dtsi
index 298a6053c3e0..f62cd09d965e 100644
--- a/arch/arm64/boot/dts/qcom/qcs404.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs404.dtsi
@@ -3,6 +3,7 @@
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/qcom,gcc-qcs404.h>
+#include <dt-bindings/clock/qcom,turingcc-qcs404.h>
 #include <dt-bindings/clock/qcom,rpmcc.h>
 
 / {
@@ -264,6 +265,17 @@
 		ranges = <0 0 0 0xffffffff>;
 		compatible = "simple-bus";
 
+		turingcc: clock-controller@800000 {
+			compatible = "qcom,qcs404-turingcc";
+			reg = <0x00800000 0x30000>;
+			clocks = <&gcc GCC_CDSP_CFG_AHB_CLK>;
+
+			#clock-cells = <1>;
+			#reset-cells = <1>;
+
+			status = "disabled";
+		};
+
 		rpm_msg_ram: memory@60000 {
 			compatible = "qcom,rpm-msg-ram";
 			reg = <0x00060000 0x6000>;
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] arm64: dts: qcom: Fully describe the CDSP
  2019-03-24 17:20 [PATCH 0/2] arm64: dts: qcom: qcs404: CDSP for APF support Bjorn Andersson
  2019-03-24 17:20 ` [PATCH 1/2] arm64: dts: qcom: qcs404: Add turingcc node Bjorn Andersson
@ 2019-03-24 17:20 ` Bjorn Andersson
  2019-04-27  8:19   ` Vinod Koul
  1 sibling, 1 reply; 5+ messages in thread
From: Bjorn Andersson @ 2019-03-24 17:20 UTC (permalink / raw)
  To: Andy Gross, Vinod Koul
  Cc: David Brown, Rob Herring, Mark Rutland, linux-arm-msm,
	devicetree, linux-kernel

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---
 arch/arm64/boot/dts/qcom/qcs404.dtsi | 88 ++++++++++++++++++----------
 1 file changed, 57 insertions(+), 31 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/qcs404.dtsi b/arch/arm64/boot/dts/qcom/qcs404.dtsi
index f62cd09d965e..c20425aa9ed9 100644
--- a/arch/arm64/boot/dts/qcom/qcs404.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs404.dtsi
@@ -113,37 +113,6 @@
 		};
 	};
 
-	remoteproc_cdsp: remoteproc-cdsp {
-		compatible = "qcom,qcs404-cdsp-pas";
-
-		interrupts-extended = <&intc GIC_SPI 229 IRQ_TYPE_EDGE_RISING>,
-				      <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
-				      <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
-				      <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
-				      <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
-		interrupt-names = "wdog", "fatal", "ready",
-				  "handover", "stop-ack";
-
-		clocks = <&xo_board>;
-		clock-names = "xo";
-
-		memory-region = <&cdsp_fw_mem>;
-
-		qcom,smem-states = <&cdsp_smp2p_out 0>;
-		qcom,smem-state-names = "stop";
-
-		status = "disabled";
-
-		glink-edge {
-			interrupts = <GIC_SPI 141 IRQ_TYPE_EDGE_RISING>;
-
-			qcom,remote-pid = <5>;
-			mboxes = <&apcs_glb 12>;
-
-			label = "cdsp";
-		};
-	};
-
 	remoteproc_wcss: remoteproc-wcss {
 		compatible = "qcom,qcs404-wcss-pas";
 
@@ -288,6 +257,57 @@
 			clock-names = "core";
 		};
 
+		remoteproc_cdsp: remoteproc@b00000 {
+			compatible = "qcom,qcs404-cdsp-pas";
+			reg = <0x00b00000 0x4040>;
+
+			interrupts-extended = <&intc GIC_SPI 229 IRQ_TYPE_EDGE_RISING>,
+					      <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+					      <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+					      <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+					      <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
+			interrupt-names = "wdog", "fatal", "ready",
+					  "handover", "stop-ack";
+
+			clocks = <&xo_board>,
+				 <&gcc GCC_CDSP_CFG_AHB_CLK>,
+				 <&gcc GCC_CDSP_TBU_CLK>,
+				 <&gcc GCC_BIMC_CDSP_CLK>,
+				 <&turingcc TURING_WRAPPER_AON_CLK>,
+				 <&turingcc TURING_Q6SS_AHBS_AON_CLK>,
+				 <&turingcc TURING_Q6SS_AHBM_AON_CLK>,
+				 <&turingcc TURING_Q6SS_Q6_AXIM_CLK>;
+			clock-names = "xo",
+				      "sway",
+				      "tbu",
+				      "bimc",
+				      "ahb_aon",
+				      "q6ss_slave",
+				      "q6ss_master",
+				      "q6_axim";
+
+			resets = <&gcc GCC_CDSP_RESTART>;
+			reset-names = "restart";
+
+			qcom,halt-regs = <&tcsr 0x19004>;
+
+			memory-region = <&cdsp_fw_mem>;
+
+			qcom,smem-states = <&cdsp_smp2p_out 0>;
+			qcom,smem-state-names = "stop";
+
+			status = "disabled";
+
+			glink-edge {
+				interrupts = <GIC_SPI 141 IRQ_TYPE_EDGE_RISING>;
+
+				qcom,remote-pid = <5>;
+				mboxes = <&apcs_glb 12>;
+
+				label = "cdsp";
+			};
+		};
+
 		usb3_phy: phy@78000 {
 			compatible = "qcom,usb-ssphy";
 			reg = <0x78000 0x400>;
@@ -506,6 +526,7 @@
 			compatible = "qcom,gcc-qcs404";
 			reg = <0x01800000 0x80000>;
 			#clock-cells = <1>;
+			#reset-cells = <1>;
 
 			assigned-clocks = <&gcc GCC_APSS_AHB_CLK_SRC>;
 			assigned-clock-rates = <19200000>;
@@ -516,6 +537,11 @@
 			reg = <0x01905000 0x20000>;
 		};
 
+		tcsr: syscon@1937000 {
+			compatible = "syscon";
+			reg = <0x01937000 0x25000>;
+		};
+
 		spmi_bus: spmi@200f000 {
 			compatible = "qcom,spmi-pmic-arb";
 			reg = <0x0200f000 0x001000>,
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] arm64: dts: qcom: qcs404: Add turingcc node
  2019-03-24 17:20 ` [PATCH 1/2] arm64: dts: qcom: qcs404: Add turingcc node Bjorn Andersson
@ 2019-04-27  8:17   ` Vinod Koul
  0 siblings, 0 replies; 5+ messages in thread
From: Vinod Koul @ 2019-04-27  8:17 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Andy Gross, David Brown, Rob Herring, Mark Rutland,
	linux-arm-msm, devicetree, linux-kernel

On 24-03-19, 10:20, Bjorn Andersson wrote:
> Add a node describing the Turing Clock Controller of the QCS404. Given
> the default access restriction the node is left disabled.

Reviewed-by: Vinod Koul <vkoul@kernel.org>

> 
> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/qcs404.dtsi | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/qcs404.dtsi b/arch/arm64/boot/dts/qcom/qcs404.dtsi
> index 298a6053c3e0..f62cd09d965e 100644
> --- a/arch/arm64/boot/dts/qcom/qcs404.dtsi
> +++ b/arch/arm64/boot/dts/qcom/qcs404.dtsi
> @@ -3,6 +3,7 @@
>  
>  #include <dt-bindings/interrupt-controller/arm-gic.h>
>  #include <dt-bindings/clock/qcom,gcc-qcs404.h>
> +#include <dt-bindings/clock/qcom,turingcc-qcs404.h>
>  #include <dt-bindings/clock/qcom,rpmcc.h>
>  
>  / {
> @@ -264,6 +265,17 @@
>  		ranges = <0 0 0 0xffffffff>;
>  		compatible = "simple-bus";
>  
> +		turingcc: clock-controller@800000 {
> +			compatible = "qcom,qcs404-turingcc";
> +			reg = <0x00800000 0x30000>;
> +			clocks = <&gcc GCC_CDSP_CFG_AHB_CLK>;
> +
> +			#clock-cells = <1>;
> +			#reset-cells = <1>;
> +
> +			status = "disabled";
> +		};
> +
>  		rpm_msg_ram: memory@60000 {
>  			compatible = "qcom,rpm-msg-ram";
>  			reg = <0x00060000 0x6000>;
> -- 
> 2.18.0

-- 
~Vinod

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] arm64: dts: qcom: Fully describe the CDSP
  2019-03-24 17:20 ` [PATCH 2/2] arm64: dts: qcom: Fully describe the CDSP Bjorn Andersson
@ 2019-04-27  8:19   ` Vinod Koul
  0 siblings, 0 replies; 5+ messages in thread
From: Vinod Koul @ 2019-04-27  8:19 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Andy Gross, David Brown, Rob Herring, Mark Rutland,
	linux-arm-msm, devicetree, linux-kernel

On 24-03-19, 10:20, Bjorn Andersson wrote:

It would have been great to explain the change and why we are moving the
node :)

> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/qcs404.dtsi | 88 ++++++++++++++++++----------
>  1 file changed, 57 insertions(+), 31 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/qcs404.dtsi b/arch/arm64/boot/dts/qcom/qcs404.dtsi
> index f62cd09d965e..c20425aa9ed9 100644
> --- a/arch/arm64/boot/dts/qcom/qcs404.dtsi
> +++ b/arch/arm64/boot/dts/qcom/qcs404.dtsi
> @@ -113,37 +113,6 @@
>  		};
>  	};
>  
> -	remoteproc_cdsp: remoteproc-cdsp {
> -		compatible = "qcom,qcs404-cdsp-pas";
> -
> -		interrupts-extended = <&intc GIC_SPI 229 IRQ_TYPE_EDGE_RISING>,
> -				      <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> -				      <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> -				      <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> -				      <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
> -		interrupt-names = "wdog", "fatal", "ready",
> -				  "handover", "stop-ack";
> -
> -		clocks = <&xo_board>;
> -		clock-names = "xo";
> -
> -		memory-region = <&cdsp_fw_mem>;
> -
> -		qcom,smem-states = <&cdsp_smp2p_out 0>;
> -		qcom,smem-state-names = "stop";
> -
> -		status = "disabled";
> -
> -		glink-edge {
> -			interrupts = <GIC_SPI 141 IRQ_TYPE_EDGE_RISING>;
> -
> -			qcom,remote-pid = <5>;
> -			mboxes = <&apcs_glb 12>;
> -
> -			label = "cdsp";
> -		};
> -	};
> -
>  	remoteproc_wcss: remoteproc-wcss {
>  		compatible = "qcom,qcs404-wcss-pas";
>  
> @@ -288,6 +257,57 @@
>  			clock-names = "core";
>  		};
>  
> +		remoteproc_cdsp: remoteproc@b00000 {
> +			compatible = "qcom,qcs404-cdsp-pas";
> +			reg = <0x00b00000 0x4040>;
> +
> +			interrupts-extended = <&intc GIC_SPI 229 IRQ_TYPE_EDGE_RISING>,
> +					      <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> +					      <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
> +					      <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
> +					      <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
> +			interrupt-names = "wdog", "fatal", "ready",
> +					  "handover", "stop-ack";
> +
> +			clocks = <&xo_board>,
> +				 <&gcc GCC_CDSP_CFG_AHB_CLK>,
> +				 <&gcc GCC_CDSP_TBU_CLK>,
> +				 <&gcc GCC_BIMC_CDSP_CLK>,
> +				 <&turingcc TURING_WRAPPER_AON_CLK>,
> +				 <&turingcc TURING_Q6SS_AHBS_AON_CLK>,
> +				 <&turingcc TURING_Q6SS_AHBM_AON_CLK>,
> +				 <&turingcc TURING_Q6SS_Q6_AXIM_CLK>;
> +			clock-names = "xo",
> +				      "sway",
> +				      "tbu",
> +				      "bimc",
> +				      "ahb_aon",
> +				      "q6ss_slave",
> +				      "q6ss_master",
> +				      "q6_axim";
> +
> +			resets = <&gcc GCC_CDSP_RESTART>;
> +			reset-names = "restart";
> +
> +			qcom,halt-regs = <&tcsr 0x19004>;
> +
> +			memory-region = <&cdsp_fw_mem>;
> +
> +			qcom,smem-states = <&cdsp_smp2p_out 0>;
> +			qcom,smem-state-names = "stop";
> +
> +			status = "disabled";
> +
> +			glink-edge {
> +				interrupts = <GIC_SPI 141 IRQ_TYPE_EDGE_RISING>;
> +
> +				qcom,remote-pid = <5>;
> +				mboxes = <&apcs_glb 12>;
> +
> +				label = "cdsp";
> +			};
> +		};
> +
>  		usb3_phy: phy@78000 {
>  			compatible = "qcom,usb-ssphy";
>  			reg = <0x78000 0x400>;
> @@ -506,6 +526,7 @@
>  			compatible = "qcom,gcc-qcs404";
>  			reg = <0x01800000 0x80000>;
>  			#clock-cells = <1>;
> +			#reset-cells = <1>;

Shouldn't this be a separate patch?

>  
>  			assigned-clocks = <&gcc GCC_APSS_AHB_CLK_SRC>;
>  			assigned-clock-rates = <19200000>;
> @@ -516,6 +537,11 @@
>  			reg = <0x01905000 0x20000>;
>  		};
>  
> +		tcsr: syscon@1937000 {
> +			compatible = "syscon";
> +			reg = <0x01937000 0x25000>;
> +		};
> +

This too..

>  		spmi_bus: spmi@200f000 {
>  			compatible = "qcom,spmi-pmic-arb";
>  			reg = <0x0200f000 0x001000>,
> -- 
> 2.18.0

-- 
~Vinod

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-04-27  8:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-24 17:20 [PATCH 0/2] arm64: dts: qcom: qcs404: CDSP for APF support Bjorn Andersson
2019-03-24 17:20 ` [PATCH 1/2] arm64: dts: qcom: qcs404: Add turingcc node Bjorn Andersson
2019-04-27  8:17   ` Vinod Koul
2019-03-24 17:20 ` [PATCH 2/2] arm64: dts: qcom: Fully describe the CDSP Bjorn Andersson
2019-04-27  8:19   ` Vinod Koul

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).