diff mbox series

[v2,17/17] arm64: dts: sdm845: add IPA information

Message ID 20200306042831.17827-18-elder@linaro.org (mailing list archive)
State Mainlined
Commit 9cc5ae125f0eaee471bc87fb5cbf29385fd9272a
Headers show
Series net: introduce Qualcomm IPA driver (UPDATED) | expand

Commit Message

Alex Elder March 6, 2020, 4:28 a.m. UTC
Add IPA-related nodes and definitions to "sdm845.dtsi".

Signed-off-by: Alex Elder <elder@linaro.org>
---
 arch/arm64/boot/dts/qcom/sdm845.dtsi | 51 ++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

Comments

Jon Hunter March 11, 2020, 10:49 a.m. UTC | #1
On 06/03/2020 04:28, Alex Elder wrote:
> Add IPA-related nodes and definitions to "sdm845.dtsi".
> 
> Signed-off-by: Alex Elder <elder@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/sdm845.dtsi | 51 ++++++++++++++++++++++++++++
>  1 file changed, 51 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> index d42302b8889b..58fd1c611849 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> @@ -675,6 +675,17 @@
>  			interrupt-controller;
>  			#interrupt-cells = <2>;
>  		};
> +
> +		ipa_smp2p_out: ipa-ap-to-modem {
> +			qcom,entry-name = "ipa";
> +			#qcom,smem-state-cells = <1>;
> +		};
> +
> +		ipa_smp2p_in: ipa-modem-to-ap {
> +			qcom,entry-name = "ipa";
> +			interrupt-controller;
> +			#interrupt-cells = <2>;
> +		};
>  	};
>  
>  	smp2p-slpi {
> @@ -1435,6 +1446,46 @@
>  			};
>  		};
>  
> +		ipa@1e40000 {
> +			compatible = "qcom,sdm845-ipa";
> +
> +			modem-init;
> +			modem-remoteproc = <&mss_pil>;
> +
> +			reg = <0 0x1e40000 0 0x7000>,
> +			      <0 0x1e47000 0 0x2000>,
> +			      <0 0x1e04000 0 0x2c000>;
> +			reg-names = "ipa-reg",
> +				    "ipa-shared",
> +				    "gsi";
> +
> +			interrupts-extended =
> +					<&intc 0 311 IRQ_TYPE_EDGE_RISING>,
> +					<&intc 0 432 IRQ_TYPE_LEVEL_HIGH>,
> +					<&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> +					<&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>;
> +			interrupt-names = "ipa",
> +					  "gsi",
> +					  "ipa-clock-query",
> +					  "ipa-setup-ready";
> +
> +			clocks = <&rpmhcc RPMH_IPA_CLK>;
> +			clock-names = "core";
> +
> +			interconnects =
> +				<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_EBI1>,
> +				<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_IMEM>,
> +				<&rsc_hlos MASTER_APPSS_PROC &rsc_hlos SLAVE_IPA_CFG>;
> +			interconnect-names = "memory",
> +					     "imem",
> +					     "config";
> +
> +			qcom,smem-states = <&ipa_smp2p_out 0>,
> +					   <&ipa_smp2p_out 1>;
> +			qcom,smem-state-names = "ipa-clock-enabled-valid",
> +						"ipa-clock-enabled";
> +		};
> +
>  		tcsr_mutex_regs: syscon@1f40000 {
>  			compatible = "syscon";
>  			reg = <0 0x01f40000 0 0x40000>;
> 


This change is causing the following build error on today's -next ...

 DTC     arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dtb
 arch/arm64/boot/dts/qcom/sdm845.dtsi:1710.15-1748.5: ERROR (phandle_references): /soc@0/ipa@1e40000: Reference to non-existent node or label "rsc_hlos"

Cheers
Jon
Alex Elder March 11, 2020, 2:39 p.m. UTC | #2
On 3/11/20 5:49 AM, Jon Hunter wrote:
> 
> On 06/03/2020 04:28, Alex Elder wrote:
>> Add IPA-related nodes and definitions to "sdm845.dtsi".
>>
>> Signed-off-by: Alex Elder <elder@linaro.org>
>> ---
>>  arch/arm64/boot/dts/qcom/sdm845.dtsi | 51 ++++++++++++++++++++++++++++
>>  1 file changed, 51 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
>> index d42302b8889b..58fd1c611849 100644
>> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
>> @@ -675,6 +675,17 @@
>>  			interrupt-controller;
>>  			#interrupt-cells = <2>;
>>  		};
>> +
>> +		ipa_smp2p_out: ipa-ap-to-modem {
>> +			qcom,entry-name = "ipa";
>> +			#qcom,smem-state-cells = <1>;
>> +		};
>> +
>> +		ipa_smp2p_in: ipa-modem-to-ap {
>> +			qcom,entry-name = "ipa";
>> +			interrupt-controller;
>> +			#interrupt-cells = <2>;
>> +		};
>>  	};
>>  
>>  	smp2p-slpi {
>> @@ -1435,6 +1446,46 @@
>>  			};
>>  		};
>>  
>> +		ipa@1e40000 {
>> +			compatible = "qcom,sdm845-ipa";
>> +
>> +			modem-init;
>> +			modem-remoteproc = <&mss_pil>;
>> +
>> +			reg = <0 0x1e40000 0 0x7000>,
>> +			      <0 0x1e47000 0 0x2000>,
>> +			      <0 0x1e04000 0 0x2c000>;
>> +			reg-names = "ipa-reg",
>> +				    "ipa-shared",
>> +				    "gsi";
>> +
>> +			interrupts-extended =
>> +					<&intc 0 311 IRQ_TYPE_EDGE_RISING>,
>> +					<&intc 0 432 IRQ_TYPE_LEVEL_HIGH>,
>> +					<&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
>> +					<&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>;
>> +			interrupt-names = "ipa",
>> +					  "gsi",
>> +					  "ipa-clock-query",
>> +					  "ipa-setup-ready";
>> +
>> +			clocks = <&rpmhcc RPMH_IPA_CLK>;
>> +			clock-names = "core";
>> +
>> +			interconnects =
>> +				<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_EBI1>,
>> +				<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_IMEM>,
>> +				<&rsc_hlos MASTER_APPSS_PROC &rsc_hlos SLAVE_IPA_CFG>;
>> +			interconnect-names = "memory",
>> +					     "imem",
>> +					     "config";
>> +
>> +			qcom,smem-states = <&ipa_smp2p_out 0>,
>> +					   <&ipa_smp2p_out 1>;
>> +			qcom,smem-state-names = "ipa-clock-enabled-valid",
>> +						"ipa-clock-enabled";
>> +		};
>> +
>>  		tcsr_mutex_regs: syscon@1f40000 {
>>  			compatible = "syscon";
>>  			reg = <0 0x01f40000 0 0x40000>;
>>
> 
> 
> This change is causing the following build error on today's -next ...
> 
>  DTC     arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dtb
>  arch/arm64/boot/dts/qcom/sdm845.dtsi:1710.15-1748.5: ERROR (phandle_references): /soc@0/ipa@1e40000: Reference to non-existent node or label "rsc_hlos"

This problem arises because a commit in the Qualcomm SoC tree affects
"arch/arm64/boot/dts/qcom/sdm845.dtsi", changing the interconnect provider
node(s) used by IPA:
  b303f9f0050b arm64: dts: sdm845: Redefine interconnect provider DT nodes

I will send out a patch today that updates the IPA node in "sdm845.dtsi"
to correct that.

In the mean time, David, perhaps you should revert this change in net-next:
  9cc5ae125f0e arm64: dts: sdm845: add IPA information
and let me work out fixing "sdm845.dtsi" with Andy and Bjorn in the
Qualcomm tree.

Thanks.

				-Alex

> Cheers
> Jon
>
Bjorn Andersson March 11, 2020, 7:02 p.m. UTC | #3
On Wed 11 Mar 07:39 PDT 2020, Alex Elder wrote:

> On 3/11/20 5:49 AM, Jon Hunter wrote:
> > 
> > On 06/03/2020 04:28, Alex Elder wrote:
> >> Add IPA-related nodes and definitions to "sdm845.dtsi".
> >>
> >> Signed-off-by: Alex Elder <elder@linaro.org>
> >> ---
> >>  arch/arm64/boot/dts/qcom/sdm845.dtsi | 51 ++++++++++++++++++++++++++++
> >>  1 file changed, 51 insertions(+)
> >>
> >> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> >> index d42302b8889b..58fd1c611849 100644
> >> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> >> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> >> @@ -675,6 +675,17 @@
> >>  			interrupt-controller;
> >>  			#interrupt-cells = <2>;
> >>  		};
> >> +
> >> +		ipa_smp2p_out: ipa-ap-to-modem {
> >> +			qcom,entry-name = "ipa";
> >> +			#qcom,smem-state-cells = <1>;
> >> +		};
> >> +
> >> +		ipa_smp2p_in: ipa-modem-to-ap {
> >> +			qcom,entry-name = "ipa";
> >> +			interrupt-controller;
> >> +			#interrupt-cells = <2>;
> >> +		};
> >>  	};
> >>  
> >>  	smp2p-slpi {
> >> @@ -1435,6 +1446,46 @@
> >>  			};
> >>  		};
> >>  
> >> +		ipa@1e40000 {
> >> +			compatible = "qcom,sdm845-ipa";
> >> +
> >> +			modem-init;
> >> +			modem-remoteproc = <&mss_pil>;
> >> +
> >> +			reg = <0 0x1e40000 0 0x7000>,
> >> +			      <0 0x1e47000 0 0x2000>,
> >> +			      <0 0x1e04000 0 0x2c000>;
> >> +			reg-names = "ipa-reg",
> >> +				    "ipa-shared",
> >> +				    "gsi";
> >> +
> >> +			interrupts-extended =
> >> +					<&intc 0 311 IRQ_TYPE_EDGE_RISING>,
> >> +					<&intc 0 432 IRQ_TYPE_LEVEL_HIGH>,
> >> +					<&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
> >> +					<&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>;
> >> +			interrupt-names = "ipa",
> >> +					  "gsi",
> >> +					  "ipa-clock-query",
> >> +					  "ipa-setup-ready";
> >> +
> >> +			clocks = <&rpmhcc RPMH_IPA_CLK>;
> >> +			clock-names = "core";
> >> +
> >> +			interconnects =
> >> +				<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_EBI1>,
> >> +				<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_IMEM>,
> >> +				<&rsc_hlos MASTER_APPSS_PROC &rsc_hlos SLAVE_IPA_CFG>;
> >> +			interconnect-names = "memory",
> >> +					     "imem",
> >> +					     "config";
> >> +
> >> +			qcom,smem-states = <&ipa_smp2p_out 0>,
> >> +					   <&ipa_smp2p_out 1>;
> >> +			qcom,smem-state-names = "ipa-clock-enabled-valid",
> >> +						"ipa-clock-enabled";
> >> +		};
> >> +
> >>  		tcsr_mutex_regs: syscon@1f40000 {
> >>  			compatible = "syscon";
> >>  			reg = <0 0x01f40000 0 0x40000>;
> >>
> > 
> > 
> > This change is causing the following build error on today's -next ...
> > 
> >  DTC     arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dtb
> >  arch/arm64/boot/dts/qcom/sdm845.dtsi:1710.15-1748.5: ERROR (phandle_references): /soc@0/ipa@1e40000: Reference to non-existent node or label "rsc_hlos"
> 
> This problem arises because a commit in the Qualcomm SoC tree affects
> "arch/arm64/boot/dts/qcom/sdm845.dtsi", changing the interconnect provider
> node(s) used by IPA:
>   b303f9f0050b arm64: dts: sdm845: Redefine interconnect provider DT nodes
> 
> I will send out a patch today that updates the IPA node in "sdm845.dtsi"
> to correct that.
> 
> In the mean time, David, perhaps you should revert this change in net-next:
>   9cc5ae125f0e arm64: dts: sdm845: add IPA information
> and let me work out fixing "sdm845.dtsi" with Andy and Bjorn in the
> Qualcomm tree.
> 

Reverting this in net-next and applying it in our tree sounds like the
easiest path forward, and avoids further conflicts down the road.

David, are you onboard with this?

Regards,
Bjorn
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index d42302b8889b..58fd1c611849 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -675,6 +675,17 @@ 
 			interrupt-controller;
 			#interrupt-cells = <2>;
 		};
