blob: 80b0304dd441880366f5b1b560faf8670ca709ef [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 Jones841cd0c2013-09-18 09:53:10 +010046 clocks {
47 compatible = "stericsson,u8500-clks";
48
49 prcmu_clk: prcmu-clock {
50 #clock-cells = <1>;
51 };
Lee Jonesfcbe5e92013-06-06 10:51:04 +010052
53 prcc_pclk: prcc-periph-clock {
54 #clock-cells = <2>;
55 };
Lee Jones2588fea2013-06-06 10:52:50 +010056
57 prcc_kclk: prcc-kernel-clock {
58 #clock-cells = <2>;
59 };
Lee Jones589d9832013-06-06 10:54:27 +010060
61 rtc_clk: rtc32k-clock {
62 #clock-cells = <0>;
63 };
Lee Jones309012d2013-06-06 10:54:48 +010064
65 smp_twd_clk: smp-twd-clock {
66 #clock-cells = <0>;
67 };
Lee Jones841cd0c2013-09-18 09:53:10 +010068 };
69
Lee Jones71de5c42012-03-16 09:53:24 +000070 timer@a0410600 {
71 compatible = "arm,cortex-a9-twd-timer";
72 reg = <0xa0410600 0x20>;
Linus Walleij90c40252013-05-29 19:15:39 +020073 interrupts = <1 13 0x304>; /* IRQ level high per-CPU */
Lee Jonesa8acb1e2013-06-05 12:26:52 +010074
75 clocks = <&smp_twd_clk>;
Lee Jones71de5c42012-03-16 09:53:24 +000076 };
77
Lee Jones7e0ce272012-03-15 16:46:17 +000078 rtc@80154000 {
Lee Jonesddb3b992012-05-26 07:01:31 +010079 compatible = "arm,rtc-pl031", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +000080 reg = <0x80154000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +020081 interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesd299b5a2013-06-05 12:27:24 +010082
83 clocks = <&rtc_clk>;
84 clock-names = "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +000085 };
86
87 gpio0: gpio@8012e000 {
88 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +010089 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +000090 reg = <0x8012e000 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +020091 interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +080092 interrupt-controller;
93 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +010094 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +000095 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +010096 #gpio-cells = <2>;
97 gpio-bank = <0>;
Lee Jones9d891072013-06-03 13:07:51 +010098
99 clocks = <&prcc_pclk 1 9>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000100 };
101
102 gpio1: gpio@8012e080 {
103 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100104 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000105 reg = <0x8012e080 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200106 interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800107 interrupt-controller;
108 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100109 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000110 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100111 #gpio-cells = <2>;
112 gpio-bank = <1>;
Lee Jones9d891072013-06-03 13:07:51 +0100113
114 clocks = <&prcc_pclk 1 9>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000115 };
116
117 gpio2: gpio@8000e000 {
118 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100119 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000120 reg = <0x8000e000 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200121 interrupts = <0 121 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800122 interrupt-controller;
123 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100124 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000125 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100126 #gpio-cells = <2>;
127 gpio-bank = <2>;
Lee Jones9d891072013-06-03 13:07:51 +0100128
129 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000130 };
131
132 gpio3: gpio@8000e080 {
133 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100134 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000135 reg = <0x8000e080 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200136 interrupts = <0 122 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800137 interrupt-controller;
138 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100139 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000140 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100141 #gpio-cells = <2>;
142 gpio-bank = <3>;
Lee Jones9d891072013-06-03 13:07:51 +0100143
144 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000145 };
146
147 gpio4: gpio@8000e100 {
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 = <0x8000e100 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200151 interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>;
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 = <4>;
Lee Jones9d891072013-06-03 13:07:51 +0100158
159 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000160 };
161
162 gpio5: gpio@8000e180 {
163 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100164 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000165 reg = <0x8000e180 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200166 interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800167 interrupt-controller;
168 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100169 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000170 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100171 #gpio-cells = <2>;
172 gpio-bank = <5>;
Lee Jones9d891072013-06-03 13:07:51 +0100173
174 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000175 };
176
177 gpio6: gpio@8011e000 {
178 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100179 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000180 reg = <0x8011e000 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200181 interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800182 interrupt-controller;
183 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100184 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000185 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100186 #gpio-cells = <2>;
187 gpio-bank = <6>;
Lee Jones9d891072013-06-03 13:07:51 +0100188
189 clocks = <&prcc_pclk 2 1>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000190 };
191
192 gpio7: gpio@8011e080 {
193 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100194 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000195 reg = <0x8011e080 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200196 interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800197 interrupt-controller;
198 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100199 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000200 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100201 #gpio-cells = <2>;
202 gpio-bank = <7>;
Lee Jones9d891072013-06-03 13:07:51 +0100203
204 clocks = <&prcc_pclk 2 1>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000205 };
206
207 gpio8: gpio@a03fe000 {
208 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100209 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000210 reg = <0xa03fe000 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200211 interrupts = <0 127 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800212 interrupt-controller;
213 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100214 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000215 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100216 #gpio-cells = <2>;
217 gpio-bank = <8>;
Lee Jones9d891072013-06-03 13:07:51 +0100218
219 clocks = <&prcc_pclk 6 1>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000220 };
221
Lee Jones8979cfe2013-01-11 15:45:28 +0000222 pinctrl {
Lee Jones818d99a2013-05-22 15:22:55 +0100223 compatible = "stericsson,db8500-pinctrl";
Lee Jones8979cfe2013-01-11 15:45:28 +0000224 prcm = <&prcmu>;
Lee Jones5910de92012-05-26 06:25:36 +0100225 };
226
Lee Jonesb32dc862013-05-03 15:31:51 +0100227 usb_per5@a03e0000 {
Sebastian Andrzej Siewior4a6cd432013-08-20 18:40:27 +0200228 compatible = "stericsson,db8500-musb";
Lee Jones7e0ce272012-03-15 16:46:17 +0000229 reg = <0xa03e0000 0x10000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200230 interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesb32dc862013-05-03 15:31:51 +0100231 interrupt-names = "mc";
232
233 dr_mode = "otg";
234
235 dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */
236 <&dma 38 0 0x0>, /* Logical - MemToDev */
237 <&dma 37 0 0x2>, /* Logical - DevToMem */
238 <&dma 37 0 0x0>, /* Logical - MemToDev */
239 <&dma 36 0 0x2>, /* Logical - DevToMem */
240 <&dma 36 0 0x0>, /* Logical - MemToDev */
241 <&dma 19 0 0x2>, /* Logical - DevToMem */
242 <&dma 19 0 0x0>, /* Logical - MemToDev */
243 <&dma 18 0 0x2>, /* Logical - DevToMem */
244 <&dma 18 0 0x0>, /* Logical - MemToDev */
245 <&dma 17 0 0x2>, /* Logical - DevToMem */
246 <&dma 17 0 0x0>, /* Logical - MemToDev */
247 <&dma 16 0 0x2>, /* Logical - DevToMem */
248 <&dma 16 0 0x0>, /* Logical - MemToDev */
249 <&dma 39 0 0x2>, /* Logical - DevToMem */
250 <&dma 39 0 0x0>; /* Logical - MemToDev */
251
252 dma-names = "iep_1_9", "oep_1_9",
253 "iep_2_10", "oep_2_10",
254 "iep_3_11", "oep_3_11",
255 "iep_4_12", "oep_4_12",
256 "iep_5_13", "oep_5_13",
257 "iep_6_14", "oep_6_14",
258 "iep_7_15", "oep_7_15",
259 "iep_8", "oep_8";
Lee Jonese47339f2013-06-03 13:08:26 +0100260
261 clocks = <&prcc_pclk 5 0>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000262 };
263
Lee Jonesba074ae2013-05-03 15:31:48 +0100264 dma: dma-controller@801C0000 {
265 compatible = "stericsson,db8500-dma40", "stericsson,dma40";
Lee Jones7e0ce272012-03-15 16:46:17 +0000266 reg = <0x801C0000 0x1000 0x40010000 0x800>;
Lee Jones70d39a82013-05-03 15:31:47 +0100267 reg-names = "base", "lcpa";
Linus Walleij90c40252013-05-29 19:15:39 +0200268 interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesba074ae2013-05-03 15:31:48 +0100269
270 #dma-cells = <3>;
Lee Jonesd37fcdb2013-05-03 15:31:52 +0100271 memcpy-channels = <56 57 58 59 60>;
Lee Jonese064cb22013-06-03 13:13:54 +0100272
273 clocks = <&prcmu_clk PRCMU_DMACLK>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000274 };
275
Lee Jones8979cfe2013-01-11 15:45:28 +0000276 prcmu: prcmu@80157000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000277 compatible = "stericsson,db8500-prcmu";
Linus Torvalds4d26aa32013-05-02 08:56:55 -0700278 reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
Lee Jonese73081d2013-03-26 10:26:15 +0000279 reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
Linus Walleij90c40252013-05-29 19:15:39 +0200280 interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000281 #address-cells = <1>;
Lee Jones3de3d742012-04-24 10:00:15 +0100282 #size-cells = <1>;
Lee Jonesc09090b2012-08-03 15:42:25 +0100283 interrupt-controller;
284 #interrupt-cells = <2>;
Lee Jones3de3d742012-04-24 10:00:15 +0100285 ranges;
286
Lee Jonesccf74f72012-05-28 16:50:49 +0800287 prcmu-timer-4@80157450 {
Lee Jones3de3d742012-04-24 10:00:15 +0100288 compatible = "stericsson,db8500-prcmu-timer-4";
289 reg = <0x80157450 0xC>;
290 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000291
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800292 thermal@801573c0 {
293 compatible = "stericsson,db8500-thermal";
294 reg = <0x801573c0 0x40>;
Linus Walleij90c40252013-05-29 19:15:39 +0200295 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>,
296 <22 IRQ_TYPE_LEVEL_HIGH>;
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800297 interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
298 status = "disabled";
Lee Jones1d3f99f2013-06-06 12:21:15 +0100299 };
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800300
Lee Jonese5999f22012-05-04 13:32:34 +0100301 db8500-prcmu-regulators {
302 compatible = "stericsson,db8500-prcmu-regulator";
303
304 // DB8500_REGULATOR_VAPE
305 db8500_vape_reg: db8500_vape {
Laxman Dewanganda268482012-06-20 17:53:05 +0530306 regulator-compatible = "db8500_vape";
Lee Jonese5999f22012-05-04 13:32:34 +0100307 regulator-always-on;
308 };
309
310 // DB8500_REGULATOR_VARM
311 db8500_varm_reg: db8500_varm {
Laxman Dewanganda268482012-06-20 17:53:05 +0530312 regulator-compatible = "db8500_varm";
Lee Jonese5999f22012-05-04 13:32:34 +0100313 };
314
315 // DB8500_REGULATOR_VMODEM
316 db8500_vmodem_reg: db8500_vmodem {
Laxman Dewanganda268482012-06-20 17:53:05 +0530317 regulator-compatible = "db8500_vmodem";
Lee Jonese5999f22012-05-04 13:32:34 +0100318 };
319
320 // DB8500_REGULATOR_VPLL
321 db8500_vpll_reg: db8500_vpll {
Laxman Dewanganda268482012-06-20 17:53:05 +0530322 regulator-compatible = "db8500_vpll";
Lee Jonese5999f22012-05-04 13:32:34 +0100323 };
324
325 // DB8500_REGULATOR_VSMPS1
326 db8500_vsmps1_reg: db8500_vsmps1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530327 regulator-compatible = "db8500_vsmps1";
Lee Jonese5999f22012-05-04 13:32:34 +0100328 };
329
330 // DB8500_REGULATOR_VSMPS2
331 db8500_vsmps2_reg: db8500_vsmps2 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530332 regulator-compatible = "db8500_vsmps2";
Lee Jonese5999f22012-05-04 13:32:34 +0100333 };
334
335 // DB8500_REGULATOR_VSMPS3
336 db8500_vsmps3_reg: db8500_vsmps3 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530337 regulator-compatible = "db8500_vsmps3";
Lee Jonese5999f22012-05-04 13:32:34 +0100338 };
339
340 // DB8500_REGULATOR_VRF1
341 db8500_vrf1_reg: db8500_vrf1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530342 regulator-compatible = "db8500_vrf1";
Lee Jonese5999f22012-05-04 13:32:34 +0100343 };
344
345 // DB8500_REGULATOR_SWITCH_SVAMMDSP
346 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
Laxman Dewanganda268482012-06-20 17:53:05 +0530347 regulator-compatible = "db8500_sva_mmdsp";
Lee Jonese5999f22012-05-04 13:32:34 +0100348 };
349
350 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
351 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
Laxman Dewanganda268482012-06-20 17:53:05 +0530352 regulator-compatible = "db8500_sva_mmdsp_ret";
Lee Jonese5999f22012-05-04 13:32:34 +0100353 };
354
355 // DB8500_REGULATOR_SWITCH_SVAPIPE
356 db8500_sva_pipe_reg: db8500_sva_pipe {
Laxman Dewanganda268482012-06-20 17:53:05 +0530357 regulator-compatible = "db8500_sva_pipe";
Lee Jonese5999f22012-05-04 13:32:34 +0100358 };
359
360 // DB8500_REGULATOR_SWITCH_SIAMMDSP
361 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
Laxman Dewanganda268482012-06-20 17:53:05 +0530362 regulator-compatible = "db8500_sia_mmdsp";
Lee Jonese5999f22012-05-04 13:32:34 +0100363 };
364
365 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
366 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
Lee Jonese5999f22012-05-04 13:32:34 +0100367 };
368
369 // DB8500_REGULATOR_SWITCH_SIAPIPE
370 db8500_sia_pipe_reg: db8500_sia_pipe {
Laxman Dewanganda268482012-06-20 17:53:05 +0530371 regulator-compatible = "db8500_sia_pipe";
Lee Jonese5999f22012-05-04 13:32:34 +0100372 };
373
374 // DB8500_REGULATOR_SWITCH_SGA
375 db8500_sga_reg: db8500_sga {
Laxman Dewanganda268482012-06-20 17:53:05 +0530376 regulator-compatible = "db8500_sga";
Lee Jonese5999f22012-05-04 13:32:34 +0100377 vin-supply = <&db8500_vape_reg>;
378 };
379
380 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
381 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
Laxman Dewanganda268482012-06-20 17:53:05 +0530382 regulator-compatible = "db8500_b2r2_mcde";
Lee Jonese5999f22012-05-04 13:32:34 +0100383 vin-supply = <&db8500_vape_reg>;
384 };
385
386 // DB8500_REGULATOR_SWITCH_ESRAM12
387 db8500_esram12_reg: db8500_esram12 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530388 regulator-compatible = "db8500_esram12";
Lee Jonese5999f22012-05-04 13:32:34 +0100389 };
390
391 // DB8500_REGULATOR_SWITCH_ESRAM12RET
392 db8500_esram12_ret_reg: db8500_esram12_ret {
Laxman Dewanganda268482012-06-20 17:53:05 +0530393 regulator-compatible = "db8500_esram12_ret";
Lee Jonese5999f22012-05-04 13:32:34 +0100394 };
395
396 // DB8500_REGULATOR_SWITCH_ESRAM34
397 db8500_esram34_reg: db8500_esram34 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530398 regulator-compatible = "db8500_esram34";
Lee Jonese5999f22012-05-04 13:32:34 +0100399 };
400
401 // DB8500_REGULATOR_SWITCH_ESRAM34RET
402 db8500_esram34_ret_reg: db8500_esram34_ret {
Laxman Dewanganda268482012-06-20 17:53:05 +0530403 regulator-compatible = "db8500_esram34_ret";
Lee Jonese5999f22012-05-04 13:32:34 +0100404 };
405 };
406
Arnd Bergmannd52701d32013-03-12 09:39:01 +0100407 ab8500 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000408 compatible = "stericsson,ab8500";
Lee Jones8d4c6d42012-08-03 20:37:35 +0100409 interrupt-parent = <&intc>;
Linus Walleij90c40252013-05-29 19:15:39 +0200410 interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones732973c2012-05-29 10:49:33 +0800411 interrupt-controller;
412 #interrupt-cells = <2>;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800413
Lee Jones348f3bc2013-06-18 09:51:57 +0100414 ab8500_gpio: ab8500-gpio {
415 gpio-controller;
416 #gpio-cells = <2>;
417 };
418
Lee Jonesd4b29ac2012-05-26 07:03:48 +0100419 ab8500-rtc {
420 compatible = "stericsson,ab8500-rtc";
Linus Walleij90c40252013-05-29 19:15:39 +0200421 interrupts = <17 IRQ_TYPE_LEVEL_HIGH
422 18 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesd4b29ac2012-05-26 07:03:48 +0100423 interrupt-names = "60S", "ALARM";
424 };
425
Lee Jones4eda9122012-05-28 16:59:26 +0800426 ab8500-gpadc {
427 compatible = "stericsson,ab8500-gpadc";
Linus Walleij90c40252013-05-29 19:15:39 +0200428 interrupts = <32 IRQ_TYPE_LEVEL_HIGH
429 39 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones4eda9122012-05-28 16:59:26 +0800430 interrupt-names = "HW_CONV_END", "SW_CONV_END";
431 vddadc-supply = <&ab8500_ldo_tvout_reg>;
432 };
433
Rajanikanth H.Ve0f1abe2012-11-18 18:45:41 -0800434 ab8500_battery: ab8500_battery {
435 stericsson,battery-type = "LIPO";
436 thermistor-on-batctrl;
437 };
438
439 ab8500_fg {
440 compatible = "stericsson,ab8500-fg";
441 battery = <&ab8500_battery>;
442 };
443
Rajanikanth H.Vbd9e8ab2012-11-18 19:16:58 -0800444 ab8500_btemp {
445 compatible = "stericsson,ab8500-btemp";
446 battery = <&ab8500_battery>;
447 };
448
Rajanikanth H.V4aef72d2012-11-18 19:17:47 -0800449 ab8500_charger {
450 compatible = "stericsson,ab8500-charger";
451 battery = <&ab8500_battery>;
452 vddadc-supply = <&ab8500_ldo_tvout_reg>;
453 };
454
Rajanikanth H.Va12810a2012-10-31 15:40:33 +0000455 ab8500_chargalg {
456 compatible = "stericsson,ab8500-chargalg";
457 battery = <&ab8500_battery>;
458 };
459
Rajanikanth H.Ve0f1abe2012-11-18 18:45:41 -0800460 ab8500_usb {
Lee Jonesee189ce2012-05-03 14:40:24 +0100461 compatible = "stericsson,ab8500-usb";
Linus Walleij90c40252013-05-29 19:15:39 +0200462 interrupts = < 90 IRQ_TYPE_LEVEL_HIGH
463 96 IRQ_TYPE_LEVEL_HIGH
464 14 IRQ_TYPE_LEVEL_HIGH
465 15 IRQ_TYPE_LEVEL_HIGH
466 79 IRQ_TYPE_LEVEL_HIGH
467 74 IRQ_TYPE_LEVEL_HIGH
468 75 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesee189ce2012-05-03 14:40:24 +0100469 interrupt-names = "ID_WAKEUP_R",
470 "ID_WAKEUP_F",
471 "VBUS_DET_F",
472 "VBUS_DET_R",
473 "USB_LINK_STATUS",
474 "USB_ADP_PROBE_PLUG",
475 "USB_ADP_PROBE_UNPLUG";
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200476 vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
Lee Jonesee189ce2012-05-03 14:40:24 +0100477 v-ape-supply = <&db8500_vape_reg>;
478 musb_1v8-supply = <&db8500_vsmps2_reg>;
479 };
480
Lee Jones12cb7bd2012-05-02 08:45:40 +0100481 ab8500-ponkey {
Lee Jones74630702012-08-09 13:00:12 +0100482 compatible = "stericsson,ab8500-poweron-key";
Linus Walleij90c40252013-05-29 19:15:39 +0200483 interrupts = <6 IRQ_TYPE_LEVEL_HIGH
484 7 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones12cb7bd2012-05-02 08:45:40 +0100485 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
486 };
487
Lee Jones401cd1b2012-05-03 12:53:55 +0100488 ab8500-sysctrl {
489 compatible = "stericsson,ab8500-sysctrl";
490 };
491
Lee Jones78451de2012-05-03 13:03:59 +0100492 ab8500-pwm {
493 compatible = "stericsson,ab8500-pwm";
494 };
495
Lee Jones215891e2012-05-01 16:11:19 +0100496 ab8500-debugfs {
497 compatible = "stericsson,ab8500-debug";
498 };
Lee Jones4a85c7f2012-05-29 14:29:53 +0800499
Lee Jones9c06af32012-07-25 12:50:13 +0100500 codec: ab8500-codec {
501 compatible = "stericsson,ab8500-codec";
502
Fabio Baltierif99808a2013-05-30 15:27:43 +0200503 V-AUD-supply = <&ab8500_ldo_audio_reg>;
504 V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
505 V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
506 V-DMIC-supply = <&ab8500_ldo_dmic_reg>;
507
Lee Jones9c06af32012-07-25 12:50:13 +0100508 stericsson,earpeice-cmv = <950>; /* Units in mV. */
509 };
510
Lee Jones62ebfe62013-06-07 17:11:19 +0100511 ext_regulators: ab8500-ext-regulators {
512 compatible = "stericsson,ab8500-ext-regulator";
513
514 ab8500_ext1_reg: ab8500_ext1 {
515 regulator-compatible = "ab8500_ext1";
516 regulator-min-microvolt = <1800000>;
517 regulator-max-microvolt = <1800000>;
518 regulator-boot-on;
519 regulator-always-on;
520 };
521
522 ab8500_ext2_reg: ab8500_ext2 {
523 regulator-compatible = "ab8500_ext2";
524 regulator-min-microvolt = <1360000>;
525 regulator-max-microvolt = <1360000>;
526 regulator-boot-on;
527 regulator-always-on;
528 };
529
530 ab8500_ext3_reg: ab8500_ext3 {
531 regulator-compatible = "ab8500_ext3";
532 regulator-min-microvolt = <3400000>;
533 regulator-max-microvolt = <3400000>;
534 regulator-boot-on;
535 };
536 };
537
Lee Jones4a85c7f2012-05-29 14:29:53 +0800538 ab8500-regulators {
539 compatible = "stericsson,ab8500-regulator";
Lee Jones75f09992013-06-07 17:11:20 +0100540 vin-supply = <&ab8500_ext3_reg>;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800541
542 // supplies to the display/camera
543 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530544 regulator-compatible = "ab8500_ldo_aux1";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800545 regulator-min-microvolt = <2500000>;
546 regulator-max-microvolt = <2900000>;
547 regulator-boot-on;
548 /* BUG: If turned off MMC will be affected. */
549 regulator-always-on;
550 };
551
552 // supplies to the on-board eMMC
553 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530554 regulator-compatible = "ab8500_ldo_aux2";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800555 regulator-min-microvolt = <1100000>;
556 regulator-max-microvolt = <3300000>;
557 };
558
559 // supply for VAUX3; SDcard slots
560 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530561 regulator-compatible = "ab8500_ldo_aux3";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800562 regulator-min-microvolt = <1100000>;
563 regulator-max-microvolt = <3300000>;
564 };
565
566 // supply for v-intcore12; VINTCORE12 LDO
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200567 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
568 regulator-compatible = "ab8500_ldo_intcore";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800569 };
570
571 // supply for tvout; gpadc; TVOUT LDO
572 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
Laxman Dewanganda268482012-06-20 17:53:05 +0530573 regulator-compatible = "ab8500_ldo_tvout";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800574 };
575
576 // supply for ab8500-usb; USB LDO
577 ab8500_ldo_usb_reg: ab8500_ldo_usb {
Laxman Dewanganda268482012-06-20 17:53:05 +0530578 regulator-compatible = "ab8500_ldo_usb";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800579 };
580
581 // supply for ab8500-vaudio; VAUDIO LDO
582 ab8500_ldo_audio_reg: ab8500_ldo_audio {
Laxman Dewanganda268482012-06-20 17:53:05 +0530583 regulator-compatible = "ab8500_ldo_audio";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800584 };
585
Fabio Baltieri4aa44872013-05-30 15:27:41 +0200586 // supply for v-anamic1 VAMIC1 LDO
Lee Jones4a85c7f2012-05-29 14:29:53 +0800587 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530588 regulator-compatible = "ab8500_ldo_anamic1";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800589 };
590
591 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
Fabio Baltieri5510ed92013-05-30 15:27:42 +0200592 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
593 regulator-compatible = "ab8500_ldo_anamic2";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800594 };
595
596 // supply for v-dmic; VDMIC LDO
597 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
Laxman Dewanganda268482012-06-20 17:53:05 +0530598 regulator-compatible = "ab8500_ldo_dmic";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800599 };
600
601 // supply for U8500 CSI/DSI; VANA LDO
602 ab8500_ldo_ana_reg: ab8500_ldo_ana {
Laxman Dewanganda268482012-06-20 17:53:05 +0530603 regulator-compatible = "ab8500_ldo_ana";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800604 };
605 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000606 };
607 };
608
609 i2c@80004000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100610 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000611 reg = <0x80004000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200612 interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100613
Lee Jones7e0ce272012-03-15 16:46:17 +0000614 #address-cells = <1>;
615 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100616 v-i2c-supply = <&db8500_vape_reg>;
617
618 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100619 clocks = <&prcc_kclk 3 3>, <&prcc_pclk 3 3>;
620 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000621 };
622
623 i2c@80122000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100624 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000625 reg = <0x80122000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200626 interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100627
Lee Jones7e0ce272012-03-15 16:46:17 +0000628 #address-cells = <1>;
629 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100630 v-i2c-supply = <&db8500_vape_reg>;
631
632 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100633
634 clocks = <&prcc_kclk 1 2>, <&prcc_pclk 1 2>;
635 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000636 };
637
638 i2c@80128000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100639 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000640 reg = <0x80128000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200641 interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100642
Lee Jones7e0ce272012-03-15 16:46:17 +0000643 #address-cells = <1>;
644 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100645 v-i2c-supply = <&db8500_vape_reg>;
646
647 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100648
649 clocks = <&prcc_kclk 1 6>, <&prcc_pclk 1 6>;
650 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000651 };
652
653 i2c@80110000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100654 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000655 reg = <0x80110000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200656 interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100657
Lee Jones7e0ce272012-03-15 16:46:17 +0000658 #address-cells = <1>;
659 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100660 v-i2c-supply = <&db8500_vape_reg>;
661
662 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100663
664 clocks = <&prcc_kclk 2 0>, <&prcc_pclk 2 0>;
665 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000666 };
667
668 i2c@8012a000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100669 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000670 reg = <0x8012a000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200671 interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100672
Lee Jones7e0ce272012-03-15 16:46:17 +0000673 #address-cells = <1>;
674 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100675 v-i2c-supply = <&db8500_vape_reg>;
676
677 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100678
679 clocks = <&prcc_kclk 1 9>, <&prcc_pclk 1 9>;
680 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000681 };
682
683 ssp@80002000 {
684 compatible = "arm,pl022", "arm,primecell";
Lee Jonesc164fa62012-09-07 12:09:34 +0100685 reg = <0x80002000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200686 interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000687 #address-cells = <1>;
688 #size-cells = <0>;
689 status = "disabled";
Lee Jones7e0ce272012-03-15 16:46:17 +0000690 };
691
692 uart@80120000 {
693 compatible = "arm,pl011", "arm,primecell";
694 reg = <0x80120000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200695 interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100696
697 dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
698 <&dma 13 0 0x0>; /* Logical - MemToDev */
699 dma-names = "rx", "tx";
700
Lee Jones5a323fb2013-06-03 13:17:17 +0100701 clocks = <&prcc_kclk 1 0>, <&prcc_pclk 1 0>;
702 clock-names = "uart", "apb_pclk";
703
Lee Jones7e0ce272012-03-15 16:46:17 +0000704 status = "disabled";
705 };
Lee Jonesfbff01c2013-05-03 15:31:49 +0100706
Lee Jones7e0ce272012-03-15 16:46:17 +0000707 uart@80121000 {
708 compatible = "arm,pl011", "arm,primecell";
709 reg = <0x80121000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200710 interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100711
712 dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */
713 <&dma 12 0 0x0>; /* Logical - MemToDev */
714 dma-names = "rx", "tx";
715
Lee Jones5a323fb2013-06-03 13:17:17 +0100716 clocks = <&prcc_kclk 1 1>, <&prcc_pclk 1 1>;
717 clock-names = "uart", "apb_pclk";
718
Lee Jones7e0ce272012-03-15 16:46:17 +0000719 status = "disabled";
720 };
Lee Jonesfbff01c2013-05-03 15:31:49 +0100721
Lee Jones7e0ce272012-03-15 16:46:17 +0000722 uart@80007000 {
723 compatible = "arm,pl011", "arm,primecell";
724 reg = <0x80007000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200725 interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100726
727 dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */
728 <&dma 11 0 0x0>; /* Logical - MemToDev */
729 dma-names = "rx", "tx";
730
Lee Jones5a323fb2013-06-03 13:17:17 +0100731 clocks = <&prcc_kclk 3 6>, <&prcc_pclk 3 6>;
732 clock-names = "uart", "apb_pclk";
733
Lee Jones7e0ce272012-03-15 16:46:17 +0000734 status = "disabled";
735 };
736
Lee Jones81bf8c22012-09-26 12:55:56 +0100737 sdi0_per1@80126000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000738 compatible = "arm,pl18x", "arm,primecell";
739 reg = <0x80126000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200740 interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +0100741
742 dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
743 <&dma 29 0 0x0>; /* Logical - MemToDev */
744 dma-names = "rx", "tx";
745
Lee Jones604be892013-06-06 12:28:50 +0100746 clocks = <&prcc_kclk 1 5>, <&prcc_pclk 1 5>;
747 clock-names = "sdi", "apb_pclk";
748
Lee Jones7e0ce272012-03-15 16:46:17 +0000749 status = "disabled";
750 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100751
Lee Jones81bf8c22012-09-26 12:55:56 +0100752 sdi1_per2@80118000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000753 compatible = "arm,pl18x", "arm,primecell";
754 reg = <0x80118000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200755 interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +0100756
757 dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */
758 <&dma 32 0 0x0>; /* Logical - MemToDev */
759 dma-names = "rx", "tx";
760
Lee Jones604be892013-06-06 12:28:50 +0100761 clocks = <&prcc_kclk 2 4>, <&prcc_pclk 2 6>;
762 clock-names = "sdi", "apb_pclk";
763
Lee Jones7e0ce272012-03-15 16:46:17 +0000764 status = "disabled";
765 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100766
Lee Jones81bf8c22012-09-26 12:55:56 +0100767 sdi2_per3@80005000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000768 compatible = "arm,pl18x", "arm,primecell";
769 reg = <0x80005000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200770 interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +0100771
772 dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */
773 <&dma 28 0 0x0>; /* Logical - MemToDev */
774 dma-names = "rx", "tx";
775
Lee Jones604be892013-06-06 12:28:50 +0100776 clocks = <&prcc_kclk 3 4>, <&prcc_pclk 3 4>;
777 clock-names = "sdi", "apb_pclk";
778
Lee Jones7e0ce272012-03-15 16:46:17 +0000779 status = "disabled";
780 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100781
Lee Jones81bf8c22012-09-26 12:55:56 +0100782 sdi3_per2@80119000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000783 compatible = "arm,pl18x", "arm,primecell";
784 reg = <0x80119000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200785 interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones604be892013-06-06 12:28:50 +0100786
787 clocks = <&prcc_kclk 2 5>, <&prcc_pclk 2 7>;
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 sdi4_per2@80114000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000794 compatible = "arm,pl18x", "arm,primecell";
795 reg = <0x80114000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200796 interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +0100797
798 dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */
799 <&dma 42 0 0x0>; /* Logical - MemToDev */
800 dma-names = "rx", "tx";
801
Lee Jones604be892013-06-06 12:28:50 +0100802 clocks = <&prcc_kclk 2 2>, <&prcc_pclk 2 4>;
803 clock-names = "sdi", "apb_pclk";
804
Lee Jones7e0ce272012-03-15 16:46:17 +0000805 status = "disabled";
806 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100807
Lee Jones81bf8c22012-09-26 12:55:56 +0100808 sdi5_per3@80008000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000809 compatible = "arm,pl18x", "arm,primecell";
Lee Jones76ff4e42012-10-24 11:10:05 +0100810 reg = <0x80008000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200811 interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones604be892013-06-06 12:28:50 +0100812
813 clocks = <&prcc_kclk 3 7>, <&prcc_pclk 3 7>;
814 clock-names = "sdi", "apb_pclk";
815
Lee Jones7e0ce272012-03-15 16:46:17 +0000816 status = "disabled";
817 };
Lee Jonesbf76e062012-04-24 10:53:18 +0100818
Lee Jonesfe164522012-07-31 12:37:16 +0100819 msp0: msp@80123000 {
820 compatible = "stericsson,ux500-msp-i2s";
821 reg = <0x80123000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200822 interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +0100823 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +0100824
825 clocks = <&prcc_kclk 1 3>, <&prcc_pclk 1 3>;
826 clock-names = "msp", "apb_pclk";
827
Lee Jonesfe164522012-07-31 12:37:16 +0100828 status = "disabled";
829 };
830
831 msp1: msp@80124000 {
832 compatible = "stericsson,ux500-msp-i2s";
833 reg = <0x80124000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200834 interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +0100835 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +0100836
837 clocks = <&prcc_kclk 1 4>, <&prcc_pclk 1 4>;
838 clock-names = "msp", "apb_pclk";
839
Lee Jonesfe164522012-07-31 12:37:16 +0100840 status = "disabled";
841 };
842
843 // HDMI sound
844 msp2: msp@80117000 {
845 compatible = "stericsson,ux500-msp-i2s";
846 reg = <0x80117000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200847 interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +0100848 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +0100849
850 clocks = <&prcc_kclk 2 3>, <&prcc_pclk 2 5>;
851 clock-names = "msp", "apb_pclk";
852
Lee Jonesfe164522012-07-31 12:37:16 +0100853 status = "disabled";
854 };
855
856 msp3: msp@80125000 {
857 compatible = "stericsson,ux500-msp-i2s";
858 reg = <0x80125000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200859 interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +0100860 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +0100861
862 clocks = <&prcc_kclk 1 10>, <&prcc_pclk 1 11>;
863 clock-names = "msp", "apb_pclk";
864
Lee Jonesfe164522012-07-31 12:37:16 +0100865 status = "disabled";
866 };
867
Lee Jonesbf76e062012-04-24 10:53:18 +0100868 external-bus@50000000 {
869 compatible = "simple-bus";
870 reg = <0x50000000 0x4000000>;
871 #address-cells = <1>;
872 #size-cells = <1>;
873 ranges = <0 0x50000000 0x4000000>;
874 status = "disabled";
875 };
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800876
877 cpufreq-cooling {
878 compatible = "stericsson,db8500-cpufreq-cooling";
879 status = "disabled";
880 };
881
Lee Jones0563f632012-10-24 11:18:14 +0100882 vmmci: regulator-gpio {
883 compatible = "regulator-gpio";
884
885 regulator-min-microvolt = <1800000>;
Lee Jones4f902b42012-12-06 14:00:01 +0000886 regulator-max-microvolt = <2900000>;
Lee Jones0563f632012-10-24 11:18:14 +0100887 regulator-name = "mmci-reg";
888 regulator-type = "voltage";
889
Lee Jones874c9202012-12-07 13:46:01 +0000890 startup-delay-us = <100>;
Lee Jonese7bda302012-12-06 15:00:46 +0000891 enable-active-high;
892
Lee Jones0563f632012-10-24 11:18:14 +0100893 states = <1800000 0x1
894 2900000 0x0>;
Lee Jonesc94a4ab2012-11-15 13:02:16 +0000895
896 status = "disabled";
Lee Jones0563f632012-10-24 11:18:14 +0100897 };
Lee Jonesfe2e9f92013-05-16 12:27:21 +0100898
899 cryp@a03cb000 {
900 compatible = "stericsson,ux500-cryp";
901 reg = <0xa03cb000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200902 interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe2e9f92013-05-16 12:27:21 +0100903
904 v-ape-supply = <&db8500_vape_reg>;
Lee Jonesfe2e9f92013-05-16 12:27:21 +0100905 };
Lee Jones61122cf2013-05-16 12:27:22 +0100906
907 hash@a03c2000 {
908 compatible = "stericsson,ux500-hash";
909 reg = <0xa03c2000 0x1000>;
910
911 v-ape-supply = <&db8500_vape_reg>;
Lee Jones61122cf2013-05-16 12:27:22 +0100912 };
Arnd Bergmann5d0769f2012-03-02 23:07:21 +0000913 };
914};