Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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};