OSDN Git Service

Merge tag 'perf-urgent-2023-09-10' of git://git.kernel.org/pub/scm/linux/kernel/git...
[tomoyo/tomoyo-test1.git] / Documentation / devicetree / bindings / mfd / stericsson,db8500-prcmu.yaml
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
7 title: ST-Ericsson DB8500 PRCMU - Power Reset and Control Management Unit
8
9 maintainers:
10   - Linus Walleij <linus.walleij@linaro.org>
11
12 description:
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
18 properties:
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 A-9 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
233 patternProperties:
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
288 required:
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
299 additionalProperties: false