Sathish Ambley | 69e1ab0 | 2016-10-18 10:28:15 -0700 | [diff] [blame] | 1 | Qualcomm Technologies, Inc. FastRPC Driver |
| 2 | |
| 3 | The MSM FastRPC driver implements an IPC (Inter-Processor Communication) |
| 4 | mechanism that allows for clients to transparently make remote method |
| 5 | invocations across DSP and APPS boundaries. This enables developers |
| 6 | to offload tasks to the DSP and free up the application processor for |
| 7 | other tasks. |
| 8 | |
| 9 | Required properties: |
| 10 | - compatible : Must be one of "qcom,msm-fastrpc-adsp" or |
| 11 | "qcom,msm-fastrpc-compute" |
| 12 | |
| 13 | Optional properties: |
| 14 | - qcom,fastrpc-glink: Flag to use glink instead of smd for IPC |
Tharun Kumar Merugu | 5f6ca61c | 2017-08-11 11:43:11 +0530 | [diff] [blame] | 15 | - qcom,rpc-latency-us: FastRPC QoS latency vote |
Tharun Kumar Merugu | 3937e91 | 2017-12-21 16:24:37 +0530 | [diff] [blame] | 16 | - qcom,adsp-remoteheap-vmid: FastRPC remote heap VMID list |
Tharun Kumar Merugu | df86066 | 2018-01-17 19:59:50 +0530 | [diff] [blame] | 17 | - qcom,fastrpc-adsp-audio-pdr: Flag to enable ADSP Audio PDR |
Sathish Ambley | 69e1ab0 | 2016-10-18 10:28:15 -0700 | [diff] [blame] | 18 | |
| 19 | Optional subnodes: |
| 20 | - qcom,msm_fastrpc_compute_cb : Child nodes representing the compute context |
| 21 | banks |
| 22 | Subnode Required properties: |
| 23 | - compatible : Must be "qcom,msm-fastrpc-compute-cb" |
| 24 | - label: Label describing the channel this context bank belongs to |
| 25 | - iommus : A list of phandle and IOMMU specifier pairs that describe the |
| 26 | IOMMU master interfaces of the device |
| 27 | |
| 28 | Example: |
| 29 | qcom,msm_fastrpc { |
| 30 | compatible = "qcom,msm-fastrpc-adsp"; |
| 31 | qcom,fastrpc-glink; |
Tharun Kumar Merugu | 5f6ca61c | 2017-08-11 11:43:11 +0530 | [diff] [blame] | 32 | qcom,rpc-latency-us = <2343>; |
Tharun Kumar Merugu | 3937e91 | 2017-12-21 16:24:37 +0530 | [diff] [blame] | 33 | qcom,adsp-remoteheap-vmid = <22 37>; |
Sathish Ambley | 69e1ab0 | 2016-10-18 10:28:15 -0700 | [diff] [blame] | 34 | |
| 35 | qcom,msm_fastrpc_compute_cb_1 { |
| 36 | compatible = "qcom,msm-fastrpc-compute-cb"; |
| 37 | label = "adsprpc-smd"; |
| 38 | iommus = <&lpass_q6_smmu 8>, |
| 39 | }; |
| 40 | qcom,msm_fastrpc_compute_cb_2 { |
| 41 | compatible = "qcom,msm-fastrpc-compute-cb"; |
| 42 | label = "adsprpc-smd"; |
| 43 | iommus = <&lpass_q6_smmu 9>, |
| 44 | }; |
| 45 | }; |
| 46 | |
| 47 | Legacy SMMU v1/v2: |
| 48 | |
| 49 | Required properties: |
Tharun Kumar Merugu | bbc78f2 | 2018-01-22 19:26:44 +0530 | [diff] [blame] | 50 | - compatible : Must be "qcom,msm-fastrpc-legacy-compute" |
Sathish Ambley | 69e1ab0 | 2016-10-18 10:28:15 -0700 | [diff] [blame] | 51 | |
| 52 | Required subnode: |
| 53 | - qcom,msm_fastrpc_compute_cb : Child nodes representing the compute context |
| 54 | banks |
| 55 | |
| 56 | Required subnode properties: |
Tharun Kumar Merugu | bbc78f2 | 2018-01-22 19:26:44 +0530 | [diff] [blame] | 57 | - compatible : Must be "qcom,msm-fastrpc-legacy-compute-cb" |
| 58 | - label : Label describing the channel this context bank belongs to |
| 59 | - iommus : A list of phandle and IOMMU specifier pairs that describe the |
| 60 | IOMMU master interfaces of the device |
| 61 | - sids : A list of SID associated with the context bank |
Sathish Ambley | 69e1ab0 | 2016-10-18 10:28:15 -0700 | [diff] [blame] | 62 | |
| 63 | Example: |
Tharun Kumar Merugu | bbc78f2 | 2018-01-22 19:26:44 +0530 | [diff] [blame] | 64 | qcom,msm_fastrpc { |
| 65 | compatible = "qcom,msm-fastrpc-legacy-compute"; |
| 66 | qcom,msm_fastrpc_compute_cb { |
| 67 | compatible = "qcom,msm-fastrpc-legacy-compute-cb"; |
| 68 | label = "adsprpc-smd"; |
| 69 | iommus = <&apps_iommu 0x2408 0x7>; |
| 70 | sids = <0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf>; |
| 71 | }; |
| 72 | }; |
Sathish Ambley | 69e1ab0 | 2016-10-18 10:28:15 -0700 | [diff] [blame] | 73 | Remote Heap: |
| 74 | |
| 75 | Required properties: |
| 76 | - compatible : Must be "qcom,msm-adsprpc-mem-region" |
| 77 | - memory-region : CMA region which is owned by this device |
Tharun Kumar Merugu | 6b7a4a2 | 2018-01-17 16:08:07 +0530 | [diff] [blame] | 78 | - restrict-access : Blocking vote for hyp_assign_phys function call |
Sathish Ambley | 69e1ab0 | 2016-10-18 10:28:15 -0700 | [diff] [blame] | 79 | |
| 80 | Example: |
| 81 | qcom,adsprpc-mem { |
| 82 | compatible = "qcom,msm-adsprpc-mem-region"; |
| 83 | memory-region = <&adsp_mem>; |
Tharun Kumar Merugu | 6b7a4a2 | 2018-01-17 16:08:07 +0530 | [diff] [blame] | 84 | restrict-access; |
Sathish Ambley | 69e1ab0 | 2016-10-18 10:28:15 -0700 | [diff] [blame] | 85 | }; |