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> |
807e8838 | 14 | #include "skeleton.dtsi" |
5d0769f0 AB |
15 | |
16 | / { | |
b1ba1439 | 17 | soc { |
5d0769f0 AB |
18 | #address-cells = <1>; |
19 | #size-cells = <1>; | |
7e0ce270 | 20 | compatible = "stericsson,db8500"; |
dab6487e | 21 | interrupt-parent = <&intc>; |
5d0769f0 | 22 | ranges; |
7e0ce270 | 23 | |
dab6487e LJ |
24 | intc: interrupt-controller@a0411000 { |
25 | compatible = "arm,cortex-a9-gic"; | |
26 | #interrupt-cells = <3>; | |
27 | #address-cells = <1>; | |
28 | interrupt-controller; | |
dab6487e LJ |
29 | reg = <0xa0411000 0x1000>, |
30 | <0xa0410100 0x100>; | |
31 | }; | |
32 | ||
f1949ea0 LJ |
33 | L2: l2-cache { |
34 | compatible = "arm,pl310-cache"; | |
35 | reg = <0xa0412000 0x1000>; | |
90c40257 | 36 | interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>; |
f1949ea0 LJ |
37 | cache-unified; |
38 | cache-level = <2>; | |
39 | }; | |
40 | ||
7e0ce270 LJ |
41 | pmu { |
42 | compatible = "arm,cortex-a9-pmu"; | |
90c40257 | 43 | interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 LJ |
44 | }; |
45 | ||
841cd0c0 LJ |
46 | clocks { |
47 | compatible = "stericsson,u8500-clks"; | |
48 | ||
49 | prcmu_clk: prcmu-clock { | |
50 | #clock-cells = <1>; | |
51 | }; | |
fcbe5e90 LJ |
52 | |
53 | prcc_pclk: prcc-periph-clock { | |
54 | #clock-cells = <2>; | |
55 | }; | |
841cd0c0 LJ |
56 | }; |
57 | ||
71de5c46 LJ |
58 | timer@a0410600 { |
59 | compatible = "arm,cortex-a9-twd-timer"; | |
60 | reg = <0xa0410600 0x20>; | |
90c40257 | 61 | interrupts = <1 13 0x304>; /* IRQ level high per-CPU */ |
71de5c46 LJ |
62 | }; |
63 | ||
7e0ce270 | 64 | rtc@80154000 { |
ddb3b99c | 65 | compatible = "arm,rtc-pl031", "arm,primecell"; |
7e0ce270 | 66 | reg = <0x80154000 0x1000>; |
90c40257 | 67 | interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 LJ |
68 | }; |
69 | ||
70 | gpio0: gpio@8012e000 { | |
71 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 72 | "st,nomadik-gpio"; |
7e0ce270 | 73 | reg = <0x8012e000 0x80>; |
90c40257 | 74 | interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
75 | interrupt-controller; |
76 | #interrupt-cells = <2>; | |
61be4981 | 77 | st,supports-sleepmode; |
7e0ce270 | 78 | gpio-controller; |
c0b133bd LJ |
79 | #gpio-cells = <2>; |
80 | gpio-bank = <0>; | |
9d891073 LJ |
81 | |
82 | clocks = <&prcc_pclk 1 9>; | |
7e0ce270 LJ |
83 | }; |
84 | ||
85 | gpio1: gpio@8012e080 { | |
86 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 87 | "st,nomadik-gpio"; |
7e0ce270 | 88 | reg = <0x8012e080 0x80>; |
90c40257 | 89 | interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
90 | interrupt-controller; |
91 | #interrupt-cells = <2>; | |
61be4981 | 92 | st,supports-sleepmode; |
7e0ce270 | 93 | gpio-controller; |
c0b133bd LJ |
94 | #gpio-cells = <2>; |
95 | gpio-bank = <1>; | |
9d891073 LJ |
96 | |
97 | clocks = <&prcc_pclk 1 9>; | |
7e0ce270 LJ |
98 | }; |
99 | ||
100 | gpio2: gpio@8000e000 { | |
101 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 102 | "st,nomadik-gpio"; |
7e0ce270 | 103 | reg = <0x8000e000 0x80>; |
90c40257 | 104 | interrupts = <0 121 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
105 | interrupt-controller; |
106 | #interrupt-cells = <2>; | |
61be4981 | 107 | st,supports-sleepmode; |
7e0ce270 | 108 | gpio-controller; |
c0b133bd LJ |
109 | #gpio-cells = <2>; |
110 | gpio-bank = <2>; | |
9d891073 LJ |
111 | |
112 | clocks = <&prcc_pclk 3 8>; | |
7e0ce270 LJ |
113 | }; |
114 | ||
115 | gpio3: gpio@8000e080 { | |
116 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 117 | "st,nomadik-gpio"; |
7e0ce270 | 118 | reg = <0x8000e080 0x80>; |
90c40257 | 119 | interrupts = <0 122 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
120 | interrupt-controller; |
121 | #interrupt-cells = <2>; | |
61be4981 | 122 | st,supports-sleepmode; |
7e0ce270 | 123 | gpio-controller; |
c0b133bd LJ |
124 | #gpio-cells = <2>; |
125 | gpio-bank = <3>; | |
9d891073 LJ |
126 | |
127 | clocks = <&prcc_pclk 3 8>; | |
7e0ce270 LJ |
128 | }; |
129 | ||
130 | gpio4: gpio@8000e100 { | |
131 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 132 | "st,nomadik-gpio"; |
7e0ce270 | 133 | reg = <0x8000e100 0x80>; |
90c40257 | 134 | interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
135 | interrupt-controller; |
136 | #interrupt-cells = <2>; | |
61be4981 | 137 | st,supports-sleepmode; |
7e0ce270 | 138 | gpio-controller; |
c0b133bd LJ |
139 | #gpio-cells = <2>; |
140 | gpio-bank = <4>; | |
9d891073 LJ |
141 | |
142 | clocks = <&prcc_pclk 3 8>; | |
7e0ce270 LJ |
143 | }; |
144 | ||
145 | gpio5: gpio@8000e180 { | |
146 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 147 | "st,nomadik-gpio"; |
7e0ce270 | 148 | reg = <0x8000e180 0x80>; |
90c40257 | 149 | interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
150 | interrupt-controller; |
151 | #interrupt-cells = <2>; | |
61be4981 | 152 | st,supports-sleepmode; |
7e0ce270 | 153 | gpio-controller; |
c0b133bd LJ |
154 | #gpio-cells = <2>; |
155 | gpio-bank = <5>; | |
9d891073 LJ |
156 | |
157 | clocks = <&prcc_pclk 3 8>; | |
7e0ce270 LJ |
158 | }; |
159 | ||
160 | gpio6: gpio@8011e000 { | |
161 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 162 | "st,nomadik-gpio"; |
7e0ce270 | 163 | reg = <0x8011e000 0x80>; |
90c40257 | 164 | interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
165 | interrupt-controller; |
166 | #interrupt-cells = <2>; | |
61be4981 | 167 | st,supports-sleepmode; |
7e0ce270 | 168 | gpio-controller; |
c0b133bd LJ |
169 | #gpio-cells = <2>; |
170 | gpio-bank = <6>; | |
9d891073 LJ |
171 | |
172 | clocks = <&prcc_pclk 2 1>; | |
7e0ce270 LJ |
173 | }; |
174 | ||
175 | gpio7: gpio@8011e080 { | |
176 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 177 | "st,nomadik-gpio"; |
7e0ce270 | 178 | reg = <0x8011e080 0x80>; |
90c40257 | 179 | interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
180 | interrupt-controller; |
181 | #interrupt-cells = <2>; | |
61be4981 | 182 | st,supports-sleepmode; |
7e0ce270 | 183 | gpio-controller; |
c0b133bd LJ |
184 | #gpio-cells = <2>; |
185 | gpio-bank = <7>; | |
9d891073 LJ |
186 | |
187 | clocks = <&prcc_pclk 2 1>; | |
7e0ce270 LJ |
188 | }; |
189 | ||
190 | gpio8: gpio@a03fe000 { | |
191 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 192 | "st,nomadik-gpio"; |
7e0ce270 | 193 | reg = <0xa03fe000 0x80>; |
90c40257 | 194 | interrupts = <0 127 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
195 | interrupt-controller; |
196 | #interrupt-cells = <2>; | |
61be4981 | 197 | st,supports-sleepmode; |
7e0ce270 | 198 | gpio-controller; |
c0b133bd LJ |
199 | #gpio-cells = <2>; |
200 | gpio-bank = <8>; | |
9d891073 LJ |
201 | |
202 | clocks = <&prcc_pclk 6 1>; | |
7e0ce270 LJ |
203 | }; |
204 | ||
8979cfef | 205 | pinctrl { |
818d99a9 | 206 | compatible = "stericsson,db8500-pinctrl"; |
8979cfef | 207 | prcm = <&prcmu>; |
5910de9e LJ |
208 | }; |
209 | ||
b32dc865 | 210 | usb_per5@a03e0000 { |
4a6cd43f | 211 | compatible = "stericsson,db8500-musb"; |
7e0ce270 | 212 | reg = <0xa03e0000 0x10000>; |
90c40257 | 213 | interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>; |
b32dc865 LJ |
214 | interrupt-names = "mc"; |
215 | ||
216 | dr_mode = "otg"; | |
217 | ||
218 | dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */ | |
219 | <&dma 38 0 0x0>, /* Logical - MemToDev */ | |
220 | <&dma 37 0 0x2>, /* Logical - DevToMem */ | |
221 | <&dma 37 0 0x0>, /* Logical - MemToDev */ | |
222 | <&dma 36 0 0x2>, /* Logical - DevToMem */ | |
223 | <&dma 36 0 0x0>, /* Logical - MemToDev */ | |
224 | <&dma 19 0 0x2>, /* Logical - DevToMem */ | |
225 | <&dma 19 0 0x0>, /* Logical - MemToDev */ | |
226 | <&dma 18 0 0x2>, /* Logical - DevToMem */ | |
227 | <&dma 18 0 0x0>, /* Logical - MemToDev */ | |
228 | <&dma 17 0 0x2>, /* Logical - DevToMem */ | |
229 | <&dma 17 0 0x0>, /* Logical - MemToDev */ | |
230 | <&dma 16 0 0x2>, /* Logical - DevToMem */ | |
231 | <&dma 16 0 0x0>, /* Logical - MemToDev */ | |
232 | <&dma 39 0 0x2>, /* Logical - DevToMem */ | |
233 | <&dma 39 0 0x0>; /* Logical - MemToDev */ | |
234 | ||
235 | dma-names = "iep_1_9", "oep_1_9", | |
236 | "iep_2_10", "oep_2_10", | |
237 | "iep_3_11", "oep_3_11", | |
238 | "iep_4_12", "oep_4_12", | |
239 | "iep_5_13", "oep_5_13", | |
240 | "iep_6_14", "oep_6_14", | |
241 | "iep_7_15", "oep_7_15", | |
242 | "iep_8", "oep_8"; | |
7e0ce270 LJ |
243 | }; |
244 | ||
ba074aec LJ |
245 | dma: dma-controller@801C0000 { |
246 | compatible = "stericsson,db8500-dma40", "stericsson,dma40"; | |
7e0ce270 | 247 | reg = <0x801C0000 0x1000 0x40010000 0x800>; |
70d39a8d | 248 | reg-names = "base", "lcpa"; |
90c40257 | 249 | interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>; |
ba074aec LJ |
250 | |
251 | #dma-cells = <3>; | |
d37fcdb6 | 252 | memcpy-channels = <56 57 58 59 60>; |
e064cb24 LJ |
253 | |
254 | clocks = <&prcmu_clk PRCMU_DMACLK>; | |
7e0ce270 LJ |
255 | }; |
256 | ||
8979cfef | 257 | prcmu: prcmu@80157000 { |
7e0ce270 | 258 | compatible = "stericsson,db8500-prcmu"; |
4d26aa30 | 259 | reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>; |
e73081d9 | 260 | reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm"; |
90c40257 | 261 | interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 | 262 | #address-cells = <1>; |
3de3d749 | 263 | #size-cells = <1>; |
c09090bb LJ |
264 | interrupt-controller; |
265 | #interrupt-cells = <2>; | |
3de3d749 LJ |
266 | ranges; |
267 | ||
ccf74f76 | 268 | prcmu-timer-4@80157450 { |
3de3d749 LJ |
269 | compatible = "stericsson,db8500-prcmu-timer-4"; |
270 | reg = <0x80157450 0xC>; | |
271 | }; | |
7e0ce270 | 272 | |
dc1956b5 | 273 | thermal@801573c0 { |
274 | compatible = "stericsson,db8500-thermal"; | |
275 | reg = <0x801573c0 0x40>; | |
90c40257 LW |
276 | interrupts = <21 IRQ_TYPE_LEVEL_HIGH>, |
277 | <22 IRQ_TYPE_LEVEL_HIGH>; | |
dc1956b5 | 278 | interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH"; |
279 | status = "disabled"; | |
1d3f99f5 | 280 | }; |
dc1956b5 | 281 | |
e5999f28 LJ |
282 | db8500-prcmu-regulators { |
283 | compatible = "stericsson,db8500-prcmu-regulator"; | |
284 | ||
285 | // DB8500_REGULATOR_VAPE | |
286 | db8500_vape_reg: db8500_vape { | |
da26848a | 287 | regulator-compatible = "db8500_vape"; |
e5999f28 LJ |
288 | regulator-always-on; |
289 | }; | |
290 | ||
291 | // DB8500_REGULATOR_VARM | |
292 | db8500_varm_reg: db8500_varm { | |
da26848a | 293 | regulator-compatible = "db8500_varm"; |
e5999f28 LJ |
294 | }; |
295 | ||
296 | // DB8500_REGULATOR_VMODEM | |
297 | db8500_vmodem_reg: db8500_vmodem { | |
da26848a | 298 | regulator-compatible = "db8500_vmodem"; |
e5999f28 LJ |
299 | }; |
300 | ||
301 | // DB8500_REGULATOR_VPLL | |
302 | db8500_vpll_reg: db8500_vpll { | |
da26848a | 303 | regulator-compatible = "db8500_vpll"; |
e5999f28 LJ |
304 | }; |
305 | ||
306 | // DB8500_REGULATOR_VSMPS1 | |
307 | db8500_vsmps1_reg: db8500_vsmps1 { | |
da26848a | 308 | regulator-compatible = "db8500_vsmps1"; |
e5999f28 LJ |
309 | }; |
310 | ||
311 | // DB8500_REGULATOR_VSMPS2 | |
312 | db8500_vsmps2_reg: db8500_vsmps2 { | |
da26848a | 313 | regulator-compatible = "db8500_vsmps2"; |
e5999f28 LJ |
314 | }; |
315 | ||
316 | // DB8500_REGULATOR_VSMPS3 | |
317 | db8500_vsmps3_reg: db8500_vsmps3 { | |
da26848a | 318 | regulator-compatible = "db8500_vsmps3"; |
e5999f28 LJ |
319 | }; |
320 | ||
321 | // DB8500_REGULATOR_VRF1 | |
322 | db8500_vrf1_reg: db8500_vrf1 { | |
da26848a | 323 | regulator-compatible = "db8500_vrf1"; |
e5999f28 LJ |
324 | }; |
325 | ||
326 | // DB8500_REGULATOR_SWITCH_SVAMMDSP | |
327 | db8500_sva_mmdsp_reg: db8500_sva_mmdsp { | |
da26848a | 328 | regulator-compatible = "db8500_sva_mmdsp"; |
e5999f28 LJ |
329 | }; |
330 | ||
331 | // DB8500_REGULATOR_SWITCH_SVAMMDSPRET | |
332 | db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret { | |
da26848a | 333 | regulator-compatible = "db8500_sva_mmdsp_ret"; |
e5999f28 LJ |
334 | }; |
335 | ||
336 | // DB8500_REGULATOR_SWITCH_SVAPIPE | |
337 | db8500_sva_pipe_reg: db8500_sva_pipe { | |
da26848a | 338 | regulator-compatible = "db8500_sva_pipe"; |
e5999f28 LJ |
339 | }; |
340 | ||
341 | // DB8500_REGULATOR_SWITCH_SIAMMDSP | |
342 | db8500_sia_mmdsp_reg: db8500_sia_mmdsp { | |
da26848a | 343 | regulator-compatible = "db8500_sia_mmdsp"; |
e5999f28 LJ |
344 | }; |
345 | ||
346 | // DB8500_REGULATOR_SWITCH_SIAMMDSPRET | |
347 | db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret { | |
e5999f28 LJ |
348 | }; |
349 | ||
350 | // DB8500_REGULATOR_SWITCH_SIAPIPE | |
351 | db8500_sia_pipe_reg: db8500_sia_pipe { | |
da26848a | 352 | regulator-compatible = "db8500_sia_pipe"; |
e5999f28 LJ |
353 | }; |
354 | ||
355 | // DB8500_REGULATOR_SWITCH_SGA | |
356 | db8500_sga_reg: db8500_sga { | |
da26848a | 357 | regulator-compatible = "db8500_sga"; |
e5999f28 LJ |
358 | vin-supply = <&db8500_vape_reg>; |
359 | }; | |
360 | ||
361 | // DB8500_REGULATOR_SWITCH_B2R2_MCDE | |
362 | db8500_b2r2_mcde_reg: db8500_b2r2_mcde { | |
da26848a | 363 | regulator-compatible = "db8500_b2r2_mcde"; |
e5999f28 LJ |
364 | vin-supply = <&db8500_vape_reg>; |
365 | }; | |
366 | ||
367 | // DB8500_REGULATOR_SWITCH_ESRAM12 | |
368 | db8500_esram12_reg: db8500_esram12 { | |
da26848a | 369 | regulator-compatible = "db8500_esram12"; |
e5999f28 LJ |
370 | }; |
371 | ||
372 | // DB8500_REGULATOR_SWITCH_ESRAM12RET | |
373 | db8500_esram12_ret_reg: db8500_esram12_ret { | |
da26848a | 374 | regulator-compatible = "db8500_esram12_ret"; |
e5999f28 LJ |
375 | }; |
376 | ||
377 | // DB8500_REGULATOR_SWITCH_ESRAM34 | |
378 | db8500_esram34_reg: db8500_esram34 { | |
da26848a | 379 | regulator-compatible = "db8500_esram34"; |
e5999f28 LJ |
380 | }; |
381 | ||
382 | // DB8500_REGULATOR_SWITCH_ESRAM34RET | |
383 | db8500_esram34_ret_reg: db8500_esram34_ret { | |
da26848a | 384 | regulator-compatible = "db8500_esram34_ret"; |
e5999f28 LJ |
385 | }; |
386 | }; | |
387 | ||
d52701d3 | 388 | ab8500 { |
7e0ce270 | 389 | compatible = "stericsson,ab8500"; |
8d4c6d45 | 390 | interrupt-parent = <&intc>; |
90c40257 | 391 | interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>; |
732973c8 LJ |
392 | interrupt-controller; |
393 | #interrupt-cells = <2>; | |
4a85c7fa | 394 | |
348f3bc6 LJ |
395 | ab8500_gpio: ab8500-gpio { |
396 | gpio-controller; | |
397 | #gpio-cells = <2>; | |
398 | }; | |
399 | ||
d4b29ac1 LJ |
400 | ab8500-rtc { |
401 | compatible = "stericsson,ab8500-rtc"; | |
90c40257 LW |
402 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH |
403 | 18 IRQ_TYPE_LEVEL_HIGH>; | |
d4b29ac1 LJ |
404 | interrupt-names = "60S", "ALARM"; |
405 | }; | |
406 | ||
4eda9129 LJ |
407 | ab8500-gpadc { |
408 | compatible = "stericsson,ab8500-gpadc"; | |
90c40257 LW |
409 | interrupts = <32 IRQ_TYPE_LEVEL_HIGH |
410 | 39 IRQ_TYPE_LEVEL_HIGH>; | |
4eda9129 LJ |
411 | interrupt-names = "HW_CONV_END", "SW_CONV_END"; |
412 | vddadc-supply = <&ab8500_ldo_tvout_reg>; | |
413 | }; | |
414 | ||
e0f1abeb R |
415 | ab8500_battery: ab8500_battery { |
416 | stericsson,battery-type = "LIPO"; | |
417 | thermistor-on-batctrl; | |
418 | }; | |
419 | ||
420 | ab8500_fg { | |
421 | compatible = "stericsson,ab8500-fg"; | |
422 | battery = <&ab8500_battery>; | |
423 | }; | |
424 | ||
bd9e8ab2 R |
425 | ab8500_btemp { |
426 | compatible = "stericsson,ab8500-btemp"; | |
427 | battery = <&ab8500_battery>; | |
428 | }; | |
429 | ||
4aef72db R |
430 | ab8500_charger { |
431 | compatible = "stericsson,ab8500-charger"; | |
432 | battery = <&ab8500_battery>; | |
433 | vddadc-supply = <&ab8500_ldo_tvout_reg>; | |
434 | }; | |
435 | ||
a12810ab R |
436 | ab8500_chargalg { |
437 | compatible = "stericsson,ab8500-chargalg"; | |
438 | battery = <&ab8500_battery>; | |
439 | }; | |
440 | ||
e0f1abeb | 441 | ab8500_usb { |
ee189cef | 442 | compatible = "stericsson,ab8500-usb"; |
90c40257 LW |
443 | interrupts = < 90 IRQ_TYPE_LEVEL_HIGH |
444 | 96 IRQ_TYPE_LEVEL_HIGH | |
445 | 14 IRQ_TYPE_LEVEL_HIGH | |
446 | 15 IRQ_TYPE_LEVEL_HIGH | |
447 | 79 IRQ_TYPE_LEVEL_HIGH | |
448 | 74 IRQ_TYPE_LEVEL_HIGH | |
449 | 75 IRQ_TYPE_LEVEL_HIGH>; | |
ee189cef LJ |
450 | interrupt-names = "ID_WAKEUP_R", |
451 | "ID_WAKEUP_F", | |
452 | "VBUS_DET_F", | |
453 | "VBUS_DET_R", | |
454 | "USB_LINK_STATUS", | |
455 | "USB_ADP_PROBE_PLUG", | |
456 | "USB_ADP_PROBE_UNPLUG"; | |
99b38eef | 457 | vddulpivio18-supply = <&ab8500_ldo_intcore_reg>; |
ee189cef LJ |
458 | v-ape-supply = <&db8500_vape_reg>; |
459 | musb_1v8-supply = <&db8500_vsmps2_reg>; | |
460 | }; | |
461 | ||
12cb7bd4 | 462 | ab8500-ponkey { |
74630706 | 463 | compatible = "stericsson,ab8500-poweron-key"; |
90c40257 LW |
464 | interrupts = <6 IRQ_TYPE_LEVEL_HIGH |
465 | 7 IRQ_TYPE_LEVEL_HIGH>; | |
12cb7bd4 LJ |
466 | interrupt-names = "ONKEY_DBF", "ONKEY_DBR"; |
467 | }; | |
468 | ||
401cd1b8 LJ |
469 | ab8500-sysctrl { |
470 | compatible = "stericsson,ab8500-sysctrl"; | |
471 | }; | |
472 | ||
78451de7 LJ |
473 | ab8500-pwm { |
474 | compatible = "stericsson,ab8500-pwm"; | |
475 | }; | |
476 | ||
215891ec LJ |
477 | ab8500-debugfs { |
478 | compatible = "stericsson,ab8500-debug"; | |
479 | }; | |
4a85c7fa | 480 | |
9c06af30 LJ |
481 | codec: ab8500-codec { |
482 | compatible = "stericsson,ab8500-codec"; | |
483 | ||
f99808a6 FB |
484 | V-AUD-supply = <&ab8500_ldo_audio_reg>; |
485 | V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>; | |
486 | V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>; | |
487 | V-DMIC-supply = <&ab8500_ldo_dmic_reg>; | |
488 | ||
9c06af30 LJ |
489 | stericsson,earpeice-cmv = <950>; /* Units in mV. */ |
490 | }; | |
491 | ||
62ebfe6b LJ |
492 | ext_regulators: ab8500-ext-regulators { |
493 | compatible = "stericsson,ab8500-ext-regulator"; | |
494 | ||
495 | ab8500_ext1_reg: ab8500_ext1 { | |
496 | regulator-compatible = "ab8500_ext1"; | |
497 | regulator-min-microvolt = <1800000>; | |
498 | regulator-max-microvolt = <1800000>; | |
499 | regulator-boot-on; | |
500 | regulator-always-on; | |
501 | }; | |
502 | ||
503 | ab8500_ext2_reg: ab8500_ext2 { | |
504 | regulator-compatible = "ab8500_ext2"; | |
505 | regulator-min-microvolt = <1360000>; | |
506 | regulator-max-microvolt = <1360000>; | |
507 | regulator-boot-on; | |
508 | regulator-always-on; | |
509 | }; | |
510 | ||
511 | ab8500_ext3_reg: ab8500_ext3 { | |
512 | regulator-compatible = "ab8500_ext3"; | |
513 | regulator-min-microvolt = <3400000>; | |
514 | regulator-max-microvolt = <3400000>; | |
515 | regulator-boot-on; | |
516 | }; | |
517 | }; | |
518 | ||
4a85c7fa LJ |
519 | ab8500-regulators { |
520 | compatible = "stericsson,ab8500-regulator"; | |
75f0999a | 521 | vin-supply = <&ab8500_ext3_reg>; |
4a85c7fa LJ |
522 | |
523 | // supplies to the display/camera | |
524 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { | |
da26848a | 525 | regulator-compatible = "ab8500_ldo_aux1"; |
4a85c7fa LJ |
526 | regulator-min-microvolt = <2500000>; |
527 | regulator-max-microvolt = <2900000>; | |
528 | regulator-boot-on; | |
529 | /* BUG: If turned off MMC will be affected. */ | |
530 | regulator-always-on; | |
531 | }; | |
532 | ||
533 | // supplies to the on-board eMMC | |
534 | ab8500_ldo_aux2_reg: ab8500_ldo_aux2 { | |
da26848a | 535 | regulator-compatible = "ab8500_ldo_aux2"; |
4a85c7fa LJ |
536 | regulator-min-microvolt = <1100000>; |
537 | regulator-max-microvolt = <3300000>; | |
538 | }; | |
539 | ||
540 | // supply for VAUX3; SDcard slots | |
541 | ab8500_ldo_aux3_reg: ab8500_ldo_aux3 { | |
da26848a | 542 | regulator-compatible = "ab8500_ldo_aux3"; |
4a85c7fa LJ |
543 | regulator-min-microvolt = <1100000>; |
544 | regulator-max-microvolt = <3300000>; | |
545 | }; | |
546 | ||
547 | // supply for v-intcore12; VINTCORE12 LDO | |
99b38eef FB |
548 | ab8500_ldo_intcore_reg: ab8500_ldo_intcore { |
549 | regulator-compatible = "ab8500_ldo_intcore"; | |
4a85c7fa LJ |
550 | }; |
551 | ||
552 | // supply for tvout; gpadc; TVOUT LDO | |
553 | ab8500_ldo_tvout_reg: ab8500_ldo_tvout { | |
da26848a | 554 | regulator-compatible = "ab8500_ldo_tvout"; |
4a85c7fa LJ |
555 | }; |
556 | ||
557 | // supply for ab8500-usb; USB LDO | |
558 | ab8500_ldo_usb_reg: ab8500_ldo_usb { | |
da26848a | 559 | regulator-compatible = "ab8500_ldo_usb"; |
4a85c7fa LJ |
560 | }; |
561 | ||
562 | // supply for ab8500-vaudio; VAUDIO LDO | |
563 | ab8500_ldo_audio_reg: ab8500_ldo_audio { | |
da26848a | 564 | regulator-compatible = "ab8500_ldo_audio"; |
4a85c7fa LJ |
565 | }; |
566 | ||
4aa44874 | 567 | // supply for v-anamic1 VAMIC1 LDO |
4a85c7fa | 568 | ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 { |
da26848a | 569 | regulator-compatible = "ab8500_ldo_anamic1"; |
4a85c7fa LJ |
570 | }; |
571 | ||
572 | // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1 | |
5510ed9f FB |
573 | ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 { |
574 | regulator-compatible = "ab8500_ldo_anamic2"; | |
4a85c7fa LJ |
575 | }; |
576 | ||
577 | // supply for v-dmic; VDMIC LDO | |
578 | ab8500_ldo_dmic_reg: ab8500_ldo_dmic { | |
da26848a | 579 | regulator-compatible = "ab8500_ldo_dmic"; |
4a85c7fa LJ |
580 | }; |
581 | ||
582 | // supply for U8500 CSI/DSI; VANA LDO | |
583 | ab8500_ldo_ana_reg: ab8500_ldo_ana { | |
da26848a | 584 | regulator-compatible = "ab8500_ldo_ana"; |
4a85c7fa LJ |
585 | }; |
586 | }; | |
7e0ce270 LJ |
587 | }; |
588 | }; | |
589 | ||
590 | i2c@80004000 { | |
d524fa7f | 591 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 592 | reg = <0x80004000 0x1000>; |
90c40257 | 593 | interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 594 | |
7e0ce270 LJ |
595 | #address-cells = <1>; |
596 | #size-cells = <0>; | |
d524fa7f LJ |
597 | v-i2c-supply = <&db8500_vape_reg>; |
598 | ||
599 | clock-frequency = <400000>; | |
7e0ce270 LJ |
600 | }; |
601 | ||
602 | i2c@80122000 { | |
d524fa7f | 603 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 604 | reg = <0x80122000 0x1000>; |
90c40257 | 605 | interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 606 | |
7e0ce270 LJ |
607 | #address-cells = <1>; |
608 | #size-cells = <0>; | |
d524fa7f LJ |
609 | v-i2c-supply = <&db8500_vape_reg>; |
610 | ||
611 | clock-frequency = <400000>; | |
7e0ce270 LJ |
612 | }; |
613 | ||
614 | i2c@80128000 { | |
d524fa7f | 615 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 616 | reg = <0x80128000 0x1000>; |
90c40257 | 617 | interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 618 | |
7e0ce270 LJ |
619 | #address-cells = <1>; |
620 | #size-cells = <0>; | |
d524fa7f LJ |
621 | v-i2c-supply = <&db8500_vape_reg>; |
622 | ||
623 | clock-frequency = <400000>; | |
7e0ce270 LJ |
624 | }; |
625 | ||
626 | i2c@80110000 { | |
d524fa7f | 627 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 628 | reg = <0x80110000 0x1000>; |
90c40257 | 629 | interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 630 | |
7e0ce270 LJ |
631 | #address-cells = <1>; |
632 | #size-cells = <0>; | |
d524fa7f LJ |
633 | v-i2c-supply = <&db8500_vape_reg>; |
634 | ||
635 | clock-frequency = <400000>; | |
7e0ce270 LJ |
636 | }; |
637 | ||
638 | i2c@8012a000 { | |
d524fa7f | 639 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 640 | reg = <0x8012a000 0x1000>; |
90c40257 | 641 | interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 642 | |
7e0ce270 LJ |
643 | #address-cells = <1>; |
644 | #size-cells = <0>; | |
d524fa7f LJ |
645 | v-i2c-supply = <&db8500_vape_reg>; |
646 | ||
647 | clock-frequency = <400000>; | |
7e0ce270 LJ |
648 | }; |
649 | ||
650 | ssp@80002000 { | |
651 | compatible = "arm,pl022", "arm,primecell"; | |
c164fa62 | 652 | reg = <0x80002000 0x1000>; |
90c40257 | 653 | interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 LJ |
654 | #address-cells = <1>; |
655 | #size-cells = <0>; | |
656 | status = "disabled"; | |
7e0ce270 LJ |
657 | }; |
658 | ||
659 | uart@80120000 { | |
660 | compatible = "arm,pl011", "arm,primecell"; | |
661 | reg = <0x80120000 0x1000>; | |
90c40257 | 662 | interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>; |
fbff01cc LJ |
663 | |
664 | dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */ | |
665 | <&dma 13 0 0x0>; /* Logical - MemToDev */ | |
666 | dma-names = "rx", "tx"; | |
667 | ||
7e0ce270 LJ |
668 | status = "disabled"; |
669 | }; | |
fbff01cc | 670 | |
7e0ce270 LJ |
671 | uart@80121000 { |
672 | compatible = "arm,pl011", "arm,primecell"; | |
673 | reg = <0x80121000 0x1000>; | |
90c40257 | 674 | interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>; |
fbff01cc LJ |
675 | |
676 | dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */ | |
677 | <&dma 12 0 0x0>; /* Logical - MemToDev */ | |
678 | dma-names = "rx", "tx"; | |
679 | ||
7e0ce270 LJ |
680 | status = "disabled"; |
681 | }; | |
fbff01cc | 682 | |
7e0ce270 LJ |
683 | uart@80007000 { |
684 | compatible = "arm,pl011", "arm,primecell"; | |
685 | reg = <0x80007000 0x1000>; | |
90c40257 | 686 | interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>; |
fbff01cc LJ |
687 | |
688 | dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */ | |
689 | <&dma 11 0 0x0>; /* Logical - MemToDev */ | |
690 | dma-names = "rx", "tx"; | |
691 | ||
7e0ce270 LJ |
692 | status = "disabled"; |
693 | }; | |
694 | ||
81bf8c2e | 695 | sdi0_per1@80126000 { |
7e0ce270 LJ |
696 | compatible = "arm,pl18x", "arm,primecell"; |
697 | reg = <0x80126000 0x1000>; | |
90c40257 | 698 | interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>; |
498315b9 LJ |
699 | |
700 | dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */ | |
701 | <&dma 29 0 0x0>; /* Logical - MemToDev */ | |
702 | dma-names = "rx", "tx"; | |
703 | ||
7e0ce270 LJ |
704 | status = "disabled"; |
705 | }; | |
76ff4e43 | 706 | |
81bf8c2e | 707 | sdi1_per2@80118000 { |
7e0ce270 LJ |
708 | compatible = "arm,pl18x", "arm,primecell"; |
709 | reg = <0x80118000 0x1000>; | |
90c40257 | 710 | interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>; |
498315b9 LJ |
711 | |
712 | dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */ | |
713 | <&dma 32 0 0x0>; /* Logical - MemToDev */ | |
714 | dma-names = "rx", "tx"; | |
715 | ||
7e0ce270 LJ |
716 | status = "disabled"; |
717 | }; | |
76ff4e43 | 718 | |
81bf8c2e | 719 | sdi2_per3@80005000 { |
7e0ce270 LJ |
720 | compatible = "arm,pl18x", "arm,primecell"; |
721 | reg = <0x80005000 0x1000>; | |
90c40257 | 722 | interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>; |
498315b9 LJ |
723 | |
724 | dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */ | |
725 | <&dma 28 0 0x0>; /* Logical - MemToDev */ | |
726 | dma-names = "rx", "tx"; | |
727 | ||
7e0ce270 LJ |
728 | status = "disabled"; |
729 | }; | |
76ff4e43 | 730 | |
81bf8c2e | 731 | sdi3_per2@80119000 { |
7e0ce270 LJ |
732 | compatible = "arm,pl18x", "arm,primecell"; |
733 | reg = <0x80119000 0x1000>; | |
90c40257 | 734 | interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 LJ |
735 | status = "disabled"; |
736 | }; | |
76ff4e43 | 737 | |
81bf8c2e | 738 | sdi4_per2@80114000 { |
7e0ce270 LJ |
739 | compatible = "arm,pl18x", "arm,primecell"; |
740 | reg = <0x80114000 0x1000>; | |
90c40257 | 741 | interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>; |
498315b9 LJ |
742 | |
743 | dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */ | |
744 | <&dma 42 0 0x0>; /* Logical - MemToDev */ | |
745 | dma-names = "rx", "tx"; | |
746 | ||
7e0ce270 LJ |
747 | status = "disabled"; |
748 | }; | |
76ff4e43 | 749 | |
81bf8c2e | 750 | sdi5_per3@80008000 { |
7e0ce270 | 751 | compatible = "arm,pl18x", "arm,primecell"; |
76ff4e43 | 752 | reg = <0x80008000 0x1000>; |
90c40257 | 753 | interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 LJ |
754 | status = "disabled"; |
755 | }; | |
bf76e062 | 756 | |
fe164529 LJ |
757 | msp0: msp@80123000 { |
758 | compatible = "stericsson,ux500-msp-i2s"; | |
759 | reg = <0x80123000 0x1000>; | |
90c40257 | 760 | interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>; |
fe164529 LJ |
761 | v-ape-supply = <&db8500_vape_reg>; |
762 | status = "disabled"; | |
763 | }; | |
764 | ||
765 | msp1: msp@80124000 { | |
766 | compatible = "stericsson,ux500-msp-i2s"; | |
767 | reg = <0x80124000 0x1000>; | |
90c40257 | 768 | interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>; |
fe164529 LJ |
769 | v-ape-supply = <&db8500_vape_reg>; |
770 | status = "disabled"; | |
771 | }; | |
772 | ||
773 | // HDMI sound | |
774 | msp2: msp@80117000 { | |
775 | compatible = "stericsson,ux500-msp-i2s"; | |
776 | reg = <0x80117000 0x1000>; | |
90c40257 | 777 | interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>; |
fe164529 LJ |
778 | v-ape-supply = <&db8500_vape_reg>; |
779 | status = "disabled"; | |
780 | }; | |
781 | ||
782 | msp3: msp@80125000 { | |
783 | compatible = "stericsson,ux500-msp-i2s"; | |
784 | reg = <0x80125000 0x1000>; | |
90c40257 | 785 | interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>; |
fe164529 LJ |
786 | v-ape-supply = <&db8500_vape_reg>; |
787 | status = "disabled"; | |
788 | }; | |
789 | ||
bf76e062 LJ |
790 | external-bus@50000000 { |
791 | compatible = "simple-bus"; | |
792 | reg = <0x50000000 0x4000000>; | |
793 | #address-cells = <1>; | |
794 | #size-cells = <1>; | |
795 | ranges = <0 0x50000000 0x4000000>; | |
796 | status = "disabled"; | |
797 | }; | |
dc1956b5 | 798 | |
799 | cpufreq-cooling { | |
800 | compatible = "stericsson,db8500-cpufreq-cooling"; | |
801 | status = "disabled"; | |
802 | }; | |
803 | ||
0563f638 LJ |
804 | vmmci: regulator-gpio { |
805 | compatible = "regulator-gpio"; | |
806 | ||
807 | regulator-min-microvolt = <1800000>; | |
4f902b42 | 808 | regulator-max-microvolt = <2900000>; |
0563f638 LJ |
809 | regulator-name = "mmci-reg"; |
810 | regulator-type = "voltage"; | |
811 | ||
874c9202 | 812 | startup-delay-us = <100>; |
e7bda303 LJ |
813 | enable-active-high; |
814 | ||
0563f638 LJ |
815 | states = <1800000 0x1 |
816 | 2900000 0x0>; | |
c94a4ab7 LJ |
817 | |
818 | status = "disabled"; | |
0563f638 | 819 | }; |
fe2e9f92 LJ |
820 | |
821 | cryp@a03cb000 { | |
822 | compatible = "stericsson,ux500-cryp"; | |
823 | reg = <0xa03cb000 0x1000>; | |
90c40257 | 824 | interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>; |
fe2e9f92 LJ |
825 | |
826 | v-ape-supply = <&db8500_vape_reg>; | |
fe2e9f92 | 827 | }; |
61122cf2 LJ |
828 | |
829 | hash@a03c2000 { | |
830 | compatible = "stericsson,ux500-hash"; | |
831 | reg = <0xa03c2000 0x1000>; | |
832 | ||
833 | v-ape-supply = <&db8500_vape_reg>; | |
61122cf2 | 834 | }; |
5d0769f0 AB |
835 | }; |
836 | }; |