blob: 4e40bc5a9d2df3c8b1eff30c5bc4ae52245390db [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
12/include/ "skeleton.dtsi"
13
14/ {
Gabriel Fernandezb1ba1432013-03-01 14:38:07 +010015 soc {
Arnd Bergmann5d0769f2012-03-02 23:07:21 +000016 #address-cells = <1>;
17 #size-cells = <1>;
Lee Jones7e0ce272012-03-15 16:46:17 +000018 compatible = "stericsson,db8500";
Lee Jonesdab64872012-03-07 17:22:30 +000019 interrupt-parent = <&intc>;
Arnd Bergmann5d0769f2012-03-02 23:07:21 +000020 ranges;
Lee Jones7e0ce272012-03-15 16:46:17 +000021
Lee Jonesdab64872012-03-07 17:22:30 +000022 intc: interrupt-controller@a0411000 {
23 compatible = "arm,cortex-a9-gic";
24 #interrupt-cells = <3>;
25 #address-cells = <1>;
26 interrupt-controller;
Lee Jonesdab64872012-03-07 17:22:30 +000027 reg = <0xa0411000 0x1000>,
28 <0xa0410100 0x100>;
29 };
30
Lee Jonesf1949ea2012-03-08 09:02:02 +000031 L2: l2-cache {
32 compatible = "arm,pl310-cache";
33 reg = <0xa0412000 0x1000>;
34 interrupts = <0 13 4>;
35 cache-unified;
36 cache-level = <2>;
37 };
38
Lee Jones7e0ce272012-03-15 16:46:17 +000039 pmu {
40 compatible = "arm,cortex-a9-pmu";
41 interrupts = <0 7 0x4>;
42 };
43
Lee Jones71de5c42012-03-16 09:53:24 +000044 timer@a0410600 {
45 compatible = "arm,cortex-a9-twd-timer";
46 reg = <0xa0410600 0x20>;
47 interrupts = <1 13 0x304>;
48 };
49
Lee Jones7e0ce272012-03-15 16:46:17 +000050 rtc@80154000 {
Lee Jonesddb3b992012-05-26 07:01:31 +010051 compatible = "arm,rtc-pl031", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +000052 reg = <0x80154000 0x1000>;
53 interrupts = <0 18 0x4>;
54 };
55
56 gpio0: gpio@8012e000 {
57 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +010058 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +000059 reg = <0x8012e000 0x80>;
60 interrupts = <0 119 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +080061 interrupt-controller;
62 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +010063 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +000064 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +010065 #gpio-cells = <2>;
66 gpio-bank = <0>;
Lee Jones7e0ce272012-03-15 16:46:17 +000067 };
68
69 gpio1: gpio@8012e080 {
70 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +010071 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +000072 reg = <0x8012e080 0x80>;
73 interrupts = <0 120 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +080074 interrupt-controller;
75 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +010076 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +000077 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +010078 #gpio-cells = <2>;
79 gpio-bank = <1>;
Lee Jones7e0ce272012-03-15 16:46:17 +000080 };
81
82 gpio2: gpio@8000e000 {
83 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +010084 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +000085 reg = <0x8000e000 0x80>;
86 interrupts = <0 121 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +080087 interrupt-controller;
88 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +010089 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +000090 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +010091 #gpio-cells = <2>;
92 gpio-bank = <2>;
Lee Jones7e0ce272012-03-15 16:46:17 +000093 };
94
95 gpio3: gpio@8000e080 {
96 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +010097 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +000098 reg = <0x8000e080 0x80>;
99 interrupts = <0 122 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +0800100 interrupt-controller;
101 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100102 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000103 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100104 #gpio-cells = <2>;
105 gpio-bank = <3>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000106 };
107
108 gpio4: gpio@8000e100 {
109 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100110 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000111 reg = <0x8000e100 0x80>;
112 interrupts = <0 123 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +0800113 interrupt-controller;
114 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100115 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000116 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100117 #gpio-cells = <2>;
118 gpio-bank = <4>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000119 };
120
121 gpio5: gpio@8000e180 {
122 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100123 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000124 reg = <0x8000e180 0x80>;
125 interrupts = <0 124 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +0800126 interrupt-controller;
127 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100128 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000129 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100130 #gpio-cells = <2>;
131 gpio-bank = <5>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000132 };
133
134 gpio6: gpio@8011e000 {
135 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100136 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000137 reg = <0x8011e000 0x80>;
138 interrupts = <0 125 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +0800139 interrupt-controller;
140 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100141 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000142 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100143 #gpio-cells = <2>;
144 gpio-bank = <6>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000145 };
146
147 gpio7: gpio@8011e080 {
148 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100149 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000150 reg = <0x8011e080 0x80>;
151 interrupts = <0 126 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +0800152 interrupt-controller;
153 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100154 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000155 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100156 #gpio-cells = <2>;
157 gpio-bank = <7>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000158 };
159
160 gpio8: gpio@a03fe000 {
161 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100162 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000163 reg = <0xa03fe000 0x80>;
164 interrupts = <0 127 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +0800165 interrupt-controller;
166 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100167 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000168 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100169 #gpio-cells = <2>;
170 gpio-bank = <8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000171 };
172
Lee Jones8979cfe2013-01-11 15:45:28 +0000173 pinctrl {
Lee Jones818d99a2013-05-22 15:22:55 +0100174 compatible = "stericsson,db8500-pinctrl";
Lee Jones8979cfe2013-01-11 15:45:28 +0000175 prcm = <&prcmu>;
Lee Jones5910de92012-05-26 06:25:36 +0100176 };
177
Lee Jonesb32dc862013-05-03 15:31:51 +0100178 usb_per5@a03e0000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000179 compatible = "stericsson,db8500-musb",
180 "mentor,musb";
181 reg = <0xa03e0000 0x10000>;
182 interrupts = <0 23 0x4>;
Lee Jonesb32dc862013-05-03 15:31:51 +0100183 interrupt-names = "mc";
184
185 dr_mode = "otg";
186
187 dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */
188 <&dma 38 0 0x0>, /* Logical - MemToDev */
189 <&dma 37 0 0x2>, /* Logical - DevToMem */
190 <&dma 37 0 0x0>, /* Logical - MemToDev */
191 <&dma 36 0 0x2>, /* Logical - DevToMem */
192 <&dma 36 0 0x0>, /* Logical - MemToDev */
193 <&dma 19 0 0x2>, /* Logical - DevToMem */
194 <&dma 19 0 0x0>, /* Logical - MemToDev */
195 <&dma 18 0 0x2>, /* Logical - DevToMem */
196 <&dma 18 0 0x0>, /* Logical - MemToDev */
197 <&dma 17 0 0x2>, /* Logical - DevToMem */
198 <&dma 17 0 0x0>, /* Logical - MemToDev */
199 <&dma 16 0 0x2>, /* Logical - DevToMem */
200 <&dma 16 0 0x0>, /* Logical - MemToDev */
201 <&dma 39 0 0x2>, /* Logical - DevToMem */
202 <&dma 39 0 0x0>; /* Logical - MemToDev */
203
204 dma-names = "iep_1_9", "oep_1_9",
205 "iep_2_10", "oep_2_10",
206 "iep_3_11", "oep_3_11",
207 "iep_4_12", "oep_4_12",
208 "iep_5_13", "oep_5_13",
209 "iep_6_14", "oep_6_14",
210 "iep_7_15", "oep_7_15",
211 "iep_8", "oep_8";
Lee Jones7e0ce272012-03-15 16:46:17 +0000212 };
213
Lee Jonesba074ae2013-05-03 15:31:48 +0100214 dma: dma-controller@801C0000 {
215 compatible = "stericsson,db8500-dma40", "stericsson,dma40";
Lee Jones7e0ce272012-03-15 16:46:17 +0000216 reg = <0x801C0000 0x1000 0x40010000 0x800>;
Lee Jones70d39a82013-05-03 15:31:47 +0100217 reg-names = "base", "lcpa";
Lee Jones7e0ce272012-03-15 16:46:17 +0000218 interrupts = <0 25 0x4>;
Lee Jonesba074ae2013-05-03 15:31:48 +0100219
220 #dma-cells = <3>;
Lee Jonesd37fcdb2013-05-03 15:31:52 +0100221 memcpy-channels = <56 57 58 59 60>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000222 };
223
Lee Jones8979cfe2013-01-11 15:45:28 +0000224 prcmu: prcmu@80157000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000225 compatible = "stericsson,db8500-prcmu";
Linus Torvalds4d26aa32013-05-02 08:56:55 -0700226 reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
Lee Jonese73081d2013-03-26 10:26:15 +0000227 reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
Lee Jonesccf74f72012-05-28 16:50:49 +0800228 interrupts = <0 47 0x4>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000229 #address-cells = <1>;
Lee Jones3de3d742012-04-24 10:00:15 +0100230 #size-cells = <1>;
Lee Jonesc09090b2012-08-03 15:42:25 +0100231 interrupt-controller;
232 #interrupt-cells = <2>;
Lee Jones3de3d742012-04-24 10:00:15 +0100233 ranges;
234
Lee Jonesccf74f72012-05-28 16:50:49 +0800235 prcmu-timer-4@80157450 {
Lee Jones3de3d742012-04-24 10:00:15 +0100236 compatible = "stericsson,db8500-prcmu-timer-4";
237 reg = <0x80157450 0xC>;
238 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000239
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800240 thermal@801573c0 {
241 compatible = "stericsson,db8500-thermal";
242 reg = <0x801573c0 0x40>;
243 interrupts = <21 0x4>, <22 0x4>;
244 interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
245 status = "disabled";
246 };
247
Lee Jonese5999f22012-05-04 13:32:34 +0100248 db8500-prcmu-regulators {
249 compatible = "stericsson,db8500-prcmu-regulator";
250
251 // DB8500_REGULATOR_VAPE
252 db8500_vape_reg: db8500_vape {
Laxman Dewanganda268482012-06-20 17:53:05 +0530253 regulator-compatible = "db8500_vape";
Lee Jonese5999f22012-05-04 13:32:34 +0100254 regulator-always-on;
255 };
256
257 // DB8500_REGULATOR_VARM
258 db8500_varm_reg: db8500_varm {
Laxman Dewanganda268482012-06-20 17:53:05 +0530259 regulator-compatible = "db8500_varm";
Lee Jonese5999f22012-05-04 13:32:34 +0100260 };
261
262 // DB8500_REGULATOR_VMODEM
263 db8500_vmodem_reg: db8500_vmodem {
Laxman Dewanganda268482012-06-20 17:53:05 +0530264 regulator-compatible = "db8500_vmodem";
Lee Jonese5999f22012-05-04 13:32:34 +0100265 };
266
267 // DB8500_REGULATOR_VPLL
268 db8500_vpll_reg: db8500_vpll {
Laxman Dewanganda268482012-06-20 17:53:05 +0530269 regulator-compatible = "db8500_vpll";
Lee Jonese5999f22012-05-04 13:32:34 +0100270 };
271
272 // DB8500_REGULATOR_VSMPS1
273 db8500_vsmps1_reg: db8500_vsmps1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530274 regulator-compatible = "db8500_vsmps1";
Lee Jonese5999f22012-05-04 13:32:34 +0100275 };
276
277 // DB8500_REGULATOR_VSMPS2
278 db8500_vsmps2_reg: db8500_vsmps2 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530279 regulator-compatible = "db8500_vsmps2";
Lee Jonese5999f22012-05-04 13:32:34 +0100280 };
281
282 // DB8500_REGULATOR_VSMPS3
283 db8500_vsmps3_reg: db8500_vsmps3 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530284 regulator-compatible = "db8500_vsmps3";
Lee Jonese5999f22012-05-04 13:32:34 +0100285 };
286
287 // DB8500_REGULATOR_VRF1
288 db8500_vrf1_reg: db8500_vrf1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530289 regulator-compatible = "db8500_vrf1";
Lee Jonese5999f22012-05-04 13:32:34 +0100290 };
291
292 // DB8500_REGULATOR_SWITCH_SVAMMDSP
293 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
Laxman Dewanganda268482012-06-20 17:53:05 +0530294 regulator-compatible = "db8500_sva_mmdsp";
Lee Jonese5999f22012-05-04 13:32:34 +0100295 };
296
297 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
298 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
Laxman Dewanganda268482012-06-20 17:53:05 +0530299 regulator-compatible = "db8500_sva_mmdsp_ret";
Lee Jonese5999f22012-05-04 13:32:34 +0100300 };
301
302 // DB8500_REGULATOR_SWITCH_SVAPIPE
303 db8500_sva_pipe_reg: db8500_sva_pipe {
Laxman Dewanganda268482012-06-20 17:53:05 +0530304 regulator-compatible = "db8500_sva_pipe";
Lee Jonese5999f22012-05-04 13:32:34 +0100305 };
306
307 // DB8500_REGULATOR_SWITCH_SIAMMDSP
308 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
Laxman Dewanganda268482012-06-20 17:53:05 +0530309 regulator-compatible = "db8500_sia_mmdsp";
Lee Jonese5999f22012-05-04 13:32:34 +0100310 };
311
312 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
313 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
Lee Jonese5999f22012-05-04 13:32:34 +0100314 };
315
316 // DB8500_REGULATOR_SWITCH_SIAPIPE
317 db8500_sia_pipe_reg: db8500_sia_pipe {
Laxman Dewanganda268482012-06-20 17:53:05 +0530318 regulator-compatible = "db8500_sia_pipe";
Lee Jonese5999f22012-05-04 13:32:34 +0100319 };
320
321 // DB8500_REGULATOR_SWITCH_SGA
322 db8500_sga_reg: db8500_sga {
Laxman Dewanganda268482012-06-20 17:53:05 +0530323 regulator-compatible = "db8500_sga";
Lee Jonese5999f22012-05-04 13:32:34 +0100324 vin-supply = <&db8500_vape_reg>;
325 };
326
327 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
328 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
Laxman Dewanganda268482012-06-20 17:53:05 +0530329 regulator-compatible = "db8500_b2r2_mcde";
Lee Jonese5999f22012-05-04 13:32:34 +0100330 vin-supply = <&db8500_vape_reg>;
331 };
332
333 // DB8500_REGULATOR_SWITCH_ESRAM12
334 db8500_esram12_reg: db8500_esram12 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530335 regulator-compatible = "db8500_esram12";
Lee Jonese5999f22012-05-04 13:32:34 +0100336 };
337
338 // DB8500_REGULATOR_SWITCH_ESRAM12RET
339 db8500_esram12_ret_reg: db8500_esram12_ret {
Laxman Dewanganda268482012-06-20 17:53:05 +0530340 regulator-compatible = "db8500_esram12_ret";
Lee Jonese5999f22012-05-04 13:32:34 +0100341 };
342
343 // DB8500_REGULATOR_SWITCH_ESRAM34
344 db8500_esram34_reg: db8500_esram34 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530345 regulator-compatible = "db8500_esram34";
Lee Jonese5999f22012-05-04 13:32:34 +0100346 };
347
348 // DB8500_REGULATOR_SWITCH_ESRAM34RET
349 db8500_esram34_ret_reg: db8500_esram34_ret {
Laxman Dewanganda268482012-06-20 17:53:05 +0530350 regulator-compatible = "db8500_esram34_ret";
Lee Jonese5999f22012-05-04 13:32:34 +0100351 };
352 };
353
Arnd Bergmannd52701d32013-03-12 09:39:01 +0100354 ab8500 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000355 compatible = "stericsson,ab8500";
Lee Jones8d4c6d42012-08-03 20:37:35 +0100356 interrupt-parent = <&intc>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000357 interrupts = <0 40 0x4>;
Lee Jones732973c2012-05-29 10:49:33 +0800358 interrupt-controller;
359 #interrupt-cells = <2>;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800360
Lee Jonesd4b29ac2012-05-26 07:03:48 +0100361 ab8500-rtc {
362 compatible = "stericsson,ab8500-rtc";
363 interrupts = <17 0x4
364 18 0x4>;
365 interrupt-names = "60S", "ALARM";
366 };
367
Lee Jones4eda9122012-05-28 16:59:26 +0800368 ab8500-gpadc {
369 compatible = "stericsson,ab8500-gpadc";
Lee Jones732973c2012-05-29 10:49:33 +0800370 interrupts = <32 0x4
371 39 0x4>;
Lee Jones4eda9122012-05-28 16:59:26 +0800372 interrupt-names = "HW_CONV_END", "SW_CONV_END";
373 vddadc-supply = <&ab8500_ldo_tvout_reg>;
374 };
375
Rajanikanth H.Ve0f1abe2012-11-18 18:45:41 -0800376 ab8500_battery: ab8500_battery {
377 stericsson,battery-type = "LIPO";
378 thermistor-on-batctrl;
379 };
380
381 ab8500_fg {
382 compatible = "stericsson,ab8500-fg";
383 battery = <&ab8500_battery>;
384 };
385
Rajanikanth H.Vbd9e8ab2012-11-18 19:16:58 -0800386 ab8500_btemp {
387 compatible = "stericsson,ab8500-btemp";
388 battery = <&ab8500_battery>;
389 };
390
Rajanikanth H.V4aef72d2012-11-18 19:17:47 -0800391 ab8500_charger {
392 compatible = "stericsson,ab8500-charger";
393 battery = <&ab8500_battery>;
394 vddadc-supply = <&ab8500_ldo_tvout_reg>;
395 };
396
Rajanikanth H.Va12810a2012-10-31 15:40:33 +0000397 ab8500_chargalg {
398 compatible = "stericsson,ab8500-chargalg";
399 battery = <&ab8500_battery>;
400 };
401
Rajanikanth H.Ve0f1abe2012-11-18 18:45:41 -0800402 ab8500_usb {
Lee Jonesee189ce2012-05-03 14:40:24 +0100403 compatible = "stericsson,ab8500-usb";
Lee Jones732973c2012-05-29 10:49:33 +0800404 interrupts = < 90 0x4
405 96 0x4
406 14 0x4
407 15 0x4
408 79 0x4
409 74 0x4
410 75 0x4>;
Lee Jonesee189ce2012-05-03 14:40:24 +0100411 interrupt-names = "ID_WAKEUP_R",
412 "ID_WAKEUP_F",
413 "VBUS_DET_F",
414 "VBUS_DET_R",
415 "USB_LINK_STATUS",
416 "USB_ADP_PROBE_PLUG",
417 "USB_ADP_PROBE_UNPLUG";
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200418 vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
Lee Jonesee189ce2012-05-03 14:40:24 +0100419 v-ape-supply = <&db8500_vape_reg>;
420 musb_1v8-supply = <&db8500_vsmps2_reg>;
421 };
422
Lee Jones12cb7bd2012-05-02 08:45:40 +0100423 ab8500-ponkey {
Lee Jones74630702012-08-09 13:00:12 +0100424 compatible = "stericsson,ab8500-poweron-key";
Lee Jones732973c2012-05-29 10:49:33 +0800425 interrupts = <6 0x4
426 7 0x4>;
Lee Jones12cb7bd2012-05-02 08:45:40 +0100427 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
428 };
429
Lee Jones401cd1b2012-05-03 12:53:55 +0100430 ab8500-sysctrl {
431 compatible = "stericsson,ab8500-sysctrl";
432 };
433
Lee Jones78451de2012-05-03 13:03:59 +0100434 ab8500-pwm {
435 compatible = "stericsson,ab8500-pwm";
436 };
437
Lee Jones215891e2012-05-01 16:11:19 +0100438 ab8500-debugfs {
439 compatible = "stericsson,ab8500-debug";
440 };
Lee Jones4a85c7f2012-05-29 14:29:53 +0800441
Lee Jones9c06af32012-07-25 12:50:13 +0100442 codec: ab8500-codec {
443 compatible = "stericsson,ab8500-codec";
444
445 stericsson,earpeice-cmv = <950>; /* Units in mV. */
446 };
447
Lee Jones4a85c7f2012-05-29 14:29:53 +0800448 ab8500-regulators {
449 compatible = "stericsson,ab8500-regulator";
450
451 // supplies to the display/camera
452 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530453 regulator-compatible = "ab8500_ldo_aux1";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800454 regulator-min-microvolt = <2500000>;
455 regulator-max-microvolt = <2900000>;
456 regulator-boot-on;
457 /* BUG: If turned off MMC will be affected. */
458 regulator-always-on;
459 };
460
461 // supplies to the on-board eMMC
462 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530463 regulator-compatible = "ab8500_ldo_aux2";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800464 regulator-min-microvolt = <1100000>;
465 regulator-max-microvolt = <3300000>;
466 };
467
468 // supply for VAUX3; SDcard slots
469 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530470 regulator-compatible = "ab8500_ldo_aux3";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800471 regulator-min-microvolt = <1100000>;
472 regulator-max-microvolt = <3300000>;
473 };
474
475 // supply for v-intcore12; VINTCORE12 LDO
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200476 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
477 regulator-compatible = "ab8500_ldo_intcore";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800478 };
479
480 // supply for tvout; gpadc; TVOUT LDO
481 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
Laxman Dewanganda268482012-06-20 17:53:05 +0530482 regulator-compatible = "ab8500_ldo_tvout";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800483 };
484
485 // supply for ab8500-usb; USB LDO
486 ab8500_ldo_usb_reg: ab8500_ldo_usb {
Laxman Dewanganda268482012-06-20 17:53:05 +0530487 regulator-compatible = "ab8500_ldo_usb";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800488 };
489
490 // supply for ab8500-vaudio; VAUDIO LDO
491 ab8500_ldo_audio_reg: ab8500_ldo_audio {
Laxman Dewanganda268482012-06-20 17:53:05 +0530492 regulator-compatible = "ab8500_ldo_audio";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800493 };
494
495 // supply for v-anamic1 VAMic1-LDO
496 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530497 regulator-compatible = "ab8500_ldo_anamic1";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800498 };
499
500 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
501 ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530502 regulator-compatible = "ab8500_ldo_amamic2";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800503 };
504
505 // supply for v-dmic; VDMIC LDO
506 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
Laxman Dewanganda268482012-06-20 17:53:05 +0530507 regulator-compatible = "ab8500_ldo_dmic";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800508 };
509
510 // supply for U8500 CSI/DSI; VANA LDO
511 ab8500_ldo_ana_reg: ab8500_ldo_ana {
Laxman Dewanganda268482012-06-20 17:53:05 +0530512 regulator-compatible = "ab8500_ldo_ana";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800513 };
514 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000515 };
516 };
517
518 i2c@80004000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100519 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000520 reg = <0x80004000 0x1000>;
521 interrupts = <0 21 0x4>;
Lee Jones35b33d22012-10-24 11:07:02 +0100522 arm,primecell-periphid = <0x180024>;
523
Lee Jones7e0ce272012-03-15 16:46:17 +0000524 #address-cells = <1>;
525 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100526 v-i2c-supply = <&db8500_vape_reg>;
527
528 clock-frequency = <400000>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000529 };
530
531 i2c@80122000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100532 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000533 reg = <0x80122000 0x1000>;
534 interrupts = <0 22 0x4>;
Lee Jones35b33d22012-10-24 11:07:02 +0100535 arm,primecell-periphid = <0x180024>;
536
Lee Jones7e0ce272012-03-15 16:46:17 +0000537 #address-cells = <1>;
538 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100539 v-i2c-supply = <&db8500_vape_reg>;
540
541 clock-frequency = <400000>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000542 };
543
544 i2c@80128000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100545 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000546 reg = <0x80128000 0x1000>;
547 interrupts = <0 55 0x4>;
Lee Jones35b33d22012-10-24 11:07:02 +0100548 arm,primecell-periphid = <0x180024>;
549
Lee Jones7e0ce272012-03-15 16:46:17 +0000550 #address-cells = <1>;
551 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100552 v-i2c-supply = <&db8500_vape_reg>;
553
554 clock-frequency = <400000>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000555 };
556
557 i2c@80110000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100558 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000559 reg = <0x80110000 0x1000>;
560 interrupts = <0 12 0x4>;
Lee Jones35b33d22012-10-24 11:07:02 +0100561 arm,primecell-periphid = <0x180024>;
562
Lee Jones7e0ce272012-03-15 16:46:17 +0000563 #address-cells = <1>;
564 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100565 v-i2c-supply = <&db8500_vape_reg>;
566
567 clock-frequency = <400000>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000568 };
569
570 i2c@8012a000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100571 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000572 reg = <0x8012a000 0x1000>;
573 interrupts = <0 51 0x4>;
Lee Jones35b33d22012-10-24 11:07:02 +0100574 arm,primecell-periphid = <0x180024>;
575
Lee Jones7e0ce272012-03-15 16:46:17 +0000576 #address-cells = <1>;
577 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100578 v-i2c-supply = <&db8500_vape_reg>;
579
580 clock-frequency = <400000>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000581 };
582
583 ssp@80002000 {
584 compatible = "arm,pl022", "arm,primecell";
Lee Jonesc164fa62012-09-07 12:09:34 +0100585 reg = <0x80002000 0x1000>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000586 interrupts = <0 14 0x4>;
587 #address-cells = <1>;
588 #size-cells = <0>;
589 status = "disabled";
Lee Jones15daf692012-03-15 16:47:11 +0000590
591 // Add one of these for each child device
Lee Jones93b56982012-05-29 14:17:36 +0800592 cs-gpios = <&gpio0 31 0x4 &gpio4 14 0x4 &gpio4 16 0x4
593 &gpio6 22 0x4 &gpio7 0 0x4>;
Lee Jones15daf692012-03-15 16:47:11 +0000594
Lee Jones7e0ce272012-03-15 16:46:17 +0000595 };
596
597 uart@80120000 {
598 compatible = "arm,pl011", "arm,primecell";
599 reg = <0x80120000 0x1000>;
600 interrupts = <0 11 0x4>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100601
602 dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
603 <&dma 13 0 0x0>; /* Logical - MemToDev */
604 dma-names = "rx", "tx";
605
Lee Jones7e0ce272012-03-15 16:46:17 +0000606 status = "disabled";
607 };
Lee Jonesfbff01c2013-05-03 15:31:49 +0100608
Lee Jones7e0ce272012-03-15 16:46:17 +0000609 uart@80121000 {
610 compatible = "arm,pl011", "arm,primecell";
611 reg = <0x80121000 0x1000>;
612 interrupts = <0 19 0x4>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100613
614 dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */
615 <&dma 12 0 0x0>; /* Logical - MemToDev */
616 dma-names = "rx", "tx";
617
Lee Jones7e0ce272012-03-15 16:46:17 +0000618 status = "disabled";
619 };
Lee Jonesfbff01c2013-05-03 15:31:49 +0100620
Lee Jones7e0ce272012-03-15 16:46:17 +0000621 uart@80007000 {
622 compatible = "arm,pl011", "arm,primecell";
623 reg = <0x80007000 0x1000>;
624 interrupts = <0 26 0x4>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100625
626 dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */
627 <&dma 11 0 0x0>; /* Logical - MemToDev */
628 dma-names = "rx", "tx";
629
Lee Jones7e0ce272012-03-15 16:46:17 +0000630 status = "disabled";
631 };
632
Lee Jones81bf8c22012-09-26 12:55:56 +0100633 sdi0_per1@80126000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000634 compatible = "arm,pl18x", "arm,primecell";
635 reg = <0x80126000 0x1000>;
636 interrupts = <0 60 0x4>;
Lee Jones498315b92013-05-03 15:31:50 +0100637
638 dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
639 <&dma 29 0 0x0>; /* Logical - MemToDev */
640 dma-names = "rx", "tx";
641
Lee Jones7e0ce272012-03-15 16:46:17 +0000642 status = "disabled";
643 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100644
Lee Jones81bf8c22012-09-26 12:55:56 +0100645 sdi1_per2@80118000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000646 compatible = "arm,pl18x", "arm,primecell";
647 reg = <0x80118000 0x1000>;
648 interrupts = <0 50 0x4>;
Lee Jones498315b92013-05-03 15:31:50 +0100649
650 dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */
651 <&dma 32 0 0x0>; /* Logical - MemToDev */
652 dma-names = "rx", "tx";
653
Lee Jones7e0ce272012-03-15 16:46:17 +0000654 status = "disabled";
655 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100656
Lee Jones81bf8c22012-09-26 12:55:56 +0100657 sdi2_per3@80005000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000658 compatible = "arm,pl18x", "arm,primecell";
659 reg = <0x80005000 0x1000>;
660 interrupts = <0 41 0x4>;
Lee Jones498315b92013-05-03 15:31:50 +0100661
662 dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */
663 <&dma 28 0 0x0>; /* Logical - MemToDev */
664 dma-names = "rx", "tx";
665
Lee Jones7e0ce272012-03-15 16:46:17 +0000666 status = "disabled";
667 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100668
Lee Jones81bf8c22012-09-26 12:55:56 +0100669 sdi3_per2@80119000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000670 compatible = "arm,pl18x", "arm,primecell";
671 reg = <0x80119000 0x1000>;
672 interrupts = <0 59 0x4>;
673 status = "disabled";
674 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100675
Lee Jones81bf8c22012-09-26 12:55:56 +0100676 sdi4_per2@80114000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000677 compatible = "arm,pl18x", "arm,primecell";
678 reg = <0x80114000 0x1000>;
679 interrupts = <0 99 0x4>;
Lee Jones498315b92013-05-03 15:31:50 +0100680
681 dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */
682 <&dma 42 0 0x0>; /* Logical - MemToDev */
683 dma-names = "rx", "tx";
684
Lee Jones7e0ce272012-03-15 16:46:17 +0000685 status = "disabled";
686 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100687
Lee Jones81bf8c22012-09-26 12:55:56 +0100688 sdi5_per3@80008000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000689 compatible = "arm,pl18x", "arm,primecell";
Lee Jones76ff4e42012-10-24 11:10:05 +0100690 reg = <0x80008000 0x1000>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000691 interrupts = <0 100 0x4>;
692 status = "disabled";
693 };
Lee Jonesbf76e062012-04-24 10:53:18 +0100694
Lee Jonesfe164522012-07-31 12:37:16 +0100695 msp0: msp@80123000 {
696 compatible = "stericsson,ux500-msp-i2s";
697 reg = <0x80123000 0x1000>;
698 interrupts = <0 31 0x4>;
699 v-ape-supply = <&db8500_vape_reg>;
700 status = "disabled";
701 };
702
703 msp1: msp@80124000 {
704 compatible = "stericsson,ux500-msp-i2s";
705 reg = <0x80124000 0x1000>;
706 interrupts = <0 62 0x4>;
707 v-ape-supply = <&db8500_vape_reg>;
708 status = "disabled";
709 };
710
711 // HDMI sound
712 msp2: msp@80117000 {
713 compatible = "stericsson,ux500-msp-i2s";
714 reg = <0x80117000 0x1000>;
715 interrupts = <0 98 0x4>;
716 v-ape-supply = <&db8500_vape_reg>;
717 status = "disabled";
718 };
719
720 msp3: msp@80125000 {
721 compatible = "stericsson,ux500-msp-i2s";
722 reg = <0x80125000 0x1000>;
723 interrupts = <0 62 0x4>;
724 v-ape-supply = <&db8500_vape_reg>;
725 status = "disabled";
726 };
727
Lee Jonesbf76e062012-04-24 10:53:18 +0100728 external-bus@50000000 {
729 compatible = "simple-bus";
730 reg = <0x50000000 0x4000000>;
731 #address-cells = <1>;
732 #size-cells = <1>;
733 ranges = <0 0x50000000 0x4000000>;
734 status = "disabled";
735 };
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800736
737 cpufreq-cooling {
738 compatible = "stericsson,db8500-cpufreq-cooling";
739 status = "disabled";
740 };
741
Lee Jones0563f632012-10-24 11:18:14 +0100742 vmmci: regulator-gpio {
743 compatible = "regulator-gpio";
744
745 regulator-min-microvolt = <1800000>;
Lee Jones4f902b42012-12-06 14:00:01 +0000746 regulator-max-microvolt = <2900000>;
Lee Jones0563f632012-10-24 11:18:14 +0100747 regulator-name = "mmci-reg";
748 regulator-type = "voltage";
749
Lee Jones874c9202012-12-07 13:46:01 +0000750 startup-delay-us = <100>;
Lee Jonese7bda302012-12-06 15:00:46 +0000751 enable-active-high;
752
Lee Jones0563f632012-10-24 11:18:14 +0100753 states = <1800000 0x1
754 2900000 0x0>;
Lee Jonesc94a4ab2012-11-15 13:02:16 +0000755
756 status = "disabled";
Lee Jones0563f632012-10-24 11:18:14 +0100757 };
Lee Jonesfe2e9f92013-05-16 12:27:21 +0100758
759 cryp@a03cb000 {
760 compatible = "stericsson,ux500-cryp";
761 reg = <0xa03cb000 0x1000>;
762 interrupts = <0 15 0x4>;
763
764 v-ape-supply = <&db8500_vape_reg>;
Lee Jonesfe2e9f92013-05-16 12:27:21 +0100765 };
Lee Jones61122cf2013-05-16 12:27:22 +0100766
767 hash@a03c2000 {
768 compatible = "stericsson,ux500-hash";
769 reg = <0xa03c2000 0x1000>;
770
771 v-ape-supply = <&db8500_vape_reg>;
Lee Jones61122cf2013-05-16 12:27:22 +0100772 };
Arnd Bergmann5d0769f2012-03-02 23:07:21 +0000773 };
774};