+
+		ipa_smp2p_out: ipa-ap-to-modem {
+			qcom,entry-name = "ipa";
+			#qcom,smem-state-cells = <1>;
+		};
+
+		ipa_smp2p_in: ipa-modem-to-ap {
+			qcom,entry-name = "ipa";
+			interrupt-controller;
+			#interrupt-cells = <2>;
+		};
 	};
 
 	smp2p-slpi {
@@ -1435,6 +1446,46 @@ 
 			};
 		};
 
+		ipa@1e40000 {
+			compatible = "qcom,sdm845-ipa";
+
+			modem-init;
+			modem-remoteproc = <&mss_pil>;
+
+			reg = <0 0x1e40000 0 0x7000>,
+			      <0 0x1e47000 0 0x2000>,
+			      <0 0x1e04000 0 0x2c000>;
+			reg-names = "ipa-reg",
+				    "ipa-shared",
+				    "gsi";
+
+			interrupts-extended =
+					<&intc 0 311 IRQ_TYPE_EDGE_RISING>,
+					<&intc 0 432 IRQ_TYPE_LEVEL_HIGH>,
+					<&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+					<&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>;
+			interrupt-names = "ipa",
+					  "gsi",
+					  "ipa-clock-query",
+					  "ipa-setup-ready";
+
+			clocks = <&rpmhcc RPMH_IPA_CLK>;
+			clock-names = "core";
+
+			interconnects =
+				<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_EBI1>,
+				<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_IMEM>,
+				<&rsc_hlos MASTER_APPSS_PROC &rsc_hlos SLAVE_IPA_CFG>;
+			interconnect-names = "memory",
+					     "imem",
+					     "config";
+
+			qcom,smem-states = <&ipa_smp2p_out 0>,
+					   <&ipa_smp2p_out 1>;
+			qcom,smem-state-names = "ipa-clock-enabled-valid",
+						"ipa-clock-enabled";
+		};
+
 		tcsr_mutex_regs: syscon@1f40000 {
 			compatible = "syscon";
 			reg = <0 0x01f40000 0 0x40000>;