]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - arch/arm/boot/dts/ste-snowball.dts
ARM: ux500: Refactor common DT configs for sdi[n] devices
[mirror_ubuntu-artful-kernel.git] / arch / arm / boot / dts / ste-snowball.dts
CommitLineData
2d334297
AB
1/*
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/;
2ce05a14 13#include "ste-dbx5x0.dtsi"
3bfdebba 14#include "ste-href-family-pinctrl.dtsi"
2d334297
AB
15
16/ {
17 model = "Calao Systems Snowball platform with device tree";
79b40753 18 compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
2d334297 19
2d334297
AB
20 memory {
21 reg = <0x00000000 0x20000000>;
22 };
23
bc367481
LJ
24 en_3v3_reg: en_3v3 {
25 compatible = "regulator-fixed";
b099576d
LJ
26 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;
bc367481
LJ
33 };
34
7e0ce270
LJ
35 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";
93b5698a 45 gpios = <&gpio1 0 0x4>;
7e0ce270
LJ
46 };
47 button@2 {
48 debounce_interval = <50>;
49 wakeup = <1>;
50 linux,code = <3>;
3f3ed400 51 label = "extkb1";
93b5698a 52 gpios = <&gpio4 23 0x4>;
7e0ce270
LJ
53 };
54 button@3 {
55 debounce_interval = <50>;
56 wakeup = <1>;
57 linux,code = <4>;
3f3ed400 58 label = "extkb2";
93b5698a 59 gpios = <&gpio4 24 0x4>;
7e0ce270
LJ
60 };
61 button@4 {
62 debounce_interval = <50>;
63 wakeup = <1>;
64 linux,code = <5>;
3f3ed400 65 label = "extkb3";
93b5698a 66 gpios = <&gpio5 1 0x4>;
7e0ce270
LJ
67 };
68 button@5 {
69 debounce_interval = <50>;
70 wakeup = <1>;
71 linux,code = <6>;
3f3ed400 72 label = "extkb4";
93b5698a 73 gpios = <&gpio5 2 0x4>;
7e0ce270
LJ
74 };
75 };
76
77 leds {
78 compatible = "gpio-leds";
2f4b84f8
LW
79 pinctrl-names = "default";
80 pinctrl-0 = <&gpioled_snowball_mode>;
7e0ce270
LJ
81 used-led {
82 label = "user_led";
93b5698a 83 gpios = <&gpio4 14 0x4>;
7fd975fa 84 default-state = "on";
fd53d042 85 linux,default-trigger = "heartbeat";
7e0ce270
LJ
86 };
87 };
88
b1ba1439 89 soc {
a12f703c
LW
90 usb_per5@a03e0000 {
91 pinctrl-names = "default", "sleep";
92 pinctrl-0 = <&musb_default_mode>;
93 pinctrl-1 = <&musb_sleep_mode>;
94 };
e6488065
LJ
95
96 sound {
97 compatible = "stericsson,snd-soc-mop500";
98
99 stericsson,cpu-dai = <&msp1 &msp3>;
100 stericsson,audio-codec = <&codec>;
101 };
102
70b41abc
LW
103 msp0: msp@80123000 {
104 pinctrl-names = "default";
105 pinctrl-0 = <&msp0_default_mode>;
106 status = "okay";
107 };
108
fe164529 109 msp1: msp@80124000 {
70b41abc
LW
110 pinctrl-names = "default";
111 pinctrl-0 = <&msp1_default_mode>;
112 status = "okay";
113 };
114
115 msp2: msp@80117000 {
116 pinctrl-names = "default";
117 pinctrl-0 = <&msp2_default_mode>;
fe164529
LJ
118 status = "okay";
119 };
120
121 msp3: msp@80125000 {
122 status = "okay";
123 };
124
7e0ce270 125 external-bus@50000000 {
bf76e062
LJ
126 status = "okay";
127
128 ethernet@0 {
129 compatible = "smsc,lan9115";
130 reg = <0 0x10000>;
90c40257 131 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
7e0ce270 132 interrupt-parent = <&gpio4>;
bc367481
LJ
133 vdd33a-supply = <&en_3v3_reg>;
134 vddvario-supply = <&db8500_vape_reg>;
a48bf4b9
LW
135 pinctrl-names = "default";
136 pinctrl-0 = <&eth_snowball_mode>;
bc367481 137
bf76e062
LJ
138 reg-shift = <1>;
139 reg-io-width = <2>;
140 smsc,force-internal-phy;
141 smsc,irq-active-high;
142 smsc,irq-push-pull;
7fb2afc7
LJ
143
144 clocks = <&prcc_pclk 3 0>;
7e0ce270
LJ
145 };
146 };
147
383307c2
LJ
148 vmmci: regulator-gpio {
149 gpios = <&gpio6 25 0x4>;
150 enable-gpio = <&gpio7 4 0x4>;
151
152 status = "okay";
153 };
154
5e1ac7db 155 // External Micro SD slot
81bf8c2e 156 sdi0_per1@80126000 {
5e1ac7db 157 arm,primecell-periphid = <0x10480180>;
90ccde4c 158 max-frequency = <100000000>;
92a0f489 159 bus-width = <4>;
5e1ac7db 160 mmc-cap-mmc-highspeed;
4a85c7fa 161 vmmc-supply = <&ab8500_ldo_aux3_reg>;
383307c2 162 vqmmc-supply = <&vmmci>;
1e662353
LW
163 pinctrl-names = "default", "sleep";
164 pinctrl-0 = <&sdi0_default_mode>;
165 pinctrl-1 = <&sdi0_sleep_mode>;
5e1ac7db 166
93b5698a 167 cd-gpios = <&gpio6 26 0x4>; // 218
5e1ac7db
LJ
168 cd-inverted;
169
170 status = "okay";
7e0ce270
LJ
171 };
172
1e662353
LW
173 // WLAN SDIO channel
174 sdi1_per2@80118000 {
175 arm,primecell-periphid = <0x10480180>;
176 max-frequency = <100000000>;
177 bus-width = <4>;
178 pinctrl-names = "default", "sleep";
179 pinctrl-0 = <&sdi1_default_mode>;
180 pinctrl-1 = <&sdi1_sleep_mode>;
181
182 status = "okay";
183 };
184
185 // Unused PoP eMMC - register and put it to sleep by default */
186 sdi2_per3@80005000 {
187 arm,primecell-periphid = <0x10480180>;
188 pinctrl-names = "default";
189 pinctrl-0 = <&sdi2_sleep_mode>;
190
191 status = "okay";
192 };
193
5e1ac7db 194 // On-board eMMC
81bf8c2e 195 sdi4_per2@80114000 {
5e1ac7db 196 arm,primecell-periphid = <0x10480180>;
90ccde4c 197 max-frequency = <100000000>;
5e1ac7db
LJ
198 bus-width = <8>;
199 mmc-cap-mmc-highspeed;
4a85c7fa 200 vmmc-supply = <&ab8500_ldo_aux2_reg>;
1e662353
LW
201 pinctrl-names = "default", "sleep";
202 pinctrl-0 = <&sdi4_default_mode>;
203 pinctrl-1 = <&sdi4_sleep_mode>;
5e1ac7db
LJ
204
205 status = "okay";
7e0ce270
LJ
206 };
207
4905af0e 208 uart@80120000 {
3bfdebba
LW
209 pinctrl-names = "default", "sleep";
210 pinctrl-0 = <&uart0_default_mode>;
211 pinctrl-1 = <&uart0_sleep_mode>;
4905af0e
LJ
212 status = "okay";
213 };
214
215 uart@80121000 {
3bfdebba
LW
216 pinctrl-names = "default", "sleep";
217 pinctrl-0 = <&uart1_default_mode>;
218 pinctrl-1 = <&uart1_sleep_mode>;
4905af0e
LJ
219 status = "okay";
220 };
221
222 uart@80007000 {
3bfdebba
LW
223 pinctrl-names = "default", "sleep";
224 pinctrl-0 = <&uart2_default_mode>;
225 pinctrl-1 = <&uart2_sleep_mode>;
4905af0e
LJ
226 status = "okay";
227 };
228
96fee13f
LW
229 i2c@80004000 {
230 pinctrl-names = "default","sleep";
231 pinctrl-0 = <&i2c0_default_mode>;
232 pinctrl-1 = <&i2c0_sleep_mode>;
233 };
234
235 i2c@80122000 {
236 pinctrl-names = "default","sleep";
237 pinctrl-0 = <&i2c1_default_mode>;
238 pinctrl-1 = <&i2c1_sleep_mode>;
239 };
240
241 i2c@80128000 {
242 pinctrl-names = "default","sleep";
243 pinctrl-0 = <&i2c2_default_mode>;
244 pinctrl-1 = <&i2c2_sleep_mode>;
245 };
246
247 i2c@80110000 {
248 pinctrl-names = "default","sleep";
249 pinctrl-0 = <&i2c3_default_mode>;
250 pinctrl-1 = <&i2c3_sleep_mode>;
251 };
252
fd8f9eac
LW
253 ssp@80002000 {
254 pinctrl-names = "default";
255 pinctrl-0 = <&ssp0_snowball_mode>;
256 };
257
dc1956b5 258 cpufreq-cooling {
259 status = "okay";
260 };
db5b0ae0 261
809efa56 262 prcmu@80157000 {
6cb7ea99
LJ
263 cpufreq {
264 status = "okay";
265 };
266
6c1d25b0
LJ
267 thermal@801573c0 {
268 num-trips = <4>;
269
270 trip0-temp = <70000>;
271 trip0-type = "active";
272 trip0-cdev-num = <1>;
273 trip0-cdev-name0 = "thermal-cpufreq-0";
274
275 trip1-temp = <75000>;
276 trip1-type = "active";
277 trip1-cdev-num = <1>;
278 trip1-cdev-name0 = "thermal-cpufreq-0";
279
280 trip2-temp = <80000>;
281 trip2-type = "active";
282 trip2-cdev-num = <1>;
283 trip2-cdev-name0 = "thermal-cpufreq-0";
284
285 trip3-temp = <85000>;
286 trip3-type = "critical";
287 trip3-cdev-num = <0>;
288
289 status = "okay";
290 };
291
d52701d3 292 ab8500 {
924e82da
LJ
293 ab8500-gpio {
294 compatible = "stericsson,ab8500-gpio";
295 };
296
b0c8fade
LJ
297 ext_regulators: ab8500-ext-regulators {
298 ab8500_ext1_reg: ab8500_ext1 {
299 regulator-name = "ab8500-ext-supply1";
300 };
301
302 ab8500_ext2_reg_reg: ab8500_ext2 {
303 regulator-name = "ab8500-ext-supply2";
304 };
305
306 ab8500_ext3_reg_reg: ab8500_ext3 {
307 regulator-name = "ab8500-ext-supply3";
308 };
309 };
310
809efa56
LJ
311 ab8500-regulators {
312 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
313 regulator-name = "V-DISPLAY";
314 };
315
316 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
317 regulator-name = "V-eMMC1";
318 };
319
320 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
321 regulator-name = "V-MMC-SD";
322 };
323
99b38eef 324 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
809efa56
LJ
325 regulator-name = "V-INTCORE";
326 };
327
328 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
329 regulator-name = "V-TVOUT";
330 };
331
332 ab8500_ldo_usb_reg: ab8500_ldo_usb {
333 regulator-name = "dummy";
334 };
335
336 ab8500_ldo_audio_reg: ab8500_ldo_audio {
337 regulator-name = "V-AUD";
338 };
339
340 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
341 regulator-name = "V-AMIC1";
342 };
343
5510ed9f 344 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
809efa56
LJ
345 regulator-name = "V-AMIC2";
346 };
347
348 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
349 regulator-name = "V-DMIC";
350 };
351
352 ab8500_ldo_ana_reg: ab8500_ldo_ana {
353 regulator-name = "V-CSI/DSI";
354 };
355 };
356 };
357 };
1e662353
LW
358
359 pinctrl {
4d4629fc
LW
360 /*
361 * Set this up using hogs, as time goes by and as seems fit, these
362 * can be moved over to being controlled by respective device.
363 */
364 pinctrl-names = "default";
365 pinctrl-0 = <&accel_snowball_mode>,
366 <&magneto_snowball_mode>,
367 <&gbf_snowball_mode>,
368 <&wlan_snowball_mode>;
369
a48bf4b9
LW
370 ethernet {
371 /*
372 * Mux in "SM" which is used for the
373 * SMSC911x Ethernet adapter
374 */
375 eth_snowball_mode: eth_snowball {
376 snowball_mux {
377 ste,function = "sm";
378 ste,pins = "sm_b_1";
379 };
380 /* LAN IRQ pin */
381 snowball_cfg1 {
382 ste,pins = "GPIO140_B11";
383 ste,config = <&in_nopull>;
384 };
385 /* LAN reset pin */
386 snowball_cfg2 {
387 ste,pins = "GPIO141_C12";
388 ste,config = <&gpio_out_hi>;
389 };
390
391 };
392 };
1e662353
LW
393 sdi0 {
394 sdi0_default_mode: sdi0_default {
395 snowball_mux {
396 ste,function = "mc0";
397 ste,pins = "mc0dat31dir_a_1";
398 };
399 snowball_cfg1 {
400 ste,pins = "GPIO21_AB3"; /* DAT31DIR */
401 ste,config = <&out_hi>;
402 };
403
404 };
405 };
fd8f9eac
LW
406 ssp0 {
407 ssp0_snowball_mode: ssp0_snowball_default {
408 snowball_mux {
409 ste,function = "ssp0";
410 ste,pins = "ssp0_a_1";
411 };
412 snowball_cfg1 {
413 ste,pins = "GPIO144_B13"; /* FRM */
414 ste,config = <&gpio_out_hi>;
415 };
416 snowball_cfg2 {
417 ste,pins = "GPIO145_C13"; /* RXD */
418 ste,config = <&in_pd>;
419 };
420 snowball_cfg3 {
421 ste,pins =
422 "GPIO146_D13", /* TXD */
423 "GPIO143_D12"; /* CLK */
424 ste,config = <&out_lo>;
425 };
426
427 };
428 };
2f4b84f8
LW
429 gpio_led {
430 gpioled_snowball_mode: gpioled_default {
431 snowball_cfg1 {
432 ste,pins = "GPIO142_C11";
433 ste,config = <&gpio_out_hi>;
434 };
435
436 };
437 };
4d4629fc
LW
438 accelerometer {
439 accel_snowball_mode: accel_snowball {
440 /* Accelerometer lines */
441 snowball_cfg1 {
442 ste,pins =
443 "GPIO163_C20", /* ACCEL_IRQ1 */
444 "GPIO164_B21"; /* ACCEL_IRQ2 */
445 ste,config = <&gpio_in_pu>;
446 };
447 };
448 };
449 magnetometer {
450 magneto_snowball_mode: magneto_snowball {
451 snowball_cfg1 {
452 ste,pins = "GPIO165_C21"; /* MAG_DRDY */
453 ste,config = <&gpio_in_pu>;
454 };
455 };
456 };
457 gbf {
458 gbf_snowball_mode: gbf_snowball {
459 /*
460 * GBF (GPS, Bluetooth, FM-radio) interface,
461 * pull low to reset state
462 */
463 snowball_cfg1 {
464 ste,pins = "GPIO171_D23"; /* GBF_ENA_RESET */
465 ste,config = <&gpio_out_lo>;
466 };
467 };
468 };
469 wlan {
470 wlan_snowball_mode: wlan_snowball {
471 /*
472 * Activate this mode with the WLAN chip.
473 * These are plain GPIO pins used by WLAN
474 */
475 snowball_cfg1 {
476 ste,pins =
477 "GPIO161_D21", /* WLAN_PMU_EN */
478 "GPIO215_AH13"; /* WLAN_ENA */
479 ste,config = <&gpio_out_lo>;
480 };
481 snowball_cfg2 {
482 ste,pins = "GPIO216_AG12"; /* WLAN_IRQ */
483 ste,config = <&gpio_in_pu>;
484 };
485 };
486 };
1e662353 487 };
817a5b96
LW
488
489 mcde@a0350000 {
490 pinctrl-names = "default", "sleep";
491 pinctrl-0 = <&lcd_default_mode>;
492 pinctrl-1 = <&lcd_sleep_mode>;
493 };
2d334297
AB
494 };
495};