Message ID | 1624564058-24095-10-git-send-email-sibis@codeaurora.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add Modem support on SC7280 SoCs | expand |
On Fri, Jun 25, 2021 at 01:17:38AM +0530, Sibi Sankar wrote: > Update MSS node to support MSA based modem boot on SC7280 SoCs. > > Signed-off-by: Sibi Sankar <sibis@codeaurora.org> > --- > arch/arm64/boot/dts/qcom/sc7280-idp.dts | 7 +++++++ > arch/arm64/boot/dts/qcom/sc7280.dtsi | 19 ++++++++++++++++--- > 2 files changed, 23 insertions(+), 3 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dts b/arch/arm64/boot/dts/qcom/sc7280-idp.dts > index 191e8a92d153..d66e3ca42ad5 100644 > --- a/arch/arm64/boot/dts/qcom/sc7280-idp.dts > +++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dts > @@ -343,3 +343,10 @@ > bias-pull-up; > }; > }; > + > +&remoteproc_mpss { > + status = "okay"; > + compatible = "qcom,sc7280-mss-pil"; > + iommus = <&apps_smmu 0x124 0x0>, <&apps_smmu 0x488 0x7>; > + memory-region = <&mba_mem &mpss_mem>; > +}; > diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi > index 56ea172f641f..6d3687744440 100644 > --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi > +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi > @@ -586,7 +586,8 @@ > > remoteproc_mpss: remoteproc@4080000 { > compatible = "qcom,sc7280-mpss-pas"; > - reg = <0 0x04080000 0 0x10000>; > + reg = <0 0x04080000 0 0x10000>, <0 0x04180000 0 0x48>; > + reg-names = "qdsp6", "rmb"; Binding needs update? Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml: reg: maxItems: 1 > > interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_EDGE_RISING>, > <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, > @@ -597,8 +598,11 @@ > interrupt-names = "wdog", "fatal", "ready", "handover", > "stop-ack", "shutdown-ack"; > > - clocks = <&rpmhcc RPMH_CXO_CLK>; > - clock-names = "xo"; > + clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, > + <&gcc GCC_MSS_OFFLINE_AXI_CLK>, > + <&gcc GCC_MSS_SNOC_AXI_CLK>, > + <&rpmhcc RPMH_CXO_CLK>; > + clock-names = "iface", "offline", "snoc_axi", "xo"; Binding needs update? Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml: clocks: items: - description: XO clock clock-names: items: - const: xo
On 2021-06-29 00:35, Matthias Kaehlcke wrote: > On Fri, Jun 25, 2021 at 01:17:38AM +0530, Sibi Sankar wrote: >> Update MSS node to support MSA based modem boot on SC7280 SoCs. >> >> Signed-off-by: Sibi Sankar <sibis@codeaurora.org> >> --- >> arch/arm64/boot/dts/qcom/sc7280-idp.dts | 7 +++++++ >> arch/arm64/boot/dts/qcom/sc7280.dtsi | 19 ++++++++++++++++--- >> 2 files changed, 23 insertions(+), 3 deletions(-) >> >> diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dts >> b/arch/arm64/boot/dts/qcom/sc7280-idp.dts >> index 191e8a92d153..d66e3ca42ad5 100644 >> --- a/arch/arm64/boot/dts/qcom/sc7280-idp.dts >> +++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dts >> @@ -343,3 +343,10 @@ >> bias-pull-up; >> }; >> }; >> + >> +&remoteproc_mpss { >> + status = "okay"; >> + compatible = "qcom,sc7280-mss-pil"; >> + iommus = <&apps_smmu 0x124 0x0>, <&apps_smmu 0x488 0x7>; >> + memory-region = <&mba_mem &mpss_mem>; >> +}; >> diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi >> b/arch/arm64/boot/dts/qcom/sc7280.dtsi >> index 56ea172f641f..6d3687744440 100644 >> --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi >> +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi >> @@ -586,7 +586,8 @@ >> >> remoteproc_mpss: remoteproc@4080000 { >> compatible = "qcom,sc7280-mpss-pas"; >> - reg = <0 0x04080000 0 0x10000>; >> + reg = <0 0x04080000 0 0x10000>, <0 0x04180000 0 0x48>; >> + reg-names = "qdsp6", "rmb"; > > Binding needs update? > > Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml: > > reg: > maxItems: 1 > >> >> interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_EDGE_RISING>, >> <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, >> @@ -597,8 +598,11 @@ >> interrupt-names = "wdog", "fatal", "ready", "handover", >> "stop-ack", "shutdown-ack"; >> >> - clocks = <&rpmhcc RPMH_CXO_CLK>; >> - clock-names = "xo"; >> + clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, >> + <&gcc GCC_MSS_OFFLINE_AXI_CLK>, >> + <&gcc GCC_MSS_SNOC_AXI_CLK>, >> + <&rpmhcc RPMH_CXO_CLK>; >> + clock-names = "iface", "offline", "snoc_axi", "xo"; > > Binding needs update? > > Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml: > > clocks: > items: > - description: XO clock > clock-names: > items: > - const: xo qcom,sc7280-mpss-pas compatible requires just the xo clock and one reg space whereas the qcom,sc7280-mss-pil compatible requires the additional clks and reg spaces. We just overload properties where re-use is possible across boards. Hence it would be wrong to list those clks/reg spaces as requirements for the pas compatible.
On Wed 30 Jun 15:08 CDT 2021, Sibi Sankar wrote: > On 2021-06-29 00:35, Matthias Kaehlcke wrote: > > On Fri, Jun 25, 2021 at 01:17:38AM +0530, Sibi Sankar wrote: > > > Update MSS node to support MSA based modem boot on SC7280 SoCs. > > > > > > Signed-off-by: Sibi Sankar <sibis@codeaurora.org> > > > --- > > > arch/arm64/boot/dts/qcom/sc7280-idp.dts | 7 +++++++ > > > arch/arm64/boot/dts/qcom/sc7280.dtsi | 19 ++++++++++++++++--- > > > 2 files changed, 23 insertions(+), 3 deletions(-) > > > > > > diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dts > > > b/arch/arm64/boot/dts/qcom/sc7280-idp.dts > > > index 191e8a92d153..d66e3ca42ad5 100644 > > > --- a/arch/arm64/boot/dts/qcom/sc7280-idp.dts > > > +++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dts > > > @@ -343,3 +343,10 @@ > > > bias-pull-up; > > > }; > > > }; > > > + > > > +&remoteproc_mpss { > > > + status = "okay"; > > > + compatible = "qcom,sc7280-mss-pil"; > > > + iommus = <&apps_smmu 0x124 0x0>, <&apps_smmu 0x488 0x7>; > > > + memory-region = <&mba_mem &mpss_mem>; > > > +}; > > > diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi > > > b/arch/arm64/boot/dts/qcom/sc7280.dtsi > > > index 56ea172f641f..6d3687744440 100644 > > > --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi > > > +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi > > > @@ -586,7 +586,8 @@ > > > > > > remoteproc_mpss: remoteproc@4080000 { > > > compatible = "qcom,sc7280-mpss-pas"; > > > - reg = <0 0x04080000 0 0x10000>; > > > + reg = <0 0x04080000 0 0x10000>, <0 0x04180000 0 0x48>; > > > + reg-names = "qdsp6", "rmb"; > > > > Binding needs update? > > > > Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml: > > > > reg: > > maxItems: 1 > > > > > > > > interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_EDGE_RISING>, > > > <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, > > > @@ -597,8 +598,11 @@ > > > interrupt-names = "wdog", "fatal", "ready", "handover", > > > "stop-ack", "shutdown-ack"; > > > > > > - clocks = <&rpmhcc RPMH_CXO_CLK>; > > > - clock-names = "xo"; > > > + clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, > > > + <&gcc GCC_MSS_OFFLINE_AXI_CLK>, > > > + <&gcc GCC_MSS_SNOC_AXI_CLK>, > > > + <&rpmhcc RPMH_CXO_CLK>; > > > + clock-names = "iface", "offline", "snoc_axi", "xo"; > > > > Binding needs update? > > > > Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml: > > > > clocks: > > items: > > - description: XO clock > > clock-names: > > items: > > - const: xo > > qcom,sc7280-mpss-pas compatible requires > just the xo clock and one reg space whereas > the qcom,sc7280-mss-pil compatible requires > the additional clks and reg spaces. We just > overload properties where re-use is possible > across boards. Hence it would be wrong to > list those clks/reg spaces as requirements > for the pas compatible. > Our decision to describe the platform node as a superset of the resources needed by the pas and pil variants was never reflected in the DT bindings; resulting in the issue that the superset doesn't validate against the pas binding and both bindings are full of platform-specific conditionals. To resolve the two issues I think we should split the current binding(s) in a set of platform-centric bindings, that captures the idea of describing the superset. To reduce the duplication - that already exists between the two bindings - I think we should break those out in a common part. I'm however fine with not delaying this series further, if we agree that the end result matches what we would put in a combined qcom,sc7280-mpss binding. Regards, Bjorn
diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dts b/arch/arm64/boot/dts/qcom/sc7280-idp.dts index 191e8a92d153..d66e3ca42ad5 100644 --- a/arch/arm64/boot/dts/qcom/sc7280-idp.dts +++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dts @@ -343,3 +343,10 @@ bias-pull-up; }; }; + +&remoteproc_mpss { + status = "okay"; + compatible = "qcom,sc7280-mss-pil"; + iommus = <&apps_smmu 0x124 0x0>, <&apps_smmu 0x488 0x7>; + memory-region = <&mba_mem &mpss_mem>; +}; diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi index 56ea172f641f..6d3687744440 100644 --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi @@ -586,7 +586,8 @@ remoteproc_mpss: remoteproc@4080000 { compatible = "qcom,sc7280-mpss-pas"; - reg = <0 0x04080000 0 0x10000>; + reg = <0 0x04080000 0 0x10000>, <0 0x04180000 0 0x48>; + reg-names = "qdsp6", "rmb"; interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_EDGE_RISING>, <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, @@ -597,8 +598,11 @@ interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack", "shutdown-ack"; - clocks = <&rpmhcc RPMH_CXO_CLK>; - clock-names = "xo"; + clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, + <&gcc GCC_MSS_OFFLINE_AXI_CLK>, + <&gcc GCC_MSS_SNOC_AXI_CLK>, + <&rpmhcc RPMH_CXO_CLK>; + clock-names = "iface", "offline", "snoc_axi", "xo"; power-domains = <&rpmhpd SC7280_CX>, <&rpmhpd SC7280_MSS>; @@ -611,6 +615,15 @@ qcom,smem-states = <&modem_smp2p_out 0>; qcom,smem-state-names = "stop"; + resets = <&aoss_reset AOSS_CC_MSS_RESTART>, + <&pdc_reset PDC_MODEM_SYNC_RESET>; + reset-names = "mss_restart", "pdc_reset"; + + qcom,halt-regs = <&tcsr_mutex 0x23000 0x25000 0x28000 0x33000>; + qcom,ext-regs = <&tcsr_regs 0x10000 0x10004 + &tcsr_mutex 0x26004 0x26008>; + qcom,qaccept-regs = <&tcsr_mutex 0x23030 0x23040 0x23020>; + status = "disabled"; glink-edge {
Update MSS node to support MSA based modem boot on SC7280 SoCs. Signed-off-by: Sibi Sankar <sibis@codeaurora.org> --- arch/arm64/boot/dts/qcom/sc7280-idp.dts | 7 +++++++ arch/arm64/boot/dts/qcom/sc7280.dtsi | 19 ++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-)