# 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>;
            };
        };
    };
