1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/remoteproc/qcom,glink-edge.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm G-Link Edge communication channel nodes
8
9maintainers:
10  - Bjorn Andersson <bjorn.andersson@linaro.org>
11
12description:
13  Qualcomm G-Link subnode represents communication edge, channels and devices
14  related to the remote processor.
15
16properties:
17  $nodename:
18    const: "glink-edge"
19
20  apr:
21    $ref: /schemas/soc/qcom/qcom,apr.yaml#
22    required:
23      - qcom,glink-channels
24    description:
25      Qualcomm APR (Asynchronous Packet Router)
26
27  fastrpc:
28    $ref: /schemas/misc/qcom,fastrpc.yaml#
29    required:
30      - qcom,glink-channels
31    description:
32      Qualcomm FastRPC
33
34  gpr:
35    $ref: /schemas/soc/qcom/qcom,apr.yaml#
36    required:
37      - qcom,glink-channels
38    description:
39      Qualcomm GPR (Generic Packet Router)
40
41  interrupts:
42    maxItems: 1
43
44  label:
45    description: The names of the state bits used for SMP2P output
46
47  mboxes:
48    maxItems: 1
49
50  qcom,remote-pid:
51    $ref: /schemas/types.yaml#/definitions/uint32
52    description:
53      ID of the shared memory used by GLINK for communication with remote
54      processor.
55
56required:
57  - interrupts
58  - label
59  - mboxes
60  - qcom,remote-pid
61
62allOf:
63  - if:
64      required:
65        - apr
66    then:
67      properties:
68        gpr: false
69
70  - if:
71      required:
72        - gpr
73    then:
74      properties:
75        apr: false
76
77additionalProperties: false
78
79examples:
80  - |
81    #include <dt-bindings/interrupt-controller/arm-gic.h>
82    #include <dt-bindings/mailbox/qcom-ipcc.h>
83
84    remoteproc@8a00000 {
85        reg = <0x08a00000 0x10000>;
86        // ...
87
88        glink-edge {
89            interrupts-extended = <&ipcc IPCC_CLIENT_WPSS
90                                         IPCC_MPROC_SIGNAL_GLINK_QMP
91                                         IRQ_TYPE_EDGE_RISING>;
92            mboxes = <&ipcc IPCC_CLIENT_WPSS
93                            IPCC_MPROC_SIGNAL_GLINK_QMP>;
94
95            label = "wpss";
96            qcom,remote-pid = <13>;
97        };
98    };
99