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