0001 Qualcomm Technologies, Inc. FastRPC Driver
0002
0003 The FastRPC implements an IPC (Inter-Processor Communication)
0004 mechanism that allows for clients to transparently make remote method
0005 invocations across DSP and APPS boundaries. This enables developers
0006 to offload tasks to the DSP and free up the application processor for
0007 other tasks.
0008
0009 - compatible:
0010 Usage: required
0011 Value type: <stringlist>
0012 Definition: must be "qcom,fastrpc"
0013
0014 - label
0015 Usage: required
0016 Value type: <string>
0017 Definition: should specify the dsp domain name this fastrpc
0018 corresponds to. must be one of this: "adsp", "mdsp", "sdsp", "cdsp"
0019
0020 - qcom,non-secure-domain:
0021 Usage: required
0022 Value type: <boolean>
0023 Definition: Property to specify that dsp domain is non-secure.
0024
0025 - qcom,vmids:
0026 Usage: optional
0027 Value type: <u32 array>
0028 Definition: Virtual machine IDs for remote processor.
0029
0030 - #address-cells
0031 Usage: required
0032 Value type: <u32>
0033 Definition: Must be 1
0034
0035 - #size-cells
0036 Usage: required
0037 Value type: <u32>
0038 Definition: Must be 0
0039
0040 = COMPUTE BANKS
0041 Each subnode of the Fastrpc represents compute context banks available
0042 on the dsp.
0043 - All Compute context banks MUST contain the following properties:
0044
0045 - compatible:
0046 Usage: required
0047 Value type: <stringlist>
0048 Definition: must be "qcom,fastrpc-compute-cb"
0049
0050 - reg
0051 Usage: required
0052 Value type: <u32>
0053 Definition: Context Bank ID.
0054
0055 - qcom,nsessions:
0056 Usage: Optional
0057 Value type: <u32>
0058 Defination: A value indicating how many sessions can share this
0059 context bank. Defaults to 1 when this property
0060 is not specified.
0061
0062 Example:
0063
0064 adsp-pil {
0065 compatible = "qcom,msm8996-adsp-pil";
0066 ...
0067 smd-edge {
0068 label = "lpass";
0069 fastrpc {
0070 compatible = "qcom,fastrpc";
0071 qcom,smd-channels = "fastrpcsmd-apps-dsp";
0072 label = "adsp";
0073 #address-cells = <1>;
0074 #size-cells = <0>;
0075
0076 cb@1 {
0077 compatible = "qcom,fastrpc-compute-cb";
0078 reg = <1>;
0079 };
0080
0081 cb@2 {
0082 compatible = "qcom,fastrpc-compute-cb";
0083 reg = <2>;
0084 };
0085 ...
0086 };
0087 };
0088 };