blob: de40a7c60d553fa69b4b1d4f55301a3a57785466 [file] [log] [blame]
Sathish Ambley69e1ab02016-10-18 10:28:15 -07001Qualcomm Technologies, Inc. FastRPC Driver
2
3The MSM FastRPC driver implements an IPC (Inter-Processor Communication)
4mechanism that allows for clients to transparently make remote method
5invocations across DSP and APPS boundaries. This enables developers
6to offload tasks to the DSP and free up the application processor for
7other tasks.
8
9Required properties:
10- compatible : Must be one of "qcom,msm-fastrpc-adsp" or
11 "qcom,msm-fastrpc-compute"
12
13Optional properties:
14- qcom,fastrpc-glink: Flag to use glink instead of smd for IPC
Tharun Kumar Merugu5f6ca61c2017-08-11 11:43:11 +053015- qcom,rpc-latency-us: FastRPC QoS latency vote
Tharun Kumar Merugu3937e912017-12-21 16:24:37 +053016- qcom,adsp-remoteheap-vmid: FastRPC remote heap VMID list
Tharun Kumar Merugudf860662018-01-17 19:59:50 +053017- qcom,fastrpc-adsp-audio-pdr: Flag to enable ADSP Audio PDR
Sathish Ambley69e1ab02016-10-18 10:28:15 -070018
19Optional subnodes:
20- qcom,msm_fastrpc_compute_cb : Child nodes representing the compute context
21 banks
22Subnode 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
28Example:
29 qcom,msm_fastrpc {
30 compatible = "qcom,msm-fastrpc-adsp";
31 qcom,fastrpc-glink;
Tharun Kumar Merugu5f6ca61c2017-08-11 11:43:11 +053032 qcom,rpc-latency-us = <2343>;
Tharun Kumar Merugu3937e912017-12-21 16:24:37 +053033 qcom,adsp-remoteheap-vmid = <22 37>;
Sathish Ambley69e1ab02016-10-18 10:28:15 -070034
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
47Legacy SMMU v1/v2:
48
49Required properties:
Tharun Kumar Merugubbc78f22018-01-22 19:26:44 +053050- compatible : Must be "qcom,msm-fastrpc-legacy-compute"
Sathish Ambley69e1ab02016-10-18 10:28:15 -070051
52Required subnode:
53- qcom,msm_fastrpc_compute_cb : Child nodes representing the compute context
54 banks
55
56Required subnode properties:
Tharun Kumar Merugubbc78f22018-01-22 19:26:44 +053057- 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 Ambley69e1ab02016-10-18 10:28:15 -070062
63Example:
Tharun Kumar Merugubbc78f22018-01-22 19:26:44 +053064 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 Ambley69e1ab02016-10-18 10:28:15 -070073Remote Heap:
74
75Required properties:
76- compatible : Must be "qcom,msm-adsprpc-mem-region"
77- memory-region : CMA region which is owned by this device
Tharun Kumar Merugu6b7a4a22018-01-17 16:08:07 +053078- restrict-access : Blocking vote for hyp_assign_phys function call
Sathish Ambley69e1ab02016-10-18 10:28:15 -070079
80Example:
81 qcom,adsprpc-mem {
82 compatible = "qcom,msm-adsprpc-mem-region";
83 memory-region = <&adsp_mem>;
Tharun Kumar Merugu6b7a4a22018-01-17 16:08:07 +053084 restrict-access;
Sathish Ambley69e1ab02016-10-18 10:28:15 -070085 };