xref: /freebsd/sys/contrib/device-tree/Bindings/misc/qcom,fastrpc.txt (revision 058ac3e8063366dafa634d9107642e12b038bf09)
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- qcom,non-secure-domain:
21	Usage: required
22	Value type: <boolean>
23	Definition: Property to specify that dsp domain is non-secure.
24
25- qcom,vmids:
26	Usage: optional
27	Value type: <u32 array>
28	Definition: Virtual machine IDs for remote processor.
29
30- #address-cells
31	Usage: required
32	Value type: <u32>
33	Definition: Must be 1
34
35- #size-cells
36	Usage: required
37	Value type: <u32>
38	Definition: Must be 0
39
40= COMPUTE BANKS
41Each subnode of the Fastrpc represents compute context banks available
42on the dsp.
43- All Compute context banks MUST contain the following properties:
44
45- compatible:
46	Usage: required
47	Value type: <stringlist>
48	Definition: must be "qcom,fastrpc-compute-cb"
49
50- reg
51	Usage: required
52	Value type: <u32>
53	Definition: Context Bank ID.
54
55- qcom,nsessions:
56	Usage: Optional
57	Value type: <u32>
58	Defination: A value indicating how many sessions can share this
59		    context bank. Defaults to 1 when this property
60		    is not specified.
61
62Example:
63
64adsp-pil {
65	compatible = "qcom,msm8996-adsp-pil";
66	...
67	smd-edge {
68		label = "lpass";
69		fastrpc {
70			compatible = "qcom,fastrpc";
71			qcom,smd-channels = "fastrpcsmd-apps-dsp";
72			label = "adsp";
73			#address-cells = <1>;
74			#size-cells = <0>;
75
76			cb@1 {
77				compatible = "qcom,fastrpc-compute-cb";
78				reg = <1>;
79			};
80
81			cb@2 {
82				compatible = "qcom,fastrpc-compute-cb";
83				reg = <2>;
84			};
85			...
86		};
87	};
88};
89