brintos

brintos / linux-shallow public Read only

0
0
Text · 3.5 KiB · 0840a3d Raw
148 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/misc/qcom,fastrpc.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm FastRPC Driver8 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 method15  invocations across DSP and APPS boundaries. This enables developers16  to offload tasks to the DSP and free up the application processor for17  other tasks.18 19properties:20  compatible:21    const: qcom,fastrpc22 23  label:24    enum:25      - adsp26      - mdsp27      - sdsp28      - cdsp29      - cdsp130 31  memory-region:32    maxItems: 133    description:34      Phandle to a node describing memory to be used for remote heap CMA.35 36  qcom,glink-channels:37    description:38      A list of channels tied to this function, used for matching39      the function to a set of virtual channels.40    $ref: /schemas/types.yaml#/definitions/string-array41    items:42      - const: fastrpcglink-apps-dsp43 44  qcom,non-secure-domain:45    description:46      Used to mark the current domain as non-secure.47    type: boolean48 49  qcom,smd-channels:50    description:51      Channel name used for the RPM communication52    $ref: /schemas/types.yaml#/definitions/string-array53    items:54      - const: fastrpcsmd-apps-dsp55 56  qcom,vmids:57    description:58      Virtual machine IDs for remote processor.59    $ref: /schemas/types.yaml#/definitions/uint32-array60 61  "#address-cells":62    const: 163 64  "#size-cells":65    const: 066 67patternProperties:68  "(compute-)?cb@[0-9]*$":69    type: object70 71    description: >72      Each subnode of the Fastrpc represents compute context banks available on the dsp.73 74    properties:75      compatible:76        const: qcom,fastrpc-compute-cb77 78      reg:79        maxItems: 180 81      dma-coherent: true82 83      iommus:84        minItems: 185        maxItems: 1086 87      qcom,nsessions:88        $ref: /schemas/types.yaml#/definitions/uint3289        default: 190        description: >91          A value indicating how many sessions can share this context bank.92 93    required:94      - compatible95      - reg96 97    additionalProperties: false98 99required:100  - compatible101  - label102  - "#address-cells"103  - "#size-cells"104 105additionalProperties: false106 107examples:108  - |109    #include <dt-bindings/interrupt-controller/arm-gic.h>110    #include <dt-bindings/mailbox/qcom-ipcc.h>111 112    glink-edge {113        interrupts-extended = <&ipcc IPCC_CLIENT_LPASS114                                     IPCC_MPROC_SIGNAL_GLINK_QMP115                                     IRQ_TYPE_EDGE_RISING>;116        mboxes = <&ipcc IPCC_CLIENT_LPASS117                        IPCC_MPROC_SIGNAL_GLINK_QMP>;118        label = "lpass";119        qcom,remote-pid = <2>;120 121        fastrpc {122            compatible = "qcom,fastrpc";123            qcom,glink-channels = "fastrpcglink-apps-dsp";124            label = "sdsp";125            qcom,non-secure-domain;126            #address-cells = <1>;127            #size-cells = <0>;128 129            compute-cb@1 {130                compatible = "qcom,fastrpc-compute-cb";131                reg = <1>;132                iommus = <&apps_smmu 0x0541 0x0>;133            };134 135            compute-cb@2 {136                compatible = "qcom,fastrpc-compute-cb";137                reg = <2>;138                iommus = <&apps_smmu 0x0542 0x0>;139            };140 141            compute-cb@3 {142                compatible = "qcom,fastrpc-compute-cb";143                reg = <3>;144                iommus = <&apps_smmu 0x0543 0x0>;145            };146        };147    };148