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