1# 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
300