1Qualcomm Technologies, Inc. FastRPC Driver
2
3The FastRPC 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
9- compatible:
10	Usage: required
11	Value type: <stringlist>
12	Definition: must be "qcom,fastrpc"
13
14- label
15	Usage: required
16	Value type: <string>
17	Definition: should specify the dsp domain name this fastrpc
18	corresponds to. must be one of this: "adsp", "mdsp", "sdsp", "cdsp"
19
20- #address-cells
21	Usage: required
22	Value type: <u32>
23	Definition: Must be 1
24
25- #size-cells
26	Usage: required
27	Value type: <u32>
28	Definition: Must be 0
29
30= COMPUTE BANKS
31Each subnode of the Fastrpc represents compute context banks available
32on the dsp.
33- All Compute context banks MUST contain the following properties:
34
35- compatible:
36	Usage: required
37	Value type: <stringlist>
38	Definition: must be "qcom,fastrpc-compute-cb"
39
40- reg
41	Usage: required
42	Value type: <u32>
43	Definition: Context Bank ID.
44
45- qcom,nsessions:
46	Usage: Optional
47	Value type: <u32>
48	Defination: A value indicating how many sessions can share this
49		    context bank. Defaults to 1 when this property
50		    is not specified.
51
52Example:
53
54adsp-pil {
55	compatible = "qcom,msm8996-adsp-pil";
56	...
57	smd-edge {
58		label = "lpass";
59		fastrpc {
60			compatible = "qcom,fastrpc";
61			qcom,smd-channels = "fastrpcsmd-apps-dsp";
62			label = "adsp";
63			#address-cells = <1>;
64			#size-cells = <0>;
65
66			cb@1 {
67				compatible = "qcom,fastrpc-compute-cb";
68				reg = <1>;
69			};
70
71			cb@2 {
72				compatible = "qcom,fastrpc-compute-cb";
73				reg = <2>;
74			};
75			...
76		};
77	};
78};
79