blob: c417cb8a24ab593e6bcaaf4f3a0f5b3399708842 [file] [log] [blame]
Arnd Bergmann5d0769f2012-03-02 23:07:21 +00001/*
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
Linus Walleij90c40252013-05-29 19:15:39 +020012#include <dt-bindings/interrupt-controller/irq.h>
Lee Jones841cd0c2013-09-18 09:53:10 +010013#include <dt-bindings/mfd/dbx500-prcmu.h>
Gabriel Fernandez807e8832013-05-27 15:30:53 +020014#include "skeleton.dtsi"
Arnd Bergmann5d0769f2012-03-02 23:07:21 +000015
16/ {
Gabriel Fernandezb1ba1432013-03-01 14:38:07 +010017 soc {
Arnd Bergmann5d0769f2012-03-02 23:07:21 +000018 #address-cells = <1>;
19 #size-cells = <1>;
Lee Jones7e0ce272012-03-15 16:46:17 +000020 compatible = "stericsson,db8500";
Lee Jonesdab64872012-03-07 17:22:30 +000021 interrupt-parent = <&intc>;
Arnd Bergmann5d0769f2012-03-02 23:07:21 +000022 ranges;
Lee Jones7e0ce272012-03-15 16:46:17 +000023
Lee Jonesdab64872012-03-07 17:22:30 +000024 intc: interrupt-controller@a0411000 {
25 compatible = "arm,cortex-a9-gic";
26 #interrupt-cells = <3>;
27 #address-cells = <1>;
28 interrupt-controller;
Lee Jonesdab64872012-03-07 17:22:30 +000029 reg = <0xa0411000 0x1000>,
30 <0xa0410100 0x100>;
31 };
32
Lee Jonesf1949ea2012-03-08 09:02:02 +000033 L2: l2-cache {
34 compatible = "arm,pl310-cache";
35 reg = <0xa0412000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +020036 interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesf1949ea2012-03-08 09:02:02 +000037 cache-unified;
38 cache-level = <2>;
39 };
40
Lee Jones7e0ce272012-03-15 16:46:17 +000041 pmu {
42 compatible = "arm,cortex-a9-pmu";
Linus Walleij90c40252013-05-29 19:15:39 +020043 interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +000044 };
45
Lee Jones8132ed12013-09-18 09:54:07 +010046
Lee Jones841cd0c2013-09-18 09:53:10 +010047 clocks {
48 compatible = "stericsson,u8500-clks";
49
50 prcmu_clk: prcmu-clock {
51 #clock-cells = <1>;
52 };
Lee Jonesfcbe5e92013-06-06 10:51:04 +010053
54 prcc_pclk: prcc-periph-clock {
55 #clock-cells = <2>;
56 };
Lee Jones2588fea2013-06-06 10:52:50 +010057
58 prcc_kclk: prcc-kernel-clock {
59 #clock-cells = <2>;
60 };
Lee Jones589d9832013-06-06 10:54:27 +010061
62 rtc_clk: rtc32k-clock {
63 #clock-cells = <0>;
64 };
Lee Jones309012d2013-06-06 10:54:48 +010065
66 smp_twd_clk: smp-twd-clock {
67 #clock-cells = <0>;
68 };
Lee Jones841cd0c2013-09-18 09:53:10 +010069 };
70
Lee Jones8132ed12013-09-18 09:54:07 +010071 mtu@a03c6000 {
72 /* Nomadik System Timer */
73 compatible = "st,nomadik-mtu";
74 reg = <0xa03c6000 0x1000>;
75 interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
76
77 clocks = <&prcmu_clk PRCMU_TIMCLK>, <&prcc_pclk 6 6>;
78 clock-names = "timclk", "apb_pclk";
79 };
80
Lee Jones71de5c42012-03-16 09:53:24 +000081 timer@a0410600 {
82 compatible = "arm,cortex-a9-twd-timer";
83 reg = <0xa0410600 0x20>;
Linus Walleij90c40252013-05-29 19:15:39 +020084 interrupts = <1 13 0x304>; /* IRQ level high per-CPU */
Lee Jonesa8acb1e2013-06-05 12:26:52 +010085
86 clocks = <&smp_twd_clk>;
Lee Jones71de5c42012-03-16 09:53:24 +000087 };
88
Lee Jones7e0ce272012-03-15 16:46:17 +000089 rtc@80154000 {
Lee Jonesddb3b992012-05-26 07:01:31 +010090 compatible = "arm,rtc-pl031", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +000091 reg = <0x80154000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +020092 interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesd299b5a2013-06-05 12:27:24 +010093
94 clocks = <&rtc_clk>;
95 clock-names = "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +000096 };
97
98 gpio0: gpio@8012e000 {
99 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100100 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000101 reg = <0x8012e000 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200102 interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800103 interrupt-controller;
104 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100105 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000106 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100107 #gpio-cells = <2>;
108 gpio-bank = <0>;
Lee Jones9d891072013-06-03 13:07:51 +0100109
110 clocks = <&prcc_pclk 1 9>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000111 };
112
113 gpio1: gpio@8012e080 {
114 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100115 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000116 reg = <0x8012e080 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200117 interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800118 interrupt-controller;
119 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100120 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000121 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100122 #gpio-cells = <2>;
123 gpio-bank = <1>;
Lee Jones9d891072013-06-03 13:07:51 +0100124
125 clocks = <&prcc_pclk 1 9>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000126 };
127
128 gpio2: gpio@8000e000 {
129 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100130 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000131 reg = <0x8000e000 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200132 interrupts = <0 121 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800133 interrupt-controller;
134 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100135 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000136 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100137 #gpio-cells = <2>;
138 gpio-bank = <2>;
Lee Jones9d891072013-06-03 13:07:51 +0100139
140 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000141 };
142
143 gpio3: gpio@8000e080 {
144 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100145 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000146 reg = <0x8000e080 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200147 interrupts = <0 122 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800148 interrupt-controller;
149 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100150 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000151 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100152 #gpio-cells = <2>;
153 gpio-bank = <3>;
Lee Jones9d891072013-06-03 13:07:51 +0100154
155 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000156 };
157
158 gpio4: gpio@8000e100 {
159 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100160 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000161 reg = <0x8000e100 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200162 interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800163 interrupt-controller;
164 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100165 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000166 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100167 #gpio-cells = <2>;
168 gpio-bank = <4>;
Lee Jones9d891072013-06-03 13:07:51 +0100169
170 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000171 };
172
173 gpio5: gpio@8000e180 {
174 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100175 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000176 reg = <0x8000e180 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200177 interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800178 interrupt-controller;
179 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100180 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000181 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100182 #gpio-cells = <2>;
183 gpio-bank = <5>;
Lee Jones9d891072013-06-03 13:07:51 +0100184
185 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000186 };
187
188 gpio6: gpio@8011e000 {
189 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100190 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000191 reg = <0x8011e000 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200192 interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800193 interrupt-controller;
194 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100195 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000196 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100197 #gpio-cells = <2>;
198 gpio-bank = <6>;
Lee Jones9d891072013-06-03 13:07:51 +0100199
200 clocks = <&prcc_pclk 2 1>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000201 };
202
203 gpio7: gpio@8011e080 {
204 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100205 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000206 reg = <0x8011e080 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200207 interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800208 interrupt-controller;
209 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100210 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000211 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100212 #gpio-cells = <2>;
213 gpio-bank = <7>;
Lee Jones9d891072013-06-03 13:07:51 +0100214
215 clocks = <&prcc_pclk 2 1>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000216 };
217
218 gpio8: gpio@a03fe000 {
219 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100220 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000221 reg = <0xa03fe000 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200222 interrupts = <0 127 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800223 interrupt-controller;
224 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100225 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000226 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100227 #gpio-cells = <2>;
228 gpio-bank = <8>;
Lee Jones9d891072013-06-03 13:07:51 +0100229
230 clocks = <&prcc_pclk 6 1>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000231 };
232
Lee Jones8979cfe2013-01-11 15:45:28 +0000233 pinctrl {
Lee Jones818d99a2013-05-22 15:22:55 +0100234 compatible = "stericsson,db8500-pinctrl";
Lee Jones8979cfe2013-01-11 15:45:28 +0000235 prcm = <&prcmu>;
Lee Jones5910de92012-05-26 06:25:36 +0100236 };
237
Lee Jonesb32dc862013-05-03 15:31:51 +0100238 usb_per5@a03e0000 {
Sebastian Andrzej Siewior4a6cd432013-08-20 18:40:27 +0200239 compatible = "stericsson,db8500-musb";
Lee Jones7e0ce272012-03-15 16:46:17 +0000240 reg = <0xa03e0000 0x10000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200241 interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesb32dc862013-05-03 15:31:51 +0100242 interrupt-names = "mc";
243
244 dr_mode = "otg";
245
246 dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */
247 <&dma 38 0 0x0>, /* Logical - MemToDev */
248 <&dma 37 0 0x2>, /* Logical - DevToMem */
249 <&dma 37 0 0x0>, /* Logical - MemToDev */
250 <&dma 36 0 0x2>, /* Logical - DevToMem */
251 <&dma 36 0 0x0>, /* Logical - MemToDev */
252 <&dma 19 0 0x2>, /* Logical - DevToMem */
253 <&dma 19 0 0x0>, /* Logical - MemToDev */
254 <&dma 18 0 0x2>, /* Logical - DevToMem */
255 <&dma 18 0 0x0>, /* Logical - MemToDev */
256 <&dma 17 0 0x2>, /* Logical - DevToMem */
257 <&dma 17 0 0x0>, /* Logical - MemToDev */
258 <&dma 16 0 0x2>, /* Logical - DevToMem */
259 <&dma 16 0 0x0>, /* Logical - MemToDev */
260 <&dma 39 0 0x2>, /* Logical - DevToMem */
261 <&dma 39 0 0x0>; /* Logical - MemToDev */
262
263 dma-names = "iep_1_9", "oep_1_9",
264 "iep_2_10", "oep_2_10",
265 "iep_3_11", "oep_3_11",
266 "iep_4_12", "oep_4_12",
267 "iep_5_13", "oep_5_13",
268 "iep_6_14", "oep_6_14",
269 "iep_7_15", "oep_7_15",
270 "iep_8", "oep_8";
Lee Jonese47339f2013-06-03 13:08:26 +0100271
272 clocks = <&prcc_pclk 5 0>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000273 };
274
Lee Jonesba074ae2013-05-03 15:31:48 +0100275 dma: dma-controller@801C0000 {
276 compatible = "stericsson,db8500-dma40", "stericsson,dma40";
Lee Jones7e0ce272012-03-15 16:46:17 +0000277 reg = <0x801C0000 0x1000 0x40010000 0x800>;
Lee Jones70d39a82013-05-03 15:31:47 +0100278 reg-names = "base", "lcpa";
Linus Walleij90c40252013-05-29 19:15:39 +0200279 interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesba074ae2013-05-03 15:31:48 +0100280
281 #dma-cells = <3>;
Lee Jonesd37fcdb2013-05-03 15:31:52 +0100282 memcpy-channels = <56 57 58 59 60>;
Lee Jonese064cb22013-06-03 13:13:54 +0100283
284 clocks = <&prcmu_clk PRCMU_DMACLK>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000285 };
286
Lee Jones8979cfe2013-01-11 15:45:28 +0000287 prcmu: prcmu@80157000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000288 compatible = "stericsson,db8500-prcmu";
Linus Torvalds4d26aa32013-05-02 08:56:55 -0700289 reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
Lee Jonese73081d2013-03-26 10:26:15 +0000290 reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
Linus Walleij90c40252013-05-29 19:15:39 +0200291 interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000292 #address-cells = <1>;
Lee Jones3de3d742012-04-24 10:00:15 +0100293 #size-cells = <1>;
Lee Jonesc09090b2012-08-03 15:42:25 +0100294 interrupt-controller;
295 #interrupt-cells = <2>;
Lee Jones3de3d742012-04-24 10:00:15 +0100296 ranges;
297
Lee Jonesccf74f72012-05-28 16:50:49 +0800298 prcmu-timer-4@80157450 {
Lee Jones3de3d742012-04-24 10:00:15 +0100299 compatible = "stericsson,db8500-prcmu-timer-4";
300 reg = <0x80157450 0xC>;
301 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000302
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800303 thermal@801573c0 {
304 compatible = "stericsson,db8500-thermal";
305 reg = <0x801573c0 0x40>;
Linus Walleij90c40252013-05-29 19:15:39 +0200306 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>,
307 <22 IRQ_TYPE_LEVEL_HIGH>;
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800308 interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
309 status = "disabled";
Lee Jones1d3f99f2013-06-06 12:21:15 +0100310 };
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800311
Lee Jonese5999f22012-05-04 13:32:34 +0100312 db8500-prcmu-regulators {
313 compatible = "stericsson,db8500-prcmu-regulator";
314
315 // DB8500_REGULATOR_VAPE
316 db8500_vape_reg: db8500_vape {
Laxman Dewanganda268482012-06-20 17:53:05 +0530317 regulator-compatible = "db8500_vape";
Lee Jonese5999f22012-05-04 13:32:34 +0100318 regulator-always-on;
319 };
320
321 // DB8500_REGULATOR_VARM
322 db8500_varm_reg: db8500_varm {
Laxman Dewanganda268482012-06-20 17:53:05 +0530323 regulator-compatible = "db8500_varm";
Lee Jonese5999f22012-05-04 13:32:34 +0100324 };
325
326 // DB8500_REGULATOR_VMODEM
327 db8500_vmodem_reg: db8500_vmodem {
Laxman Dewanganda268482012-06-20 17:53:05 +0530328 regulator-compatible = "db8500_vmodem";
Lee Jonese5999f22012-05-04 13:32:34 +0100329 };
330
331 // DB8500_REGULATOR_VPLL
332 db8500_vpll_reg: db8500_vpll {
Laxman Dewanganda268482012-06-20 17:53:05 +0530333 regulator-compatible = "db8500_vpll";
Lee Jonese5999f22012-05-04 13:32:34 +0100334 };
335
336 // DB8500_REGULATOR_VSMPS1
337 db8500_vsmps1_reg: db8500_vsmps1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530338 regulator-compatible = "db8500_vsmps1";
Lee Jonese5999f22012-05-04 13:32:34 +0100339 };
340
341 // DB8500_REGULATOR_VSMPS2
342 db8500_vsmps2_reg: db8500_vsmps2 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530343 regulator-compatible = "db8500_vsmps2";
Lee Jonese5999f22012-05-04 13:32:34 +0100344 };
345
346 // DB8500_REGULATOR_VSMPS3
347 db8500_vsmps3_reg: db8500_vsmps3 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530348 regulator-compatible = "db8500_vsmps3";
Lee Jonese5999f22012-05-04 13:32:34 +0100349 };
350
351 // DB8500_REGULATOR_VRF1
352 db8500_vrf1_reg: db8500_vrf1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530353 regulator-compatible = "db8500_vrf1";
Lee Jonese5999f22012-05-04 13:32:34 +0100354 };
355
356 // DB8500_REGULATOR_SWITCH_SVAMMDSP
357 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
Laxman Dewanganda268482012-06-20 17:53:05 +0530358 regulator-compatible = "db8500_sva_mmdsp";
Lee Jonese5999f22012-05-04 13:32:34 +0100359 };
360
361 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
362 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
Laxman Dewanganda268482012-06-20 17:53:05 +0530363 regulator-compatible = "db8500_sva_mmdsp_ret";
Lee Jonese5999f22012-05-04 13:32:34 +0100364 };
365
366 // DB8500_REGULATOR_SWITCH_SVAPIPE
367 db8500_sva_pipe_reg: db8500_sva_pipe {
Laxman Dewanganda268482012-06-20 17:53:05 +0530368 regulator-compatible = "db8500_sva_pipe";
Lee Jonese5999f22012-05-04 13:32:34 +0100369 };
370
371 // DB8500_REGULATOR_SWITCH_SIAMMDSP
372 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
Laxman Dewanganda268482012-06-20 17:53:05 +0530373 regulator-compatible = "db8500_sia_mmdsp";
Lee Jonese5999f22012-05-04 13:32:34 +0100374 };
375
376 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
377 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
Lee Jonese5999f22012-05-04 13:32:34 +0100378 };
379
380 // DB8500_REGULATOR_SWITCH_SIAPIPE
381 db8500_sia_pipe_reg: db8500_sia_pipe {
Laxman Dewanganda268482012-06-20 17:53:05 +0530382 regulator-compatible = "db8500_sia_pipe";
Lee Jonese5999f22012-05-04 13:32:34 +0100383 };
384
385 // DB8500_REGULATOR_SWITCH_SGA
386 db8500_sga_reg: db8500_sga {
Laxman Dewanganda268482012-06-20 17:53:05 +0530387 regulator-compatible = "db8500_sga";
Lee Jonese5999f22012-05-04 13:32:34 +0100388 vin-supply = <&db8500_vape_reg>;
389 };
390
391 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
392 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
Laxman Dewanganda268482012-06-20 17:53:05 +0530393 regulator-compatible = "db8500_b2r2_mcde";
Lee Jonese5999f22012-05-04 13:32:34 +0100394 vin-supply = <&db8500_vape_reg>;
395 };
396
397 // DB8500_REGULATOR_SWITCH_ESRAM12
398 db8500_esram12_reg: db8500_esram12 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530399 regulator-compatible = "db8500_esram12";
Lee Jonese5999f22012-05-04 13:32:34 +0100400 };
401
402 // DB8500_REGULATOR_SWITCH_ESRAM12RET
403 db8500_esram12_ret_reg: db8500_esram12_ret {
Laxman Dewanganda268482012-06-20 17:53:05 +0530404 regulator-compatible = "db8500_esram12_ret";
Lee Jonese5999f22012-05-04 13:32:34 +0100405 };
406
407 // DB8500_REGULATOR_SWITCH_ESRAM34
408 db8500_esram34_reg: db8500_esram34 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530409 regulator-compatible = "db8500_esram34";
Lee Jonese5999f22012-05-04 13:32:34 +0100410 };
411
412 // DB8500_REGULATOR_SWITCH_ESRAM34RET
413 db8500_esram34_ret_reg: db8500_esram34_ret {
Laxman Dewanganda268482012-06-20 17:53:05 +0530414 regulator-compatible = "db8500_esram34_ret";
Lee Jonese5999f22012-05-04 13:32:34 +0100415 };
416 };
417
Arnd Bergmannd52701d32013-03-12 09:39:01 +0100418 ab8500 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000419 compatible = "stericsson,ab8500";
Lee Jones8d4c6d42012-08-03 20:37:35 +0100420 interrupt-parent = <&intc>;
Linus Walleij90c40252013-05-29 19:15:39 +0200421 interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones732973c2012-05-29 10:49:33 +0800422 interrupt-controller;
423 #interrupt-cells = <2>;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800424
Lee Jones348f3bc2013-06-18 09:51:57 +0100425 ab8500_gpio: ab8500-gpio {
426 gpio-controller;
427 #gpio-cells = <2>;
428 };
429
Lee Jonesd4b29ac2012-05-26 07:03:48 +0100430 ab8500-rtc {
431 compatible = "stericsson,ab8500-rtc";
Linus Walleij90c40252013-05-29 19:15:39 +0200432 interrupts = <17 IRQ_TYPE_LEVEL_HIGH
433 18 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesd4b29ac2012-05-26 07:03:48 +0100434 interrupt-names = "60S", "ALARM";
435 };
436
Lee Jones4eda9122012-05-28 16:59:26 +0800437 ab8500-gpadc {
438 compatible = "stericsson,ab8500-gpadc";
Linus Walleij90c40252013-05-29 19:15:39 +0200439 interrupts = <32 IRQ_TYPE_LEVEL_HIGH
440 39 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones4eda9122012-05-28 16:59:26 +0800441 interrupt-names = "HW_CONV_END", "SW_CONV_END";
442 vddadc-supply = <&ab8500_ldo_tvout_reg>;
443 };
444
Rajanikanth H.Ve0f1abe2012-11-18 18:45:41 -0800445 ab8500_battery: ab8500_battery {
446 stericsson,battery-type = "LIPO";
447 thermistor-on-batctrl;
448 };
449
450 ab8500_fg {
451 compatible = "stericsson,ab8500-fg";
452 battery = <&ab8500_battery>;
453 };
454
Rajanikanth H.Vbd9e8ab2012-11-18 19:16:58 -0800455 ab8500_btemp {
456 compatible = "stericsson,ab8500-btemp";
457 battery = <&ab8500_battery>;
458 };
459
Rajanikanth H.V4aef72d2012-11-18 19:17:47 -0800460 ab8500_charger {
461 compatible = "stericsson,ab8500-charger";
462 battery = <&ab8500_battery>;
463 vddadc-supply = <&ab8500_ldo_tvout_reg>;
464 };
465
Rajanikanth H.Va12810a2012-10-31 15:40:33 +0000466 ab8500_chargalg {
467 compatible = "stericsson,ab8500-chargalg";
468 battery = <&ab8500_battery>;
469 };
470
Rajanikanth H.Ve0f1abe2012-11-18 18:45:41 -0800471 ab8500_usb {
Lee Jonesee189ce2012-05-03 14:40:24 +0100472 compatible = "stericsson,ab8500-usb";
Linus Walleij90c40252013-05-29 19:15:39 +0200473 interrupts = < 90 IRQ_TYPE_LEVEL_HIGH
474 96 IRQ_TYPE_LEVEL_HIGH
475 14 IRQ_TYPE_LEVEL_HIGH
476 15 IRQ_TYPE_LEVEL_HIGH
477 79 IRQ_TYPE_LEVEL_HIGH
478 74 IRQ_TYPE_LEVEL_HIGH
479 75 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesee189ce2012-05-03 14:40:24 +0100480 interrupt-names = "ID_WAKEUP_R",
481 "ID_WAKEUP_F",
482 "VBUS_DET_F",
483 "VBUS_DET_R",
484 "USB_LINK_STATUS",
485 "USB_ADP_PROBE_PLUG",
486 "USB_ADP_PROBE_UNPLUG";
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200487 vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
Lee Jonesee189ce2012-05-03 14:40:24 +0100488 v-ape-supply = <&db8500_vape_reg>;
489 musb_1v8-supply = <&db8500_vsmps2_reg>;
490 };
491
Lee Jones12cb7bd2012-05-02 08:45:40 +0100492 ab8500-ponkey {
Lee Jones74630702012-08-09 13:00:12 +0100493 compatible = "stericsson,ab8500-poweron-key";
Linus Walleij90c40252013-05-29 19:15:39 +0200494 interrupts = <6 IRQ_TYPE_LEVEL_HIGH
495 7 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones12cb7bd2012-05-02 08:45:40 +0100496 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
497 };
498
Lee Jones401cd1b2012-05-03 12:53:55 +0100499 ab8500-sysctrl {
500 compatible = "stericsson,ab8500-sysctrl";
501 };
502
Lee Jones78451de2012-05-03 13:03:59 +0100503 ab8500-pwm {
504 compatible = "stericsson,ab8500-pwm";
505 };
506
Lee Jones215891e2012-05-01 16:11:19 +0100507 ab8500-debugfs {
508 compatible = "stericsson,ab8500-debug";
509 };
Lee Jones4a85c7f2012-05-29 14:29:53 +0800510
Lee Jones9c06af32012-07-25 12:50:13 +0100511 codec: ab8500-codec {
512 compatible = "stericsson,ab8500-codec";
513
Fabio Baltierif99808a2013-05-30 15:27:43 +0200514 V-AUD-supply = <&ab8500_ldo_audio_reg>;
515 V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
516 V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
517 V-DMIC-supply = <&ab8500_ldo_dmic_reg>;
518
Lee Jones9c06af32012-07-25 12:50:13 +0100519 stericsson,earpeice-cmv = <950>; /* Units in mV. */
520 };
521
Lee Jones62ebfe62013-06-07 17:11:19 +0100522 ext_regulators: ab8500-ext-regulators {
523 compatible = "stericsson,ab8500-ext-regulator";
524
525 ab8500_ext1_reg: ab8500_ext1 {
526 regulator-compatible = "ab8500_ext1";
527 regulator-min-microvolt = <1800000>;
528 regulator-max-microvolt = <1800000>;
529 regulator-boot-on;
530 regulator-always-on;
531 };
532
533 ab8500_ext2_reg: ab8500_ext2 {
534 regulator-compatible = "ab8500_ext2";
535 regulator-min-microvolt = <1360000>;
536 regulator-max-microvolt = <1360000>;
537 regulator-boot-on;
538 regulator-always-on;
539 };
540
541 ab8500_ext3_reg: ab8500_ext3 {
542 regulator-compatible = "ab8500_ext3";
543 regulator-min-microvolt = <3400000>;
544 regulator-max-microvolt = <3400000>;
545 regulator-boot-on;
546 };
547 };
548
Lee Jones4a85c7f2012-05-29 14:29:53 +0800549 ab8500-regulators {
550 compatible = "stericsson,ab8500-regulator";
Lee Jones75f09992013-06-07 17:11:20 +0100551 vin-supply = <&ab8500_ext3_reg>;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800552
553 // supplies to the display/camera
554 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530555 regulator-compatible = "ab8500_ldo_aux1";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800556 regulator-min-microvolt = <2500000>;
557 regulator-max-microvolt = <2900000>;
558 regulator-boot-on;
559 /* BUG: If turned off MMC will be affected. */
560 regulator-always-on;
561 };
562
563 // supplies to the on-board eMMC
564 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530565 regulator-compatible = "ab8500_ldo_aux2";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800566 regulator-min-microvolt = <1100000>;
567 regulator-max-microvolt = <3300000>;
568 };
569
570 // supply for VAUX3; SDcard slots
571 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530572 regulator-compatible = "ab8500_ldo_aux3";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800573 regulator-min-microvolt = <1100000>;
574 regulator-max-microvolt = <3300000>;
575 };
576
577 // supply for v-intcore12; VINTCORE12 LDO
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200578 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
579 regulator-compatible = "ab8500_ldo_intcore";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800580 };
581
582 // supply for tvout; gpadc; TVOUT LDO
583 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
Laxman Dewanganda268482012-06-20 17:53:05 +0530584 regulator-compatible = "ab8500_ldo_tvout";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800585 };
586
587 // supply for ab8500-usb; USB LDO
588 ab8500_ldo_usb_reg: ab8500_ldo_usb {
Laxman Dewanganda268482012-06-20 17:53:05 +0530589 regulator-compatible = "ab8500_ldo_usb";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800590 };
591
592 // supply for ab8500-vaudio; VAUDIO LDO
593 ab8500_ldo_audio_reg: ab8500_ldo_audio {
Laxman Dewanganda268482012-06-20 17:53:05 +0530594 regulator-compatible = "ab8500_ldo_audio";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800595 };
596
Fabio Baltieri4aa44872013-05-30 15:27:41 +0200597 // supply for v-anamic1 VAMIC1 LDO
Lee Jones4a85c7f2012-05-29 14:29:53 +0800598 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530599 regulator-compatible = "ab8500_ldo_anamic1";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800600 };
601
602 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
Fabio Baltieri5510ed92013-05-30 15:27:42 +0200603 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
604 regulator-compatible = "ab8500_ldo_anamic2";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800605 };
606
607 // supply for v-dmic; VDMIC LDO
608 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
Laxman Dewanganda268482012-06-20 17:53:05 +0530609 regulator-compatible = "ab8500_ldo_dmic";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800610 };
611
612 // supply for U8500 CSI/DSI; VANA LDO
613 ab8500_ldo_ana_reg: ab8500_ldo_ana {
Laxman Dewanganda268482012-06-20 17:53:05 +0530614 regulator-compatible = "ab8500_ldo_ana";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800615 };
616 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000617 };
618 };
619
620 i2c@80004000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100621 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000622 reg = <0x80004000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200623 interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100624
Lee Jones7e0ce272012-03-15 16:46:17 +0000625 #address-cells = <1>;
626 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100627 v-i2c-supply = <&db8500_vape_reg>;
628
629 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100630 clocks = <&prcc_kclk 3 3>, <&prcc_pclk 3 3>;
631 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000632 };
633
634 i2c@80122000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100635 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000636 reg = <0x80122000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200637 interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100638
Lee Jones7e0ce272012-03-15 16:46:17 +0000639 #address-cells = <1>;
640 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100641 v-i2c-supply = <&db8500_vape_reg>;
642
643 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100644
645 clocks = <&prcc_kclk 1 2>, <&prcc_pclk 1 2>;
646 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000647 };
648
649 i2c@80128000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100650 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000651 reg = <0x80128000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200652 interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100653
Lee Jones7e0ce272012-03-15 16:46:17 +0000654 #address-cells = <1>;
655 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100656 v-i2c-supply = <&db8500_vape_reg>;
657
658 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100659
660 clocks = <&prcc_kclk 1 6>, <&prcc_pclk 1 6>;
661 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000662 };
663
664 i2c@80110000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100665 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000666 reg = <0x80110000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200667 interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100668
Lee Jones7e0ce272012-03-15 16:46:17 +0000669 #address-cells = <1>;
670 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100671 v-i2c-supply = <&db8500_vape_reg>;
672
673 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100674
675 clocks = <&prcc_kclk 2 0>, <&prcc_pclk 2 0>;
676 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000677 };
678
679 i2c@8012a000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100680 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000681 reg = <0x8012a000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200682 interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100683
Lee Jones7e0ce272012-03-15 16:46:17 +0000684 #address-cells = <1>;
685 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100686 v-i2c-supply = <&db8500_vape_reg>;
687
688 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100689
690 clocks = <&prcc_kclk 1 9>, <&prcc_pclk 1 9>;
691 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000692 };
693
694 ssp@80002000 {
695 compatible = "arm,pl022", "arm,primecell";
Lee Jonesc164fa62012-09-07 12:09:34 +0100696 reg = <0x80002000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200697 interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000698 #address-cells = <1>;
699 #size-cells = <0>;
700 status = "disabled";
Lee Jones7e0ce272012-03-15 16:46:17 +0000701 };
702
703 uart@80120000 {
704 compatible = "arm,pl011", "arm,primecell";
705 reg = <0x80120000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200706 interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100707
708 dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
709 <&dma 13 0 0x0>; /* Logical - MemToDev */
710 dma-names = "rx", "tx";
711
Lee Jones5a323fb2013-06-03 13:17:17 +0100712 clocks = <&prcc_kclk 1 0>, <&prcc_pclk 1 0>;
713 clock-names = "uart", "apb_pclk";
714
Lee Jones7e0ce272012-03-15 16:46:17 +0000715 status = "disabled";
716 };
Lee Jonesfbff01c2013-05-03 15:31:49 +0100717
Lee Jones7e0ce272012-03-15 16:46:17 +0000718 uart@80121000 {
719 compatible = "arm,pl011", "arm,primecell";
720 reg = <0x80121000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200721 interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100722
723 dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */
724 <&dma 12 0 0x0>; /* Logical - MemToDev */
725 dma-names = "rx", "tx";
726
Lee Jones5a323fb2013-06-03 13:17:17 +0100727 clocks = <&prcc_kclk 1 1>, <&prcc_pclk 1 1>;
728 clock-names = "uart", "apb_pclk";
729
Lee Jones7e0ce272012-03-15 16:46:17 +0000730 status = "disabled";
731 };
Lee Jonesfbff01c2013-05-03 15:31:49 +0100732
Lee Jones7e0ce272012-03-15 16:46:17 +0000733 uart@80007000 {
734 compatible = "arm,pl011", "arm,primecell";
735 reg = <0x80007000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200736 interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100737
738 dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */
739 <&dma 11 0 0x0>; /* Logical - MemToDev */
740 dma-names = "rx", "tx";
741
Lee Jones5a323fb2013-06-03 13:17:17 +0100742 clocks = <&prcc_kclk 3 6>, <&prcc_pclk 3 6>;
743 clock-names = "uart", "apb_pclk";
744
Lee Jones7e0ce272012-03-15 16:46:17 +0000745 status = "disabled";
746 };
747
Lee Jones81bf8c22012-09-26 12:55:56 +0100748 sdi0_per1@80126000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000749 compatible = "arm,pl18x", "arm,primecell";
750 reg = <0x80126000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200751 interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +0100752
753 dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
754 <&dma 29 0 0x0>; /* Logical - MemToDev */
755 dma-names = "rx", "tx";
756
Lee Jones604be892013-06-06 12:28:50 +0100757 clocks = <&prcc_kclk 1 5>, <&prcc_pclk 1 5>;
758 clock-names = "sdi", "apb_pclk";
759
Lee Jones7e0ce272012-03-15 16:46:17 +0000760 status = "disabled";
761 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100762
Lee Jones81bf8c22012-09-26 12:55:56 +0100763 sdi1_per2@80118000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000764 compatible = "arm,pl18x", "arm,primecell";
765 reg = <0x80118000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200766 interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +0100767
768 dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */
769 <&dma 32 0 0x0>; /* Logical - MemToDev */
770 dma-names = "rx", "tx";
771
Lee Jones604be892013-06-06 12:28:50 +0100772 clocks = <&prcc_kclk 2 4>, <&prcc_pclk 2 6>;
773 clock-names = "sdi", "apb_pclk";
774
Lee Jones7e0ce272012-03-15 16:46:17 +0000775 status = "disabled";
776 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100777
Lee Jones81bf8c22012-09-26 12:55:56 +0100778 sdi2_per3@80005000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000779 compatible = "arm,pl18x", "arm,primecell";
780 reg = <0x80005000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200781 interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +0100782
783 dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */
784 <&dma 28 0 0x0>; /* Logical - MemToDev */
785 dma-names = "rx", "tx";
786
Lee Jones604be892013-06-06 12:28:50 +0100787 clocks = <&prcc_kclk 3 4>, <&prcc_pclk 3 4>;
788 clock-names = "sdi", "apb_pclk";
789
Lee Jones7e0ce272012-03-15 16:46:17 +0000790 status = "disabled";
791 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100792
Lee Jones81bf8c22012-09-26 12:55:56 +0100793 sdi3_per2@80119000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000794 compatible = "arm,pl18x", "arm,primecell";
795 reg = <0x80119000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200796 interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones604be892013-06-06 12:28:50 +0100797
798 clocks = <&prcc_kclk 2 5>, <&prcc_pclk 2 7>;
799 clock-names = "sdi", "apb_pclk";
800
Lee Jones7e0ce272012-03-15 16:46:17 +0000801 status = "disabled";
802 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100803
Lee Jones81bf8c22012-09-26 12:55:56 +0100804 sdi4_per2@80114000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000805 compatible = "arm,pl18x", "arm,primecell";
806 reg = <0x80114000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200807 interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +0100808
809 dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */
810 <&dma 42 0 0x0>; /* Logical - MemToDev */
811 dma-names = "rx", "tx";
812
Lee Jones604be892013-06-06 12:28:50 +0100813 clocks = <&prcc_kclk 2 2>, <&prcc_pclk 2 4>;
814 clock-names = "sdi", "apb_pclk";
815
Lee Jones7e0ce272012-03-15 16:46:17 +0000816 status = "disabled";
817 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100818
Lee Jones81bf8c22012-09-26 12:55:56 +0100819 sdi5_per3@80008000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000820 compatible = "arm,pl18x", "arm,primecell";
Lee Jones76ff4e42012-10-24 11:10:05 +0100821 reg = <0x80008000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200822 interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones604be892013-06-06 12:28:50 +0100823
824 clocks = <&prcc_kclk 3 7>, <&prcc_pclk 3 7>;
825 clock-names = "sdi", "apb_pclk";
826
Lee Jones7e0ce272012-03-15 16:46:17 +0000827 status = "disabled";
828 };
Lee Jonesbf76e062012-04-24 10:53:18 +0100829
Lee Jonesfe164522012-07-31 12:37:16 +0100830 msp0: msp@80123000 {
831 compatible = "stericsson,ux500-msp-i2s";
832 reg = <0x80123000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200833 interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +0100834 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +0100835
836 clocks = <&prcc_kclk 1 3>, <&prcc_pclk 1 3>;
837 clock-names = "msp", "apb_pclk";
838
Lee Jonesfe164522012-07-31 12:37:16 +0100839 status = "disabled";
840 };
841
842 msp1: msp@80124000 {
843 compatible = "stericsson,ux500-msp-i2s";
844 reg = <0x80124000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200845 interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +0100846 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +0100847
848 clocks = <&prcc_kclk 1 4>, <&prcc_pclk 1 4>;
849 clock-names = "msp", "apb_pclk";
850
Lee Jonesfe164522012-07-31 12:37:16 +0100851 status = "disabled";
852 };
853
854 // HDMI sound
855 msp2: msp@80117000 {
856 compatible = "stericsson,ux500-msp-i2s";
857 reg = <0x80117000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200858 interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +0100859 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +0100860
861 clocks = <&prcc_kclk 2 3>, <&prcc_pclk 2 5>;
862 clock-names = "msp", "apb_pclk";
863
Lee Jonesfe164522012-07-31 12:37:16 +0100864 status = "disabled";
865 };
866
867 msp3: msp@80125000 {
868 compatible = "stericsson,ux500-msp-i2s";
869 reg = <0x80125000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200870 interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +0100871 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +0100872
873 clocks = <&prcc_kclk 1 10>, <&prcc_pclk 1 11>;
874 clock-names = "msp", "apb_pclk";
875
Lee Jonesfe164522012-07-31 12:37:16 +0100876 status = "disabled";
877 };
878
Lee Jonesbf76e062012-04-24 10:53:18 +0100879 external-bus@50000000 {
880 compatible = "simple-bus";
881 reg = <0x50000000 0x4000000>;
882 #address-cells = <1>;
883 #size-cells = <1>;
884 ranges = <0 0x50000000 0x4000000>;
885 status = "disabled";
886 };
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800887
888 cpufreq-cooling {
889 compatible = "stericsson,db8500-cpufreq-cooling";
890 status = "disabled";
891 };
892
Lee Jones0563f632012-10-24 11:18:14 +0100893 vmmci: regulator-gpio {
894 compatible = "regulator-gpio";
895
896 regulator-min-microvolt = <1800000>;
Lee Jones4f902b42012-12-06 14:00:01 +0000897 regulator-max-microvolt = <2900000>;
Lee Jones0563f632012-10-24 11:18:14 +0100898 regulator-name = "mmci-reg";
899 regulator-type = "voltage";
900
Lee Jones874c9202012-12-07 13:46:01 +0000901 startup-delay-us = <100>;
Lee Jonese7bda302012-12-06 15:00:46 +0000902 enable-active-high;
903
Lee Jones0563f632012-10-24 11:18:14 +0100904 states = <1800000 0x1
905 2900000 0x0>;
Lee Jonesc94a4ab2012-11-15 13:02:16 +0000906
907 status = "disabled";
Lee Jones0563f632012-10-24 11:18:14 +0100908 };
Lee Jonesfe2e9f92013-05-16 12:27:21 +0100909
910 cryp@a03cb000 {
911 compatible = "stericsson,ux500-cryp";
912 reg = <0xa03cb000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200913 interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe2e9f92013-05-16 12:27:21 +0100914
915 v-ape-supply = <&db8500_vape_reg>;
Lee Jonesfe2e9f92013-05-16 12:27:21 +0100916 };
Lee Jones61122cf2013-05-16 12:27:22 +0100917
918 hash@a03c2000 {
919 compatible = "stericsson,ux500-hash";
920 reg = <0xa03c2000 0x1000>;
921
922 v-ape-supply = <&db8500_vape_reg>;
Lee Jones61122cf2013-05-16 12:27:22 +0100923 };
Arnd Bergmann5d0769f2012-03-02 23:07:21 +0000924 };
925};