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- #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};