blob: 02c85b420c1a1bcf0932332b5a4c8551a4663ca4 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/remoteproc/qcom,smd-edge.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm SMD Edge communication channel nodes
8
9maintainers:
10 - Bjorn Andersson <bjorn.andersson@linaro.org>
11
12description:
13 Qualcomm SMD subnode represents a remote subsystem or a remote processor of
14 some sort - or in SMD language an "edge". The name of the edges are not
15 important.
16
17 In turn, subnodes of the "edges" represent devices tied to SMD channels on
18 that "edge". The names of the devices are not important. The properties of
19 these nodes are defined by the individual bindings for the SMD devices.
20 See also Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml
21
22properties:
23 $nodename:
24 const: smd-edge
25
26 apr:
27 $ref: /schemas/soc/qcom/qcom,apr.yaml#
28 required:
29 - qcom,smd-channels
30 description:
31 Qualcomm APR/GPR (Asynchronous/Generic Packet Router)
32
33 fastrpc:
34 $ref: /schemas/misc/qcom,fastrpc.yaml#
35 required:
36 - qcom,smd-channels
37 description:
38 Qualcomm FastRPC
39
40 interrupts:
41 maxItems: 1
42
43 label:
44 description:
45 Name of the edge, used for debugging and identification purposes. The
46 node name will be used if this is not present.
47
48 mboxes:
49 maxItems: 1
50 description:
51 Reference to the mailbox representing the outgoing doorbell in APCS for
52 this client.
53
54 qcom,ipc:
55 $ref: /schemas/types.yaml#/definitions/phandle-array
56 items:
57 - items:
58 - description: phandle to a syscon node representing the APCS registers
59 - description: u32 representing offset to the register within the syscon
60 - description: u32 representing the ipc bit within the register
61 description:
62 Three entries specifying the outgoing ipc bit used for signaling the
63 remote processor.
64
65 qcom,smd-edge:
66 $ref: /schemas/types.yaml#/definitions/uint32
67 description:
68 The identifier of the remote processor in the smd channel allocation
69 table.
70
71 qcom,remote-pid:
72 $ref: /schemas/types.yaml#/definitions/uint32
73 description:
74 The identifier for the remote processor as known by the rest of the
75 system.
76
77 rpm-requests:
78 $ref: /schemas/soc/qcom/qcom,smd-rpm.yaml#
79 required:
80 - qcom,smd-channels
81 description:
82 Qualcomm Resource Power Manager (RPM) over SMD.
83
84 wcnss:
85 $ref: /schemas/soc/qcom/qcom,wcnss.yaml
86 required:
87 - qcom,smd-channels
88 description:
89 Qualcomm WCNSS for Bluetooth, WiFi and FM radio.
90
91required:
92 - interrupts
93 - qcom,smd-edge
94
95oneOf:
96 - required:
97 - mboxes
98 - required:
99 - qcom,ipc
100
101additionalProperties: false
102
103examples:
104 - |
105 #include <dt-bindings/interrupt-controller/arm-gic.h>
106 #include <dt-bindings/mailbox/qcom-ipcc.h>
107
108 remoteproc {
109 // ...
110
111 smd-edge {
112 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
113
114 qcom,ipc = <&apcs 8 8>;
115 qcom,smd-edge = <1>;
116 };
117 };