| Qualcomm Technologies, Inc. FastRPC Driver |
| |
| The FastRPC implements an IPC (Inter-Processor Communication) |
| mechanism that allows for clients to transparently make remote method |
| invocations across DSP and APPS boundaries. This enables developers |
| to offload tasks to the DSP and free up the application processor for |
| other tasks. |
| |
| - compatible: |
| Usage: required |
| Value type: <stringlist> |
| Definition: must be "qcom,fastrpc" |
| |
| - label |
| Usage: required |
| Value type: <string> |
| Definition: should specify the dsp domain name this fastrpc |
| corresponds to. must be one of this: "adsp", "mdsp", "sdsp", "cdsp" |
| |
| - #address-cells |
| Usage: required |
| Value type: <u32> |
| Definition: Must be 1 |
| |
| - #size-cells |
| Usage: required |
| Value type: <u32> |
| Definition: Must be 0 |
| |
| = COMPUTE BANKS |
| Each subnode of the Fastrpc represents compute context banks available |
| on the dsp. |
| - All Compute context banks MUST contain the following properties: |
| |
| - compatible: |
| Usage: required |
| Value type: <stringlist> |
| Definition: must be "qcom,fastrpc-compute-cb" |
| |
| - reg |
| Usage: required |
| Value type: <u32> |
| Definition: Context Bank ID. |
| |
| - qcom,nsessions: |
| Usage: Optional |
| Value type: <u32> |
| Defination: A value indicating how many sessions can share this |
| context bank. Defaults to 1 when this property |
| is not specified. |
| |
| Example: |
| |
| adsp-pil { |
| compatible = "qcom,msm8996-adsp-pil"; |
| ... |
| smd-edge { |
| label = "lpass"; |
| fastrpc { |
| compatible = "qcom,fastrpc"; |
| qcom,smd-channels = "fastrpcsmd-apps-dsp"; |
| label = "adsp"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cb@1 { |
| compatible = "qcom,fastrpc-compute-cb"; |
| reg = <1>; |
| }; |
| |
| cb@2 { |
| compatible = "qcom,fastrpc-compute-cb"; |
| reg = <2>; |
| }; |
| ... |
| }; |
| }; |
| }; |