Add a fastrpc_far_region reserved-memory node and link compute-cb@12 to it via memory-region so the driver detects it as the extended mapping bank. Bump #address-cells and #size-cells to <2> on the fastrpc ancestor nodes and update all compute-cb reg values to the 4-cell format to accommodate the 64-bit iommu-addresses values.
Signed-off-by: Vinayak Katoch <[email protected]> --- arch/arm64/boot/dts/qcom/glymur.dtsi | 37 ++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi index f04058d2e089..2aff2a8a39ae 100644 --- a/arch/arm64/boot/dts/qcom/glymur.dtsi +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi @@ -695,6 +695,10 @@ adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap { alignment = <0x0 0x400000>; size = <0x0 0x800000>; }; + + fastrpc_far_region: fastrpc_far_region { + iommu-addresses = <&fastrpc_far_cb 0x0 0x0 0x4 0x0>; + }; }; smp2p-adsp { @@ -7980,6 +7984,8 @@ remoteproc_cdsp: remoteproc@32300000 { qcom,qmp = <&aoss_qmp>; qcom,smem-states = <&smp2p_cdsp_out 0>; qcom,smem-state-names = "stop"; + #address-cells = <2>; + #size-cells = <2>; status = "disabled"; @@ -7991,17 +7997,19 @@ IPCC_MPROC_SIGNAL_GLINK_QMP IPCC_MPROC_SIGNAL_GLINK_QMP>; qcom,remote-pid = <5>; label = "cdsp"; + #address-cells = <2>; + #size-cells = <2>; fastrpc { compatible = "qcom,glymur-fastrpc", "qcom,kaanapali-fastrpc"; qcom,glink-channels = "fastrpcglink-apps-dsp"; label = "cdsp"; - #address-cells = <1>; - #size-cells = <0>; + #address-cells = <2>; + #size-cells = <2>; compute-cb@1 { compatible = "qcom,fastrpc-compute-cb"; - reg = <1>; + reg = <0x0 0x1 0x0 0x0>; iommus = <&apps_smmu 0x2401 0x440>, <&apps_smmu 0x1961 0x0>, @@ -8011,7 +8019,7 @@ compute-cb@1 { compute-cb@2 { compatible = "qcom,fastrpc-compute-cb"; - reg = <2>; + reg = <0x0 0x2 0x0 0x0>; iommus = <&apps_smmu 0x2402 0x440>, <&apps_smmu 0x1962 0x0>, @@ -8021,7 +8029,7 @@ compute-cb@2 { compute-cb@3 { compatible = "qcom,fastrpc-compute-cb"; - reg = <3>; + reg = <0x0 0x3 0x0 0x0>; iommus = <&apps_smmu 0x2403 0x440>, <&apps_smmu 0x1963 0x0>, @@ -8031,7 +8039,7 @@ compute-cb@3 { compute-cb@4 { compatible = "qcom,fastrpc-compute-cb"; - reg = <4>; + reg = <0x0 0x4 0x0 0x0>; iommus = <&apps_smmu 0x2404 0x440>, <&apps_smmu 0x1964 0x0>, @@ -8041,7 +8049,7 @@ compute-cb@4 { compute-cb@5 { compatible = "qcom,fastrpc-compute-cb"; - reg = <5>; + reg = <0x0 0x5 0x0 0x0>; iommus = <&apps_smmu 0x2405 0x440>, <&apps_smmu 0x1965 0x0>, @@ -8051,7 +8059,7 @@ compute-cb@5 { compute-cb@6 { compatible = "qcom,fastrpc-compute-cb"; - reg = <6>; + reg = <0x0 0x6 0x0 0x0>; iommus = <&apps_smmu 0x2406 0x440>, <&apps_smmu 0x1966 0x0>, @@ -8061,7 +8069,7 @@ compute-cb@6 { compute-cb@7 { compatible = "qcom,fastrpc-compute-cb"; - reg = <7>; + reg = <0x0 0x7 0x0 0x0>; iommus = <&apps_smmu 0x2407 0x440>, <&apps_smmu 0x1967 0x0>, @@ -8071,7 +8079,7 @@ compute-cb@7 { compute-cb@8 { compatible = "qcom,fastrpc-compute-cb"; - reg = <8>; + reg = <0x0 0x8 0x0 0x0>; iommus = <&apps_smmu 0x2408 0x440>, <&apps_smmu 0x1968 0x0>, @@ -8083,7 +8091,7 @@ compute-cb@8 { compute-cb@10 { compatible = "qcom,fastrpc-compute-cb"; - reg = <10>; + reg = <0x0 0xa 0x0 0x0>; iommus = <&apps_smmu 0x240c 0x440>, <&apps_smmu 0x196c 0x0>, @@ -8093,7 +8101,7 @@ compute-cb@10 { compute-cb@11 { compatible = "qcom,fastrpc-compute-cb"; - reg = <11>; + reg = <0x0 0xb 0x0 0x0>; iommus = <&apps_smmu 0x240d 0x440>, <&apps_smmu 0x196d 0x0>, @@ -8101,13 +8109,14 @@ compute-cb@11 { dma-coherent; }; - compute-cb@12 { + fastrpc_far_cb: compute-cb@12 { compatible = "qcom,fastrpc-compute-cb"; - reg = <12>; + reg = <0x0 0xc 0x0 0x0>; iommus = <&apps_smmu 0x240e 0x440>, <&apps_smmu 0x196e 0x0>, <&apps_smmu 0x19ce 0x0>; + memory-region = <&fastrpc_far_region>; dma-coherent; }; }; -- 2.34.1
