blob: cb2a42caabb5d7f8354cab173a76f65d5ee861f3 [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/mfd/stericsson,db8500-prcmu.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ST-Ericsson DB8500 PRCMU - Power Reset and Control Management Unit
8
9maintainers:
10 - Linus Walleij <linus.walleij@linaro.org>
11
12description:
13 The DB8500 Power Reset and Control Management Unit is an XP70 8-bit
14 microprocessor that is embedded in the always-on power domain of the
15 DB8500 SoCs to manage the low power states, powering up and down parts
16 of the silicon, and controlling reset of different IP blocks.
17
18properties:
19 $nodename:
20 pattern: '^prcmu@[0-9a-f]+$'
21
22 compatible:
23 description: The device is compatible both to the device-specific
24 compatible "stericsson,db8500-prcmu" and "syscon". The latter
25 compatible is needed for the device to be exposed as a system
26 controller so that arbitrary registers can be access by
27 different operating system components.
28 items:
29 - const: stericsson,db8500-prcmu
30 - const: syscon
31
32 reg:
33 items:
34 - description: Main PRCMU register area
35 - description: PRCMU TCPM register area
36 - description: PRCMU TCDM register area
37
38 reg-names:
39 items:
40 - const: prcmu
41 - const: prcmu-tcpm
42 - const: prcmu-tcdm
43
44 interrupts:
45 maxItems: 1
46
47 '#address-cells':
48 const: 1
49
50 '#size-cells':
51 const: 1
52
53 ranges: true
54
55 interrupt-controller: true
56
57 '#interrupt-cells':
58 const: 2
59
60 db8500-prcmu-regulators:
61 description: Node describing the DB8500 regulators. These are mainly
62 power rails inside the silicon but some of those are also routed
63 out to external pins.
64 type: object
65
66 properties:
67 compatible:
68 const: stericsson,db8500-prcmu-regulator
69
70 db8500_vape:
71 description: The voltage for the application processor, the
72 main voltage domain for the chip.
73 type: object
74 $ref: ../regulator/regulator.yaml#
75 unevaluatedProperties: false
76
77 db8500_varm:
78 description: The voltage for the ARM Cortex-A9 CPU.
79 type: object
80 $ref: ../regulator/regulator.yaml#
81 unevaluatedProperties: false
82
83 db8500_vmodem:
84 description: The voltage for the modem subsystem.
85 type: object
86 $ref: ../regulator/regulator.yaml#
87 unevaluatedProperties: false
88
89 db8500_vpll:
90 description: The voltage for the phase locked loop clocks.
91 type: object
92 $ref: ../regulator/regulator.yaml#
93 unevaluatedProperties: false
94
95 db8500_vsmps1:
96 description: Also known as VIO12, is a step-down voltage regulator
97 for 1.2V I/O. SMPS means System Management Power Source.
98 type: object
99 $ref: ../regulator/regulator.yaml#
100 unevaluatedProperties: false
101
102 db8500_vsmps2:
103 description: Also known as VIO18, is a step-down voltage regulator
104 for 1.8V I/O. SMPS means System Management Power Source.
105 type: object
106 $ref: ../regulator/regulator.yaml#
107 unevaluatedProperties: false
108
109 db8500_vsmps3:
110 description: This is a step-down voltage regulator
111 for 0.87 thru 1.875V I/O. SMPS means System Management Power Source.
112 type: object
113 $ref: ../regulator/regulator.yaml#
114 unevaluatedProperties: false
115
116 db8500_vrf1:
117 description: RF transceiver voltage regulator.
118 type: object
119 $ref: ../regulator/regulator.yaml#
120 unevaluatedProperties: false
121
122 db8500_sva_mmdsp:
123 description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
124 voltage regulator. This is the voltage for the accelerator DSP
125 for video encoding and decoding.
126 type: object
127 $ref: ../regulator/regulator.yaml#
128 unevaluatedProperties: false
129
130 db8500_sva_mmdsp_ret:
131 description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
132 voltage regulator for retention mode.
133 type: object
134 $ref: ../regulator/regulator.yaml#
135 unevaluatedProperties: false
136
137 db8500_sva_pipe:
138 description: Smart Video Accelerator (SVA) multimedia DSP (MMDSP)
139 voltage regulator for the data pipe.
140 type: object
141 $ref: ../regulator/regulator.yaml#
142 unevaluatedProperties: false
143
144 db8500_sia_mmdsp:
145 description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
146 voltage regulator. This is the voltage for the accelerator DSP
147 for image encoding and decoding.
148 type: object
149 $ref: ../regulator/regulator.yaml#
150 unevaluatedProperties: false
151
152 db8500_sia_mmdsp_ret:
153 description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
154 voltage regulator for retention mode.
155 type: object
156 $ref: ../regulator/regulator.yaml#
157 unevaluatedProperties: false
158
159 db8500_sia_pipe:
160 description: Smart Image Accelerator (SIA) multimedia DSP (MMDSP)
161 voltage regulator for the data pipe.
162 type: object
163 $ref: ../regulator/regulator.yaml#
164 unevaluatedProperties: false
165
166 db8500_sga:
167 description: Smart Graphics Accelerator (SGA) voltage regulator.
168 This is in effect controlling the power to the MALI400 3D
169 accelerator block.
170 type: object
171 $ref: ../regulator/regulator.yaml#
172 unevaluatedProperties: false
173
174 db8500_b2r2_mcde:
175 description: Blit Blend Rotate and Rescale (B2R2), and Multi-Channel
176 Display Engine (MCDE) voltage regulator. These are two graphics
177 blocks.
178 type: object
179 $ref: ../regulator/regulator.yaml#
180 unevaluatedProperties: false
181
182 db8500_esram12:
183 description: Embedded Static RAM (ESRAM) 1 and 2 voltage regulator.
184 type: object
185 $ref: ../regulator/regulator.yaml#
186 unevaluatedProperties: false
187
188 db8500_esram12_ret:
189 description: Embedded Static RAM (ESRAM) 1 and 2 voltage regulator for
190 retention mode.
191 type: object
192 $ref: ../regulator/regulator.yaml#
193 unevaluatedProperties: false
194
195 db8500_esram34:
196 description: Embedded Static RAM (ESRAM) 3 and 4 voltage regulator.
197 type: object
198 $ref: ../regulator/regulator.yaml#
199 unevaluatedProperties: false
200
201 db8500_esram34_ret:
202 description: Embedded Static RAM (ESRAM) 3 and 4 voltage regulator for
203 retention mode.
204 type: object
205 $ref: ../regulator/regulator.yaml#
206 unevaluatedProperties: false
207
208 required:
209 - compatible
210 - db8500_vape
211 - db8500_varm
212 - db8500_vmodem
213 - db8500_vpll
214 - db8500_vsmps1
215 - db8500_vsmps2
216 - db8500_vsmps3
217 - db8500_vrf1
218 - db8500_sva_mmdsp
219 - db8500_sva_mmdsp_ret
220 - db8500_sva_pipe
221 - db8500_sia_mmdsp
222 - db8500_sia_mmdsp_ret
223 - db8500_sia_pipe
224 - db8500_sga
225 - db8500_b2r2_mcde
226 - db8500_esram12
227 - db8500_esram12_ret
228 - db8500_esram34
229 - db8500_esram34_ret
230
231 additionalProperties: false
232
233patternProperties:
234 "^thermal@[0-9a-f]+$":
235 description: Node describing the DB8500 thermal control functions.
236 This binds to an operating system driver that monitors the
237 temperature of the SoC.
238 type: object
239
240 properties:
241 compatible:
242 const: stericsson,db8500-thermal
243
244 reg:
245 maxItems: 1
246
247 interrupts:
248 items:
249 - description: Hotmon low interrupt (falling temperature)
250 - description: Hotmon high interrupt (rising temperature)
251
252 interrupt-names:
253 items:
254 - const: IRQ_HOTMON_LOW
255 - const: IRQ_HOTMON_HIGH
256
257 '#thermal-sensor-cells':
258 const: 0
259
260 additionalProperties: false
261
262 "^prcmu-timer-4@[0-9a-f]+$":
263 description: Node describing the externally visible timer 4 in the
264 PRCMU block. This timer is interesting to the operating system
265 since even thought it has a very low resolution (32768 Hz) it is
266 always on, and thus provides a consistent monotonic timeline for
267 the system.
268 type: object
269
270 properties:
271 compatible:
272 const: stericsson,db8500-prcmu-timer-4
273
274 reg:
275 maxItems: 1
276
277 additionalProperties: false
278
279 "^ab850[05]$":
280 description: Node describing the Analog Baseband 8500 mixed-signals
281 ASIC AB8500 and subcomponents. The AB8500 is accessed through the
282 PRCMU and hence it appears here. This component has a separate
283 set of devicetree bindings. The AB8505 is a newer version of the
284 same ASIC.
285 type: object
286 $ref: stericsson,ab8500.yaml#
287
288required:
289 - compatible
290 - reg
291 - '#address-cells'
292 - '#size-cells'
293 - ranges
294 - interrupts
295 - interrupt-controller
296 - '#interrupt-cells'
297 - db8500-prcmu-regulators
298
299additionalProperties: false