| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/misc/qcom,fastrpc.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Qualcomm FastRPC Driver
- maintainers:
- - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
- description: |
- 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.
- properties:
- compatible:
- const: qcom,fastrpc
- label:
- enum:
- - adsp
- - mdsp
- - sdsp
- - cdsp
- - cdsp1
- memory-region:
- maxItems: 1
- description:
- Phandle to a node describing memory to be used for remote heap CMA.
- qcom,glink-channels:
- description:
- A list of channels tied to this function, used for matching
- the function to a set of virtual channels.
- $ref: /schemas/types.yaml#/definitions/string-array
- items:
- - const: fastrpcglink-apps-dsp
- qcom,non-secure-domain:
- description:
- Used to mark the current domain as non-secure.
- type: boolean
- qcom,smd-channels:
- description:
- Channel name used for the RPM communication
- $ref: /schemas/types.yaml#/definitions/string-array
- items:
- - const: fastrpcsmd-apps-dsp
- qcom,vmids:
- description:
- Virtual machine IDs for remote processor.
- $ref: /schemas/types.yaml#/definitions/uint32-array
- "#address-cells":
- const: 1
- "#size-cells":
- const: 0
- patternProperties:
- "(compute-)?cb@[0-9]*$":
- type: object
- description: >
- Each subnode of the Fastrpc represents compute context banks available on the dsp.
- properties:
- compatible:
- const: qcom,fastrpc-compute-cb
- reg:
- maxItems: 1
- dma-coherent: true
- iommus:
- minItems: 1
- maxItems: 10
- qcom,nsessions:
- $ref: /schemas/types.yaml#/definitions/uint32
- default: 1
- description: >
- A value indicating how many sessions can share this context bank.
- required:
- - compatible
- - reg
- additionalProperties: false
- required:
- - compatible
- - label
- - "#address-cells"
- - "#size-cells"
- additionalProperties: false
- examples:
- - |
- #include <dt-bindings/interrupt-controller/arm-gic.h>
- #include <dt-bindings/mailbox/qcom-ipcc.h>
- glink-edge {
- interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
- IPCC_MPROC_SIGNAL_GLINK_QMP
- IRQ_TYPE_EDGE_RISING>;
- mboxes = <&ipcc IPCC_CLIENT_LPASS
- IPCC_MPROC_SIGNAL_GLINK_QMP>;
- label = "lpass";
- qcom,remote-pid = <2>;
- fastrpc {
- compatible = "qcom,fastrpc";
- qcom,glink-channels = "fastrpcglink-apps-dsp";
- label = "sdsp";
- qcom,non-secure-domain;
- #address-cells = <1>;
- #size-cells = <0>;
- compute-cb@1 {
- compatible = "qcom,fastrpc-compute-cb";
- reg = <1>;
- iommus = <&apps_smmu 0x0541 0x0>;
- };
- compute-cb@2 {
- compatible = "qcom,fastrpc-compute-cb";
- reg = <2>;
- iommus = <&apps_smmu 0x0542 0x0>;
- };
- compute-cb@3 {
- compatible = "qcom,fastrpc-compute-cb";
- reg = <3>;
- iommus = <&apps_smmu 0x0543 0x0>;
- };
- };
- };
|