Commit | Line | Data |
---|---|---|
385fad13 KK |
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,smd-edge.yaml# | |
5 | $schema: http://devicetree.org/meta-schemas/core.yaml# | |
6 | ||
7 | title: Qualcomm SMD Edge communication channel nodes | |
8 | ||
9 | maintainers: | |
10 | - Bjorn Andersson <bjorn.andersson@linaro.org> | |
11 | ||
12 | description: | |
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. | |
547bed81 KK |
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. | |
385fad13 KK |
20 | See also Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml |
21 | ||
22 | properties: | |
23 | $nodename: | |
24 | const: "smd-edge" | |
25 | ||
547bed81 KK |
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 | ||
385fad13 KK |
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 | ||
547bed81 KK |
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 | ||
385fad13 KK |
91 | required: |
92 | - interrupts | |
93 | - qcom,smd-edge | |
94 | ||
95 | oneOf: | |
96 | - required: | |
97 | - mboxes | |
98 | - required: | |
99 | - qcom,ipc | |
100 | ||
547bed81 | 101 | additionalProperties: false |
385fad13 KK |
102 | |
103 | examples: | |
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 | }; |