xref: /freebsd-src/sys/contrib/device-tree/Bindings/remoteproc/qcom,glink-edge.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2b97ee269SEmmanuel Vadot%YAML 1.2
3b97ee269SEmmanuel Vadot---
4b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/remoteproc/qcom,glink-edge.yaml#
5b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6b97ee269SEmmanuel Vadot
7b97ee269SEmmanuel Vadottitle: Qualcomm G-Link Edge communication channel nodes
8b97ee269SEmmanuel Vadot
9b97ee269SEmmanuel Vadotmaintainers:
10b97ee269SEmmanuel Vadot  - Bjorn Andersson <bjorn.andersson@linaro.org>
11b97ee269SEmmanuel Vadot
12b97ee269SEmmanuel Vadotdescription:
13b97ee269SEmmanuel Vadot  Qualcomm G-Link subnode represents communication edge, channels and devices
14b97ee269SEmmanuel Vadot  related to the remote processor.
15b97ee269SEmmanuel Vadot
16b97ee269SEmmanuel Vadotproperties:
17b97ee269SEmmanuel Vadot  apr:
18b97ee269SEmmanuel Vadot    $ref: /schemas/soc/qcom/qcom,apr.yaml#
197ef62cebSEmmanuel Vadot    required:
207ef62cebSEmmanuel Vadot      - qcom,glink-channels
21b97ee269SEmmanuel Vadot    description:
22*cb7aa33aSEmmanuel Vadot      Qualcomm APR (Asynchronous Packet Router)
23b97ee269SEmmanuel Vadot
24b97ee269SEmmanuel Vadot  fastrpc:
257ef62cebSEmmanuel Vadot    $ref: /schemas/misc/qcom,fastrpc.yaml#
267ef62cebSEmmanuel Vadot    required:
277ef62cebSEmmanuel Vadot      - qcom,glink-channels
28b97ee269SEmmanuel Vadot    description:
297ef62cebSEmmanuel Vadot      Qualcomm FastRPC
30b97ee269SEmmanuel Vadot
31*cb7aa33aSEmmanuel Vadot  gpr:
32*cb7aa33aSEmmanuel Vadot    $ref: /schemas/soc/qcom/qcom,apr.yaml#
33*cb7aa33aSEmmanuel Vadot    required:
34*cb7aa33aSEmmanuel Vadot      - qcom,glink-channels
35*cb7aa33aSEmmanuel Vadot    description:
36*cb7aa33aSEmmanuel Vadot      Qualcomm GPR (Generic Packet Router)
37*cb7aa33aSEmmanuel Vadot
38b97ee269SEmmanuel Vadot  interrupts:
39b97ee269SEmmanuel Vadot    maxItems: 1
40b97ee269SEmmanuel Vadot
41b97ee269SEmmanuel Vadot  label:
42*cb7aa33aSEmmanuel Vadot    description:
43*cb7aa33aSEmmanuel Vadot      Name of the edge, used for debugging and identification purposes. The
44*cb7aa33aSEmmanuel Vadot      node name will be used if this is not present.
45b97ee269SEmmanuel Vadot
46b97ee269SEmmanuel Vadot  mboxes:
47b97ee269SEmmanuel Vadot    maxItems: 1
48b97ee269SEmmanuel Vadot
49b97ee269SEmmanuel Vadot  qcom,remote-pid:
50b97ee269SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
51b97ee269SEmmanuel Vadot    description:
52b97ee269SEmmanuel Vadot      ID of the shared memory used by GLINK for communication with remote
53b97ee269SEmmanuel Vadot      processor.
54b97ee269SEmmanuel Vadot
55b97ee269SEmmanuel Vadotrequired:
56b97ee269SEmmanuel Vadot  - interrupts
57b97ee269SEmmanuel Vadot  - label
58b97ee269SEmmanuel Vadot  - mboxes
59b97ee269SEmmanuel Vadot  - qcom,remote-pid
60b97ee269SEmmanuel Vadot
61*cb7aa33aSEmmanuel VadotallOf:
62*cb7aa33aSEmmanuel Vadot  - if:
63*cb7aa33aSEmmanuel Vadot      required:
64*cb7aa33aSEmmanuel Vadot        - apr
65*cb7aa33aSEmmanuel Vadot    then:
66*cb7aa33aSEmmanuel Vadot      properties:
67*cb7aa33aSEmmanuel Vadot        gpr: false
68*cb7aa33aSEmmanuel Vadot
69*cb7aa33aSEmmanuel Vadot  - if:
70*cb7aa33aSEmmanuel Vadot      required:
71*cb7aa33aSEmmanuel Vadot        - gpr
72*cb7aa33aSEmmanuel Vadot    then:
73*cb7aa33aSEmmanuel Vadot      properties:
74*cb7aa33aSEmmanuel Vadot        apr: false
75*cb7aa33aSEmmanuel Vadot
76b97ee269SEmmanuel VadotadditionalProperties: false
77b97ee269SEmmanuel Vadot
78b97ee269SEmmanuel Vadotexamples:
79b97ee269SEmmanuel Vadot  - |
80b97ee269SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
81b97ee269SEmmanuel Vadot    #include <dt-bindings/mailbox/qcom-ipcc.h>
82b97ee269SEmmanuel Vadot
83b97ee269SEmmanuel Vadot    remoteproc@8a00000 {
84b97ee269SEmmanuel Vadot        reg = <0x08a00000 0x10000>;
85b97ee269SEmmanuel Vadot        // ...
86b97ee269SEmmanuel Vadot
87b97ee269SEmmanuel Vadot        glink-edge {
88b97ee269SEmmanuel Vadot            interrupts-extended = <&ipcc IPCC_CLIENT_WPSS
89b97ee269SEmmanuel Vadot                                         IPCC_MPROC_SIGNAL_GLINK_QMP
90b97ee269SEmmanuel Vadot                                         IRQ_TYPE_EDGE_RISING>;
91b97ee269SEmmanuel Vadot            mboxes = <&ipcc IPCC_CLIENT_WPSS
92b97ee269SEmmanuel Vadot                            IPCC_MPROC_SIGNAL_GLINK_QMP>;
93b97ee269SEmmanuel Vadot
94b97ee269SEmmanuel Vadot            label = "wpss";
95b97ee269SEmmanuel Vadot            qcom,remote-pid = <13>;
96b97ee269SEmmanuel Vadot        };
97b97ee269SEmmanuel Vadot    };
98