15e6851e1ff8c318fe53062010572a83de934dba
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / remoteproc / qcom,glink-edge.yaml
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
7 title: Qualcomm G-Link Edge communication channel nodes
8
9 maintainers:
10   - Bjorn Andersson <bjorn.andersson@linaro.org>
11
12 description:
13   Qualcomm G-Link subnode represents communication edge, channels and devices
14   related to the remote processor.
15
16 properties:
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
58 required:
59   - interrupts
60   - label
61   - mboxes
62   - qcom,remote-pid
63
64 allOf:
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
79 additionalProperties: false
80
81 examples:
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     };