Re: [PATCH 07/20] arm64: dts: qcom: kaanapali: Add remoteprocs for Kaanapali SoC

Jingyi Wang
2025-11-04T09:00:04Z

On 10/1/2025 1:24 AM, Alexey Klimov wrote:
> On Thu Sep 25, 2025 at 1:17 AM BST, Jingyi Wang wrote:
>> Add remoteproc PAS loader for ADSP, CDSP, MPSS and SoCCP with
>> its SMP2P and fastrpc nodes.
>>
>> Written with help from Kumari Pallavi(added fastrpc).
>
> Co-developed-by tag then maybe?
>
> Also I don't see this name in email addresses.
>

Hi Alexey,

We got review comments to merge dt changes in one patch, we are still discussing on
how to organize next version, I think we can add the Co-developed-by tag if remoteproc
is sent as a single patch in next version, "Written with" description will be used
to avoid SOB chain too long.

Thanks,
Jingyi

>> Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
>> ---
>> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 484 ++++++++++++++++++++++++++++++++
>> 1 file changed, 484 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
>> index 08ab267bf9a7..c3b38fd851c5 100644
>> --- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
>> @@ -438,6 +438,121 @@ rmtfs_mem: rmtfs@d7c00000 {
>> };
>> };
>
> [...]
>
>> + remoteproc_adsp: remoteproc@6800000 {
>> + compatible = "qcom,kaanapali-adsp-pas", "qcom,sm8550-adsp-pas";
>> + reg = <0x0 0x06800000 0x0 0x10000>;
>> +
>> + interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
>> + <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
>> + <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
>> + <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
>> + <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>,
>> + <&smp2p_adsp_in 7 IRQ_TYPE_EDGE_RISING>;
>> + interrupt-names = "wdog",
>> + "fatal",
>> + "ready",
>> + "handover",
>> + "stop-ack",
>> + "shutdown-ack";
>> +
>> + clocks = <&rpmhcc RPMH_CXO_CLK>;
>> + clock-names = "xo";
>> +
>> + interconnects = <&lpass_lpicx_noc MASTER_LPASS_PROC QCOM_ICC_TAG_ALWAYS
>> + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
>> +
>> + power-domains = <&rpmhpd RPMHPD_LCX>,
>> + <&rpmhpd RPMHPD_LMX>;
>> + power-domain-names = "lcx",
>> + "lmx";
>> +
>> + memory-region = <&adspslpi_mem>, <&q6_adsp_dtb_mem>;
>> +
>> + qcom,qmp = <&aoss_qmp>;
>> +
>> + qcom,smem-states = <&smp2p_adsp_out 0>;
>> + qcom,smem-state-names = "stop";
>> +
>> + status = "disabled";
>> +
>> + remoteproc_adsp_glink: glink-edge {
>> + interrupts-extended = <&ipcc IPCC_MPROC_LPASS
>> + IPCC_MPROC_SIGNAL_GLINK_QMP
>> + IRQ_TYPE_EDGE_RISING>;
>> +
>> + mboxes = <&ipcc IPCC_MPROC_LPASS
>> + IPCC_MPROC_SIGNAL_GLINK_QMP>;
>> +
>> + qcom,remote-pid = <2>;
>> +
>> + label = "lpass";
>> +
>> + fastrpc {
>> + compatible = "qcom,fastrpc";
>> + qcom,glink-channels = "fastrpcglink-apps-dsp";
>> + label = "adsp";
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + compute-cb@3 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <3>;
>> +
>> + iommus = <&apps_smmu 0x1003 0x80>,
>> + <&apps_smmu 0x1043 0x20>;
>> + dma-coherent;
>> + };
>> +
>> + compute-cb@4 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <4>;
>> +
>> + iommus = <&apps_smmu 0x1004 0x80>,
>> + <&apps_smmu 0x1044 0x20>;
>> + dma-coherent;
>> + };
>> +
>> + compute-cb@5 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <5>;
>> +
>> + iommus = <&apps_smmu 0x1005 0x80>,
>> + <&apps_smmu 0x1045 0x20>;
>> + dma-coherent;
>> + };
>> +
>> + compute-cb@6 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <6>;
>> +
>> + iommus = <&apps_smmu 0x1006 0x80>,
>> + <&apps_smmu 0x1046 0x20>;
>> + dma-coherent;
>> + };
>> +
>> + compute-cb@7 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <7>;
>> +
>> + iommus = <&apps_smmu 0x1007 0x40>,
>> + <&apps_smmu 0x1067 0x0>,
>> + <&apps_smmu 0x1087 0x0>;
>> + dma-coherent;
>> + };
>> + };
>> + };
>> + };
>
> Fastrpc nodes here. Was this tested? If yes, then how?
> Or was it just copied from somewhere from downstream?
>
> The same questions basically go for cdsp fastrpc too.
>

