blob: 37ae6166b0e63b5424573b2f6ecb2c89c91dde2c [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 Walleij83200622014-02-03 14:32:20 +010014#include "ste-href-ab8500.dtsi"
Linus Walleij3bfdebb2013-11-13 10:32:20 +010015#include "ste-href-family-pinctrl.dtsi"
Arnd Bergmann2d334292012-03-07 15:04:07 +000016
17/ {
18 model = "Calao Systems Snowball platform with device tree";
Lee Jones79b40752012-10-15 10:07:55 +010019 compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
Arnd Bergmann2d334292012-03-07 15:04:07 +000020
Linus Walleij109978d2015-07-10 11:32:15 +020021 /* This stablilizes the serial port enumeration */
22 aliases {
23 serial0 = &ux500_serial0;
24 serial1 = &ux500_serial1;
25 serial2 = &ux500_serial2;
26 };
27
Arnd Bergmann2d334292012-03-07 15:04:07 +000028 memory {
29 reg = <0x00000000 0x20000000>;
30 };
31
Lee Jonesbc367482012-05-03 11:23:47 +010032 en_3v3_reg: en_3v3 {
33 compatible = "regulator-fixed";
Lee Jonesb0995762013-06-18 09:51:58 +010034 regulator-name = "en-3v3-fixed-supply";
35 regulator-min-microvolt = <3300000>;
36 regulator-max-microvolt = <3300000>;
37 /* AB8500 GPIOs start from 1 - offset 25 is GPIO26. */
38 gpio = <&ab8500_gpio 25 0x4>;
39 startup-delay-us = <5000>;
40 enable-active-high;
Lee Jonesbc367482012-05-03 11:23:47 +010041 };
42
Lee Jones7e0ce272012-03-15 16:46:17 +000043 gpio_keys {
44 compatible = "gpio-keys";
45 #address-cells = <1>;
46 #size-cells = <0>;
47
48 button@1 {
49 debounce_interval = <50>;
Sudeep Holla4db70622015-10-16 17:01:36 +010050 wakeup-source;
Lee Jones7e0ce272012-03-15 16:46:17 +000051 linux,code = <2>;
52 label = "userpb";
Linus Walleij1b1e8e02016-03-24 15:29:30 +010053 gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +000054 };
55 button@2 {
56 debounce_interval = <50>;
Sudeep Holla4db70622015-10-16 17:01:36 +010057 wakeup-source;
Lee Jones7e0ce272012-03-15 16:46:17 +000058 linux,code = <3>;
Lee Jones3f3ed402012-04-13 15:05:07 +010059 label = "extkb1";
Linus Walleij1b1e8e02016-03-24 15:29:30 +010060 gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +000061 };
62 button@3 {
63 debounce_interval = <50>;
Sudeep Holla4db70622015-10-16 17:01:36 +010064 wakeup-source;
Lee Jones7e0ce272012-03-15 16:46:17 +000065 linux,code = <4>;
Lee Jones3f3ed402012-04-13 15:05:07 +010066 label = "extkb2";
Linus Walleij1b1e8e02016-03-24 15:29:30 +010067 gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +000068 };
69 button@4 {
70 debounce_interval = <50>;
Sudeep Holla4db70622015-10-16 17:01:36 +010071 wakeup-source;
Lee Jones7e0ce272012-03-15 16:46:17 +000072 linux,code = <5>;
Lee Jones3f3ed402012-04-13 15:05:07 +010073 label = "extkb3";
Linus Walleij1b1e8e02016-03-24 15:29:30 +010074 gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +000075 };
76 button@5 {
77 debounce_interval = <50>;
Sudeep Holla4db70622015-10-16 17:01:36 +010078 wakeup-source;
Lee Jones7e0ce272012-03-15 16:46:17 +000079 linux,code = <6>;
Lee Jones3f3ed402012-04-13 15:05:07 +010080 label = "extkb4";
Linus Walleij1b1e8e02016-03-24 15:29:30 +010081 gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +000082 };
83 };
84
85 leds {
86 compatible = "gpio-leds";
Linus Walleij2f4b84f2013-11-17 11:33:19 +010087 pinctrl-names = "default";
88 pinctrl-0 = <&gpioled_snowball_mode>;
Lee Jones7e0ce272012-03-15 16:46:17 +000089 used-led {
90 label = "user_led";
Linus Walleij1b1e8e02016-03-24 15:29:30 +010091 gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>;
Lee Jones7fd975f2012-06-15 09:30:30 +010092 default-state = "on";
Lee Jonesfd53d042012-05-02 09:48:38 +010093 linux,default-trigger = "heartbeat";
Lee Jones7e0ce272012-03-15 16:46:17 +000094 };
95 };
96
Gabriel Fernandezb1ba1432013-03-01 14:38:07 +010097 soc {
Linus Walleija12f7032013-11-13 15:59:40 +010098 usb_per5@a03e0000 {
99 pinctrl-names = "default", "sleep";
100 pinctrl-0 = <&musb_default_mode>;
101 pinctrl-1 = <&musb_sleep_mode>;
102 };
Lee Jonese6488062012-07-31 13:31:50 +0100103
104 sound {
105 compatible = "stericsson,snd-soc-mop500";
106
107 stericsson,cpu-dai = <&msp1 &msp3>;
108 stericsson,audio-codec = <&codec>;
109 };
110
Linus Walleij70b41ab2013-11-13 14:45:06 +0100111 msp0: msp@80123000 {
112 pinctrl-names = "default";
113 pinctrl-0 = <&msp0_default_mode>;
114 status = "okay";
115 };
116
Lee Jonesfe164522012-07-31 12:37:16 +0100117 msp1: msp@80124000 {
Linus Walleij70b41ab2013-11-13 14:45:06 +0100118 pinctrl-names = "default";
119 pinctrl-0 = <&msp1_default_mode>;
120 status = "okay";
121 };
122
123 msp2: msp@80117000 {
124 pinctrl-names = "default";
125 pinctrl-0 = <&msp2_default_mode>;
Lee Jonesfe164522012-07-31 12:37:16 +0100126 };
127
128 msp3: msp@80125000 {
129 status = "okay";
130 };
131
Lee Jones7e0ce272012-03-15 16:46:17 +0000132 external-bus@50000000 {
Lee Jonesbf76e062012-04-24 10:53:18 +0100133 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000134
Lee Jonesbf76e062012-04-24 10:53:18 +0100135 ethernet@0 {
136 compatible = "smsc,lan9115";
137 reg = <0 0x10000>;
Linus Walleij90c40252013-05-29 19:15:39 +0200138 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000139 interrupt-parent = <&gpio4>;
Lee Jonesbc367482012-05-03 11:23:47 +0100140 vdd33a-supply = <&en_3v3_reg>;
141 vddvario-supply = <&db8500_vape_reg>;
Linus Walleija48bf4b2013-11-17 10:02:22 +0100142 pinctrl-names = "default";
143 pinctrl-0 = <&eth_snowball_mode>;
Lee Jonesbc367482012-05-03 11:23:47 +0100144
Lee Jonesbf76e062012-04-24 10:53:18 +0100145 reg-shift = <1>;
146 reg-io-width = <2>;
147 smsc,force-internal-phy;
148 smsc,irq-active-high;
149 smsc,irq-push-pull;
Lee Jones7fb2afc2013-06-03 13:06:13 +0100150
151 clocks = <&prcc_pclk 3 0>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000152 };
153 };
154
Lee Jones383307c2013-04-02 14:21:54 +0100155 vmmci: regulator-gpio {
Ulf Hansson53d26692015-04-20 16:02:31 +0200156 compatible = "regulator-gpio";
157
Linus Walleij1b1e8e02016-03-24 15:29:30 +0100158 gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
159 enable-gpio = <&gpio6 25 GPIO_ACTIVE_HIGH>;
Ulf Hansson53d26692015-04-20 16:02:31 +0200160
161 regulator-min-microvolt = <1800000>;
162 regulator-max-microvolt = <2900000>;
163 regulator-name = "mmci-reg";
164 regulator-type = "voltage";
165
166 startup-delay-us = <100>;
167 enable-active-high;
168
169 states = <1800000 0x1
170 2900000 0x0>;
Lee Jones383307c2013-04-02 14:21:54 +0100171 };
172
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800173 // External Micro SD slot
Lee Jones81bf8c22012-09-26 12:55:56 +0100174 sdi0_per1@80126000 {
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800175 arm,primecell-periphid = <0x10480180>;
Linus Walleij90ccde42013-05-27 13:15:05 +0200176 max-frequency = <100000000>;
Lee Jones92a0f482012-09-26 11:12:48 +0100177 bus-width = <4>;
Ulf Hansson30cdd662014-03-18 20:34:04 +0100178 cap-mmc-highspeed;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800179 vmmc-supply = <&ab8500_ldo_aux3_reg>;
Lee Jones383307c2013-04-02 14:21:54 +0100180 vqmmc-supply = <&vmmci>;
Linus Walleij1e662352013-11-13 13:46:57 +0100181 pinctrl-names = "default", "sleep";
182 pinctrl-0 = <&sdi0_default_mode>;
183 pinctrl-1 = <&sdi0_sleep_mode>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800184
Linus Walleij1b1e8e02016-03-24 15:29:30 +0100185 cd-gpios = <&gpio6 26 GPIO_ACTIVE_LOW>; // 218
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800186
187 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000188 };
189
Linus Walleij1e662352013-11-13 13:46:57 +0100190 // WLAN SDIO channel
191 sdi1_per2@80118000 {
192 arm,primecell-periphid = <0x10480180>;
193 max-frequency = <100000000>;
194 bus-width = <4>;
195 pinctrl-names = "default", "sleep";
196 pinctrl-0 = <&sdi1_default_mode>;
197 pinctrl-1 = <&sdi1_sleep_mode>;
198
199 status = "okay";
200 };
201
202 // Unused PoP eMMC - register and put it to sleep by default */
203 sdi2_per3@80005000 {
204 arm,primecell-periphid = <0x10480180>;
205 pinctrl-names = "default";
206 pinctrl-0 = <&sdi2_sleep_mode>;
207
208 status = "okay";
209 };
210
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800211 // On-board eMMC
Lee Jones81bf8c22012-09-26 12:55:56 +0100212 sdi4_per2@80114000 {
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800213 arm,primecell-periphid = <0x10480180>;
Linus Walleij90ccde42013-05-27 13:15:05 +0200214 max-frequency = <100000000>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800215 bus-width = <8>;
Ulf Hansson30cdd662014-03-18 20:34:04 +0100216 cap-mmc-highspeed;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800217 vmmc-supply = <&ab8500_ldo_aux2_reg>;
Linus Walleij1e662352013-11-13 13:46:57 +0100218 pinctrl-names = "default", "sleep";
219 pinctrl-0 = <&sdi4_default_mode>;
220 pinctrl-1 = <&sdi4_sleep_mode>;
Lee Jones5e1ac7d2012-05-29 14:40:04 +0800221
222 status = "okay";
Lee Jones7e0ce272012-03-15 16:46:17 +0000223 };
224
Lee Jones4905af02012-03-07 17:35:04 +0000225 uart@80120000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100226 pinctrl-names = "default", "sleep";
227 pinctrl-0 = <&uart0_default_mode>;
228 pinctrl-1 = <&uart0_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000229 status = "okay";
230 };
231
Linus Walleij1d8aca92015-07-08 15:15:22 +0200232 /* This UART is unused and thus left disabled */
Lee Jones4905af02012-03-07 17:35:04 +0000233 uart@80121000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100234 pinctrl-names = "default", "sleep";
235 pinctrl-0 = <&uart1_default_mode>;
236 pinctrl-1 = <&uart1_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000237 };
238
239 uart@80007000 {
Linus Walleij3bfdebb2013-11-13 10:32:20 +0100240 pinctrl-names = "default", "sleep";
241 pinctrl-0 = <&uart2_default_mode>;
242 pinctrl-1 = <&uart2_sleep_mode>;
Lee Jones4905af02012-03-07 17:35:04 +0000243 status = "okay";
244 };
245
Linus Walleij96fee132013-11-13 11:10:07 +0100246 i2c@80004000 {
247 pinctrl-names = "default","sleep";
248 pinctrl-0 = <&i2c0_default_mode>;
249 pinctrl-1 = <&i2c0_sleep_mode>;
250 };
251
252 i2c@80122000 {
253 pinctrl-names = "default","sleep";
254 pinctrl-0 = <&i2c1_default_mode>;
255 pinctrl-1 = <&i2c1_sleep_mode>;
256 };
257
258 i2c@80128000 {
259 pinctrl-names = "default","sleep";
260 pinctrl-0 = <&i2c2_default_mode>;
261 pinctrl-1 = <&i2c2_sleep_mode>;
Linus Walleijd0e3bc82014-04-12 17:13:23 +0200262 lsm303dlh@18 {
263 /* Accelerometer */
264 compatible = "st,lsm303dlh-accel";
265 st,drdy-int-pin = <1>;
266 reg = <0x18>;
267 vdd-supply = <&ab8500_ldo_aux1_reg>;
268 vddio-supply = <&db8500_vsmps2_reg>;
269 pinctrl-names = "default";
270 pinctrl-0 = <&accel_snowball_mode>;
Linus Walleij22a93162015-04-27 11:28:33 +0200271 interrupt-parent = <&gpio5>;
272 interrupts = <3 IRQ_TYPE_EDGE_RISING>, /* INT1 */
273 <4 IRQ_TYPE_EDGE_RISING>; /* INT2 */
Linus Walleijd0e3bc82014-04-12 17:13:23 +0200274 };
Linus Walleij93deea92015-04-29 14:08:38 +0200275 lsm303dlh@1e {
Linus Walleijd0e3bc82014-04-12 17:13:23 +0200276 /* Magnetometer */
Linus Walleij93deea92015-04-29 14:08:38 +0200277 compatible = "st,lsm303dlh-magn";
Linus Walleijd0e3bc82014-04-12 17:13:23 +0200278 reg = <0x1e>;
279 vdd-supply = <&ab8500_ldo_aux1_reg>;
280 vddio-supply = <&db8500_vsmps2_reg>;
281 pinctrl-names = "default";
282 pinctrl-0 = <&magneto_snowball_mode>;
Linus Walleijc80b4012015-11-05 10:18:14 +0100283 interrupt-parent = <&gpio5>;
284 interrupts = <5 IRQ_TYPE_EDGE_RISING>; /* DRDY line */
Linus Walleijd0e3bc82014-04-12 17:13:23 +0200285 };
286 l3g4200d@68 {
287 /* Gyroscope */
288 compatible = "st,l3g4200d-gyro";
289 st,drdy-int-pin = <2>;
290 reg = <0x68>;
291 vdd-supply = <&ab8500_ldo_aux1_reg>;
292 vddio-supply = <&db8500_vsmps2_reg>;
Linus Walleij22a93162015-04-27 11:28:33 +0200293 pinctrl-names = "default";
294 pinctrl-0 = <&gyro_snowball_mode>;
Linus Walleij22a93162015-04-27 11:28:33 +0200295 interrupt-parent = <&gpio5>;
Linus Walleijc80b4012015-11-05 10:18:14 +0100296 interrupts = <6 IRQ_TYPE_EDGE_RISING>, /* DRDY line */
297 <9 IRQ_TYPE_EDGE_RISING>; /* INT1 */
Linus Walleijd0e3bc82014-04-12 17:13:23 +0200298 };
299 lsp001wm@5c {
300 /* Barometer/pressure sensor */
301 compatible = "st,lps001wp-press";
302 reg = <0x5c>;
303 vdd-supply = <&ab8500_ldo_aux1_reg>;
304 vddio-supply = <&db8500_vsmps2_reg>;
305 };
Linus Walleij96fee132013-11-13 11:10:07 +0100306 };
307
308 i2c@80110000 {
309 pinctrl-names = "default","sleep";
310 pinctrl-0 = <&i2c3_default_mode>;
311 pinctrl-1 = <&i2c3_sleep_mode>;
312 };
313
Linus Walleijfd8f9ea2013-11-17 11:13:21 +0100314 ssp@80002000 {
315 pinctrl-names = "default";
316 pinctrl-0 = <&ssp0_snowball_mode>;
317 };
318
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800319 cpufreq-cooling {
320 status = "okay";
321 };
Linus Torvaldsdb5b0ae2012-12-13 10:39:26 -0800322
Lee Jones809efa52012-09-25 12:04:51 +0100323 prcmu@80157000 {
Lee Jones6cb7ea92013-09-18 16:03:07 +0100324 cpufreq {
325 status = "okay";
326 };
327
Lee Jones6c1d25b2013-04-02 14:21:51 +0100328 thermal@801573c0 {
329 num-trips = <4>;
330
331 trip0-temp = <70000>;
332 trip0-type = "active";
333 trip0-cdev-num = <1>;
334 trip0-cdev-name0 = "thermal-cpufreq-0";
335
336 trip1-temp = <75000>;
337 trip1-type = "active";
338 trip1-cdev-num = <1>;
339 trip1-cdev-name0 = "thermal-cpufreq-0";
340
341 trip2-temp = <80000>;
342 trip2-type = "active";
343 trip2-cdev-num = <1>;
344 trip2-cdev-name0 = "thermal-cpufreq-0";
345
346 trip3-temp = <85000>;
347 trip3-type = "critical";
348 trip3-cdev-num = <0>;
349
350 status = "okay";
351 };
352
Arnd Bergmannd52701d32013-03-12 09:39:01 +0100353 ab8500 {
Lee Jones924e82d2013-01-16 14:28:03 +0000354 ab8500-gpio {
Lee Jones924e82d2013-01-16 14:28:03 +0000355 };
356
Lee Jonesb0c8fad2013-06-07 17:11:21 +0100357 ext_regulators: ab8500-ext-regulators {
358 ab8500_ext1_reg: ab8500_ext1 {
359 regulator-name = "ab8500-ext-supply1";
360 };
361
362 ab8500_ext2_reg_reg: ab8500_ext2 {
363 regulator-name = "ab8500-ext-supply2";
364 };
365
366 ab8500_ext3_reg_reg: ab8500_ext3 {
367 regulator-name = "ab8500-ext-supply3";
368 };
369 };
370
Lee Jones809efa52012-09-25 12:04:51 +0100371 ab8500-regulators {
372 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
373 regulator-name = "V-DISPLAY";
374 };
375
376 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
377 regulator-name = "V-eMMC1";
378 };
379
380 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
381 regulator-name = "V-MMC-SD";
382 };
383
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200384 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
Lee Jones809efa52012-09-25 12:04:51 +0100385 regulator-name = "V-INTCORE";
386 };
387
388 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
389 regulator-name = "V-TVOUT";
390 };
391
392 ab8500_ldo_usb_reg: ab8500_ldo_usb {
393 regulator-name = "dummy";
394 };
395
396 ab8500_ldo_audio_reg: ab8500_ldo_audio {
397 regulator-name = "V-AUD";
398 };
399
400 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
401 regulator-name = "V-AMIC1";
402 };
403
Fabio Baltieri5510ed92013-05-30 15:27:42 +0200404 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
Lee Jones809efa52012-09-25 12:04:51 +0100405 regulator-name = "V-AMIC2";
406 };
407
408 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
409 regulator-name = "V-DMIC";
410 };
411
412 ab8500_ldo_ana_reg: ab8500_ldo_ana {
413 regulator-name = "V-CSI/DSI";
414 };
415 };
416 };
417 };
Linus Walleij1e662352013-11-13 13:46:57 +0100418
419 pinctrl {
Linus Walleij4d4629f2013-11-17 11:52:32 +0100420 /*
421 * Set this up using hogs, as time goes by and as seems fit, these
422 * can be moved over to being controlled by respective device.
423 */
424 pinctrl-names = "default";
Linus Walleijd0e3bc82014-04-12 17:13:23 +0200425 pinctrl-0 = <&gbf_snowball_mode>,
Linus Walleij4d4629f2013-11-17 11:52:32 +0100426 <&wlan_snowball_mode>;
427
Linus Walleija48bf4b2013-11-17 10:02:22 +0100428 ethernet {
429 /*
430 * Mux in "SM" which is used for the
431 * SMSC911x Ethernet adapter
432 */
433 eth_snowball_mode: eth_snowball {
434 snowball_mux {
Linus Walleij68d41f22014-09-29 17:21:56 +0200435 function = "sm";
436 groups = "sm_b_1";
Linus Walleija48bf4b2013-11-17 10:02:22 +0100437 };
438 /* LAN IRQ pin */
439 snowball_cfg1 {
Linus Walleij1637d482014-09-30 12:16:25 +0200440 pins = "GPIO140_B11";
Linus Walleija48bf4b2013-11-17 10:02:22 +0100441 ste,config = <&in_nopull>;
442 };
443 /* LAN reset pin */
444 snowball_cfg2 {
Linus Walleij1637d482014-09-30 12:16:25 +0200445 pins = "GPIO141_C12";
Linus Walleija48bf4b2013-11-17 10:02:22 +0100446 ste,config = <&gpio_out_hi>;
447 };
448
449 };
450 };
Linus Walleij1e662352013-11-13 13:46:57 +0100451 sdi0 {
452 sdi0_default_mode: sdi0_default {
453 snowball_mux {
Linus Walleij68d41f22014-09-29 17:21:56 +0200454 function = "mc0";
455 groups = "mc0dat31dir_a_1";
Linus Walleij1e662352013-11-13 13:46:57 +0100456 };
457 snowball_cfg1 {
Linus Walleij1637d482014-09-30 12:16:25 +0200458 pins = "GPIO21_AB3"; /* DAT31DIR */
Linus Walleij1e662352013-11-13 13:46:57 +0100459 ste,config = <&out_hi>;
460 };
Linus Walleij1d8aca92015-07-08 15:15:22 +0200461 /* SD card detect GPIO pin, extend default state */
462 snowball_cfg2 {
463 pins = "GPIO218_AH11";
464 ste,config = <&gpio_in_pu>;
465 };
466 /* VMMCI level-shifter enable */
467 snowball_cfg3 {
468 pins = "GPIO217_AH12";
469 ste,config = <&gpio_out_lo>;
470 };
471 /* VMMCI level-shifter voltage select */
472 snowball_cfg4 {
473 pins = "GPIO228_AJ6";
474 ste,config = <&gpio_out_hi>;
475 };
Linus Walleij1e662352013-11-13 13:46:57 +0100476 };
477 };
Linus Walleijfd8f9ea2013-11-17 11:13:21 +0100478 ssp0 {
479 ssp0_snowball_mode: ssp0_snowball_default {
480 snowball_mux {
Linus Walleij68d41f22014-09-29 17:21:56 +0200481 function = "ssp0";
482 groups = "ssp0_a_1";
Linus Walleijfd8f9ea2013-11-17 11:13:21 +0100483 };
484 snowball_cfg1 {
Linus Walleij1637d482014-09-30 12:16:25 +0200485 pins = "GPIO144_B13"; /* FRM */
Linus Walleijfd8f9ea2013-11-17 11:13:21 +0100486 ste,config = <&gpio_out_hi>;
487 };
488 snowball_cfg2 {
Linus Walleij1637d482014-09-30 12:16:25 +0200489 pins = "GPIO145_C13"; /* RXD */
Linus Walleijfd8f9ea2013-11-17 11:13:21 +0100490 ste,config = <&in_pd>;
491 };
492 snowball_cfg3 {
Linus Walleij1637d482014-09-30 12:16:25 +0200493 pins =
Linus Walleijfd8f9ea2013-11-17 11:13:21 +0100494 "GPIO146_D13", /* TXD */
495 "GPIO143_D12"; /* CLK */
496 ste,config = <&out_lo>;
497 };
498
499 };
500 };
Linus Walleij2f4b84f2013-11-17 11:33:19 +0100501 gpio_led {
502 gpioled_snowball_mode: gpioled_default {
503 snowball_cfg1 {
Linus Walleij1637d482014-09-30 12:16:25 +0200504 pins = "GPIO142_C11";
Linus Walleij2f4b84f2013-11-17 11:33:19 +0100505 ste,config = <&gpio_out_hi>;
506 };
507
508 };
509 };
Linus Walleij4d4629f2013-11-17 11:52:32 +0100510 accelerometer {
511 accel_snowball_mode: accel_snowball {
512 /* Accelerometer lines */
513 snowball_cfg1 {
Linus Walleij1637d482014-09-30 12:16:25 +0200514 pins =
Linus Walleij4d4629f2013-11-17 11:52:32 +0100515 "GPIO163_C20", /* ACCEL_IRQ1 */
516 "GPIO164_B21"; /* ACCEL_IRQ2 */
517 ste,config = <&gpio_in_pu>;
518 };
519 };
520 };
Linus Walleij22a93162015-04-27 11:28:33 +0200521 gyro {
522 gyro_snowball_mode: gyro_snowball {
523 snowball_cfg1 {
524 pins =
525 "GPIO166_A22", /* DRDY */
526 "GPIO169_D22"; /* INT */
527 ste,config = <&gpio_in_pu>;
528 };
529 };
530 };
Linus Walleij4d4629f2013-11-17 11:52:32 +0100531 magnetometer {
532 magneto_snowball_mode: magneto_snowball {
533 snowball_cfg1 {
Linus Walleij1637d482014-09-30 12:16:25 +0200534 pins = "GPIO165_C21"; /* MAG_DRDY */
Linus Walleij4d4629f2013-11-17 11:52:32 +0100535 ste,config = <&gpio_in_pu>;
536 };
537 };
538 };
539 gbf {
540 gbf_snowball_mode: gbf_snowball {
541 /*
542 * GBF (GPS, Bluetooth, FM-radio) interface,
543 * pull low to reset state
544 */
545 snowball_cfg1 {
Linus Walleij1637d482014-09-30 12:16:25 +0200546 pins = "GPIO171_D23"; /* GBF_ENA_RESET */
Linus Walleij4d4629f2013-11-17 11:52:32 +0100547 ste,config = <&gpio_out_lo>;
548 };
549 };
550 };
551 wlan {
552 wlan_snowball_mode: wlan_snowball {
553 /*
554 * Activate this mode with the WLAN chip.
555 * These are plain GPIO pins used by WLAN
556 */
557 snowball_cfg1 {
Linus Walleij1637d482014-09-30 12:16:25 +0200558 pins =
Linus Walleij4d4629f2013-11-17 11:52:32 +0100559 "GPIO161_D21", /* WLAN_PMU_EN */
560 "GPIO215_AH13"; /* WLAN_ENA */
561 ste,config = <&gpio_out_lo>;
562 };
563 snowball_cfg2 {
Linus Walleij1637d482014-09-30 12:16:25 +0200564 pins = "GPIO216_AG12"; /* WLAN_IRQ */
Linus Walleij4d4629f2013-11-17 11:52:32 +0100565 ste,config = <&gpio_in_pu>;
566 };
567 };
568 };
Linus Walleij1e662352013-11-13 13:46:57 +0100569 };
Linus Walleij817a5b92013-11-14 15:23:20 +0100570
571 mcde@a0350000 {
572 pinctrl-names = "default", "sleep";
573 pinctrl-0 = <&lcd_default_mode>;
574 pinctrl-1 = <&lcd_sleep_mode>;
575 };
Arnd Bergmann2d334292012-03-07 15:04:07 +0000576 };
577};