Back to home page

OSCL-LXR

 
 

    


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