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