]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/omap4-sdp.dts
ARM: dts: omap4-sdp: No need to disable mcbsp3 node
[karo-tx-linux.git] / arch / arm / boot / dts / omap4-sdp.dts
1 /*
2  * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8 /dts-v1/;
9
10 #include "omap443x.dtsi"
11 #include "elpida_ecb240abacn.dtsi"
12
13 / {
14         model = "TI OMAP4 SDP board";
15         compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";
16
17         memory {
18                 device_type = "memory";
19                 reg = <0x80000000 0x40000000>; /* 1 GB */
20         };
21
22         vdd_eth: fixedregulator-vdd-eth {
23                 compatible = "regulator-fixed";
24                 regulator-name = "VDD_ETH";
25                 regulator-min-microvolt = <3300000>;
26                 regulator-max-microvolt = <3300000>;
27                 gpio = <&gpio2 16 0>;  /* gpio line 48 */
28                 enable-active-high;
29                 regulator-boot-on;
30         };
31
32         vbat: fixedregulator-vbat {
33                 compatible = "regulator-fixed";
34                 regulator-name = "VBAT";
35                 regulator-min-microvolt = <3750000>;
36                 regulator-max-microvolt = <3750000>;
37                 regulator-boot-on;
38         };
39
40         leds {
41                 compatible = "gpio-leds";
42                 debug0 {
43                         label = "omap4:green:debug0";
44                         gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; /* 61 */
45                 };
46
47                 debug1 {
48                         label = "omap4:green:debug1";
49                         gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */
50                 };
51
52                 debug2 {
53                         label = "omap4:green:debug2";
54                         gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */
55                 };
56
57                 debug3 {
58                         label = "omap4:green:debug3";
59                         gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */
60                 };
61
62                 debug4 {
63                         label = "omap4:green:debug4";
64                         gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */
65                 };
66
67                 user1 {
68                         label = "omap4:blue:user";
69                         gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */
70                 };
71
72                 user2 {
73                         label = "omap4:red:user";
74                         gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */
75                 };
76
77                 user3 {
78                         label = "omap4:green:user";
79                         gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 139 */
80                 };
81         };
82
83         pwmleds {
84                 compatible = "pwm-leds";
85                 kpad {
86                         label = "omap4::keypad";
87                         pwms = <&twl_pwm 0 7812500>;
88                         max-brightness = <127>;
89                 };
90
91                 charging {
92                         label = "omap4:green:chrg";
93                         pwms = <&twl_pwmled 0 7812500>;
94                         max-brightness = <255>;
95                 };
96         };
97
98         backlight {
99                 compatible = "pwm-backlight";
100                 pwms = <&twl_pwm 1 7812500>;
101                 brightness-levels = <
102                                 0 10 20 30 40
103                                 50 60 70 80 90
104                                 100 110 120 127
105                                 >;
106                 default-brightness-level = <13>;
107         };
108
109         sound {
110                 compatible = "ti,abe-twl6040";
111                 ti,model = "SDP4430";
112
113                 ti,jack-detection = <1>;
114                 ti,mclk-freq = <38400000>;
115
116                 ti,mcpdm = <&mcpdm>;
117                 ti,dmic = <&dmic>;
118
119                 ti,twl6040 = <&twl6040>;
120
121                 /* Audio routing */
122                 ti,audio-routing =
123                         "Headset Stereophone", "HSOL",
124                         "Headset Stereophone", "HSOR",
125                         "Earphone Spk", "EP",
126                         "Ext Spk", "HFL",
127                         "Ext Spk", "HFR",
128                         "Line Out", "AUXL",
129                         "Line Out", "AUXR",
130                         "Vibrator", "VIBRAL",
131                         "Vibrator", "VIBRAR",
132                         "HSMIC", "Headset Mic",
133                         "Headset Mic", "Headset Mic Bias",
134                         "MAINMIC", "Main Handset Mic",
135                         "Main Handset Mic", "Main Mic Bias",
136                         "SUBMIC", "Sub Handset Mic",
137                         "Sub Handset Mic", "Main Mic Bias",
138                         "AFML", "Line In",
139                         "AFMR", "Line In",
140                         "DMic", "Digital Mic",
141                         "Digital Mic", "Digital Mic1 Bias";
142         };
143
144         /* regulator for wl12xx on sdio5 */
145         wl12xx_vmmc: wl12xx_vmmc {
146                 pinctrl-names = "default";
147                 pinctrl-0 = <&wl12xx_gpio>;
148                 compatible = "regulator-fixed";
149                 regulator-name = "vwl1271";
150                 regulator-min-microvolt = <1800000>;
151                 regulator-max-microvolt = <1800000>;
152                 gpio = <&gpio2 22 0>;
153                 startup-delay-us = <70000>;
154                 enable-active-high;
155         };
156 };
157
158 &omap4_pmx_core {
159         pinctrl-names = "default";
160         pinctrl-0 = <
161                         &dss_hdmi_pins
162                         &tpd12s015_pins
163         >;
164
165         uart2_pins: pinmux_uart2_pins {
166                 pinctrl-single,pins = <
167                         0xd8 (PIN_INPUT_PULLUP | MUX_MODE0)     /* uart2_cts.uart2_cts */
168                         0xda (PIN_OUTPUT | MUX_MODE0)           /* uart2_rts.uart2_rts */
169                         0xdc (PIN_INPUT_PULLUP | MUX_MODE0)     /* uart2_rx.uart2_rx */
170                         0xde (PIN_OUTPUT | MUX_MODE0)           /* uart2_tx.uart2_tx */
171                 >;
172         };
173
174         uart3_pins: pinmux_uart3_pins {
175                 pinctrl-single,pins = <
176                         0x100 (PIN_INPUT_PULLUP | MUX_MODE0)    /* uart3_cts_rctx.uart3_cts_rctx */
177                         0x102 (PIN_OUTPUT | MUX_MODE0)          /* uart3_rts_sd.uart3_rts_sd */
178                         0x104 (PIN_INPUT | MUX_MODE0)           /* uart3_rx_irrx.uart3_rx_irrx */
179                         0x106 (PIN_OUTPUT | MUX_MODE0)          /* uart3_tx_irtx.uart3_tx_irtx */
180                 >;
181         };
182
183         uart4_pins: pinmux_uart4_pins {
184                 pinctrl-single,pins = <
185                         0x11c (PIN_INPUT | MUX_MODE0)           /* uart4_rx.uart4_rx */
186                         0x11e (PIN_OUTPUT | MUX_MODE0)          /* uart4_tx.uart4_tx */
187                 >;
188         };
189
190         twl6040_pins: pinmux_twl6040_pins {
191                 pinctrl-single,pins = <
192                         0xe0 (PIN_OUTPUT | MUX_MODE3)           /* hdq_sio.gpio_127 */
193                         0x160 (PIN_INPUT | MUX_MODE0)           /* sys_nirq2.sys_nirq2 */
194                 >;
195         };
196
197         mcpdm_pins: pinmux_mcpdm_pins {
198                 pinctrl-single,pins = <
199                         0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_pdm_ul_data.abe_pdm_ul_data */
200                         0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_pdm_dl_data.abe_pdm_dl_data */
201                         0xca (PIN_INPUT_PULLUP | MUX_MODE0)     /* abe_pdm_frame.abe_pdm_frame */
202                         0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_pdm_lb_clk.abe_pdm_lb_clk */
203                         0xce (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_clks.abe_clks */
204                 >;
205         };
206
207         dmic_pins: pinmux_dmic_pins {
208                 pinctrl-single,pins = <
209                         0xd0 (PIN_OUTPUT | MUX_MODE0)           /* abe_dmic_clk1.abe_dmic_clk1 */
210                         0xd2 (PIN_INPUT | MUX_MODE0)            /* abe_dmic_din1.abe_dmic_din1 */
211                         0xd4 (PIN_INPUT | MUX_MODE0)            /* abe_dmic_din2.abe_dmic_din2 */
212                         0xd6 (PIN_INPUT | MUX_MODE0)            /* abe_dmic_din3.abe_dmic_din3 */
213                 >;
214         };
215
216         mcbsp1_pins: pinmux_mcbsp1_pins {
217                 pinctrl-single,pins = <
218                         0xbe (PIN_INPUT | MUX_MODE0)            /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
219                         0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_mcbsp1_dr.abe_mcbsp1_dr */
220                         0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)  /* abe_mcbsp1_dx.abe_mcbsp1_dx */
221                         0xc4 (PIN_INPUT | MUX_MODE0)            /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
222                 >;
223         };
224
225         mcbsp2_pins: pinmux_mcbsp2_pins {
226                 pinctrl-single,pins = <
227                         0xb6 (PIN_INPUT | MUX_MODE0)            /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
228                         0xb8 (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_mcbsp2_dr.abe_mcbsp2_dr */
229                         0xba (PIN_OUTPUT_PULLDOWN | MUX_MODE0)  /* abe_mcbsp2_dx.abe_mcbsp2_dx */
230                         0xbc (PIN_INPUT | MUX_MODE0)            /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
231                 >;
232         };
233
234         mcspi1_pins: pinmux_mcspi1_pins {
235                 pinctrl-single,pins = <
236                         0xf2 (PIN_INPUT | MUX_MODE0)            /*  mcspi1_clk.mcspi1_clk */
237                         0xf4 (PIN_INPUT | MUX_MODE0)            /*  mcspi1_somi.mcspi1_somi */
238                         0xf6 (PIN_INPUT | MUX_MODE0)            /*  mcspi1_simo.mcspi1_simo */
239                         0xf8 (PIN_INPUT | MUX_MODE0)            /*  mcspi1_cs0.mcspi1_cs0 */
240                 >;
241         };
242
243         dss_hdmi_pins: pinmux_dss_hdmi_pins {
244                 pinctrl-single,pins = <
245                         0x5a (PIN_INPUT_PULLUP | MUX_MODE0)     /* hdmi_cec.hdmi_cec */
246                         0x5c (PIN_INPUT_PULLUP | MUX_MODE0)     /* hdmi_scl.hdmi_scl */
247                         0x5e (PIN_INPUT_PULLUP | MUX_MODE0)     /* hdmi_sda.hdmi_sda */
248                 >;
249         };
250
251         tpd12s015_pins: pinmux_tpd12s015_pins {
252                 pinctrl-single,pins = <
253                         0x22 (PIN_OUTPUT | MUX_MODE3)           /* gpmc_a17.gpio_41 */
254                         0x48 (PIN_OUTPUT | MUX_MODE3)           /* gpmc_nbe1.gpio_60 */
255                         0x58 (PIN_INPUT_PULLDOWN | MUX_MODE3)   /* hdmi_hpd.gpio_63 */
256                 >;
257         };
258
259         i2c1_pins: pinmux_i2c1_pins {
260                 pinctrl-single,pins = <
261                         0xe2 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c1_scl */
262                         0xe4 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c1_sda */
263                 >;
264         };
265
266         i2c2_pins: pinmux_i2c2_pins {
267                 pinctrl-single,pins = <
268                         0xe6 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c2_scl */
269                         0xe8 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c2_sda */
270                 >;
271         };
272
273         i2c3_pins: pinmux_i2c3_pins {
274                 pinctrl-single,pins = <
275                         0xea (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c3_scl */
276                         0xec (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c3_sda */
277                 >;
278         };
279
280         i2c4_pins: pinmux_i2c4_pins {
281                 pinctrl-single,pins = <
282                         0xee (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c4_scl */
283                         0xf0 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c4_sda */
284                 >;
285         };
286
287         /* wl12xx GPIO output for WLAN_EN */
288         wl12xx_gpio: pinmux_wl12xx_gpio {
289                 pinctrl-single,pins = <
290                         0x3c (PIN_OUTPUT | MUX_MODE3)           /* gpmc_nwp.gpio_54 */
291                 >;
292         };
293
294         /* wl12xx GPIO inputs and SDIO pins */
295         wl12xx_pins: pinmux_wl12xx_pins {
296                 pinctrl-single,pins = <
297                         0x3a (PIN_INPUT | MUX_MODE3)            /* gpmc_ncs3.gpio_53 */
298                         0x108 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc5_clk.sdmmc5_clk */
299                         0x10a (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc5_cmd.sdmmc5_cmd */
300                         0x10c (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc5_dat0.sdmmc5_dat0 */
301                         0x10e (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc5_dat1.sdmmc5_dat1 */
302                         0x110 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc5_dat2.sdmmc5_dat2 */
303                         0x112 (PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc5_dat3.sdmmc5_dat3 */
304                 >;
305         };
306 };
307
308 &i2c1 {
309         pinctrl-names = "default";
310         pinctrl-0 = <&i2c1_pins>;
311
312         clock-frequency = <400000>;
313
314         twl: twl@48 {
315                 reg = <0x48>;
316                 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
317                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
318                 interrupt-parent = <&gic>;
319         };
320
321         twl6040: twl@4b {
322                 compatible = "ti,twl6040";
323                 reg = <0x4b>;
324
325                 pinctrl-names = "default";
326                 pinctrl-0 = <&twl6040_pins>;
327
328                 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
329                 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
330                 interrupt-parent = <&gic>;
331                 ti,audpwron-gpio = <&gpio4 31 0>;  /* gpio line 127 */
332
333                 vio-supply = <&v1v8>;
334                 v2v1-supply = <&v2v1>;
335                 enable-active-high;
336
337                 /* regulators for vibra motor */
338                 vddvibl-supply = <&vbat>;
339                 vddvibr-supply = <&vbat>;
340
341                 vibra {
342                         /* Vibra driver, motor resistance parameters */
343                         ti,vibldrv-res = <8>;
344                         ti,vibrdrv-res = <3>;
345                         ti,viblmotor-res = <10>;
346                         ti,vibrmotor-res = <10>;
347                 };
348         };
349 };
350
351 #include "twl6030.dtsi"
352 #include "twl6030_omap4.dtsi"
353
354 &i2c2 {
355         pinctrl-names = "default";
356         pinctrl-0 = <&i2c2_pins>;
357
358         clock-frequency = <400000>;
359 };
360
361 &i2c3 {
362         pinctrl-names = "default";
363         pinctrl-0 = <&i2c3_pins>;
364
365         clock-frequency = <400000>;
366
367         /*
368          * Temperature Sensor
369          * http://www.ti.com/lit/ds/symlink/tmp105.pdf
370          */
371         tmp105@48 {
372                 compatible = "ti,tmp105";
373                 reg = <0x48>;
374         };
375
376         /*
377          * Ambient Light Sensor
378          * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
379          */
380         bh1780@29 {
381                 compatible = "rohm,bh1780";
382                 reg = <0x29>;
383         };
384 };
385
386 &i2c4 {
387         pinctrl-names = "default";
388         pinctrl-0 = <&i2c4_pins>;
389
390         clock-frequency = <400000>;
391
392         /*
393          * 3-Axis Digital Compass
394          * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
395          */
396         hmc5843@1e {
397                 compatible = "honeywell,hmc5843";
398                 reg = <0x1e>;
399         };
400 };
401
402 &mcspi1 {
403         pinctrl-names = "default";
404         pinctrl-0 = <&mcspi1_pins>;
405
406         eth@0 {
407                 compatible = "ks8851";
408                 spi-max-frequency = <24000000>;
409                 reg = <0>;
410                 interrupt-parent = <&gpio2>;
411                 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
412                 vdd-supply = <&vdd_eth>;
413         };
414 };
415
416 &mmc1 {
417         vmmc-supply = <&vmmc>;
418         bus-width = <8>;
419 };
420
421 &mmc2 {
422         vmmc-supply = <&vaux1>;
423         bus-width = <8>;
424         ti,non-removable;
425 };
426
427 &mmc3 {
428         status = "disabled";
429 };
430
431 &mmc4 {
432         status = "disabled";
433 };
434
435 &mmc5 {
436         pinctrl-names = "default";
437         pinctrl-0 = <&wl12xx_pins>;
438         vmmc-supply = <&wl12xx_vmmc>;
439         non-removable;
440         bus-width = <4>;
441         cap-power-off-card;
442 };
443
444 &emif1 {
445         cs1-used;
446         device-handle = <&elpida_ECB240ABACN>;
447 };
448
449 &emif2 {
450         cs1-used;
451         device-handle = <&elpida_ECB240ABACN>;
452 };
453
454 &keypad {
455         keypad,num-rows = <8>;
456         keypad,num-columns = <8>;
457         linux,keymap = <0x00000012      /* KEY_E */
458                         0x00010013      /* KEY_R */
459                         0x00020014      /* KEY_T */
460                         0x00030066      /* KEY_HOME */
461                         0x0004003f      /* KEY_F5 */
462                         0x000500f0      /* KEY_UNKNOWN */
463                         0x00060017      /* KEY_I */
464                         0x0007002a      /* KEY_LEFTSHIFT */
465                         0x01000020      /* KEY_D*/
466                         0x01010021      /* KEY_F */
467                         0x01020022      /* KEY_G */
468                         0x010300e7      /* KEY_SEND */
469                         0x01040040      /* KEY_F6 */
470                         0x010500f0      /* KEY_UNKNOWN */
471                         0x01060025      /* KEY_K */
472                         0x0107001c      /* KEY_ENTER */
473                         0x0200002d      /* KEY_X */
474                         0x0201002e      /* KEY_C */
475                         0x0202002f      /* KEY_V */
476                         0x0203006b      /* KEY_END */
477                         0x02040041      /* KEY_F7 */
478                         0x020500f0      /* KEY_UNKNOWN */
479                         0x02060034      /* KEY_DOT */
480                         0x0207003a      /* KEY_CAPSLOCK */
481                         0x0300002c      /* KEY_Z */
482                         0x0301004e      /* KEY_KPLUS */
483                         0x03020030      /* KEY_B */
484                         0x0303003b      /* KEY_F1 */
485                         0x03040042      /* KEY_F8 */
486                         0x030500f0      /* KEY_UNKNOWN */
487                         0x03060018      /* KEY_O */
488                         0x03070039      /* KEY_SPACE */
489                         0x04000011      /* KEY_W */
490                         0x04010015      /* KEY_Y */
491                         0x04020016      /* KEY_U */
492                         0x0403003c      /* KEY_F2 */
493                         0x04040073      /* KEY_VOLUMEUP */
494                         0x040500f0      /* KEY_UNKNOWN */
495                         0x04060026      /* KEY_L */
496                         0x04070069      /* KEY_LEFT */
497                         0x0500001f      /* KEY_S */
498                         0x05010023      /* KEY_H */
499                         0x05020024      /* KEY_J */
500                         0x0503003d      /* KEY_F3 */
501                         0x05040043      /* KEY_F9 */
502                         0x05050072      /* KEY_VOLUMEDOWN */
503                         0x05060032      /* KEY_M */
504                         0x0507006a      /* KEY_RIGHT */
505                         0x06000010      /* KEY_Q */
506                         0x0601001e      /* KEY_A */
507                         0x06020031      /* KEY_N */
508                         0x0603009e      /* KEY_BACK */
509                         0x0604000e      /* KEY_BACKSPACE */
510                         0x060500f0      /* KEY_UNKNOWN */
511                         0x06060019      /* KEY_P */
512                         0x06070067      /* KEY_UP */
513                         0x07000094      /* KEY_PROG1 */
514                         0x07010095      /* KEY_PROG2 */
515                         0x070200ca      /* KEY_PROG3 */
516                         0x070300cb      /* KEY_PROG4 */
517                         0x0704003e      /* KEY_F4 */
518                         0x070500f0      /* KEY_UNKNOWN */
519                         0x07060160      /* KEY_OK */
520                         0x0707006c>;    /* KEY_DOWN */
521         linux,input-no-autorepeat;
522 };
523
524 &uart2 {
525         pinctrl-names = "default";
526         pinctrl-0 = <&uart2_pins>;
527 };
528
529 &uart3 {
530         pinctrl-names = "default";
531         pinctrl-0 = <&uart3_pins>;
532 };
533
534 &uart4 {
535         pinctrl-names = "default";
536         pinctrl-0 = <&uart4_pins>;
537 };
538
539 &mcbsp1 {
540         pinctrl-names = "default";
541         pinctrl-0 = <&mcbsp1_pins>;
542         status = "okay";
543 };
544
545 &mcbsp2 {
546         pinctrl-names = "default";
547         pinctrl-0 = <&mcbsp2_pins>;
548         status = "okay";
549 };
550
551 &dmic {
552         pinctrl-names = "default";
553         pinctrl-0 = <&dmic_pins>;
554         status = "okay";
555 };
556
557 &mcpdm {
558         pinctrl-names = "default";
559         pinctrl-0 = <&mcpdm_pins>;
560         status = "okay";
561 };
562
563 &twl_usb_comparator {
564         usb-supply = <&vusb>;
565 };
566
567 &usb_otg_hs {
568         interface-type = <1>;
569         mode = <3>;
570         power = <50>;
571 };