xref: /freebsd/sys/contrib/device-tree/Bindings/misc/qcom,fastrpc.txt (revision c9ccf3a32da427475985b85d7df023ccfb138c27)
1c66ec88fSEmmanuel VadotQualcomm Technologies, Inc. FastRPC Driver
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel VadotThe FastRPC implements an IPC (Inter-Processor Communication)
4c66ec88fSEmmanuel Vadotmechanism that allows for clients to transparently make remote method
5c66ec88fSEmmanuel Vadotinvocations across DSP and APPS boundaries. This enables developers
6c66ec88fSEmmanuel Vadotto offload tasks to the DSP and free up the application processor for
7c66ec88fSEmmanuel Vadotother tasks.
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadot- compatible:
10c66ec88fSEmmanuel Vadot	Usage: required
11c66ec88fSEmmanuel Vadot	Value type: <stringlist>
12c66ec88fSEmmanuel Vadot	Definition: must be "qcom,fastrpc"
13c66ec88fSEmmanuel Vadot
14c66ec88fSEmmanuel Vadot- label
15c66ec88fSEmmanuel Vadot	Usage: required
16c66ec88fSEmmanuel Vadot	Value type: <string>
17c66ec88fSEmmanuel Vadot	Definition: should specify the dsp domain name this fastrpc
18c66ec88fSEmmanuel Vadot	corresponds to. must be one of this: "adsp", "mdsp", "sdsp", "cdsp"
19c66ec88fSEmmanuel Vadot
20*c9ccf3a3SEmmanuel Vadot- qcom,non-secure-domain:
21*c9ccf3a3SEmmanuel Vadot	Usage: required
22*c9ccf3a3SEmmanuel Vadot	Value type: <boolean>
23*c9ccf3a3SEmmanuel Vadot	Definition: Property to specify that dsp domain is non-secure.
24*c9ccf3a3SEmmanuel Vadot
25*c9ccf3a3SEmmanuel Vadot- qcom,vmids:
26*c9ccf3a3SEmmanuel Vadot	Usage: optional
27*c9ccf3a3SEmmanuel Vadot	Value type: <u32 array>
28*c9ccf3a3SEmmanuel Vadot	Definition: Virtual machine IDs for remote processor.
29*c9ccf3a3SEmmanuel Vadot
30c66ec88fSEmmanuel Vadot- #address-cells
31c66ec88fSEmmanuel Vadot	Usage: required
32c66ec88fSEmmanuel Vadot	Value type: <u32>
33c66ec88fSEmmanuel Vadot	Definition: Must be 1
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot- #size-cells
36c66ec88fSEmmanuel Vadot	Usage: required
37c66ec88fSEmmanuel Vadot	Value type: <u32>
38c66ec88fSEmmanuel Vadot	Definition: Must be 0
39c66ec88fSEmmanuel Vadot
40c66ec88fSEmmanuel Vadot= COMPUTE BANKS
41c66ec88fSEmmanuel VadotEach subnode of the Fastrpc represents compute context banks available
42c66ec88fSEmmanuel Vadoton the dsp.
43c66ec88fSEmmanuel Vadot- All Compute context banks MUST contain the following properties:
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot- compatible:
46c66ec88fSEmmanuel Vadot	Usage: required
47c66ec88fSEmmanuel Vadot	Value type: <stringlist>
48c66ec88fSEmmanuel Vadot	Definition: must be "qcom,fastrpc-compute-cb"
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot- reg
51c66ec88fSEmmanuel Vadot	Usage: required
52c66ec88fSEmmanuel Vadot	Value type: <u32>
53c66ec88fSEmmanuel Vadot	Definition: Context Bank ID.
54c66ec88fSEmmanuel Vadot
55c66ec88fSEmmanuel Vadot- qcom,nsessions:
56c66ec88fSEmmanuel Vadot	Usage: Optional
57c66ec88fSEmmanuel Vadot	Value type: <u32>
58c66ec88fSEmmanuel Vadot	Defination: A value indicating how many sessions can share this
59c66ec88fSEmmanuel Vadot		    context bank. Defaults to 1 when this property
60c66ec88fSEmmanuel Vadot		    is not specified.
61c66ec88fSEmmanuel Vadot
62c66ec88fSEmmanuel VadotExample:
63c66ec88fSEmmanuel Vadot
64c66ec88fSEmmanuel Vadotadsp-pil {
65c66ec88fSEmmanuel Vadot	compatible = "qcom,msm8996-adsp-pil";
66c66ec88fSEmmanuel Vadot	...
67c66ec88fSEmmanuel Vadot	smd-edge {
68c66ec88fSEmmanuel Vadot		label = "lpass";
69c66ec88fSEmmanuel Vadot		fastrpc {
70c66ec88fSEmmanuel Vadot			compatible = "qcom,fastrpc";
71c66ec88fSEmmanuel Vadot			qcom,smd-channels = "fastrpcsmd-apps-dsp";
72c66ec88fSEmmanuel Vadot			label = "adsp";
73c66ec88fSEmmanuel Vadot			#address-cells = <1>;
74c66ec88fSEmmanuel Vadot			#size-cells = <0>;
75c66ec88fSEmmanuel Vadot
76c66ec88fSEmmanuel Vadot			cb@1 {
77c66ec88fSEmmanuel Vadot				compatible = "qcom,fastrpc-compute-cb";
78c66ec88fSEmmanuel Vadot				reg = <1>;
79c66ec88fSEmmanuel Vadot			};
80c66ec88fSEmmanuel Vadot
81c66ec88fSEmmanuel Vadot			cb@2 {
82c66ec88fSEmmanuel Vadot				compatible = "qcom,fastrpc-compute-cb";
83c66ec88fSEmmanuel Vadot				reg = <2>;
84c66ec88fSEmmanuel Vadot			};
85c66ec88fSEmmanuel Vadot			...
86c66ec88fSEmmanuel Vadot		};
87c66ec88fSEmmanuel Vadot	};
88c66ec88fSEmmanuel Vadot};
89