blob: 8c52f3f28b62e44ac8786205760188a1a85b1cc5 [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 Jones841cd0c2013-09-18 09:53:10 +010064 };
65
Lee Jones71de5c42012-03-16 09:53:24 +000066 timer@a0410600 {
67 compatible = "arm,cortex-a9-twd-timer";
68 reg = <0xa0410600 0x20>;
Linus Walleij90c40252013-05-29 19:15:39 +020069 interrupts = <1 13 0x304>; /* IRQ level high per-CPU */
Lee Jones71de5c42012-03-16 09:53:24 +000070 };
71
Lee Jones7e0ce272012-03-15 16:46:17 +000072 rtc@80154000 {
Lee Jonesddb3b992012-05-26 07:01:31 +010073 compatible = "arm,rtc-pl031", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +000074 reg = <0x80154000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +020075 interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesd299b5a2013-06-05 12:27:24 +010076
77 clocks = <&rtc_clk>;
78 clock-names = "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +000079 };
80
81 gpio0: gpio@8012e000 {
82 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +010083 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +000084 reg = <0x8012e000 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +020085 interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +080086 interrupt-controller;
87 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +010088 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +000089 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +010090 #gpio-cells = <2>;
91 gpio-bank = <0>;
Lee Jones9d891072013-06-03 13:07:51 +010092
93 clocks = <&prcc_pclk 1 9>;
Lee Jones7e0ce272012-03-15 16:46:17 +000094 };
95
96 gpio1: gpio@8012e080 {
97 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +010098 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +000099 reg = <0x8012e080 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200100 interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800101 interrupt-controller;
102 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100103 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000104 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100105 #gpio-cells = <2>;
106 gpio-bank = <1>;
Lee Jones9d891072013-06-03 13:07:51 +0100107
108 clocks = <&prcc_pclk 1 9>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000109 };
110
111 gpio2: gpio@8000e000 {
112 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100113 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000114 reg = <0x8000e000 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200115 interrupts = <0 121 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800116 interrupt-controller;
117 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100118 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000119 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100120 #gpio-cells = <2>;
121 gpio-bank = <2>;
Lee Jones9d891072013-06-03 13:07:51 +0100122
123 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000124 };
125
126 gpio3: gpio@8000e080 {
127 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100128 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000129 reg = <0x8000e080 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200130 interrupts = <0 122 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800131 interrupt-controller;
132 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100133 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000134 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100135 #gpio-cells = <2>;
136 gpio-bank = <3>;
Lee Jones9d891072013-06-03 13:07:51 +0100137
138 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000139 };
140
141 gpio4: gpio@8000e100 {
142 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100143 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000144 reg = <0x8000e100 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200145 interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800146 interrupt-controller;
147 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100148 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000149 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100150 #gpio-cells = <2>;
151 gpio-bank = <4>;
Lee Jones9d891072013-06-03 13:07:51 +0100152
153 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000154 };
155
156 gpio5: gpio@8000e180 {
157 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100158 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000159 reg = <0x8000e180 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200160 interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800161 interrupt-controller;
162 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100163 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000164 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100165 #gpio-cells = <2>;
166 gpio-bank = <5>;
Lee Jones9d891072013-06-03 13:07:51 +0100167
168 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000169 };
170
171 gpio6: gpio@8011e000 {
172 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100173 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000174 reg = <0x8011e000 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200175 interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800176 interrupt-controller;
177 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100178 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000179 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100180 #gpio-cells = <2>;
181 gpio-bank = <6>;
Lee Jones9d891072013-06-03 13:07:51 +0100182
183 clocks = <&prcc_pclk 2 1>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000184 };
185
186 gpio7: gpio@8011e080 {
187 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100188 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000189 reg = <0x8011e080 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200190 interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800191 interrupt-controller;
192 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100193 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000194 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100195 #gpio-cells = <2>;
196 gpio-bank = <7>;
Lee Jones9d891072013-06-03 13:07:51 +0100197
198 clocks = <&prcc_pclk 2 1>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000199 };
200
201 gpio8: gpio@a03fe000 {
202 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100203 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000204 reg = <0xa03fe000 0x80>;
Linus Walleij90c40252013-05-29 19:15:39 +0200205 interrupts = <0 127 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800206 interrupt-controller;
207 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100208 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000209 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100210 #gpio-cells = <2>;
211 gpio-bank = <8>;
Lee Jones9d891072013-06-03 13:07:51 +0100212
213 clocks = <&prcc_pclk 6 1>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000214 };
215
Lee Jones8979cfe2013-01-11 15:45:28 +0000216 pinctrl {
Lee Jones818d99a2013-05-22 15:22:55 +0100217 compatible = "stericsson,db8500-pinctrl";
Lee Jones8979cfe2013-01-11 15:45:28 +0000218 prcm = <&prcmu>;
Lee Jones5910de92012-05-26 06:25:36 +0100219 };
220
Lee Jonesb32dc862013-05-03 15:31:51 +0100221 usb_per5@a03e0000 {
Sebastian Andrzej Siewior4a6cd432013-08-20 18:40:27 +0200222 compatible = "stericsson,db8500-musb";
Lee Jones7e0ce272012-03-15 16:46:17 +0000223 reg = <0xa03e0000 0x10000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200224 interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesb32dc862013-05-03 15:31:51 +0100225 interrupt-names = "mc";
226
227 dr_mode = "otg";
228
229 dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */
230 <&dma 38 0 0x0>, /* Logical - MemToDev */
231 <&dma 37 0 0x2>, /* Logical - DevToMem */
232 <&dma 37 0 0x0>, /* Logical - MemToDev */
233 <&dma 36 0 0x2>, /* Logical - DevToMem */
234 <&dma 36 0 0x0>, /* Logical - MemToDev */
235 <&dma 19 0 0x2>, /* Logical - DevToMem */
236 <&dma 19 0 0x0>, /* Logical - MemToDev */
237 <&dma 18 0 0x2>, /* Logical - DevToMem */
238 <&dma 18 0 0x0>, /* Logical - MemToDev */
239 <&dma 17 0 0x2>, /* Logical - DevToMem */
240 <&dma 17 0 0x0>, /* Logical - MemToDev */
241 <&dma 16 0 0x2>, /* Logical - DevToMem */
242 <&dma 16 0 0x0>, /* Logical - MemToDev */
243 <&dma 39 0 0x2>, /* Logical - DevToMem */
244 <&dma 39 0 0x0>; /* Logical - MemToDev */
245
246 dma-names = "iep_1_9", "oep_1_9",
247 "iep_2_10", "oep_2_10",
248 "iep_3_11", "oep_3_11",
249 "iep_4_12", "oep_4_12",
250 "iep_5_13", "oep_5_13",
251 "iep_6_14", "oep_6_14",
252 "iep_7_15", "oep_7_15",
253 "iep_8", "oep_8";
Lee Jonese47339f2013-06-03 13:08:26 +0100254
255 clocks = <&prcc_pclk 5 0>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000256 };
257
Lee Jonesba074ae2013-05-03 15:31:48 +0100258 dma: dma-controller@801C0000 {
259 compatible = "stericsson,db8500-dma40", "stericsson,dma40";
Lee Jones7e0ce272012-03-15 16:46:17 +0000260 reg = <0x801C0000 0x1000 0x40010000 0x800>;
Lee Jones70d39a82013-05-03 15:31:47 +0100261 reg-names = "base", "lcpa";
Linus Walleij90c40252013-05-29 19:15:39 +0200262 interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesba074ae2013-05-03 15:31:48 +0100263
264 #dma-cells = <3>;
Lee Jonesd37fcdb2013-05-03 15:31:52 +0100265 memcpy-channels = <56 57 58 59 60>;
Lee Jonese064cb22013-06-03 13:13:54 +0100266
267 clocks = <&prcmu_clk PRCMU_DMACLK>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000268 };
269
Lee Jones8979cfe2013-01-11 15:45:28 +0000270 prcmu: prcmu@80157000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000271 compatible = "stericsson,db8500-prcmu";
Linus Torvalds4d26aa32013-05-02 08:56:55 -0700272 reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
Lee Jonese73081d2013-03-26 10:26:15 +0000273 reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
Linus Walleij90c40252013-05-29 19:15:39 +0200274 interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000275 #address-cells = <1>;
Lee Jones3de3d742012-04-24 10:00:15 +0100276 #size-cells = <1>;
Lee Jonesc09090b2012-08-03 15:42:25 +0100277 interrupt-controller;
278 #interrupt-cells = <2>;
Lee Jones3de3d742012-04-24 10:00:15 +0100279 ranges;
280
Lee Jonesccf74f72012-05-28 16:50:49 +0800281 prcmu-timer-4@80157450 {
Lee Jones3de3d742012-04-24 10:00:15 +0100282 compatible = "stericsson,db8500-prcmu-timer-4";
283 reg = <0x80157450 0xC>;
284 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000285
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800286 thermal@801573c0 {
287 compatible = "stericsson,db8500-thermal";
288 reg = <0x801573c0 0x40>;
Linus Walleij90c40252013-05-29 19:15:39 +0200289 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>,
290 <22 IRQ_TYPE_LEVEL_HIGH>;
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800291 interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
292 status = "disabled";
Lee Jones1d3f99f2013-06-06 12:21:15 +0100293 };
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800294
Lee Jonese5999f22012-05-04 13:32:34 +0100295 db8500-prcmu-regulators {
296 compatible = "stericsson,db8500-prcmu-regulator";
297
298 // DB8500_REGULATOR_VAPE
299 db8500_vape_reg: db8500_vape {
Laxman Dewanganda268482012-06-20 17:53:05 +0530300 regulator-compatible = "db8500_vape";
Lee Jonese5999f22012-05-04 13:32:34 +0100301 regulator-always-on;
302 };
303
304 // DB8500_REGULATOR_VARM
305 db8500_varm_reg: db8500_varm {
Laxman Dewanganda268482012-06-20 17:53:05 +0530306 regulator-compatible = "db8500_varm";
Lee Jonese5999f22012-05-04 13:32:34 +0100307 };
308
309 // DB8500_REGULATOR_VMODEM
310 db8500_vmodem_reg: db8500_vmodem {
Laxman Dewanganda268482012-06-20 17:53:05 +0530311 regulator-compatible = "db8500_vmodem";
Lee Jonese5999f22012-05-04 13:32:34 +0100312 };
313
314 // DB8500_REGULATOR_VPLL
315 db8500_vpll_reg: db8500_vpll {
Laxman Dewanganda268482012-06-20 17:53:05 +0530316 regulator-compatible = "db8500_vpll";
Lee Jonese5999f22012-05-04 13:32:34 +0100317 };
318
319 // DB8500_REGULATOR_VSMPS1
320 db8500_vsmps1_reg: db8500_vsmps1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530321 regulator-compatible = "db8500_vsmps1";
Lee Jonese5999f22012-05-04 13:32:34 +0100322 };
323
324 // DB8500_REGULATOR_VSMPS2
325 db8500_vsmps2_reg: db8500_vsmps2 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530326 regulator-compatible = "db8500_vsmps2";
Lee Jonese5999f22012-05-04 13:32:34 +0100327 };
328
329 // DB8500_REGULATOR_VSMPS3
330 db8500_vsmps3_reg: db8500_vsmps3 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530331 regulator-compatible = "db8500_vsmps3";
Lee Jonese5999f22012-05-04 13:32:34 +0100332 };
333
334 // DB8500_REGULATOR_VRF1
335 db8500_vrf1_reg: db8500_vrf1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530336 regulator-compatible = "db8500_vrf1";
Lee Jonese5999f22012-05-04 13:32:34 +0100337 };
338
339 // DB8500_REGULATOR_SWITCH_SVAMMDSP
340 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
Laxman Dewanganda268482012-06-20 17:53:05 +0530341 regulator-compatible = "db8500_sva_mmdsp";
Lee Jonese5999f22012-05-04 13:32:34 +0100342 };
343
344 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
345 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
Laxman Dewanganda268482012-06-20 17:53:05 +0530346 regulator-compatible = "db8500_sva_mmdsp_ret";
Lee Jonese5999f22012-05-04 13:32:34 +0100347 };
348
349 // DB8500_REGULATOR_SWITCH_SVAPIPE
350 db8500_sva_pipe_reg: db8500_sva_pipe {
Laxman Dewanganda268482012-06-20 17:53:05 +0530351 regulator-compatible = "db8500_sva_pipe";
Lee Jonese5999f22012-05-04 13:32:34 +0100352 };
353
354 // DB8500_REGULATOR_SWITCH_SIAMMDSP
355 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
Laxman Dewanganda268482012-06-20 17:53:05 +0530356 regulator-compatible = "db8500_sia_mmdsp";
Lee Jonese5999f22012-05-04 13:32:34 +0100357 };
358
359 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
360 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
Lee Jonese5999f22012-05-04 13:32:34 +0100361 };
362
363 // DB8500_REGULATOR_SWITCH_SIAPIPE
364 db8500_sia_pipe_reg: db8500_sia_pipe {
Laxman Dewanganda268482012-06-20 17:53:05 +0530365 regulator-compatible = "db8500_sia_pipe";
Lee Jonese5999f22012-05-04 13:32:34 +0100366 };
367
368 // DB8500_REGULATOR_SWITCH_SGA
369 db8500_sga_reg: db8500_sga {
Laxman Dewanganda268482012-06-20 17:53:05 +0530370 regulator-compatible = "db8500_sga";
Lee Jonese5999f22012-05-04 13:32:34 +0100371 vin-supply = <&db8500_vape_reg>;
372 };
373
374 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
375 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
Laxman Dewanganda268482012-06-20 17:53:05 +0530376 regulator-compatible = "db8500_b2r2_mcde";
Lee Jonese5999f22012-05-04 13:32:34 +0100377 vin-supply = <&db8500_vape_reg>;
378 };
379
380 // DB8500_REGULATOR_SWITCH_ESRAM12
381 db8500_esram12_reg: db8500_esram12 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530382 regulator-compatible = "db8500_esram12";
Lee Jonese5999f22012-05-04 13:32:34 +0100383 };
384
385 // DB8500_REGULATOR_SWITCH_ESRAM12RET
386 db8500_esram12_ret_reg: db8500_esram12_ret {
Laxman Dewanganda268482012-06-20 17:53:05 +0530387 regulator-compatible = "db8500_esram12_ret";
Lee Jonese5999f22012-05-04 13:32:34 +0100388 };
389
390 // DB8500_REGULATOR_SWITCH_ESRAM34
391 db8500_esram34_reg: db8500_esram34 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530392 regulator-compatible = "db8500_esram34";
Lee Jonese5999f22012-05-04 13:32:34 +0100393 };
394
395 // DB8500_REGULATOR_SWITCH_ESRAM34RET
396 db8500_esram34_ret_reg: db8500_esram34_ret {
Laxman Dewanganda268482012-06-20 17:53:05 +0530397 regulator-compatible = "db8500_esram34_ret";
Lee Jonese5999f22012-05-04 13:32:34 +0100398 };
399 };
400
Arnd Bergmannd52701d32013-03-12 09:39:01 +0100401 ab8500 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000402 compatible = "stericsson,ab8500";
Lee Jones8d4c6d42012-08-03 20:37:35 +0100403 interrupt-parent = <&intc>;
Linus Walleij90c40252013-05-29 19:15:39 +0200404 interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones732973c2012-05-29 10:49:33 +0800405 interrupt-controller;
406 #interrupt-cells = <2>;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800407
Lee Jones348f3bc2013-06-18 09:51:57 +0100408 ab8500_gpio: ab8500-gpio {
409 gpio-controller;
410 #gpio-cells = <2>;
411 };
412
Lee Jonesd4b29ac2012-05-26 07:03:48 +0100413 ab8500-rtc {
414 compatible = "stericsson,ab8500-rtc";
Linus Walleij90c40252013-05-29 19:15:39 +0200415 interrupts = <17 IRQ_TYPE_LEVEL_HIGH
416 18 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesd4b29ac2012-05-26 07:03:48 +0100417 interrupt-names = "60S", "ALARM";
418 };
419
Lee Jones4eda9122012-05-28 16:59:26 +0800420 ab8500-gpadc {
421 compatible = "stericsson,ab8500-gpadc";
Linus Walleij90c40252013-05-29 19:15:39 +0200422 interrupts = <32 IRQ_TYPE_LEVEL_HIGH
423 39 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones4eda9122012-05-28 16:59:26 +0800424 interrupt-names = "HW_CONV_END", "SW_CONV_END";
425 vddadc-supply = <&ab8500_ldo_tvout_reg>;
426 };
427
Rajanikanth H.Ve0f1abe2012-11-18 18:45:41 -0800428 ab8500_battery: ab8500_battery {
429 stericsson,battery-type = "LIPO";
430 thermistor-on-batctrl;
431 };
432
433 ab8500_fg {
434 compatible = "stericsson,ab8500-fg";
435 battery = <&ab8500_battery>;
436 };
437
Rajanikanth H.Vbd9e8ab2012-11-18 19:16:58 -0800438 ab8500_btemp {
439 compatible = "stericsson,ab8500-btemp";
440 battery = <&ab8500_battery>;
441 };
442
Rajanikanth H.V4aef72d2012-11-18 19:17:47 -0800443 ab8500_charger {
444 compatible = "stericsson,ab8500-charger";
445 battery = <&ab8500_battery>;
446 vddadc-supply = <&ab8500_ldo_tvout_reg>;
447 };
448
Rajanikanth H.Va12810a2012-10-31 15:40:33 +0000449 ab8500_chargalg {
450 compatible = "stericsson,ab8500-chargalg";
451 battery = <&ab8500_battery>;
452 };
453
Rajanikanth H.Ve0f1abe2012-11-18 18:45:41 -0800454 ab8500_usb {
Lee Jonesee189ce2012-05-03 14:40:24 +0100455 compatible = "stericsson,ab8500-usb";
Linus Walleij90c40252013-05-29 19:15:39 +0200456 interrupts = < 90 IRQ_TYPE_LEVEL_HIGH
457 96 IRQ_TYPE_LEVEL_HIGH
458 14 IRQ_TYPE_LEVEL_HIGH
459 15 IRQ_TYPE_LEVEL_HIGH
460 79 IRQ_TYPE_LEVEL_HIGH
461 74 IRQ_TYPE_LEVEL_HIGH
462 75 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesee189ce2012-05-03 14:40:24 +0100463 interrupt-names = "ID_WAKEUP_R",
464 "ID_WAKEUP_F",
465 "VBUS_DET_F",
466 "VBUS_DET_R",
467 "USB_LINK_STATUS",
468 "USB_ADP_PROBE_PLUG",
469 "USB_ADP_PROBE_UNPLUG";
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200470 vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
Lee Jonesee189ce2012-05-03 14:40:24 +0100471 v-ape-supply = <&db8500_vape_reg>;
472 musb_1v8-supply = <&db8500_vsmps2_reg>;
473 };
474
Lee Jones12cb7bd2012-05-02 08:45:40 +0100475 ab8500-ponkey {
Lee Jones74630702012-08-09 13:00:12 +0100476 compatible = "stericsson,ab8500-poweron-key";
Linus Walleij90c40252013-05-29 19:15:39 +0200477 interrupts = <6 IRQ_TYPE_LEVEL_HIGH
478 7 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones12cb7bd2012-05-02 08:45:40 +0100479 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
480 };
481
Lee Jones401cd1b2012-05-03 12:53:55 +0100482 ab8500-sysctrl {
483 compatible = "stericsson,ab8500-sysctrl";
484 };
485
Lee Jones78451de2012-05-03 13:03:59 +0100486 ab8500-pwm {
487 compatible = "stericsson,ab8500-pwm";
488 };
489
Lee Jones215891e2012-05-01 16:11:19 +0100490 ab8500-debugfs {
491 compatible = "stericsson,ab8500-debug";
492 };
Lee Jones4a85c7f2012-05-29 14:29:53 +0800493
Lee Jones9c06af32012-07-25 12:50:13 +0100494 codec: ab8500-codec {
495 compatible = "stericsson,ab8500-codec";
496
Fabio Baltierif99808a2013-05-30 15:27:43 +0200497 V-AUD-supply = <&ab8500_ldo_audio_reg>;
498 V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
499 V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
500 V-DMIC-supply = <&ab8500_ldo_dmic_reg>;
501
Lee Jones9c06af32012-07-25 12:50:13 +0100502 stericsson,earpeice-cmv = <950>; /* Units in mV. */
503 };
504
Lee Jones62ebfe62013-06-07 17:11:19 +0100505 ext_regulators: ab8500-ext-regulators {
506 compatible = "stericsson,ab8500-ext-regulator";
507
508 ab8500_ext1_reg: ab8500_ext1 {
509 regulator-compatible = "ab8500_ext1";
510 regulator-min-microvolt = <1800000>;
511 regulator-max-microvolt = <1800000>;
512 regulator-boot-on;
513 regulator-always-on;
514 };
515
516 ab8500_ext2_reg: ab8500_ext2 {
517 regulator-compatible = "ab8500_ext2";
518 regulator-min-microvolt = <1360000>;
519 regulator-max-microvolt = <1360000>;
520 regulator-boot-on;
521 regulator-always-on;
522 };
523
524 ab8500_ext3_reg: ab8500_ext3 {
525 regulator-compatible = "ab8500_ext3";
526 regulator-min-microvolt = <3400000>;
527 regulator-max-microvolt = <3400000>;
528 regulator-boot-on;
529 };
530 };
531
Lee Jones4a85c7f2012-05-29 14:29:53 +0800532 ab8500-regulators {
533 compatible = "stericsson,ab8500-regulator";
Lee Jones75f09992013-06-07 17:11:20 +0100534 vin-supply = <&ab8500_ext3_reg>;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800535
536 // supplies to the display/camera
537 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530538 regulator-compatible = "ab8500_ldo_aux1";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800539 regulator-min-microvolt = <2500000>;
540 regulator-max-microvolt = <2900000>;
541 regulator-boot-on;
542 /* BUG: If turned off MMC will be affected. */
543 regulator-always-on;
544 };
545
546 // supplies to the on-board eMMC
547 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530548 regulator-compatible = "ab8500_ldo_aux2";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800549 regulator-min-microvolt = <1100000>;
550 regulator-max-microvolt = <3300000>;
551 };
552
553 // supply for VAUX3; SDcard slots
554 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530555 regulator-compatible = "ab8500_ldo_aux3";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800556 regulator-min-microvolt = <1100000>;
557 regulator-max-microvolt = <3300000>;
558 };
559
560 // supply for v-intcore12; VINTCORE12 LDO
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200561 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
562 regulator-compatible = "ab8500_ldo_intcore";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800563 };
564
565 // supply for tvout; gpadc; TVOUT LDO
566 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
Laxman Dewanganda268482012-06-20 17:53:05 +0530567 regulator-compatible = "ab8500_ldo_tvout";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800568 };
569
570 // supply for ab8500-usb; USB LDO
571 ab8500_ldo_usb_reg: ab8500_ldo_usb {
Laxman Dewanganda268482012-06-20 17:53:05 +0530572 regulator-compatible = "ab8500_ldo_usb";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800573 };
574
575 // supply for ab8500-vaudio; VAUDIO LDO
576 ab8500_ldo_audio_reg: ab8500_ldo_audio {
Laxman Dewanganda268482012-06-20 17:53:05 +0530577 regulator-compatible = "ab8500_ldo_audio";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800578 };
579
Fabio Baltieri4aa44872013-05-30 15:27:41 +0200580 // supply for v-anamic1 VAMIC1 LDO
Lee Jones4a85c7f2012-05-29 14:29:53 +0800581 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
Laxman Dewanganda268482012-06-20 17:53:05 +0530582 regulator-compatible = "ab8500_ldo_anamic1";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800583 };
584
585 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
Fabio Baltieri5510ed92013-05-30 15:27:42 +0200586 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
587 regulator-compatible = "ab8500_ldo_anamic2";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800588 };
589
590 // supply for v-dmic; VDMIC LDO
591 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
Laxman Dewanganda268482012-06-20 17:53:05 +0530592 regulator-compatible = "ab8500_ldo_dmic";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800593 };
594
595 // supply for U8500 CSI/DSI; VANA LDO
596 ab8500_ldo_ana_reg: ab8500_ldo_ana {
Laxman Dewanganda268482012-06-20 17:53:05 +0530597 regulator-compatible = "ab8500_ldo_ana";
Lee Jones4a85c7f2012-05-29 14:29:53 +0800598 };
599 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000600 };
601 };
602
603 i2c@80004000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100604 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000605 reg = <0x80004000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200606 interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100607
Lee Jones7e0ce272012-03-15 16:46:17 +0000608 #address-cells = <1>;
609 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100610 v-i2c-supply = <&db8500_vape_reg>;
611
612 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100613 clocks = <&prcc_kclk 3 3>, <&prcc_pclk 3 3>;
614 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000615 };
616
617 i2c@80122000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100618 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000619 reg = <0x80122000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200620 interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100621
Lee Jones7e0ce272012-03-15 16:46:17 +0000622 #address-cells = <1>;
623 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100624 v-i2c-supply = <&db8500_vape_reg>;
625
626 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100627
628 clocks = <&prcc_kclk 1 2>, <&prcc_pclk 1 2>;
629 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000630 };
631
632 i2c@80128000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100633 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000634 reg = <0x80128000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200635 interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100636
Lee Jones7e0ce272012-03-15 16:46:17 +0000637 #address-cells = <1>;
638 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100639 v-i2c-supply = <&db8500_vape_reg>;
640
641 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100642
643 clocks = <&prcc_kclk 1 6>, <&prcc_pclk 1 6>;
644 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000645 };
646
647 i2c@80110000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100648 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000649 reg = <0x80110000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200650 interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100651
Lee Jones7e0ce272012-03-15 16:46:17 +0000652 #address-cells = <1>;
653 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100654 v-i2c-supply = <&db8500_vape_reg>;
655
656 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100657
658 clocks = <&prcc_kclk 2 0>, <&prcc_pclk 2 0>;
659 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000660 };
661
662 i2c@8012a000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100663 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000664 reg = <0x8012a000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200665 interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100666
Lee Jones7e0ce272012-03-15 16:46:17 +0000667 #address-cells = <1>;
668 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100669 v-i2c-supply = <&db8500_vape_reg>;
670
671 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100672
673 clocks = <&prcc_kclk 1 9>, <&prcc_pclk 1 9>;
674 clock-names = "i2cclk", "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000675 };
676
677 ssp@80002000 {
678 compatible = "arm,pl022", "arm,primecell";
Lee Jonesc164fa62012-09-07 12:09:34 +0100679 reg = <0x80002000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200680 interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000681 #address-cells = <1>;
682 #size-cells = <0>;
683 status = "disabled";
Lee Jones7e0ce272012-03-15 16:46:17 +0000684 };
685
686 uart@80120000 {
687 compatible = "arm,pl011", "arm,primecell";
688 reg = <0x80120000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200689 interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100690
691 dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
692 <&dma 13 0 0x0>; /* Logical - MemToDev */
693 dma-names = "rx", "tx";
694
Lee Jones5a323fb2013-06-03 13:17:17 +0100695 clocks = <&prcc_kclk 1 0>, <&prcc_pclk 1 0>;
696 clock-names = "uart", "apb_pclk";
697
Lee Jones7e0ce272012-03-15 16:46:17 +0000698 status = "disabled";
699 };
Lee Jonesfbff01c2013-05-03 15:31:49 +0100700
Lee Jones7e0ce272012-03-15 16:46:17 +0000701 uart@80121000 {
702 compatible = "arm,pl011", "arm,primecell";
703 reg = <0x80121000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200704 interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100705
706 dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */
707 <&dma 12 0 0x0>; /* Logical - MemToDev */
708 dma-names = "rx", "tx";
709
Lee Jones5a323fb2013-06-03 13:17:17 +0100710 clocks = <&prcc_kclk 1 1>, <&prcc_pclk 1 1>;
711 clock-names = "uart", "apb_pclk";
712
Lee Jones7e0ce272012-03-15 16:46:17 +0000713 status = "disabled";
714 };
Lee Jonesfbff01c2013-05-03 15:31:49 +0100715
Lee Jones7e0ce272012-03-15 16:46:17 +0000716 uart@80007000 {
717 compatible = "arm,pl011", "arm,primecell";
718 reg = <0x80007000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200719 interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100720
721 dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */
722 <&dma 11 0 0x0>; /* Logical - MemToDev */
723 dma-names = "rx", "tx";
724
Lee Jones5a323fb2013-06-03 13:17:17 +0100725 clocks = <&prcc_kclk 3 6>, <&prcc_pclk 3 6>;
726 clock-names = "uart", "apb_pclk";
727
Lee Jones7e0ce272012-03-15 16:46:17 +0000728 status = "disabled";
729 };
730
Lee Jones81bf8c22012-09-26 12:55:56 +0100731 sdi0_per1@80126000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000732 compatible = "arm,pl18x", "arm,primecell";
733 reg = <0x80126000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200734 interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +0100735
736 dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
737 <&dma 29 0 0x0>; /* Logical - MemToDev */
738 dma-names = "rx", "tx";
739
Lee Jones604be892013-06-06 12:28:50 +0100740 clocks = <&prcc_kclk 1 5>, <&prcc_pclk 1 5>;
741 clock-names = "sdi", "apb_pclk";
742
Lee Jones7e0ce272012-03-15 16:46:17 +0000743 status = "disabled";
744 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100745
Lee Jones81bf8c22012-09-26 12:55:56 +0100746 sdi1_per2@80118000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000747 compatible = "arm,pl18x", "arm,primecell";
748 reg = <0x80118000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200749 interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +0100750
751 dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */
752 <&dma 32 0 0x0>; /* Logical - MemToDev */
753 dma-names = "rx", "tx";
754
Lee Jones604be892013-06-06 12:28:50 +0100755 clocks = <&prcc_kclk 2 4>, <&prcc_pclk 2 6>;
756 clock-names = "sdi", "apb_pclk";
757
Lee Jones7e0ce272012-03-15 16:46:17 +0000758 status = "disabled";
759 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100760
Lee Jones81bf8c22012-09-26 12:55:56 +0100761 sdi2_per3@80005000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000762 compatible = "arm,pl18x", "arm,primecell";
763 reg = <0x80005000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200764 interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +0100765
766 dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */
767 <&dma 28 0 0x0>; /* Logical - MemToDev */
768 dma-names = "rx", "tx";
769
Lee Jones604be892013-06-06 12:28:50 +0100770 clocks = <&prcc_kclk 3 4>, <&prcc_pclk 3 4>;
771 clock-names = "sdi", "apb_pclk";
772
Lee Jones7e0ce272012-03-15 16:46:17 +0000773 status = "disabled";
774 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100775
Lee Jones81bf8c22012-09-26 12:55:56 +0100776 sdi3_per2@80119000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000777 compatible = "arm,pl18x", "arm,primecell";
778 reg = <0x80119000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200779 interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones604be892013-06-06 12:28:50 +0100780
781 clocks = <&prcc_kclk 2 5>, <&prcc_pclk 2 7>;
782 clock-names = "sdi", "apb_pclk";
783
Lee Jones7e0ce272012-03-15 16:46:17 +0000784 status = "disabled";
785 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100786
Lee Jones81bf8c22012-09-26 12:55:56 +0100787 sdi4_per2@80114000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000788 compatible = "arm,pl18x", "arm,primecell";
789 reg = <0x80114000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200790 interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +0100791
792 dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */
793 <&dma 42 0 0x0>; /* Logical - MemToDev */
794 dma-names = "rx", "tx";
795
Lee Jones604be892013-06-06 12:28:50 +0100796 clocks = <&prcc_kclk 2 2>, <&prcc_pclk 2 4>;
797 clock-names = "sdi", "apb_pclk";
798
Lee Jones7e0ce272012-03-15 16:46:17 +0000799 status = "disabled";
800 };
Lee Jones76ff4e42012-10-24 11:10:05 +0100801
Lee Jones81bf8c22012-09-26 12:55:56 +0100802 sdi5_per3@80008000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000803 compatible = "arm,pl18x", "arm,primecell";
Lee Jones76ff4e42012-10-24 11:10:05 +0100804 reg = <0x80008000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200805 interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones604be892013-06-06 12:28:50 +0100806
807 clocks = <&prcc_kclk 3 7>, <&prcc_pclk 3 7>;
808 clock-names = "sdi", "apb_pclk";
809
Lee Jones7e0ce272012-03-15 16:46:17 +0000810 status = "disabled";
811 };
Lee Jonesbf76e062012-04-24 10:53:18 +0100812
Lee Jonesfe164522012-07-31 12:37:16 +0100813 msp0: msp@80123000 {
814 compatible = "stericsson,ux500-msp-i2s";
815 reg = <0x80123000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200816 interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +0100817 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +0100818
819 clocks = <&prcc_kclk 1 3>, <&prcc_pclk 1 3>;
820 clock-names = "msp", "apb_pclk";
821
Lee Jonesfe164522012-07-31 12:37:16 +0100822 status = "disabled";
823 };
824
825 msp1: msp@80124000 {
826 compatible = "stericsson,ux500-msp-i2s";
827 reg = <0x80124000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200828 interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +0100829 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +0100830
831 clocks = <&prcc_kclk 1 4>, <&prcc_pclk 1 4>;
832 clock-names = "msp", "apb_pclk";
833
Lee Jonesfe164522012-07-31 12:37:16 +0100834 status = "disabled";
835 };
836
837 // HDMI sound
838 msp2: msp@80117000 {
839 compatible = "stericsson,ux500-msp-i2s";
840 reg = <0x80117000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200841 interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +0100842 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +0100843
844 clocks = <&prcc_kclk 2 3>, <&prcc_pclk 2 5>;
845 clock-names = "msp", "apb_pclk";
846
Lee Jonesfe164522012-07-31 12:37:16 +0100847 status = "disabled";
848 };
849
850 msp3: msp@80125000 {
851 compatible = "stericsson,ux500-msp-i2s";
852 reg = <0x80125000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200853 interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +0100854 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +0100855
856 clocks = <&prcc_kclk 1 10>, <&prcc_pclk 1 11>;
857 clock-names = "msp", "apb_pclk";
858
Lee Jonesfe164522012-07-31 12:37:16 +0100859 status = "disabled";
860 };
861
Lee Jonesbf76e062012-04-24 10:53:18 +0100862 external-bus@50000000 {
863 compatible = "simple-bus";
864 reg = <0x50000000 0x4000000>;
865 #address-cells = <1>;
866 #size-cells = <1>;
867 ranges = <0 0x50000000 0x4000000>;
868 status = "disabled";
869 };
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800870
871 cpufreq-cooling {
872 compatible = "stericsson,db8500-cpufreq-cooling";
873 status = "disabled";
874 };
875
Lee Jones0563f632012-10-24 11:18:14 +0100876 vmmci: regulator-gpio {
877 compatible = "regulator-gpio";
878
879 regulator-min-microvolt = <1800000>;
Lee Jones4f902b42012-12-06 14:00:01 +0000880 regulator-max-microvolt = <2900000>;
Lee Jones0563f632012-10-24 11:18:14 +0100881 regulator-name = "mmci-reg";
882 regulator-type = "voltage";
883
Lee Jones874c9202012-12-07 13:46:01 +0000884 startup-delay-us = <100>;
Lee Jonese7bda302012-12-06 15:00:46 +0000885 enable-active-high;
886
Lee Jones0563f632012-10-24 11:18:14 +0100887 states = <1800000 0x1
888 2900000 0x0>;
Lee Jonesc94a4ab2012-11-15 13:02:16 +0000889
890 status = "disabled";
Lee Jones0563f632012-10-24 11:18:14 +0100891 };
Lee Jonesfe2e9f92013-05-16 12:27:21 +0100892
893 cryp@a03cb000 {
894 compatible = "stericsson,ux500-cryp";
895 reg = <0xa03cb000 0x1000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200896 interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe2e9f92013-05-16 12:27:21 +0100897
898 v-ape-supply = <&db8500_vape_reg>;
Lee Jonesfe2e9f92013-05-16 12:27:21 +0100899 };
Lee Jones61122cf2013-05-16 12:27:22 +0100900
901 hash@a03c2000 {
902 compatible = "stericsson,ux500-hash";
903 reg = <0xa03c2000 0x1000>;
904
905 v-ape-supply = <&db8500_vape_reg>;
Lee Jones61122cf2013-05-16 12:27:22 +0100906 };
Arnd Bergmann5d0769f2012-03-02 23:07:21 +0000907 };
908};