On 15.05.2022 01:17, Dmitry Baryshkov wrote: > On Sun, 15 May 2022 at 01:51, Konrad Dybcio > <konrad.dybcio@xxxxxxxxxxxxxx> wrote: >> >> >> >> On 14.05.2022 02:03, Dmitry Baryshkov wrote: >>> Add device tree node describing CDSP device found on the SDM660 (but not >>> on SDM630) platform. >>> >>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> >>> --- >> Lookin' good, but this must be /delete-node/'d on sdm636. > > Ack for the sdm636, will fix in v2. > > Or maybe you'd like another approach: move all devices to sdm636 and > make sdm660 include sdm636.dtsi? Hmm.. sounds like this could save some LoC without being unnecessarily confusing and we'd have a nice path of 'progression' with sdm630<sdm636<(sdm658 if that even really exists outside CAF kernels, never seen it irl)<sdm660 > >> Also, I think 660 had a separate smmu for this hw block? > > Yes, there is a separate smmu, however enabling it makes the board > reset. I can add it here, but I doubt it is going to be useful till > somebody lands IOMMU fixes for this platform. Right, I keep forgetting that it's one of the last very sad platforms on this front.. Konrad > >> >> Konrad >>> arch/arm64/boot/dts/qcom/sdm660.dtsi | 68 ++++++++++++++++++++++++++++ >>> 1 file changed, 68 insertions(+) >>> >>> diff --git a/arch/arm64/boot/dts/qcom/sdm660.dtsi b/arch/arm64/boot/dts/qcom/sdm660.dtsi >>> index 023b0ac4118c..3b70eff68807 100644 >>> --- a/arch/arm64/boot/dts/qcom/sdm660.dtsi >>> +++ b/arch/arm64/boot/dts/qcom/sdm660.dtsi >>> @@ -9,6 +9,74 @@ >>> >>> #include "sdm630.dtsi" >>> >>> +/ { >>> + reserved-memory { >>> + /delete-node/ tzbuffer@94a00000; >>> + >>> + cdsp_region: cdsp@94a00000 { >>> + reg = <0x0 0x94a00000 0x0 0x600000>; >>> + no-map; >>> + }; >>> + >>> + }; >>> + >>> + smp2p-cdsp { >>> + compatible = "qcom,smp2p"; >>> + qcom,smem = <94>, <432>; >>> + interrupts = <GIC_SPI 514 IRQ_TYPE_EDGE_RISING>; >>> + mboxes = <&apcs_glb 30>; >>> + 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>; >>> + }; >>> + }; >>> + >>> + soc { >>> + cdsp_pil: remoteproc@1a300000 { >>> + compatible = "qcom,sdm660-cdsp-pas"; >>> + reg = <0x1a300000 0x4040>; >>> + >>> + interrupts-extended = >>> + <&intc GIC_SPI 518 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 = <&rpmcc RPM_SMD_XO_CLK_SRC>; >>> + clock-names = "xo"; >>> + >>> + memory-region = <&cdsp_region>; >>> + power-domains = <&rpmpd SDM660_VDDCX>; >>> + power-domain-names = "cx"; >>> + >>> + qcom,smem-states = <&cdsp_smp2p_out 0>; >>> + qcom,smem-state-names = "stop"; >>> + >>> + glink-edge { >>> + interrupts = <GIC_SPI 513 IRQ_TYPE_EDGE_RISING>; >>> + >>> + label = "turing"; >>> + mboxes = <&apcs_glb 29>; >>> + qcom,remote-pid = <5>; >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + }; >>> + }; >>> + }; >>> +}; >>> + >>> &adreno_gpu { >>> compatible = "qcom,adreno-512.0", "qcom,adreno"; >>> operating-points-v2 = <&gpu_sdm660_opp_table>; > > >