blob: c054b84fdcd5c51a31a628327bf2e99b851ff4d6 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/remoteproc/qcom,sc7180-pas.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm SC7180/SC7280 Peripheral Authentication Service
8
9maintainers:
10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11
12description:
13 Qualcomm SC7180/SC7280 SoC Peripheral Authentication Service loads and boots
14 firmware on the Qualcomm DSP Hexagon cores.
15
16properties:
17 compatible:
18 enum:
19 - qcom,sc7180-adsp-pas
20 - qcom,sc7180-mpss-pas
Tom Rini93743d22024-04-01 09:08:13 -040021 - qcom,sc7280-adsp-pas
22 - qcom,sc7280-cdsp-pas
Tom Rini53633a82024-02-29 12:33:36 -050023 - qcom,sc7280-mpss-pas
Tom Rini93743d22024-04-01 09:08:13 -040024 - qcom,sc7280-wpss-pas
Tom Rini53633a82024-02-29 12:33:36 -050025
26 reg:
27 maxItems: 1
28
29 clocks:
30 items:
31 - description: XO clock
32
33 clock-names:
34 items:
35 - const: xo
36
37 memory-region:
38 maxItems: 1
39 description: Reference to the reserved-memory for the Hexagon core
40
41 qcom,qmp:
42 $ref: /schemas/types.yaml#/definitions/phandle
43 description: Reference to the AOSS side-channel message RAM.
44
45 smd-edge: false
46
47 firmware-name:
48 $ref: /schemas/types.yaml#/definitions/string
49 description: Firmware name for the Hexagon core
50
51required:
52 - compatible
53 - reg
54 - memory-region
55
56allOf:
57 - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
58 - if:
59 properties:
60 compatible:
61 enum:
62 - qcom,sc7180-adsp-pas
63 then:
64 properties:
65 interrupts:
66 maxItems: 5
67 interrupt-names:
68 maxItems: 5
69 else:
70 properties:
71 interrupts:
72 minItems: 6
73 interrupt-names:
74 minItems: 6
75
76 - if:
77 properties:
78 compatible:
79 enum:
80 - qcom,sc7180-adsp-pas
Tom Rini93743d22024-04-01 09:08:13 -040081 - qcom,sc7280-adsp-pas
Tom Rini53633a82024-02-29 12:33:36 -050082 then:
83 properties:
84 power-domains:
85 items:
86 - description: LCX power domain
87 - description: LMX power domain
88 power-domain-names:
89 items:
90 - const: lcx
91 - const: lmx
92
93 - if:
94 properties:
95 compatible:
96 enum:
97 - qcom,sc7180-mpss-pas
98 then:
99 properties:
100 power-domains:
101 items:
102 - description: CX power domain
103 - description: MX power domain
104 - description: MSS power domain
105 power-domain-names:
106 items:
107 - const: cx
108 - const: mx
109 - const: mss
110
111 - if:
112 properties:
113 compatible:
114 enum:
115 - qcom,sc7280-mpss-pas
116 then:
117 properties:
118 power-domains:
119 items:
120 - description: CX power domain
Tom Rini93743d22024-04-01 09:08:13 -0400121 - description: MSS power domain
122 power-domain-names:
123 items:
124 - const: cx
125 - const: mss
126
127 - if:
128 properties:
129 compatible:
130 enum:
131 - qcom,sc7280-cdsp-pas
132 - qcom,sc7280-wpss-pas
133 then:
134 properties:
135 power-domains:
136 items:
137 - description: CX power domain
Tom Rini53633a82024-02-29 12:33:36 -0500138 - description: MX power domain
139 power-domain-names:
140 items:
141 - const: cx
142 - const: mx
143
144unevaluatedProperties: false
145
146examples:
147 - |
148 #include <dt-bindings/clock/qcom,rpmh.h>
149 #include <dt-bindings/interrupt-controller/arm-gic.h>
150 #include <dt-bindings/interrupt-controller/irq.h>
151 #include <dt-bindings/power/qcom-rpmpd.h>
152
153 remoteproc@4080000 {
154 compatible = "qcom,sc7180-mpss-pas";
155 reg = <0x04080000 0x4040>;
156
157 clocks = <&rpmhcc RPMH_CXO_CLK>;
158 clock-names = "xo";
159
160 interrupts-extended = <&intc GIC_SPI 266 IRQ_TYPE_EDGE_RISING>,
161 <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
162 <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
163 <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
164 <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
165 <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
166 interrupt-names = "wdog", "fatal", "ready", "handover",
167 "stop-ack", "shutdown-ack";
168
169 memory-region = <&mpss_mem>;
170
171 power-domains = <&rpmhpd SC7180_CX>,
172 <&rpmhpd SC7180_MX>,
173 <&rpmhpd SC7180_MSS>;
174 power-domain-names = "cx", "mx", "mss";
175
176 qcom,qmp = <&aoss_qmp>;
177 qcom,smem-states = <&modem_smp2p_out 0>;
178 qcom,smem-state-names = "stop";
179
180 glink-edge {
181 interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
182 label = "modem";
183 qcom,remote-pid = <1>;
184 mboxes = <&apss_shared 12>;
185 };
186 };