Skip to content

Commit

Permalink
misc: dt-bindings: Add Qualcomm Fastrpc bindings
Browse files Browse the repository at this point in the history
The FastRPC driver 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.

Co-developed-by: Thierry Escande <thierry.escande@linaro.org>
Signed-off-by: Thierry Escande <thierry.escande@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Srinivas Kandagatla authored and Greg Kroah-Hartman committed Feb 12, 2019
1 parent d04071a commit 36e738b
Showing 1 changed file with 78 additions and 0 deletions.
78 changes: 78 additions & 0 deletions Documentation/devicetree/bindings/misc/qcom,fastrpc.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
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>;
};
...
};
};
};

0 comments on commit 36e738b

Please sign in to comment.