blob: 63500b1a0f6fce5e8fb1c821009e6001fdfc036e [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.
Tom Rini762f85b2024-07-20 11:15:10 -060064 deprecated: true
Tom Rini53633a82024-02-29 12:33:36 -050065
66 qcom,smd-edge:
67 $ref: /schemas/types.yaml#/definitions/uint32
68 description:
69 The identifier of the remote processor in the smd channel allocation
70 table.
71
72 qcom,remote-pid:
73 $ref: /schemas/types.yaml#/definitions/uint32
74 description:
75 The identifier for the remote processor as known by the rest of the
76 system.
77
78 rpm-requests:
79 $ref: /schemas/soc/qcom/qcom,smd-rpm.yaml#
80 required:
81 - qcom,smd-channels
82 description:
83 Qualcomm Resource Power Manager (RPM) over SMD.
84
85 wcnss:
86 $ref: /schemas/soc/qcom/qcom,wcnss.yaml
87 required:
88 - qcom,smd-channels
89 description:
90 Qualcomm WCNSS for Bluetooth, WiFi and FM radio.
91
92required:
93 - interrupts
94 - qcom,smd-edge
95
96oneOf:
97 - required:
98 - mboxes
99 - required:
100 - qcom,ipc
101
102additionalProperties: false
103
104examples:
105 - |
106 #include <dt-bindings/interrupt-controller/arm-gic.h>
107 #include <dt-bindings/mailbox/qcom-ipcc.h>
108
109 remoteproc {
110 // ...
111
112 smd-edge {
113 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
114
Tom Rini762f85b2024-07-20 11:15:10 -0600115 mboxes = <&apcs 8>;
Tom Rini53633a82024-02-29 12:33:36 -0500116 qcom,smd-edge = <1>;
117 };
118 };