On Sat 13 Mar 15:46 CST 2021, Stephen Boyd wrote: > Quoting Sibi Sankar (2021-03-08 21:51:51) > > Add miscellaneous nodes to boot the Wireless Processor Subsystem on > > Maybe add (WPSS) after the name so we know they're related. > > > SC7280 SoCs. > > > > Signed-off-by: Sibi Sankar <sibis@xxxxxxxxxxxxxx> > > --- > > > > https://patchwork.kernel.org/project/linux-arm-msm/list/?series=438217 > > Depends on ipcc dt node enablement from ^^ > > > > arch/arm64/boot/dts/qcom/sc7280.dtsi | 143 +++++++++++++++++++++++++++++++++++ > > 1 file changed, 143 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi > > index 18637c369c1d..4f03c468df51 100644 > > --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi > > +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi > > @@ -244,12 +251,131 @@ > > reg = <0 0x80000000 0 0>; > > }; > > > > + tcsr_mutex: hwlock { > > + compatible = "qcom,tcsr-mutex"; > > + syscon = <&tcsr_mutex_regs 0 0x1000>; > > + #hwlock-cells = <1>; > > + }; > > Is this node in the right place? I think the node above it is 'memory'? > In which case 'hwlock' comes before 'memory' alphabetically. > Thanks for spotting this, as it's no longer acceptable to have a standalone "syscon" node I was asked to rewrite the binding for this a few months ago. So the tcsr_mutex should now be represented with a reg under /soc. > > + > > + smem { > > + compatible = "qcom,smem"; > > + memory-region = <&smem_mem>; > > + hwlocks = <&tcsr_mutex 3>; > > + }; > > + > > firmware { > > scm { > > compatible = "qcom,scm-sc7280", "qcom,scm"; > > }; > > }; > > > > + smp2p-adsp { > > + compatible = "qcom,smp2p"; > > + qcom,smem = <443>, <429>; > > + interrupts-extended = <&ipcc IPCC_CLIENT_LPASS > > + IPCC_MPROC_SIGNAL_SMP2P > > + IRQ_TYPE_EDGE_RISING>; > > + mboxes = <&ipcc IPCC_CLIENT_LPASS > > + IPCC_MPROC_SIGNAL_SMP2P>; > > + > > + qcom,local-pid = <0>; > > + qcom,remote-pid = <2>; > > + > > + adsp_smp2p_out: master-kernel { > > + qcom,entry-name = "master-kernel"; > > + #qcom,smem-state-cells = <1>; > > + }; > > + > > + adsp_smp2p_in: slave-kernel { > > + qcom,entry-name = "slave-kernel"; > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + }; > > + > > + smp2p-cdsp { > > + compatible = "qcom,smp2p"; > > + qcom,smem = <94>, <432>; > > + interrupts-extended = <&ipcc IPCC_CLIENT_CDSP > > + IPCC_MPROC_SIGNAL_SMP2P > > + IRQ_TYPE_EDGE_RISING>; > > + mboxes = <&ipcc IPCC_CLIENT_CDSP > > + IPCC_MPROC_SIGNAL_SMP2P>; > > + > > + qcom,local-pid = <0>; > > + qcom,remote-pid = <5>; > > + > > + cdsp_smp2p_out: master-kernel { > > + qcom,entry-name = "master-kernel"; > > + #qcom,smem-state-cells = <1>; > > + }; > > + > > + cdsp_smp2p_in: slave-kernel { > > + qcom,entry-name = "slave-kernel"; > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + }; > > + > > + smp2p-mpss { > > + compatible = "qcom,smp2p"; > > + qcom,smem = <435>, <428>; > > + interrupts-extended = <&ipcc IPCC_CLIENT_MPSS > > + IPCC_MPROC_SIGNAL_SMP2P > > + IRQ_TYPE_EDGE_RISING>; > > + mboxes = <&ipcc IPCC_CLIENT_MPSS > > + IPCC_MPROC_SIGNAL_SMP2P>; > > + > > + qcom,local-pid = <0>; > > + qcom,remote-pid = <1>; > > + > > + modem_smp2p_out: master-kernel { > > + qcom,entry-name = "master-kernel"; > > + #qcom,smem-state-cells = <1>; > > + }; > > + > > + modem_smp2p_in: slave-kernel { > > + qcom,entry-name = "slave-kernel"; > > Do these names need to have 'master' and 'slave' in them? We're trying > to avoid these terms. See Documentation/process/coding-style.rst Section > 4 naming. > They need to match the naming in the firmware, but I would welcome a future change to something in line with the coding style and simply more descriptive. Regards, Bjorn > > + 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>; > > + }; > > + }; > > +