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

Kumari Pallavi
2025-11-04T10:01:30Z

On 11/4/2025 2:29 PM, Jingyi Wang wrote:
>
>
> 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?
>

I verified the CDSP and ADSP nodes by running the tests available at
https://github.com/qualcomm/fastrpc/tree/development/test. Upon
successful execution, the message "All tests completed successfully" is
displayed.

>>
>> [..]
>>
>>> + 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
>>
>

Thanks,
Pallavi