Commit | Line | Data |
---|---|---|
5d0769f0 AB |
1 | /* |
2 | * Copyright 2012 Linaro Ltd | |
3 | * | |
4 | * The code contained herein is licensed under the GNU General Public | |
5 | * License. You may obtain a copy of the GNU General Public License | |
6 | * Version 2 or later at the following locations: | |
7 | * | |
8 | * http://www.opensource.org/licenses/gpl-license.html | |
9 | * http://www.gnu.org/copyleft/gpl.html | |
10 | */ | |
11 | ||
90c40257 | 12 | #include <dt-bindings/interrupt-controller/irq.h> |
841cd0c0 | 13 | #include <dt-bindings/mfd/dbx500-prcmu.h> |
067addec | 14 | #include <dt-bindings/arm/ux500_pm_domains.h> |
807e8838 | 15 | #include "skeleton.dtsi" |
5d0769f0 AB |
16 | |
17 | / { | |
bf64dd26 LW |
18 | cpus { |
19 | #address-cells = <1>; | |
20 | #size-cells = <0>; | |
21 | enable-method = "ste,dbx500-smp"; | |
22 | ||
23 | cpu-map { | |
24 | cluster0 { | |
25 | core0 { | |
26 | cpu = <&CPU0>; | |
27 | }; | |
28 | core1 { | |
29 | cpu = <&CPU1>; | |
30 | }; | |
31 | }; | |
32 | }; | |
33 | CPU0: cpu@300 { | |
34 | device_type = "cpu"; | |
35 | compatible = "arm,cortex-a9"; | |
36 | reg = <0x300>; | |
37 | }; | |
38 | CPU1: cpu@301 { | |
39 | device_type = "cpu"; | |
40 | compatible = "arm,cortex-a9"; | |
41 | reg = <0x301>; | |
42 | }; | |
43 | }; | |
44 | ||
b1ba1439 | 45 | soc { |
5d0769f0 AB |
46 | #address-cells = <1>; |
47 | #size-cells = <1>; | |
7e0ce270 | 48 | compatible = "stericsson,db8500"; |
dab6487e | 49 | interrupt-parent = <&intc>; |
5d0769f0 | 50 | ranges; |
7e0ce270 | 51 | |
b557457f LW |
52 | ptm@801ae000 { |
53 | compatible = "arm,coresight-etm3x", "arm,primecell"; | |
54 | reg = <0x801ae000 0x1000>; | |
55 | ||
56 | clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>; | |
57 | clock-names = "apb_pclk", "atclk"; | |
58 | cpu = <&CPU0>; | |
59 | port { | |
60 | ptm0_out_port: endpoint { | |
61 | remote-endpoint = <&funnel_in_port0>; | |
62 | }; | |
63 | }; | |
64 | }; | |
65 | ||
66 | ptm@801af000 { | |
67 | compatible = "arm,coresight-etm3x", "arm,primecell"; | |
68 | reg = <0x801af000 0x1000>; | |
69 | ||
70 | clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>; | |
71 | clock-names = "apb_pclk", "atclk"; | |
72 | cpu = <&CPU1>; | |
73 | port { | |
74 | ptm1_out_port: endpoint { | |
75 | remote-endpoint = <&funnel_in_port1>; | |
76 | }; | |
77 | }; | |
78 | }; | |
79 | ||
80 | funnel@801a6000 { | |
81 | compatible = "arm,coresight-funnel", "arm,primecell"; | |
82 | reg = <0x801a6000 0x1000>; | |
83 | ||
84 | clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>; | |
85 | clock-names = "apb_pclk", "atclk"; | |
86 | ports { | |
87 | #address-cells = <1>; | |
88 | #size-cells = <0>; | |
89 | ||
90 | /* funnel output ports */ | |
91 | port@0 { | |
92 | reg = <0>; | |
93 | funnel_out_port: endpoint { | |
94 | remote-endpoint = | |
95 | <&replicator_in_port0>; | |
96 | }; | |
97 | }; | |
98 | ||
99 | /* funnel input ports */ | |
100 | port@1 { | |
101 | reg = <0>; | |
102 | funnel_in_port0: endpoint { | |
103 | slave-mode; | |
104 | remote-endpoint = <&ptm0_out_port>; | |
105 | }; | |
106 | }; | |
107 | ||
108 | port@2 { | |
109 | reg = <1>; | |
110 | funnel_in_port1: endpoint { | |
111 | slave-mode; | |
112 | remote-endpoint = <&ptm1_out_port>; | |
113 | }; | |
114 | }; | |
115 | }; | |
116 | }; | |
117 | ||
118 | replicator { | |
119 | compatible = "arm,coresight-replicator"; | |
120 | clocks = <&prcmu_clk PRCMU_APEATCLK>; | |
121 | clock-names = "atclk"; | |
122 | ||
123 | ports { | |
124 | #address-cells = <1>; | |
125 | #size-cells = <0>; | |
126 | ||
127 | /* replicator output ports */ | |
128 | port@0 { | |
129 | reg = <0>; | |
130 | replicator_out_port0: endpoint { | |
131 | remote-endpoint = <&tpiu_in_port>; | |
132 | }; | |
133 | }; | |
134 | port@1 { | |
135 | reg = <1>; | |
136 | replicator_out_port1: endpoint { | |
137 | remote-endpoint = <&etb_in_port>; | |
138 | }; | |
139 | }; | |
140 | ||
141 | /* replicator input port */ | |
142 | port@2 { | |
143 | reg = <0>; | |
144 | replicator_in_port0: endpoint { | |
145 | slave-mode; | |
146 | remote-endpoint = <&funnel_out_port>; | |
147 | }; | |
148 | }; | |
149 | }; | |
150 | }; | |
151 | ||
152 | tpiu@80190000 { | |
153 | compatible = "arm,coresight-tpiu", "arm,primecell"; | |
154 | reg = <0x80190000 0x1000>; | |
155 | ||
156 | clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>; | |
157 | clock-names = "apb_pclk", "atclk"; | |
158 | port { | |
159 | tpiu_in_port: endpoint { | |
160 | slave-mode; | |
161 | remote-endpoint = <&replicator_out_port0>; | |
162 | }; | |
163 | }; | |
164 | }; | |
165 | ||
166 | etb@801a4000 { | |
167 | compatible = "arm,coresight-etb10", "arm,primecell"; | |
168 | reg = <0x801a4000 0x1000>; | |
169 | ||
170 | clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>; | |
171 | clock-names = "apb_pclk", "atclk"; | |
172 | port { | |
173 | etb_in_port: endpoint { | |
174 | slave-mode; | |
175 | remote-endpoint = <&replicator_out_port1>; | |
176 | }; | |
177 | }; | |
178 | }; | |
179 | ||
dab6487e LJ |
180 | intc: interrupt-controller@a0411000 { |
181 | compatible = "arm,cortex-a9-gic"; | |
182 | #interrupt-cells = <3>; | |
183 | #address-cells = <1>; | |
184 | interrupt-controller; | |
dab6487e LJ |
185 | reg = <0xa0411000 0x1000>, |
186 | <0xa0410100 0x100>; | |
187 | }; | |
188 | ||
48793410 LW |
189 | scu@a04100000 { |
190 | compatible = "arm,cortex-a9-scu"; | |
191 | reg = <0xa0410000 0x100>; | |
192 | }; | |
193 | ||
724814b4 LW |
194 | /* |
195 | * The backup RAM is used for retention during sleep | |
196 | * and various things like spin tables | |
197 | */ | |
198 | backupram@80150000 { | |
199 | compatible = "ste,dbx500-backupram"; | |
200 | reg = <0x80150000 0x2000>; | |
201 | }; | |
202 | ||
f1949ea0 LJ |
203 | L2: l2-cache { |
204 | compatible = "arm,pl310-cache"; | |
205 | reg = <0xa0412000 0x1000>; | |
90c40257 | 206 | interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>; |
f1949ea0 LJ |
207 | cache-unified; |
208 | cache-level = <2>; | |
209 | }; | |
210 | ||
7e0ce270 LJ |
211 | pmu { |
212 | compatible = "arm,cortex-a9-pmu"; | |
90c40257 | 213 | interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 LJ |
214 | }; |
215 | ||
6c669359 UH |
216 | pm_domains: pm_domains0 { |
217 | compatible = "stericsson,ux500-pm-domains"; | |
218 | #power-domain-cells = <1>; | |
219 | }; | |
8132ed1b | 220 | |
841cd0c0 LJ |
221 | clocks { |
222 | compatible = "stericsson,u8500-clks"; | |
5dc0fe19 LW |
223 | /* |
224 | * Registers for the CLKRST block on peripheral | |
225 | * groups 1, 2, 3, 5, 6, | |
226 | */ | |
227 | reg = <0x8012f000 0x1000>, <0x8011f000 0x1000>, | |
228 | <0x8000f000 0x1000>, <0xa03ff000 0x1000>, | |
229 | <0xa03cf000 0x1000>; | |
841cd0c0 LJ |
230 | |
231 | prcmu_clk: prcmu-clock { | |
232 | #clock-cells = <1>; | |
233 | }; | |
fcbe5e90 LJ |
234 | |
235 | prcc_pclk: prcc-periph-clock { | |
236 | #clock-cells = <2>; | |
237 | }; | |
2588fea6 LJ |
238 | |
239 | prcc_kclk: prcc-kernel-clock { | |
240 | #clock-cells = <2>; | |
241 | }; | |
589d9839 LJ |
242 | |
243 | rtc_clk: rtc32k-clock { | |
244 | #clock-cells = <0>; | |
245 | }; | |
309012d7 LJ |
246 | |
247 | smp_twd_clk: smp-twd-clock { | |
248 | #clock-cells = <0>; | |
249 | }; | |
841cd0c0 LJ |
250 | }; |
251 | ||
8132ed1b LJ |
252 | mtu@a03c6000 { |
253 | /* Nomadik System Timer */ | |
254 | compatible = "st,nomadik-mtu"; | |
255 | reg = <0xa03c6000 0x1000>; | |
256 | interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>; | |
257 | ||
258 | clocks = <&prcmu_clk PRCMU_TIMCLK>, <&prcc_pclk 6 6>; | |
259 | clock-names = "timclk", "apb_pclk"; | |
260 | }; | |
261 | ||
71de5c46 LJ |
262 | timer@a0410600 { |
263 | compatible = "arm,cortex-a9-twd-timer"; | |
264 | reg = <0xa0410600 0x20>; | |
90c40257 | 265 | interrupts = <1 13 0x304>; /* IRQ level high per-CPU */ |
a8acb1ec LJ |
266 | |
267 | clocks = <&smp_twd_clk>; | |
71de5c46 LJ |
268 | }; |
269 | ||
48793410 LW |
270 | watchdog@a0410620 { |
271 | compatible = "arm,cortex-a9-twd-wdt"; | |
272 | reg = <0xa0410620 0x20>; | |
273 | interrupts = <1 14 0x304>; | |
274 | clocks = <&smp_twd_clk>; | |
275 | }; | |
276 | ||
7e0ce270 | 277 | rtc@80154000 { |
ddb3b99c | 278 | compatible = "arm,rtc-pl031", "arm,primecell"; |
7e0ce270 | 279 | reg = <0x80154000 0x1000>; |
90c40257 | 280 | interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>; |
d299b5a5 LJ |
281 | |
282 | clocks = <&rtc_clk>; | |
283 | clock-names = "apb_pclk"; | |
7e0ce270 LJ |
284 | }; |
285 | ||
286 | gpio0: gpio@8012e000 { | |
287 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 288 | "st,nomadik-gpio"; |
7e0ce270 | 289 | reg = <0x8012e000 0x80>; |
90c40257 | 290 | interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
291 | interrupt-controller; |
292 | #interrupt-cells = <2>; | |
61be4981 | 293 | st,supports-sleepmode; |
7e0ce270 | 294 | gpio-controller; |
c0b133bd LJ |
295 | #gpio-cells = <2>; |
296 | gpio-bank = <0>; | |
ee04139d | 297 | gpio-ranges = <&pinctrl 0 0 32>; |
9d891073 | 298 | clocks = <&prcc_pclk 1 9>; |
7e0ce270 LJ |
299 | }; |
300 | ||
301 | gpio1: gpio@8012e080 { | |
302 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 303 | "st,nomadik-gpio"; |
7e0ce270 | 304 | reg = <0x8012e080 0x80>; |
90c40257 | 305 | interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
306 | interrupt-controller; |
307 | #interrupt-cells = <2>; | |
61be4981 | 308 | st,supports-sleepmode; |
7e0ce270 | 309 | gpio-controller; |
c0b133bd LJ |
310 | #gpio-cells = <2>; |
311 | gpio-bank = <1>; | |
ee04139d | 312 | gpio-ranges = <&pinctrl 0 32 5>; |
9d891073 | 313 | clocks = <&prcc_pclk 1 9>; |
7e0ce270 LJ |
314 | }; |
315 | ||
316 | gpio2: gpio@8000e000 { | |
317 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 318 | "st,nomadik-gpio"; |
7e0ce270 | 319 | reg = <0x8000e000 0x80>; |
90c40257 | 320 | interrupts = <0 121 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
321 | interrupt-controller; |
322 | #interrupt-cells = <2>; | |
61be4981 | 323 | st,supports-sleepmode; |
7e0ce270 | 324 | gpio-controller; |
c0b133bd LJ |
325 | #gpio-cells = <2>; |
326 | gpio-bank = <2>; | |
ee04139d | 327 | gpio-ranges = <&pinctrl 0 64 32>; |
9d891073 | 328 | clocks = <&prcc_pclk 3 8>; |
7e0ce270 LJ |
329 | }; |
330 | ||
331 | gpio3: gpio@8000e080 { | |
332 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 333 | "st,nomadik-gpio"; |
7e0ce270 | 334 | reg = <0x8000e080 0x80>; |
90c40257 | 335 | interrupts = <0 122 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
336 | interrupt-controller; |
337 | #interrupt-cells = <2>; | |
61be4981 | 338 | st,supports-sleepmode; |
7e0ce270 | 339 | gpio-controller; |
c0b133bd LJ |
340 | #gpio-cells = <2>; |
341 | gpio-bank = <3>; | |
ee04139d | 342 | gpio-ranges = <&pinctrl 0 96 2>; |
9d891073 | 343 | clocks = <&prcc_pclk 3 8>; |
7e0ce270 LJ |
344 | }; |
345 | ||
346 | gpio4: gpio@8000e100 { | |
347 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 348 | "st,nomadik-gpio"; |
7e0ce270 | 349 | reg = <0x8000e100 0x80>; |
90c40257 | 350 | interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
351 | interrupt-controller; |
352 | #interrupt-cells = <2>; | |
61be4981 | 353 | st,supports-sleepmode; |
7e0ce270 | 354 | gpio-controller; |
c0b133bd LJ |
355 | #gpio-cells = <2>; |
356 | gpio-bank = <4>; | |
ee04139d | 357 | gpio-ranges = <&pinctrl 0 128 32>; |
9d891073 | 358 | clocks = <&prcc_pclk 3 8>; |
7e0ce270 LJ |
359 | }; |
360 | ||
361 | gpio5: gpio@8000e180 { | |
362 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 363 | "st,nomadik-gpio"; |
7e0ce270 | 364 | reg = <0x8000e180 0x80>; |
90c40257 | 365 | interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
366 | interrupt-controller; |
367 | #interrupt-cells = <2>; | |
61be4981 | 368 | st,supports-sleepmode; |
7e0ce270 | 369 | gpio-controller; |
c0b133bd LJ |
370 | #gpio-cells = <2>; |
371 | gpio-bank = <5>; | |
ee04139d | 372 | gpio-ranges = <&pinctrl 0 160 12>; |
9d891073 | 373 | clocks = <&prcc_pclk 3 8>; |
7e0ce270 LJ |
374 | }; |
375 | ||
376 | gpio6: gpio@8011e000 { | |
377 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 378 | "st,nomadik-gpio"; |
7e0ce270 | 379 | reg = <0x8011e000 0x80>; |
90c40257 | 380 | interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
381 | interrupt-controller; |
382 | #interrupt-cells = <2>; | |
61be4981 | 383 | st,supports-sleepmode; |
7e0ce270 | 384 | gpio-controller; |
c0b133bd LJ |
385 | #gpio-cells = <2>; |
386 | gpio-bank = <6>; | |
ee04139d | 387 | gpio-ranges = <&pinctrl 0 192 32>; |
d591640a | 388 | clocks = <&prcc_pclk 2 11>; |
7e0ce270 LJ |
389 | }; |
390 | ||
391 | gpio7: gpio@8011e080 { | |
392 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 393 | "st,nomadik-gpio"; |
7e0ce270 | 394 | reg = <0x8011e080 0x80>; |
90c40257 | 395 | interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
396 | interrupt-controller; |
397 | #interrupt-cells = <2>; | |
61be4981 | 398 | st,supports-sleepmode; |
7e0ce270 | 399 | gpio-controller; |
c0b133bd LJ |
400 | #gpio-cells = <2>; |
401 | gpio-bank = <7>; | |
ee04139d | 402 | gpio-ranges = <&pinctrl 0 224 7>; |
d591640a | 403 | clocks = <&prcc_pclk 2 11>; |
7e0ce270 LJ |
404 | }; |
405 | ||
406 | gpio8: gpio@a03fe000 { | |
407 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 408 | "st,nomadik-gpio"; |
7e0ce270 | 409 | reg = <0xa03fe000 0x80>; |
90c40257 | 410 | interrupts = <0 127 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
411 | interrupt-controller; |
412 | #interrupt-cells = <2>; | |
61be4981 | 413 | st,supports-sleepmode; |
7e0ce270 | 414 | gpio-controller; |
c0b133bd LJ |
415 | #gpio-cells = <2>; |
416 | gpio-bank = <8>; | |
ee04139d | 417 | gpio-ranges = <&pinctrl 0 256 12>; |
84873cb7 | 418 | clocks = <&prcc_pclk 5 1>; |
7e0ce270 LJ |
419 | }; |
420 | ||
ee04139d | 421 | pinctrl: pinctrl { |
818d99a9 | 422 | compatible = "stericsson,db8500-pinctrl"; |
ee04139d LW |
423 | nomadik-gpio-chips = <&gpio0>, <&gpio1>, <&gpio2>, <&gpio3>, |
424 | <&gpio4>, <&gpio5>, <&gpio6>, <&gpio7>, | |
425 | <&gpio8>; | |
8979cfef | 426 | prcm = <&prcmu>; |
5910de9e LJ |
427 | }; |
428 | ||
b32dc865 | 429 | usb_per5@a03e0000 { |
4a6cd43f | 430 | compatible = "stericsson,db8500-musb"; |
7e0ce270 | 431 | reg = <0xa03e0000 0x10000>; |
90c40257 | 432 | interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>; |
b32dc865 LJ |
433 | interrupt-names = "mc"; |
434 | ||
435 | dr_mode = "otg"; | |
436 | ||
437 | dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */ | |
438 | <&dma 38 0 0x0>, /* Logical - MemToDev */ | |
439 | <&dma 37 0 0x2>, /* Logical - DevToMem */ | |
440 | <&dma 37 0 0x0>, /* Logical - MemToDev */ | |
441 | <&dma 36 0 0x2>, /* Logical - DevToMem */ | |
442 | <&dma 36 0 0x0>, /* Logical - MemToDev */ | |
443 | <&dma 19 0 0x2>, /* Logical - DevToMem */ | |
444 | <&dma 19 0 0x0>, /* Logical - MemToDev */ | |
445 | <&dma 18 0 0x2>, /* Logical - DevToMem */ | |
446 | <&dma 18 0 0x0>, /* Logical - MemToDev */ | |
447 | <&dma 17 0 0x2>, /* Logical - DevToMem */ | |
448 | <&dma 17 0 0x0>, /* Logical - MemToDev */ | |
449 | <&dma 16 0 0x2>, /* Logical - DevToMem */ | |
450 | <&dma 16 0 0x0>, /* Logical - MemToDev */ | |
451 | <&dma 39 0 0x2>, /* Logical - DevToMem */ | |
452 | <&dma 39 0 0x0>; /* Logical - MemToDev */ | |
453 | ||
454 | dma-names = "iep_1_9", "oep_1_9", | |
455 | "iep_2_10", "oep_2_10", | |
456 | "iep_3_11", "oep_3_11", | |
457 | "iep_4_12", "oep_4_12", | |
458 | "iep_5_13", "oep_5_13", | |
459 | "iep_6_14", "oep_6_14", | |
460 | "iep_7_15", "oep_7_15", | |
461 | "iep_8", "oep_8"; | |
e47339ff LJ |
462 | |
463 | clocks = <&prcc_pclk 5 0>; | |
7e0ce270 LJ |
464 | }; |
465 | ||
ba074aec LJ |
466 | dma: dma-controller@801C0000 { |
467 | compatible = "stericsson,db8500-dma40", "stericsson,dma40"; | |
7e0ce270 | 468 | reg = <0x801C0000 0x1000 0x40010000 0x800>; |
70d39a8d | 469 | reg-names = "base", "lcpa"; |
90c40257 | 470 | interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>; |
ba074aec LJ |
471 | |
472 | #dma-cells = <3>; | |
d37fcdb6 | 473 | memcpy-channels = <56 57 58 59 60>; |
e064cb24 LJ |
474 | |
475 | clocks = <&prcmu_clk PRCMU_DMACLK>; | |
7e0ce270 LJ |
476 | }; |
477 | ||
8979cfef | 478 | prcmu: prcmu@80157000 { |
7e0ce270 | 479 | compatible = "stericsson,db8500-prcmu"; |
4d26aa30 | 480 | reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>; |
e73081d9 | 481 | reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm"; |
90c40257 | 482 | interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 | 483 | #address-cells = <1>; |
3de3d749 | 484 | #size-cells = <1>; |
c09090bb LJ |
485 | interrupt-controller; |
486 | #interrupt-cells = <2>; | |
3de3d749 LJ |
487 | ranges; |
488 | ||
ccf74f76 | 489 | prcmu-timer-4@80157450 { |
3de3d749 LJ |
490 | compatible = "stericsson,db8500-prcmu-timer-4"; |
491 | reg = <0x80157450 0xC>; | |
492 | }; | |
7e0ce270 | 493 | |
98585616 LJ |
494 | cpufreq { |
495 | compatible = "stericsson,cpufreq-ux500"; | |
496 | clocks = <&prcmu_clk PRCMU_ARMSS>; | |
497 | clock-names = "armss"; | |
498 | status = "disabled"; | |
499 | }; | |
500 | ||
dc1956b5 | 501 | thermal@801573c0 { |
502 | compatible = "stericsson,db8500-thermal"; | |
503 | reg = <0x801573c0 0x40>; | |
90c40257 LW |
504 | interrupts = <21 IRQ_TYPE_LEVEL_HIGH>, |
505 | <22 IRQ_TYPE_LEVEL_HIGH>; | |
dc1956b5 | 506 | interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH"; |
507 | status = "disabled"; | |
1d3f99f5 | 508 | }; |
dc1956b5 | 509 | |
e5999f28 LJ |
510 | db8500-prcmu-regulators { |
511 | compatible = "stericsson,db8500-prcmu-regulator"; | |
512 | ||
513 | // DB8500_REGULATOR_VAPE | |
514 | db8500_vape_reg: db8500_vape { | |
e5999f28 LJ |
515 | regulator-always-on; |
516 | }; | |
517 | ||
518 | // DB8500_REGULATOR_VARM | |
519 | db8500_varm_reg: db8500_varm { | |
e5999f28 LJ |
520 | }; |
521 | ||
522 | // DB8500_REGULATOR_VMODEM | |
523 | db8500_vmodem_reg: db8500_vmodem { | |
e5999f28 LJ |
524 | }; |
525 | ||
526 | // DB8500_REGULATOR_VPLL | |
527 | db8500_vpll_reg: db8500_vpll { | |
e5999f28 LJ |
528 | }; |
529 | ||
530 | // DB8500_REGULATOR_VSMPS1 | |
531 | db8500_vsmps1_reg: db8500_vsmps1 { | |
e5999f28 LJ |
532 | }; |
533 | ||
534 | // DB8500_REGULATOR_VSMPS2 | |
535 | db8500_vsmps2_reg: db8500_vsmps2 { | |
e5999f28 LJ |
536 | }; |
537 | ||
538 | // DB8500_REGULATOR_VSMPS3 | |
539 | db8500_vsmps3_reg: db8500_vsmps3 { | |
e5999f28 LJ |
540 | }; |
541 | ||
542 | // DB8500_REGULATOR_VRF1 | |
543 | db8500_vrf1_reg: db8500_vrf1 { | |
e5999f28 LJ |
544 | }; |
545 | ||
546 | // DB8500_REGULATOR_SWITCH_SVAMMDSP | |
547 | db8500_sva_mmdsp_reg: db8500_sva_mmdsp { | |
e5999f28 LJ |
548 | }; |
549 | ||
550 | // DB8500_REGULATOR_SWITCH_SVAMMDSPRET | |
551 | db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret { | |
e5999f28 LJ |
552 | }; |
553 | ||
554 | // DB8500_REGULATOR_SWITCH_SVAPIPE | |
555 | db8500_sva_pipe_reg: db8500_sva_pipe { | |
e5999f28 LJ |
556 | }; |
557 | ||
558 | // DB8500_REGULATOR_SWITCH_SIAMMDSP | |
559 | db8500_sia_mmdsp_reg: db8500_sia_mmdsp { | |
e5999f28 LJ |
560 | }; |
561 | ||
562 | // DB8500_REGULATOR_SWITCH_SIAMMDSPRET | |
563 | db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret { | |
e5999f28 LJ |
564 | }; |
565 | ||
566 | // DB8500_REGULATOR_SWITCH_SIAPIPE | |
567 | db8500_sia_pipe_reg: db8500_sia_pipe { | |
e5999f28 LJ |
568 | }; |
569 | ||
570 | // DB8500_REGULATOR_SWITCH_SGA | |
571 | db8500_sga_reg: db8500_sga { | |
e5999f28 LJ |
572 | vin-supply = <&db8500_vape_reg>; |
573 | }; | |
574 | ||
575 | // DB8500_REGULATOR_SWITCH_B2R2_MCDE | |
576 | db8500_b2r2_mcde_reg: db8500_b2r2_mcde { | |
e5999f28 LJ |
577 | vin-supply = <&db8500_vape_reg>; |
578 | }; | |
579 | ||
580 | // DB8500_REGULATOR_SWITCH_ESRAM12 | |
581 | db8500_esram12_reg: db8500_esram12 { | |
e5999f28 LJ |
582 | }; |
583 | ||
584 | // DB8500_REGULATOR_SWITCH_ESRAM12RET | |
585 | db8500_esram12_ret_reg: db8500_esram12_ret { | |
e5999f28 LJ |
586 | }; |
587 | ||
588 | // DB8500_REGULATOR_SWITCH_ESRAM34 | |
589 | db8500_esram34_reg: db8500_esram34 { | |
e5999f28 LJ |
590 | }; |
591 | ||
592 | // DB8500_REGULATOR_SWITCH_ESRAM34RET | |
593 | db8500_esram34_ret_reg: db8500_esram34_ret { | |
e5999f28 LJ |
594 | }; |
595 | }; | |
596 | ||
d52701d3 | 597 | ab8500 { |
7e0ce270 | 598 | compatible = "stericsson,ab8500"; |
8d4c6d45 | 599 | interrupt-parent = <&intc>; |
90c40257 | 600 | interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>; |
732973c8 LJ |
601 | interrupt-controller; |
602 | #interrupt-cells = <2>; | |
4a85c7fa | 603 | |
348f3bc6 LJ |
604 | ab8500_gpio: ab8500-gpio { |
605 | gpio-controller; | |
606 | #gpio-cells = <2>; | |
607 | }; | |
608 | ||
d4b29ac1 LJ |
609 | ab8500-rtc { |
610 | compatible = "stericsson,ab8500-rtc"; | |
90c40257 LW |
611 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH |
612 | 18 IRQ_TYPE_LEVEL_HIGH>; | |
d4b29ac1 LJ |
613 | interrupt-names = "60S", "ALARM"; |
614 | }; | |
615 | ||
4eda9129 LJ |
616 | ab8500-gpadc { |
617 | compatible = "stericsson,ab8500-gpadc"; | |
90c40257 LW |
618 | interrupts = <32 IRQ_TYPE_LEVEL_HIGH |
619 | 39 IRQ_TYPE_LEVEL_HIGH>; | |
4eda9129 LJ |
620 | interrupt-names = "HW_CONV_END", "SW_CONV_END"; |
621 | vddadc-supply = <&ab8500_ldo_tvout_reg>; | |
622 | }; | |
623 | ||
e0f1abeb R |
624 | ab8500_battery: ab8500_battery { |
625 | stericsson,battery-type = "LIPO"; | |
626 | thermistor-on-batctrl; | |
627 | }; | |
628 | ||
629 | ab8500_fg { | |
630 | compatible = "stericsson,ab8500-fg"; | |
631 | battery = <&ab8500_battery>; | |
632 | }; | |
633 | ||
bd9e8ab2 R |
634 | ab8500_btemp { |
635 | compatible = "stericsson,ab8500-btemp"; | |
636 | battery = <&ab8500_battery>; | |
637 | }; | |
638 | ||
4aef72db R |
639 | ab8500_charger { |
640 | compatible = "stericsson,ab8500-charger"; | |
641 | battery = <&ab8500_battery>; | |
642 | vddadc-supply = <&ab8500_ldo_tvout_reg>; | |
643 | }; | |
644 | ||
a12810ab R |
645 | ab8500_chargalg { |
646 | compatible = "stericsson,ab8500-chargalg"; | |
647 | battery = <&ab8500_battery>; | |
648 | }; | |
649 | ||
e0f1abeb | 650 | ab8500_usb { |
ee189cef | 651 | compatible = "stericsson,ab8500-usb"; |
90c40257 LW |
652 | interrupts = < 90 IRQ_TYPE_LEVEL_HIGH |
653 | 96 IRQ_TYPE_LEVEL_HIGH | |
654 | 14 IRQ_TYPE_LEVEL_HIGH | |
655 | 15 IRQ_TYPE_LEVEL_HIGH | |
656 | 79 IRQ_TYPE_LEVEL_HIGH | |
657 | 74 IRQ_TYPE_LEVEL_HIGH | |
658 | 75 IRQ_TYPE_LEVEL_HIGH>; | |
ee189cef LJ |
659 | interrupt-names = "ID_WAKEUP_R", |
660 | "ID_WAKEUP_F", | |
661 | "VBUS_DET_F", | |
662 | "VBUS_DET_R", | |
663 | "USB_LINK_STATUS", | |
664 | "USB_ADP_PROBE_PLUG", | |
665 | "USB_ADP_PROBE_UNPLUG"; | |
99b38eef | 666 | vddulpivio18-supply = <&ab8500_ldo_intcore_reg>; |
ee189cef LJ |
667 | v-ape-supply = <&db8500_vape_reg>; |
668 | musb_1v8-supply = <&db8500_vsmps2_reg>; | |
669 | }; | |
670 | ||
12cb7bd4 | 671 | ab8500-ponkey { |
74630706 | 672 | compatible = "stericsson,ab8500-poweron-key"; |
90c40257 LW |
673 | interrupts = <6 IRQ_TYPE_LEVEL_HIGH |
674 | 7 IRQ_TYPE_LEVEL_HIGH>; | |
12cb7bd4 LJ |
675 | interrupt-names = "ONKEY_DBF", "ONKEY_DBR"; |
676 | }; | |
677 | ||
401cd1b8 LJ |
678 | ab8500-sysctrl { |
679 | compatible = "stericsson,ab8500-sysctrl"; | |
680 | }; | |
681 | ||
78451de7 LJ |
682 | ab8500-pwm { |
683 | compatible = "stericsson,ab8500-pwm"; | |
684 | }; | |
685 | ||
215891ec LJ |
686 | ab8500-debugfs { |
687 | compatible = "stericsson,ab8500-debug"; | |
688 | }; | |
4a85c7fa | 689 | |
9c06af30 LJ |
690 | codec: ab8500-codec { |
691 | compatible = "stericsson,ab8500-codec"; | |
692 | ||
f99808a6 FB |
693 | V-AUD-supply = <&ab8500_ldo_audio_reg>; |
694 | V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>; | |
695 | V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>; | |
696 | V-DMIC-supply = <&ab8500_ldo_dmic_reg>; | |
697 | ||
9c06af30 LJ |
698 | stericsson,earpeice-cmv = <950>; /* Units in mV. */ |
699 | }; | |
700 | ||
62ebfe6b LJ |
701 | ext_regulators: ab8500-ext-regulators { |
702 | compatible = "stericsson,ab8500-ext-regulator"; | |
703 | ||
704 | ab8500_ext1_reg: ab8500_ext1 { | |
62ebfe6b LJ |
705 | regulator-min-microvolt = <1800000>; |
706 | regulator-max-microvolt = <1800000>; | |
707 | regulator-boot-on; | |
708 | regulator-always-on; | |
709 | }; | |
710 | ||
711 | ab8500_ext2_reg: ab8500_ext2 { | |
62ebfe6b LJ |
712 | regulator-min-microvolt = <1360000>; |
713 | regulator-max-microvolt = <1360000>; | |
714 | regulator-boot-on; | |
715 | regulator-always-on; | |
716 | }; | |
717 | ||
718 | ab8500_ext3_reg: ab8500_ext3 { | |
62ebfe6b LJ |
719 | regulator-min-microvolt = <3400000>; |
720 | regulator-max-microvolt = <3400000>; | |
721 | regulator-boot-on; | |
722 | }; | |
723 | }; | |
724 | ||
4a85c7fa LJ |
725 | ab8500-regulators { |
726 | compatible = "stericsson,ab8500-regulator"; | |
75f0999a | 727 | vin-supply = <&ab8500_ext3_reg>; |
4a85c7fa LJ |
728 | |
729 | // supplies to the display/camera | |
730 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { | |
4a85c7fa LJ |
731 | regulator-min-microvolt = <2500000>; |
732 | regulator-max-microvolt = <2900000>; | |
733 | regulator-boot-on; | |
734 | /* BUG: If turned off MMC will be affected. */ | |
735 | regulator-always-on; | |
736 | }; | |
737 | ||
738 | // supplies to the on-board eMMC | |
739 | ab8500_ldo_aux2_reg: ab8500_ldo_aux2 { | |
4a85c7fa LJ |
740 | regulator-min-microvolt = <1100000>; |
741 | regulator-max-microvolt = <3300000>; | |
742 | }; | |
743 | ||
744 | // supply for VAUX3; SDcard slots | |
745 | ab8500_ldo_aux3_reg: ab8500_ldo_aux3 { | |
4a85c7fa LJ |
746 | regulator-min-microvolt = <1100000>; |
747 | regulator-max-microvolt = <3300000>; | |
748 | }; | |
749 | ||
750 | // supply for v-intcore12; VINTCORE12 LDO | |
99b38eef | 751 | ab8500_ldo_intcore_reg: ab8500_ldo_intcore { |
4a85c7fa LJ |
752 | }; |
753 | ||
754 | // supply for tvout; gpadc; TVOUT LDO | |
755 | ab8500_ldo_tvout_reg: ab8500_ldo_tvout { | |
4a85c7fa LJ |
756 | }; |
757 | ||
758 | // supply for ab8500-usb; USB LDO | |
759 | ab8500_ldo_usb_reg: ab8500_ldo_usb { | |
4a85c7fa LJ |
760 | }; |
761 | ||
762 | // supply for ab8500-vaudio; VAUDIO LDO | |
763 | ab8500_ldo_audio_reg: ab8500_ldo_audio { | |
4a85c7fa LJ |
764 | }; |
765 | ||
4aa44874 | 766 | // supply for v-anamic1 VAMIC1 LDO |
4a85c7fa | 767 | ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 { |
4a85c7fa LJ |
768 | }; |
769 | ||
770 | // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1 | |
5510ed9f | 771 | ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 { |
4a85c7fa LJ |
772 | }; |
773 | ||
774 | // supply for v-dmic; VDMIC LDO | |
775 | ab8500_ldo_dmic_reg: ab8500_ldo_dmic { | |
4a85c7fa LJ |
776 | }; |
777 | ||
778 | // supply for U8500 CSI/DSI; VANA LDO | |
779 | ab8500_ldo_ana_reg: ab8500_ldo_ana { | |
4a85c7fa LJ |
780 | }; |
781 | }; | |
7e0ce270 LJ |
782 | }; |
783 | }; | |
784 | ||
785 | i2c@80004000 { | |
d524fa7f | 786 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 787 | reg = <0x80004000 0x1000>; |
90c40257 | 788 | interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 789 | |
7e0ce270 LJ |
790 | #address-cells = <1>; |
791 | #size-cells = <0>; | |
d524fa7f LJ |
792 | v-i2c-supply = <&db8500_vape_reg>; |
793 | ||
794 | clock-frequency = <400000>; | |
afd653e9 LJ |
795 | clocks = <&prcc_kclk 3 3>, <&prcc_pclk 3 3>; |
796 | clock-names = "i2cclk", "apb_pclk"; | |
29417fe8 | 797 | power-domains = <&pm_domains DOMAIN_VAPE>; |
7e0ce270 LJ |
798 | }; |
799 | ||
800 | i2c@80122000 { | |
d524fa7f | 801 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 802 | reg = <0x80122000 0x1000>; |
90c40257 | 803 | interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 804 | |
7e0ce270 LJ |
805 | #address-cells = <1>; |
806 | #size-cells = <0>; | |
d524fa7f LJ |
807 | v-i2c-supply = <&db8500_vape_reg>; |
808 | ||
809 | clock-frequency = <400000>; | |
afd653e9 LJ |
810 | |
811 | clocks = <&prcc_kclk 1 2>, <&prcc_pclk 1 2>; | |
812 | clock-names = "i2cclk", "apb_pclk"; | |
29417fe8 | 813 | power-domains = <&pm_domains DOMAIN_VAPE>; |
7e0ce270 LJ |
814 | }; |
815 | ||
816 | i2c@80128000 { | |
d524fa7f | 817 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 818 | reg = <0x80128000 0x1000>; |
90c40257 | 819 | interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 820 | |
7e0ce270 LJ |
821 | #address-cells = <1>; |
822 | #size-cells = <0>; | |
d524fa7f LJ |
823 | v-i2c-supply = <&db8500_vape_reg>; |
824 | ||
825 | clock-frequency = <400000>; | |
afd653e9 LJ |
826 | |
827 | clocks = <&prcc_kclk 1 6>, <&prcc_pclk 1 6>; | |
828 | clock-names = "i2cclk", "apb_pclk"; | |
29417fe8 | 829 | power-domains = <&pm_domains DOMAIN_VAPE>; |
7e0ce270 LJ |
830 | }; |
831 | ||
832 | i2c@80110000 { | |
d524fa7f | 833 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 834 | reg = <0x80110000 0x1000>; |
90c40257 | 835 | interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 836 | |
7e0ce270 LJ |
837 | #address-cells = <1>; |
838 | #size-cells = <0>; | |
d524fa7f LJ |
839 | v-i2c-supply = <&db8500_vape_reg>; |
840 | ||
841 | clock-frequency = <400000>; | |
afd653e9 LJ |
842 | |
843 | clocks = <&prcc_kclk 2 0>, <&prcc_pclk 2 0>; | |
844 | clock-names = "i2cclk", "apb_pclk"; | |
29417fe8 | 845 | power-domains = <&pm_domains DOMAIN_VAPE>; |
7e0ce270 LJ |
846 | }; |
847 | ||
848 | i2c@8012a000 { | |
d524fa7f | 849 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 850 | reg = <0x8012a000 0x1000>; |
90c40257 | 851 | interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 852 | |
7e0ce270 LJ |
853 | #address-cells = <1>; |
854 | #size-cells = <0>; | |
d524fa7f LJ |
855 | v-i2c-supply = <&db8500_vape_reg>; |
856 | ||
857 | clock-frequency = <400000>; | |
afd653e9 | 858 | |
72b3e249 | 859 | clocks = <&prcc_kclk 1 9>, <&prcc_pclk 1 10>; |
afd653e9 | 860 | clock-names = "i2cclk", "apb_pclk"; |
29417fe8 | 861 | power-domains = <&pm_domains DOMAIN_VAPE>; |
7e0ce270 LJ |
862 | }; |
863 | ||
864 | ssp@80002000 { | |
865 | compatible = "arm,pl022", "arm,primecell"; | |
c164fa62 | 866 | reg = <0x80002000 0x1000>; |
90c40257 | 867 | interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 LJ |
868 | #address-cells = <1>; |
869 | #size-cells = <0>; | |
6e1484c2 | 870 | clocks = <&prcc_kclk 3 1>, <&prcc_pclk 3 1>; |
80fbe30f | 871 | clock-names = "SSPCLK", "apb_pclk"; |
6e1484c2 LW |
872 | dmas = <&dma 8 0 0x2>, /* Logical - DevToMem */ |
873 | <&dma 8 0 0x0>; /* Logical - MemToDev */ | |
874 | dma-names = "rx", "tx"; | |
770e2f6b | 875 | power-domains = <&pm_domains DOMAIN_VAPE>; |
6e1484c2 LW |
876 | }; |
877 | ||
878 | ssp@80003000 { | |
879 | compatible = "arm,pl022", "arm,primecell"; | |
880 | reg = <0x80003000 0x1000>; | |
881 | interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>; | |
882 | #address-cells = <1>; | |
883 | #size-cells = <0>; | |
884 | clocks = <&prcc_kclk 3 2>, <&prcc_pclk 3 2>; | |
80fbe30f | 885 | clock-names = "SSPCLK", "apb_pclk"; |
6e1484c2 LW |
886 | dmas = <&dma 9 0 0x2>, /* Logical - DevToMem */ |
887 | <&dma 9 0 0x0>; /* Logical - MemToDev */ | |
888 | dma-names = "rx", "tx"; | |
770e2f6b | 889 | power-domains = <&pm_domains DOMAIN_VAPE>; |
6e1484c2 LW |
890 | }; |
891 | ||
892 | spi@8011a000 { | |
893 | compatible = "arm,pl022", "arm,primecell"; | |
894 | reg = <0x8011a000 0x1000>; | |
895 | interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>; | |
896 | #address-cells = <1>; | |
897 | #size-cells = <0>; | |
898 | /* Same clock wired to kernel and pclk */ | |
899 | clocks = <&prcc_pclk 2 8>, <&prcc_pclk 2 8>; | |
80fbe30f | 900 | clock-names = "SSPCLK", "apb_pclk"; |
6e1484c2 LW |
901 | dmas = <&dma 0 0 0x2>, /* Logical - DevToMem */ |
902 | <&dma 0 0 0x0>; /* Logical - MemToDev */ | |
903 | dma-names = "rx", "tx"; | |
770e2f6b | 904 | power-domains = <&pm_domains DOMAIN_VAPE>; |
6e1484c2 LW |
905 | }; |
906 | ||
907 | spi@80112000 { | |
908 | compatible = "arm,pl022", "arm,primecell"; | |
909 | reg = <0x80112000 0x1000>; | |
910 | interrupts = <0 96 IRQ_TYPE_LEVEL_HIGH>; | |
911 | #address-cells = <1>; | |
912 | #size-cells = <0>; | |
913 | /* Same clock wired to kernel and pclk */ | |
914 | clocks = <&prcc_pclk 2 2>, <&prcc_pclk 2 2>; | |
80fbe30f | 915 | clock-names = "SSPCLK", "apb_pclk"; |
6e1484c2 LW |
916 | dmas = <&dma 35 0 0x2>, /* Logical - DevToMem */ |
917 | <&dma 35 0 0x0>; /* Logical - MemToDev */ | |
918 | dma-names = "rx", "tx"; | |
770e2f6b | 919 | power-domains = <&pm_domains DOMAIN_VAPE>; |
6e1484c2 LW |
920 | }; |
921 | ||
922 | spi@80111000 { | |
923 | compatible = "arm,pl022", "arm,primecell"; | |
924 | reg = <0x80111000 0x1000>; | |
925 | interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>; | |
926 | #address-cells = <1>; | |
927 | #size-cells = <0>; | |
928 | /* Same clock wired to kernel and pclk */ | |
929 | clocks = <&prcc_pclk 2 1>, <&prcc_pclk 2 1>; | |
80fbe30f | 930 | clock-names = "SSPCLK", "apb_pclk"; |
6e1484c2 LW |
931 | dmas = <&dma 33 0 0x2>, /* Logical - DevToMem */ |
932 | <&dma 33 0 0x0>; /* Logical - MemToDev */ | |
933 | dma-names = "rx", "tx"; | |
770e2f6b | 934 | power-domains = <&pm_domains DOMAIN_VAPE>; |
6e1484c2 LW |
935 | }; |
936 | ||
937 | spi@80129000 { | |
938 | compatible = "arm,pl022", "arm,primecell"; | |
939 | reg = <0x80129000 0x1000>; | |
940 | interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>; | |
941 | #address-cells = <1>; | |
942 | #size-cells = <0>; | |
943 | /* Same clock wired to kernel and pclk */ | |
944 | clocks = <&prcc_pclk 1 7>, <&prcc_pclk 1 7>; | |
80fbe30f | 945 | clock-names = "SSPCLK", "apb_pclk"; |
6e1484c2 LW |
946 | dmas = <&dma 40 0 0x2>, /* Logical - DevToMem */ |
947 | <&dma 40 0 0x0>; /* Logical - MemToDev */ | |
948 | dma-names = "rx", "tx"; | |
770e2f6b | 949 | power-domains = <&pm_domains DOMAIN_VAPE>; |
7e0ce270 LJ |
950 | }; |
951 | ||
109978de | 952 | ux500_serial0: uart@80120000 { |
7e0ce270 LJ |
953 | compatible = "arm,pl011", "arm,primecell"; |
954 | reg = <0x80120000 0x1000>; | |
90c40257 | 955 | interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>; |
fbff01cc LJ |
956 | |
957 | dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */ | |
958 | <&dma 13 0 0x0>; /* Logical - MemToDev */ | |
959 | dma-names = "rx", "tx"; | |
960 | ||
5a323fb4 LJ |
961 | clocks = <&prcc_kclk 1 0>, <&prcc_pclk 1 0>; |
962 | clock-names = "uart", "apb_pclk"; | |
963 | ||
7e0ce270 LJ |
964 | status = "disabled"; |
965 | }; | |
fbff01cc | 966 | |
109978de | 967 | ux500_serial1: uart@80121000 { |
7e0ce270 LJ |
968 | compatible = "arm,pl011", "arm,primecell"; |
969 | reg = <0x80121000 0x1000>; | |
90c40257 | 970 | interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>; |
fbff01cc LJ |
971 | |
972 | dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */ | |
973 | <&dma 12 0 0x0>; /* Logical - MemToDev */ | |
974 | dma-names = "rx", "tx"; | |
975 | ||
5a323fb4 LJ |
976 | clocks = <&prcc_kclk 1 1>, <&prcc_pclk 1 1>; |
977 | clock-names = "uart", "apb_pclk"; | |
978 | ||
7e0ce270 LJ |
979 | status = "disabled"; |
980 | }; | |
fbff01cc | 981 | |
109978de | 982 | ux500_serial2: uart@80007000 { |
7e0ce270 LJ |
983 | compatible = "arm,pl011", "arm,primecell"; |
984 | reg = <0x80007000 0x1000>; | |
90c40257 | 985 | interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>; |
fbff01cc LJ |
986 | |
987 | dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */ | |
988 | <&dma 11 0 0x0>; /* Logical - MemToDev */ | |
989 | dma-names = "rx", "tx"; | |
990 | ||
5a323fb4 LJ |
991 | clocks = <&prcc_kclk 3 6>, <&prcc_pclk 3 6>; |
992 | clock-names = "uart", "apb_pclk"; | |
993 | ||
7e0ce270 LJ |
994 | status = "disabled"; |
995 | }; | |
996 | ||
81bf8c2e | 997 | sdi0_per1@80126000 { |
7e0ce270 LJ |
998 | compatible = "arm,pl18x", "arm,primecell"; |
999 | reg = <0x80126000 0x1000>; | |
90c40257 | 1000 | interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>; |
498315b9 LJ |
1001 | |
1002 | dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */ | |
1003 | <&dma 29 0 0x0>; /* Logical - MemToDev */ | |
1004 | dma-names = "rx", "tx"; | |
1005 | ||
604be898 LJ |
1006 | clocks = <&prcc_kclk 1 5>, <&prcc_pclk 1 5>; |
1007 | clock-names = "sdi", "apb_pclk"; | |
067addec | 1008 | power-domains = <&pm_domains DOMAIN_VAPE>; |
604be898 | 1009 | |
7e0ce270 LJ |
1010 | status = "disabled"; |
1011 | }; | |
76ff4e43 | 1012 | |
81bf8c2e | 1013 | sdi1_per2@80118000 { |
7e0ce270 LJ |
1014 | compatible = "arm,pl18x", "arm,primecell"; |
1015 | reg = <0x80118000 0x1000>; | |
90c40257 | 1016 | interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>; |
498315b9 LJ |
1017 | |
1018 | dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */ | |
1019 | <&dma 32 0 0x0>; /* Logical - MemToDev */ | |
1020 | dma-names = "rx", "tx"; | |
1021 | ||
604be898 LJ |
1022 | clocks = <&prcc_kclk 2 4>, <&prcc_pclk 2 6>; |
1023 | clock-names = "sdi", "apb_pclk"; | |
067addec | 1024 | power-domains = <&pm_domains DOMAIN_VAPE>; |
604be898 | 1025 | |
7e0ce270 LJ |
1026 | status = "disabled"; |
1027 | }; | |
76ff4e43 | 1028 | |
81bf8c2e | 1029 | sdi2_per3@80005000 { |
7e0ce270 LJ |
1030 | compatible = "arm,pl18x", "arm,primecell"; |
1031 | reg = <0x80005000 0x1000>; | |
90c40257 | 1032 | interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>; |
498315b9 LJ |
1033 | |
1034 | dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */ | |
1035 | <&dma 28 0 0x0>; /* Logical - MemToDev */ | |
1036 | dma-names = "rx", "tx"; | |
1037 | ||
604be898 LJ |
1038 | clocks = <&prcc_kclk 3 4>, <&prcc_pclk 3 4>; |
1039 | clock-names = "sdi", "apb_pclk"; | |
067addec | 1040 | power-domains = <&pm_domains DOMAIN_VAPE>; |
604be898 | 1041 | |
7e0ce270 LJ |
1042 | status = "disabled"; |
1043 | }; | |
76ff4e43 | 1044 | |
81bf8c2e | 1045 | sdi3_per2@80119000 { |
7e0ce270 LJ |
1046 | compatible = "arm,pl18x", "arm,primecell"; |
1047 | reg = <0x80119000 0x1000>; | |
90c40257 | 1048 | interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>; |
604be898 | 1049 | |
14cdf8cb LW |
1050 | dmas = <&dma 41 0 0x2>, /* Logical - DevToMem */ |
1051 | <&dma 41 0 0x0>; /* Logical - MemToDev */ | |
1052 | dma-names = "rx", "tx"; | |
1053 | ||
604be898 LJ |
1054 | clocks = <&prcc_kclk 2 5>, <&prcc_pclk 2 7>; |
1055 | clock-names = "sdi", "apb_pclk"; | |
067addec | 1056 | power-domains = <&pm_domains DOMAIN_VAPE>; |
604be898 | 1057 | |
7e0ce270 LJ |
1058 | status = "disabled"; |
1059 | }; | |
76ff4e43 | 1060 | |
81bf8c2e | 1061 | sdi4_per2@80114000 { |
7e0ce270 LJ |
1062 | compatible = "arm,pl18x", "arm,primecell"; |
1063 | reg = <0x80114000 0x1000>; | |
90c40257 | 1064 | interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>; |
498315b9 LJ |
1065 | |
1066 | dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */ | |
1067 | <&dma 42 0 0x0>; /* Logical - MemToDev */ | |
1068 | dma-names = "rx", "tx"; | |
1069 | ||
604be898 LJ |
1070 | clocks = <&prcc_kclk 2 2>, <&prcc_pclk 2 4>; |
1071 | clock-names = "sdi", "apb_pclk"; | |
067addec | 1072 | power-domains = <&pm_domains DOMAIN_VAPE>; |
604be898 | 1073 | |
7e0ce270 LJ |
1074 | status = "disabled"; |
1075 | }; | |
76ff4e43 | 1076 | |
81bf8c2e | 1077 | sdi5_per3@80008000 { |
7e0ce270 | 1078 | compatible = "arm,pl18x", "arm,primecell"; |
76ff4e43 | 1079 | reg = <0x80008000 0x1000>; |
90c40257 | 1080 | interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; |
604be898 | 1081 | |
14cdf8cb LW |
1082 | dmas = <&dma 43 0 0x2>, /* Logical - DevToMem */ |
1083 | <&dma 43 0 0x0>; /* Logical - MemToDev */ | |
1084 | dma-names = "rx", "tx"; | |
1085 | ||
604be898 LJ |
1086 | clocks = <&prcc_kclk 3 7>, <&prcc_pclk 3 7>; |
1087 | clock-names = "sdi", "apb_pclk"; | |
067addec | 1088 | power-domains = <&pm_domains DOMAIN_VAPE>; |
604be898 | 1089 | |
7e0ce270 LJ |
1090 | status = "disabled"; |
1091 | }; | |
bf76e062 | 1092 | |
fe164529 LJ |
1093 | msp0: msp@80123000 { |
1094 | compatible = "stericsson,ux500-msp-i2s"; | |
1095 | reg = <0x80123000 0x1000>; | |
90c40257 | 1096 | interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>; |
fe164529 | 1097 | v-ape-supply = <&db8500_vape_reg>; |
133e6027 | 1098 | |
618111ca LJ |
1099 | dmas = <&dma 31 0 0x12>, /* Logical - DevToMem - HighPrio */ |
1100 | <&dma 31 0 0x10>; /* Logical - MemToDev - HighPrio */ | |
1101 | dma-names = "rx", "tx"; | |
1102 | ||
133e6027 LJ |
1103 | clocks = <&prcc_kclk 1 3>, <&prcc_pclk 1 3>; |
1104 | clock-names = "msp", "apb_pclk"; | |
1105 | ||
fe164529 LJ |
1106 | status = "disabled"; |
1107 | }; | |
1108 | ||
1109 | msp1: msp@80124000 { | |
1110 | compatible = "stericsson,ux500-msp-i2s"; | |
1111 | reg = <0x80124000 0x1000>; | |
90c40257 | 1112 | interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>; |
fe164529 | 1113 | v-ape-supply = <&db8500_vape_reg>; |
133e6027 | 1114 | |
14cdf8cb | 1115 | /* This DMA channel only exist on DB8500 v1 */ |
618111ca LJ |
1116 | dmas = <&dma 30 0 0x10>; /* Logical - MemToDev - HighPrio */ |
1117 | dma-names = "tx"; | |
1118 | ||
133e6027 LJ |
1119 | clocks = <&prcc_kclk 1 4>, <&prcc_pclk 1 4>; |
1120 | clock-names = "msp", "apb_pclk"; | |
1121 | ||
fe164529 LJ |
1122 | status = "disabled"; |
1123 | }; | |
1124 | ||
1125 | // HDMI sound | |
1126 | msp2: msp@80117000 { | |
1127 | compatible = "stericsson,ux500-msp-i2s"; | |
1128 | reg = <0x80117000 0x1000>; | |
90c40257 | 1129 | interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>; |
fe164529 | 1130 | v-ape-supply = <&db8500_vape_reg>; |
133e6027 | 1131 | |
618111ca LJ |
1132 | dmas = <&dma 14 0 0x12>, /* Logical - DevToMem - HighPrio */ |
1133 | <&dma 14 1 0x19>; /* Physical Chan 1 - MemToDev | |
1134 | HighPrio - Fixed */ | |
1135 | dma-names = "rx", "tx"; | |
1136 | ||
133e6027 LJ |
1137 | clocks = <&prcc_kclk 2 3>, <&prcc_pclk 2 5>; |
1138 | clock-names = "msp", "apb_pclk"; | |
1139 | ||
fe164529 LJ |
1140 | status = "disabled"; |
1141 | }; | |
1142 | ||
1143 | msp3: msp@80125000 { | |
1144 | compatible = "stericsson,ux500-msp-i2s"; | |
1145 | reg = <0x80125000 0x1000>; | |
90c40257 | 1146 | interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>; |
fe164529 | 1147 | v-ape-supply = <&db8500_vape_reg>; |
133e6027 | 1148 | |
14cdf8cb | 1149 | /* This DMA channel only exist on DB8500 v2 */ |
618111ca LJ |
1150 | dmas = <&dma 30 0 0x12>; /* Logical - DevToMem - HighPrio */ |
1151 | dma-names = "rx"; | |
1152 | ||
133e6027 LJ |
1153 | clocks = <&prcc_kclk 1 10>, <&prcc_pclk 1 11>; |
1154 | clock-names = "msp", "apb_pclk"; | |
1155 | ||
fe164529 LJ |
1156 | status = "disabled"; |
1157 | }; | |
1158 | ||
bf76e062 LJ |
1159 | external-bus@50000000 { |
1160 | compatible = "simple-bus"; | |
1161 | reg = <0x50000000 0x4000000>; | |
1162 | #address-cells = <1>; | |
1163 | #size-cells = <1>; | |
1164 | ranges = <0 0x50000000 0x4000000>; | |
1165 | status = "disabled"; | |
1166 | }; | |
dc1956b5 | 1167 | |
1168 | cpufreq-cooling { | |
1169 | compatible = "stericsson,db8500-cpufreq-cooling"; | |
1170 | status = "disabled"; | |
d460d28b | 1171 | }; |
dc1956b5 | 1172 | |
6e9a88a0 LW |
1173 | mcde@a0350000 { |
1174 | compatible = "stericsson,mcde"; | |
1175 | reg = <0xa0350000 0x1000>, /* MCDE */ | |
1176 | <0xa0351000 0x1000>, /* DSI link 1 */ | |
1177 | <0xa0352000 0x1000>, /* DSI link 2 */ | |
1178 | <0xa0353000 0x1000>; /* DSI link 3 */ | |
1179 | interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>; | |
1180 | clocks = <&prcmu_clk PRCMU_MCDECLK>, /* Main MCDE clock */ | |
1181 | <&prcmu_clk PRCMU_LCDCLK>, /* LCD clock */ | |
1182 | <&prcmu_clk PRCMU_PLLDSI>, /* HDMI clock */ | |
1183 | <&prcmu_clk PRCMU_DSI0CLK>, /* DSI 0 */ | |
1184 | <&prcmu_clk PRCMU_DSI1CLK>, /* DSI 1 */ | |
1185 | <&prcmu_clk PRCMU_DSI0ESCCLK>, /* TVout clock 0 */ | |
1186 | <&prcmu_clk PRCMU_DSI1ESCCLK>, /* TVout clock 1 */ | |
1187 | <&prcmu_clk PRCMU_DSI2ESCCLK>; /* TVout clock 2 */ | |
1188 | }; | |
1189 | ||
fe2e9f92 LJ |
1190 | cryp@a03cb000 { |
1191 | compatible = "stericsson,ux500-cryp"; | |
1192 | reg = <0xa03cb000 0x1000>; | |
90c40257 | 1193 | interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>; |
fe2e9f92 LJ |
1194 | |
1195 | v-ape-supply = <&db8500_vape_reg>; | |
d2f898ce | 1196 | clocks = <&prcc_pclk 6 1>; |
fe2e9f92 | 1197 | }; |
61122cf2 LJ |
1198 | |
1199 | hash@a03c2000 { | |
1200 | compatible = "stericsson,ux500-hash"; | |
1201 | reg = <0xa03c2000 0x1000>; | |
1202 | ||
1203 | v-ape-supply = <&db8500_vape_reg>; | |
024cfe88 | 1204 | clocks = <&prcc_pclk 6 2>; |
61122cf2 | 1205 | }; |
5d0769f0 AB |
1206 | }; |
1207 | }; |