# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/remoteproc/qcom,glink-edge.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm G-Link Edge communication channel nodes

maintainers:
  - Bjorn Andersson <bjorn.andersson@linaro.org>

description:
  Qualcomm G-Link subnode represents communication edge, channels and devices
  related to the remote processor.

properties:
  $nodename:
    const: "glink-edge"

  apr:
    $ref: /schemas/soc/qcom/qcom,apr.yaml#
    required:
      - qcom,glink-channels
    description:
      Qualcomm APR/GPR (Asynchronous/Generic Packet Router)

  fastrpc:
    $ref: /schemas/misc/qcom,fastrpc.yaml#
    required:
      - qcom,glink-channels
    description:
      Qualcomm FastRPC

  interrupts:
    maxItems: 1

  label:
    description: The names of the state bits used for SMP2P output

  mboxes:
    maxItems: 1

  qcom,remote-pid:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      ID of the shared memory used by GLINK for communication with remote
      processor.

required:
  - interrupts
  - label
  - mboxes
  - qcom,remote-pid

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/mailbox/qcom-ipcc.h>

    remoteproc@8a00000 {
        reg = <0x08a00000 0x10000>;
        // ...

        glink-edge {
            interrupts-extended = <&ipcc IPCC_CLIENT_WPSS
                                         IPCC_MPROC_SIGNAL_GLINK_QMP
                                         IRQ_TYPE_EDGE_RISING>;
            mboxes = <&ipcc IPCC_CLIENT_WPSS
                            IPCC_MPROC_SIGNAL_GLINK_QMP>;

            label = "wpss";
            qcom,remote-pid = <13>;
        };
    };
