]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/ste-snowball.dts
744ab956059a2fec71fe60b45d72bded29c9a01d
[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-family-pinctrl.dtsi"
15
16 / {
17         model = "Calao Systems Snowball platform with device tree";
18         compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
19
20         memory {
21                 reg = <0x00000000 0x20000000>;
22         };
23
24         en_3v3_reg: en_3v3 {
25                 compatible = "regulator-fixed";
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;
33         };
34
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";
45                         gpios = <&gpio1 0 0x4>;
46                 };
47                 button@2 {
48                         debounce_interval = <50>;
49                         wakeup = <1>;
50                         linux,code = <3>;
51                         label = "extkb1";
52                         gpios = <&gpio4 23 0x4>;
53                 };
54                 button@3 {
55                         debounce_interval = <50>;
56                         wakeup = <1>;
57                         linux,code = <4>;
58                         label = "extkb2";
59                         gpios = <&gpio4 24 0x4>;
60                 };
61                 button@4 {
62                         debounce_interval = <50>;
63                         wakeup = <1>;
64                         linux,code = <5>;
65                         label = "extkb3";
66                         gpios = <&gpio5 1 0x4>;
67                 };
68                 button@5 {
69                         debounce_interval = <50>;
70                         wakeup = <1>;
71                         linux,code = <6>;
72                         label = "extkb4";
73                         gpios = <&gpio5 2 0x4>;
74                 };
75         };
76
77         leds {
78                 compatible = "gpio-leds";
79                 used-led {
80                         label = "user_led";
81                         gpios = <&gpio4 14 0x4>;
82                         default-state = "on";
83                         linux,default-trigger = "heartbeat";
84                 };
85         };
86
87         soc {
88                 usb_per5@a03e0000 {
89                         pinctrl-names = "default", "sleep";
90                         pinctrl-0 = <&musb_default_mode>;
91                         pinctrl-1 = <&musb_sleep_mode>;
92                 };
93
94                 sound {
95                         compatible = "stericsson,snd-soc-mop500";
96
97                         stericsson,cpu-dai = <&msp1 &msp3>;
98                         stericsson,audio-codec = <&codec>;
99                 };
100
101                 msp0: msp@80123000 {
102                         pinctrl-names = "default";
103                         pinctrl-0 = <&msp0_default_mode>;
104                         status = "okay";
105                 };
106
107                 msp1: msp@80124000 {
108                         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>;
116                         status = "okay";
117                 };
118
119                 msp3: msp@80125000 {
120                         status = "okay";
121                 };
122
123                 external-bus@50000000 {
124                         status = "okay";
125
126                         ethernet@0 {
127                                 compatible = "smsc,lan9115";
128                                 reg = <0 0x10000>;
129                                 interrupts = <12 IRQ_TYPE_EDGE_RISING>;
130                                 interrupt-parent = <&gpio4>;
131                                 vdd33a-supply = <&en_3v3_reg>;
132                                 vddvario-supply = <&db8500_vape_reg>;
133                                 pinctrl-names = "default";
134                                 pinctrl-0 = <&eth_snowball_mode>;
135
136                                 reg-shift = <1>;
137                                 reg-io-width = <2>;
138                                 smsc,force-internal-phy;
139                                 smsc,irq-active-high;
140                                 smsc,irq-push-pull;
141
142                                 clocks = <&prcc_pclk 3 0>;
143                         };
144                 };
145
146                 vmmci: regulator-gpio {
147                         gpios = <&gpio6 25 0x4>;
148                         enable-gpio = <&gpio7 4 0x4>;
149
150                         status = "okay";
151                 };
152
153                 // External Micro SD slot
154                 sdi0_per1@80126000 {
155                         arm,primecell-periphid = <0x10480180>;
156                         max-frequency = <100000000>;
157                         bus-width = <4>;
158                         mmc-cap-mmc-highspeed;
159                         vmmc-supply = <&ab8500_ldo_aux3_reg>;
160                         vqmmc-supply = <&vmmci>;
161                         pinctrl-names = "default", "sleep";
162                         pinctrl-0 = <&sdi0_default_mode>;
163                         pinctrl-1 = <&sdi0_sleep_mode>;
164
165                         cd-gpios  = <&gpio6 26 0x4>; // 218
166                         cd-inverted;
167
168                         status = "okay";
169                 };
170
171                 // WLAN SDIO channel
172                 sdi1_per2@80118000 {
173                         arm,primecell-periphid = <0x10480180>;
174                         max-frequency = <100000000>;
175                         bus-width = <4>;
176                         pinctrl-names = "default", "sleep";
177                         pinctrl-0 = <&sdi1_default_mode>;
178                         pinctrl-1 = <&sdi1_sleep_mode>;
179
180                         status = "okay";
181                 };
182
183                 // Unused PoP eMMC - register and put it to sleep by default */
184                 sdi2_per3@80005000 {
185                         arm,primecell-periphid = <0x10480180>;
186                         pinctrl-names = "default";
187                         pinctrl-0 = <&sdi2_sleep_mode>;
188
189                         status = "okay";
190                 };
191
192                 // On-board eMMC
193                 sdi4_per2@80114000 {
194                         arm,primecell-periphid = <0x10480180>;
195                         max-frequency = <100000000>;
196                         bus-width = <8>;
197                         mmc-cap-mmc-highspeed;
198                         vmmc-supply = <&ab8500_ldo_aux2_reg>;
199                         pinctrl-names = "default", "sleep";
200                         pinctrl-0 = <&sdi4_default_mode>;
201                         pinctrl-1 = <&sdi4_sleep_mode>;
202
203                         status = "okay";
204                 };
205
206                 uart@80120000 {
207                         pinctrl-names = "default", "sleep";
208                         pinctrl-0 = <&uart0_default_mode>;
209                         pinctrl-1 = <&uart0_sleep_mode>;
210                         status = "okay";
211                 };
212
213                 uart@80121000 {
214                         pinctrl-names = "default", "sleep";
215                         pinctrl-0 = <&uart1_default_mode>;
216                         pinctrl-1 = <&uart1_sleep_mode>;
217                         status = "okay";
218                 };
219
220                 uart@80007000 {
221                         pinctrl-names = "default", "sleep";
222                         pinctrl-0 = <&uart2_default_mode>;
223                         pinctrl-1 = <&uart2_sleep_mode>;
224                         status = "okay";
225                 };
226
227                 i2c@80004000 {
228                         pinctrl-names = "default","sleep";
229                         pinctrl-0 = <&i2c0_default_mode>;
230                         pinctrl-1 = <&i2c0_sleep_mode>;
231                 };
232
233                 i2c@80122000 {
234                         pinctrl-names = "default","sleep";
235                         pinctrl-0 = <&i2c1_default_mode>;
236                         pinctrl-1 = <&i2c1_sleep_mode>;
237                 };
238
239                 i2c@80128000 {
240                         pinctrl-names = "default","sleep";
241                         pinctrl-0 = <&i2c2_default_mode>;
242                         pinctrl-1 = <&i2c2_sleep_mode>;
243                 };
244
245                 i2c@80110000 {
246                         pinctrl-names = "default","sleep";
247                         pinctrl-0 = <&i2c3_default_mode>;
248                         pinctrl-1 = <&i2c3_sleep_mode>;
249                 };
250
251                 ssp@80002000 {
252                         pinctrl-names = "default";
253                         pinctrl-0 = <&ssp0_snowball_mode>;
254                 };
255
256                 cpufreq-cooling {
257                         status = "okay";
258                 };
259
260                 prcmu@80157000 {
261                         cpufreq {
262                                 status = "okay";
263                         };
264
265                         thermal@801573c0 {
266                                 num-trips = <4>;
267
268                                 trip0-temp = <70000>;
269                                 trip0-type = "active";
270                                 trip0-cdev-num = <1>;
271                                 trip0-cdev-name0 = "thermal-cpufreq-0";
272
273                                 trip1-temp = <75000>;
274                                 trip1-type = "active";
275                                 trip1-cdev-num = <1>;
276                                 trip1-cdev-name0 = "thermal-cpufreq-0";
277
278                                 trip2-temp = <80000>;
279                                 trip2-type = "active";
280                                 trip2-cdev-num = <1>;
281                                 trip2-cdev-name0 = "thermal-cpufreq-0";
282
283                                 trip3-temp = <85000>;
284                                 trip3-type = "critical";
285                                 trip3-cdev-num = <0>;
286
287                                 status = "okay";
288                         };
289
290                         ab8500 {
291                                 ab8500-gpio {
292                                         compatible = "stericsson,ab8500-gpio";
293                                 };
294
295                                 ext_regulators: ab8500-ext-regulators {
296                                         ab8500_ext1_reg: ab8500_ext1 {
297                                                 regulator-name = "ab8500-ext-supply1";
298                                         };
299
300                                         ab8500_ext2_reg_reg: ab8500_ext2 {
301                                                 regulator-name = "ab8500-ext-supply2";
302                                         };
303
304                                         ab8500_ext3_reg_reg: ab8500_ext3 {
305                                                 regulator-name = "ab8500-ext-supply3";
306                                         };
307                                 };
308
309                                 ab8500-regulators {
310                                         ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
311                                                 regulator-name = "V-DISPLAY";
312                                         };
313
314                                         ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
315                                                 regulator-name = "V-eMMC1";
316                                         };
317
318                                         ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
319                                                 regulator-name = "V-MMC-SD";
320                                         };
321
322                                         ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
323                                                 regulator-name = "V-INTCORE";
324                                         };
325
326                                         ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
327                                                 regulator-name = "V-TVOUT";
328                                         };
329
330                                         ab8500_ldo_usb_reg: ab8500_ldo_usb {
331                                                 regulator-name = "dummy";
332                                         };
333
334                                         ab8500_ldo_audio_reg: ab8500_ldo_audio {
335                                                 regulator-name = "V-AUD";
336                                         };
337
338                                         ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
339                                                 regulator-name = "V-AMIC1";
340                                         };
341
342                                         ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
343                                                 regulator-name = "V-AMIC2";
344                                         };
345
346                                         ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
347                                                 regulator-name = "V-DMIC";
348                                         };
349
350                                         ab8500_ldo_ana_reg: ab8500_ldo_ana {
351                                                 regulator-name = "V-CSI/DSI";
352                                         };
353                                 };
354                         };
355                 };
356
357                 pinctrl {
358                         ethernet {
359                                 /*
360                                  * Mux in "SM" which is used for the
361                                  * SMSC911x Ethernet adapter
362                                  */
363                                 eth_snowball_mode: eth_snowball {
364                                         snowball_mux {
365                                                 ste,function = "sm";
366                                                 ste,pins = "sm_b_1";
367                                         };
368                                         /* LAN IRQ pin */
369                                         snowball_cfg1 {
370                                                 ste,pins = "GPIO140_B11";
371                                                 ste,config = <&in_nopull>;
372                                         };
373                                         /* LAN reset pin */
374                                         snowball_cfg2 {
375                                                 ste,pins = "GPIO141_C12";
376                                                 ste,config = <&gpio_out_hi>;
377                                         };
378
379                                 };
380                         };
381                         sdi0 {
382                                 sdi0_default_mode: sdi0_default {
383                                         snowball_mux {
384                                                 ste,function = "mc0";
385                                                 ste,pins = "mc0dat31dir_a_1";
386                                         };
387                                         snowball_cfg1 {
388                                                 ste,pins = "GPIO21_AB3"; /* DAT31DIR */
389                                                 ste,config = <&out_hi>;
390                                         };
391
392                                 };
393                         };
394                         ssp0 {
395                                 ssp0_snowball_mode: ssp0_snowball_default {
396                                         snowball_mux {
397                                                 ste,function = "ssp0";
398                                                 ste,pins = "ssp0_a_1";
399                                         };
400                                         snowball_cfg1 {
401                                                 ste,pins = "GPIO144_B13"; /* FRM */
402                                                 ste,config = <&gpio_out_hi>;
403                                         };
404                                         snowball_cfg2 {
405                                                 ste,pins = "GPIO145_C13"; /* RXD */
406                                                 ste,config = <&in_pd>;
407                                         };
408                                         snowball_cfg3 {
409                                                 ste,pins =
410                                                 "GPIO146_D13", /* TXD */
411                                                 "GPIO143_D12"; /* CLK */
412                                                 ste,config = <&out_lo>;
413                                         };
414
415                                 };
416                         };
417                 };
418
419                 mcde@a0350000 {
420                         pinctrl-names = "default", "sleep";
421                         pinctrl-0 = <&lcd_default_mode>;
422                         pinctrl-1 = <&lcd_sleep_mode>;
423                 };
424         };
425 };