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@xxxxxxxxxxxxxx> > > > --- > > > 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