File Index
Files and directories
Sign in
FILE

qcom,fastrpc.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/misc/qcom,fastrpc.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/misc/qcom,fastrpc.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Qualcomm FastRPC Driver
  8
  9maintainers:
 10  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 11
 12description: |
 13  The FastRPC implements an IPC (Inter-Processor Communication)
 14  mechanism that allows for clients to transparently make remote method
 15  invocations across DSP and APPS boundaries. This enables developers
 16  to offload tasks to the DSP and free up the application processor for
 17  other tasks.
 18
 19properties:
 20  compatible:
 21    const: qcom,fastrpc
 22
 23  label:
 24    enum:
 25      - adsp
 26      - mdsp
 27      - sdsp
 28      - cdsp
 29      - cdsp1
 30      - gdsp0
 31      - gdsp1
 32
 33  memory-region:
 34    maxItems: 1
 35    description:
 36      Phandle to a node describing memory to be used for remote heap CMA.
 37
 38  qcom,glink-channels:
 39    description:
 40      A list of channels tied to this function, used for matching
 41      the function to a set of virtual channels.
 42    $ref: /schemas/types.yaml#/definitions/string-array
 43    items:
 44      - const: fastrpcglink-apps-dsp
 45
 46  qcom,non-secure-domain:
 47    description:
 48      Used to mark the current domain as non-secure.
 49    type: boolean
 50
 51  qcom,smd-channels:
 52    description:
 53      Channel name used for the RPM communication
 54    $ref: /schemas/types.yaml#/definitions/string-array
 55    items:
 56      - const: fastrpcsmd-apps-dsp
 57
 58  qcom,vmids:
 59    description:
 60      Virtual machine IDs for remote processor.
 61    $ref: /schemas/types.yaml#/definitions/uint32-array
 62
 63  "#address-cells":
 64    const: 1
 65
 66  "#size-cells":
 67    const: 0
 68
 69patternProperties:
 70  "(compute-)?cb@[0-9]*$":
 71    type: object
 72
 73    description: >
 74      Each subnode of the Fastrpc represents compute context banks available on the dsp.
 75
 76    properties:
 77      compatible:
 78        const: qcom,fastrpc-compute-cb
 79
 80      reg:
 81        maxItems: 1
 82
 83      dma-coherent: true
 84
 85      iommus:
 86        minItems: 1
 87        maxItems: 10
 88
 89      qcom,nsessions:
 90        $ref: /schemas/types.yaml#/definitions/uint32
 91        default: 1
 92        description: >
 93          A value indicating how many sessions can share this context bank.
 94
 95    required:
 96      - compatible
 97      - reg
 98
 99    additionalProperties: false
100
101required:
102  - compatible
103  - label
104  - "#address-cells"
105  - "#size-cells"
106
107additionalProperties: false
108
109examples:
110  - |
111    #include <dt-bindings/interrupt-controller/arm-gic.h>
112    #include <dt-bindings/mailbox/qcom-ipcc.h>
113
114    glink-edge {
115        interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
116                                     IPCC_MPROC_SIGNAL_GLINK_QMP
117                                     IRQ_TYPE_EDGE_RISING>;
118        mboxes = <&ipcc IPCC_CLIENT_LPASS
119                        IPCC_MPROC_SIGNAL_GLINK_QMP>;
120        label = "lpass";
121        qcom,remote-pid = <2>;
122
123        fastrpc {
124            compatible = "qcom,fastrpc";
125            qcom,glink-channels = "fastrpcglink-apps-dsp";
126            label = "sdsp";
127            qcom,non-secure-domain;
128            #address-cells = <1>;
129            #size-cells = <0>;
130
131            compute-cb@1 {
132                compatible = "qcom,fastrpc-compute-cb";
133                reg = <1>;
134                iommus = <&apps_smmu 0x0541 0x0>;
135            };
136
137            compute-cb@2 {
138                compatible = "qcom,fastrpc-compute-cb";
139                reg = <2>;
140                iommus = <&apps_smmu 0x0542 0x0>;
141            };
142
143            compute-cb@3 {
144                compatible = "qcom,fastrpc-compute-cb";
145                reg = <3>;
146                iommus = <&apps_smmu 0x0543 0x0>;
147            };
148        };
149    };
~/ Read-only file preview.