xref: /freebsd/sys/contrib/device-tree/Bindings/remoteproc/qcom,glink-edge.yaml (revision a03411e84728e9b267056fd31c7d1d9d1dc1b01e)
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:
46      Name of the edge, used for debugging and identification purposes. The
47      node name will be used if this is not present.
48
49  mboxes:
50    maxItems: 1
51
52  qcom,remote-pid:
53    $ref: /schemas/types.yaml#/definitions/uint32
54    description:
55      ID of the shared memory used by GLINK for communication with remote
56      processor.
57
58required:
59  - interrupts
60  - label
61  - mboxes
62  - qcom,remote-pid
63
64allOf:
65  - if:
66      required:
67        - apr
68    then:
69      properties:
70        gpr: false
71
72  - if:
73      required:
74        - gpr
75    then:
76      properties:
77        apr: false
78
79additionalProperties: false
80
81examples:
82  - |
83    #include <dt-bindings/interrupt-controller/arm-gic.h>
84    #include <dt-bindings/mailbox/qcom-ipcc.h>
85
86    remoteproc@8a00000 {
87        reg = <0x08a00000 0x10000>;
88        // ...
89
90        glink-edge {
91            interrupts-extended = <&ipcc IPCC_CLIENT_WPSS
92                                         IPCC_MPROC_SIGNAL_GLINK_QMP
93                                         IRQ_TYPE_EDGE_RISING>;
94            mboxes = <&ipcc IPCC_CLIENT_WPSS
95                            IPCC_MPROC_SIGNAL_GLINK_QMP>;
96
97            label = "wpss";
98            qcom,remote-pid = <13>;
99        };
100    };
101