+Kumari, could you please comment on this?

>
> [..]
>
>> + label = "cdsp";
>> +
>> + fastrpc {
>> + compatible = "qcom,fastrpc";
>> + qcom,glink-channels = "fastrpcglink-apps-dsp";
>> + label = "cdsp";
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + compute-cb@1 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <1>;
>> + iommus = <&apps_smmu 0x19c1 0x0>,
>> + <&apps_smmu 0x1961 0x0>,
>> + <&apps_smmu 0x0c21 0x0>,
>> + <&apps_smmu 0x0c01 0x40>;
>> + dma-coherent;
>> + };
>> +
>> + compute-cb@2 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <2>;
>> + iommus = <&apps_smmu 0x1962 0x0>,
>> + <&apps_smmu 0x0c02 0x20>,
>> + <&apps_smmu 0x0c42 0x0>,
>> + <&apps_smmu 0x19c2 0x0>;
>> + dma-coherent;
>> + };
>> +
>> + compute-cb@3 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <3>;
>> + iommus = <&apps_smmu 0x1963 0x0>,
>> + <&apps_smmu 0x0c23 0x0>,
>> + <&apps_smmu 0x0c03 0x40>,
>> + <&apps_smmu 0x19c3 0x0>;
>> + dma-coherent;
>> + };
>> +
>> + compute-cb@4 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <4>;
>> + iommus = <&apps_smmu 0x1964 0x0>,
>> + <&apps_smmu 0x0c44 0x0>,
>> + <&apps_smmu 0x0c04 0x20>,
>> + <&apps_smmu 0x19c4 0x0>;
>> + dma-coherent;
>> + };
>> +
>> + compute-cb@5 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <5>;
>> + iommus = <&apps_smmu 0x1965 0x0>,
>> + <&apps_smmu 0x0c45 0x0>,
>> + <&apps_smmu 0x0c05 0x20>,
>> + <&apps_smmu 0x19c5 0x0>;
>> + dma-coherent;
>> + };
>> +
>> + compute-cb@6 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <6>;
>> + iommus = <&apps_smmu 0x1966 0x0>,
>> + <&apps_smmu 0x0c06 0x20>,
>> + <&apps_smmu 0x0c46 0x0>,
>> + <&apps_smmu 0x19c6 0x0>;
>> + dma-coherent;
>> + };
>> +
>> + compute-cb@7 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <7>;
>> + iommus = <&apps_smmu 0x1967 0x0>,
>> + <&apps_smmu 0x0c27 0x0>,
>> + <&apps_smmu 0x0c07 0x40>,
>> + <&apps_smmu 0x19c7 0x0>;
>> + dma-coherent;
>> + };
>> +
>> + compute-cb@8 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <8>;
>> + iommus = <&apps_smmu 0x1968 0x0>,
>> + <&apps_smmu 0x0c08 0x20>,
>> + <&apps_smmu 0x0c48 0x0>,
>> + <&apps_smmu 0x19c8 0x0>;
>> + dma-coherent;
>> + };
>> +
>> + /* note: secure cb9 in downstream */
>> +
>> + compute-cb@12 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <12>;
>> + iommus = <&apps_smmu 0x196c 0x0>,
>> + <&apps_smmu 0x0c2c 0x00>,
>> + <&apps_smmu 0x0c0c 0x40>,
>> + <&apps_smmu 0x19cc 0x0>;
>> + dma-coherent;
>> + };
>> +
>> + compute-cb@13 {
>> + compatible = "qcom,fastrpc-compute-cb";
>> + reg = <13>;
>> + iommus = <&apps_smmu 0x196d 0x0>,
>> + <&apps_smmu 0x0c0d 0x40>,
>> + <&apps_smmu 0x0c2e 0x0>,
>> + <&apps_smmu 0x0c2d 0x0>,
>> + <&apps_smmu 0x19cd 0x0>;
>> + dma-coherent;
>> + };
>> + };
>> + };
>> + };
>> +
>
> Best regards,
> Alexey
>