# 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

  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

      iommus:
        minItems: 1
        maxItems: 3

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