blob: 4763b805e7548fa5705bbfe3bf6daa0d41666d6d [file] [log] [blame]
Arnd Bergmann2d334292012-03-07 15:04:07 +00001/*
2 * Copyright 2011 ST-Ericsson AB
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/dts-v1/;
Linus Walleij2ce05a12013-08-07 15:37:52 +020013#include "ste-dbx5x0.dtsi"
Linus Walleij3bfdebb2013-11-13 10:32:20 +010014#include "ste-href-family-pinctrl.dtsi"
Arnd Bergmann2d334292012-03-07 15:04:07 +000015
16/ {
17 model = "Calao Systems Snowball platform with device tree";
Lee Jones79b40752012-10-15 10:07:55 +010018 compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
Arnd Bergmann2d334292012-03-07 15:04:07 +000019
Arnd Bergmann2d334292012-03-07 15:04:07 +000020 memory {
21 reg = <0x00000000 0x20000000>;
22 };
23
Lee Jonesbc367482012-05-03 11:23:47 +010024 en_3v3_reg: en_3v3 {
25 compatible = "regulator-fixed";
Lee Jonesb0995762013-06-18 09:51:58 +010026 regulator-name = "en-3v3-fixed-supply";
27 regulator-min-microvolt = <3300000>;
28 regulator-max-microvolt = <3300000>;
29 /* AB8500 GPIOs start from 1 - offset 25 is GPIO26. */
30 gpio = <&ab8500_gpio 25 0x4>;
31 startup-delay-us = <5000>;
32 enable-active-high;
Lee Jonesbc367482012-05-03 11:23:47 +010033 };
34
Lee Jones7e0ce272012-03-15 16:46:17 +000035 gpio_keys {
36 compatible = "gpio-keys";
37 #address-cells = <1>;
38 #size-cells = <0>;
39
40 button@1 {
41 debounce_interval = <50>;
42 wakeup = <1>;
43 linux,code = <2>;
44 label = "userpb";
Lee Jones93b56982012-05-29 14:17:36 +080045 gpios = <&gpio1 0 0x4>;
Lee Jones7e0ce272012-03-15 16:46:17 +000046 };
47 button@2 {
48 debounce_interval = <50>;
49 wakeup = <1>;
50 linux,code = <3>;
Lee Jones3f3ed402012-04-13 15:05:07 +010051 label = "extkb1";
Lee Jones93b56982012-05-29 14:17:36 +080052 gpios = <&gpio4 23 0x4>;
Lee Jones7e0ce272012-03-15 16:46:17 +000053 };
54 button@3 {
55 debounce_interval = <50>;
56 wakeup = <1>;
57 linux,code = <4>;
Lee Jones3f3ed402012-04-13 15:05:07 +010058 label = "extkb2";
Lee Jones93b56982012-05-29 14:17:36 +080059 gpios = <&gpio4 24 0x4>;
Lee Jones7e0ce272012-03-15 16:46:17 +000060 };
61 button@4 {
62 debounce_interval = <50>;
63 wakeup = <1>;
64 linux,code = <5>;
Lee Jones3f3ed402012-04-13 15:05:07 +010065 label = "extkb3";
Lee Jones93b56982012-05-29 14:17:36 +080066 gpios = <&gpio5 1 0x4>;
Lee Jones7e0ce272012-03-15 16:46:17 +000067 };
68 button@5 {
69 debounce_interval = <50>;
70 wakeup = <1>;
71 linux,code = <6>;
Lee Jones3f3ed402012-04-13 15:05:07 +010072 label = "extkb4";
Lee Jones93b56982012-05-29 14:17:36 +080073 gpios = <&gpio5 2 0x4>;
Lee Jones7e0ce272012-03-15 16:46:17 +000074 };
75 };
76
77 leds {
78 compatible = "gpio-leds";
79 used-led {
80 label = "user_led";
Lee Jones93b56982012-05-29 14:17:36 +080081 gpios = <&gpio4 14 0x4>;
Lee Jones7fd975f2012-06-15 09:30:30 +010082 default-state = "on";
Lee Jonesfd53d042012-05-02 09:48:38 +010083 linux,default-trigger = "heartbeat";
Lee Jones7e0ce272012-03-15 16:46:17 +000084 };
85 };
86
Gabriel Fernandezb1ba1432013-03-01 14:38:07 +010087 soc {
Linus Walleija12f7032013-11-13 15:59:40 +010088 usb_per5@a03e0000 {
89 pinctrl-names = "default", "sleep";
90 pinctrl-0 = <&musb_default_mode>;
91 pinctrl-1 = <&musb_sleep_mode>;
92 };
Lee Jonese6488062012-07-31 13:31:50 +010093
94 sound {
95 compatible = "stericsson,snd-soc-mop500";
96
97 stericsson,cpu-dai = <&msp1 &msp3>;
98 stericsson,audio-codec = <&codec>;
99 };
100
Linus Walleij70b41ab2013-11-13 14:45:06 +0100101 msp0: msp@80123000 {
102 pinctrl-names = "default";
103 pinctrl-0 = <&msp0_default_mode>;
104 status = "okay";
105 };
106
Lee Jonesfe164522012-07-31 12:37:16 +0100107 msp1: msp@80124000 {
Linus Walleij70b41ab2013-11-13 14:45:06 +0100108 pinctrl-names = "default";
109 pinctrl-0 = <&msp1_default_mode>;
110 status = "okay";
111 };
112
113 msp2: msp@80117000 {
114 pinctrl-names = "default";
115 pinctrl-0 = <&msp2_default_mode>;
Lee Jonesfe164522012-07-31 12:37:16 +0100116 status = "okay";
117 };
118
119 msp3: msp@80125000 {
120 status = "okay";
121 };
122
Lee Jones7e0ce272012-03-15 16:46:17 +0000123 external-bus@50000000 {
Lee Jonesbf76e062012-04-24 10:53:18 +0100124 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000125
Lee Jonesbf76e062012-04-24 10:53:18 +0100126 ethernet@0 {
127 compatible = "smsc,lan9115";
128 reg = <0 0x10000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200129 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000130 interrupt-parent = <&gpio4>;
Lee Jonesbc367482012-05-03 11:23:47 +0100131 vdd33a-supply = <&en_3v3_reg>;
132 vddvario-supply = <&db8500_vape_reg>;
133
Lee Jonesbf76e062012-04-24 10:53:18 +0100134 reg-shift = <1>;
135 reg-io-width = <2>;
136 smsc,force-internal-phy;
137 smsc,irq-active-high;
138 smsc,irq-push-pull;
Lee Jones7fb2afc2013-06-03 13:06:13 +0100139
140 clocks = <&prcc_pclk 3 0>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000141 };
142 };
143
Lee Jones383307c2013-04-02 14:21:54 +0100144 vmmci: regulator-gpio {
145 gpios = <&gpio6 25 0x4>;
146 enable-gpio = <&gpio7 4 0x4>;
147
148 status = "okay";
149 };
150
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800151 // External Micro SD slot
Lee Jones81bf8c22012-09-26 12:55:56 +0100152 sdi0_per1@80126000 {
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800153 arm,primecell-periphid = <0x10480180>;
Linus Walleij90ccde42013-05-27 13:15:05 +0200154 max-frequency = <100000000>;
Lee Jones92a0f482012-09-26 11:12:48 +0100155 bus-width = <4>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800156 mmc-cap-mmc-highspeed;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800157 vmmc-supply = <&ab8500_ldo_aux3_reg>;
Lee Jones383307c2013-04-02 14:21:54 +0100158 vqmmc-supply = <&vmmci>;
Linus Walleij1e662352013-11-13 13:46:57 +0100159 pinctrl-names = "default", "sleep";
160 pinctrl-0 = <&sdi0_default_mode>;
161 pinctrl-1 = <&sdi0_sleep_mode>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800162
Lee Jones93b56982012-05-29 14:17:36 +0800163 cd-gpios = <&gpio6 26 0x4>; // 218
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800164 cd-inverted;
165
166 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000167 };
168
Linus Walleij1e662352013-11-13 13:46:57 +0100169 // WLAN SDIO channel
170 sdi1_per2@80118000 {
171 arm,primecell-periphid = <0x10480180>;
172 max-frequency = <100000000>;
173 bus-width = <4>;
174 pinctrl-names = "default", "sleep";
175 pinctrl-0 = <&sdi1_default_mode>;
176 pinctrl-1 = <&sdi1_sleep_mode>;
177
178 status = "okay";
179 };
180
181 // Unused PoP eMMC - register and put it to sleep by default */
182 sdi2_per3@80005000 {
183 arm,primecell-periphid = <0x10480180>;
184 pinctrl-names = "default";
185 pinctrl-0 = <&sdi2_sleep_mode>;
186
187 status = "okay";
188 };
189
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800190 // On-board eMMC
Lee Jones81bf8c22012-09-26 12:55:56 +0100191 sdi4_per2@80114000 {
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800192 arm,primecell-periphid = <0x10480180>;
Linus Walleij90ccde42013-05-27 13:15:05 +0200193 max-frequency = <100000000>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800194 bus-width = <8>;
195 mmc-cap-mmc-highspeed;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800196 vmmc-supply = <&ab8500_ldo_aux2_reg>;
Linus Walleij1e662352013-11-13 13:46:57 +0100197 pinctrl-names = "default", "sleep";
198 pinctrl-0 = <&sdi4_default_mode>;
199 pinctrl-1 = <&sdi4_sleep_mode>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800200
201 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000202 };
203
Lee Jones4905af02012-03-07 17:35:04 +0000204 uart@80120000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100205 pinctrl-names = "default", "sleep";
206 pinctrl-0 = <&uart0_default_mode>;
207 pinctrl-1 = <&uart0_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000208 status = "okay";
209 };
210
211 uart@80121000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100212 pinctrl-names = "default", "sleep";
213 pinctrl-0 = <&uart1_default_mode>;
214 pinctrl-1 = <&uart1_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000215 status = "okay";
216 };
217
218 uart@80007000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100219 pinctrl-names = "default", "sleep";
220 pinctrl-0 = <&uart2_default_mode>;
221 pinctrl-1 = <&uart2_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000222 status = "okay";
223 };
224
Linus Walleij96fee132013-11-13 11:10:07 +0100225 i2c@80004000 {
226 pinctrl-names = "default","sleep";
227 pinctrl-0 = <&i2c0_default_mode>;
228 pinctrl-1 = <&i2c0_sleep_mode>;
229 };
230
231 i2c@80122000 {
232 pinctrl-names = "default","sleep";
233 pinctrl-0 = <&i2c1_default_mode>;
234 pinctrl-1 = <&i2c1_sleep_mode>;
235 };
236
237 i2c@80128000 {
238 pinctrl-names = "default","sleep";
239 pinctrl-0 = <&i2c2_default_mode>;
240 pinctrl-1 = <&i2c2_sleep_mode>;
241 };
242
243 i2c@80110000 {
244 pinctrl-names = "default","sleep";
245 pinctrl-0 = <&i2c3_default_mode>;
246 pinctrl-1 = <&i2c3_sleep_mode>;
247 };
248
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800249 cpufreq-cooling {
250 status = "okay";
251 };
Linus Torvaldsdb5b0ae2012-12-13 10:39:26 -0800252
Lee Jones809efa52012-09-25 12:04:51 +0100253 prcmu@80157000 {
Lee Jones6cb7ea92013-09-18 16:03:07 +0100254 cpufreq {
255 status = "okay";
256 };
257
Lee Jones6c1d25b2013-04-02 14:21:51 +0100258 thermal@801573c0 {
259 num-trips = <4>;
260
261 trip0-temp = <70000>;
262 trip0-type = "active";
263 trip0-cdev-num = <1>;
264 trip0-cdev-name0 = "thermal-cpufreq-0";
265
266 trip1-temp = <75000>;
267 trip1-type = "active";
268 trip1-cdev-num = <1>;
269 trip1-cdev-name0 = "thermal-cpufreq-0";
270
271 trip2-temp = <80000>;
272 trip2-type = "active";
273 trip2-cdev-num = <1>;
274 trip2-cdev-name0 = "thermal-cpufreq-0";
275
276 trip3-temp = <85000>;
277 trip3-type = "critical";
278 trip3-cdev-num = <0>;
279
280 status = "okay";
281 };
282
Arnd Bergmannd52701d32013-03-12 09:39:01 +0100283 ab8500 {
Lee Jones924e82d2013-01-16 14:28:03 +0000284 ab8500-gpio {
285 compatible = "stericsson,ab8500-gpio";
286 };
287
Lee Jonesb0c8fad2013-06-07 17:11:21 +0100288 ext_regulators: ab8500-ext-regulators {
289 ab8500_ext1_reg: ab8500_ext1 {
290 regulator-name = "ab8500-ext-supply1";
291 };
292
293 ab8500_ext2_reg_reg: ab8500_ext2 {
294 regulator-name = "ab8500-ext-supply2";
295 };
296
297 ab8500_ext3_reg_reg: ab8500_ext3 {
298 regulator-name = "ab8500-ext-supply3";
299 };
300 };
301
Lee Jones809efa52012-09-25 12:04:51 +0100302 ab8500-regulators {
303 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
304 regulator-name = "V-DISPLAY";
305 };
306
307 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
308 regulator-name = "V-eMMC1";
309 };
310
311 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
312 regulator-name = "V-MMC-SD";
313 };
314
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200315 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
Lee Jones809efa52012-09-25 12:04:51 +0100316 regulator-name = "V-INTCORE";
317 };
318
319 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
320 regulator-name = "V-TVOUT";
321 };
322
323 ab8500_ldo_usb_reg: ab8500_ldo_usb {
324 regulator-name = "dummy";
325 };
326
327 ab8500_ldo_audio_reg: ab8500_ldo_audio {
328 regulator-name = "V-AUD";
329 };
330
331 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
332 regulator-name = "V-AMIC1";
333 };
334
Fabio Baltieri5510ed92013-05-30 15:27:42 +0200335 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
Lee Jones809efa52012-09-25 12:04:51 +0100336 regulator-name = "V-AMIC2";
337 };
338
339 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
340 regulator-name = "V-DMIC";
341 };
342
343 ab8500_ldo_ana_reg: ab8500_ldo_ana {
344 regulator-name = "V-CSI/DSI";
345 };
346 };
347 };
348 };
Linus Walleij1e662352013-11-13 13:46:57 +0100349
350 pinctrl {
351 sdi0 {
352 sdi0_default_mode: sdi0_default {
353 snowball_mux {
354 ste,function = "mc0";
355 ste,pins = "mc0dat31dir_a_1";
356 };
357 snowball_cfg1 {
358 ste,pins = "GPIO21_AB3"; /* DAT31DIR */
359 ste,config = <&out_hi>;
360 };
361
362 };
363 };
364 };
Arnd Bergmann2d334292012-03-07 15:04:07 +0000365 };
366};