]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/omap4-sdp.dts
ASoC: arizona: Improve handling of setting REFCLK to 0
[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
145 &omap4_pmx_wkup {
146         pinctrl-names = "default";
147         pinctrl-0 = <
148                         &twl6030_wkup_pins
149         >;
150
151         twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
152                 pinctrl-single,pins = <
153                         0x14 (PIN_OUTPUT | MUX_MODE2)           /* fref_clk0_out.sys_drm_msecure */
154                 >;
155         };
156 };
157
158 &omap4_pmx_core {
159         pinctrl-names = "default";
160         pinctrl-0 = <
161                         &twl6030_pins
162                         &twl6040_pins
163                         &mcpdm_pins
164                         &dmic_pins
165                         &mcbsp1_pins
166                         &mcbsp2_pins
167                         &dss_hdmi_pins
168                         &tpd12s015_pins
169         >;
170
171         uart2_pins: pinmux_uart2_pins {
172                 pinctrl-single,pins = <
173                         0xd8 (PIN_INPUT_PULLUP | MUX_MODE0)     /* uart2_cts.uart2_cts */
174                         0xda (PIN_OUTPUT | MUX_MODE0)           /* uart2_rts.uart2_rts */
175                         0xdc (PIN_INPUT_PULLUP | MUX_MODE0)     /* uart2_rx.uart2_rx */
176                         0xde (PIN_OUTPUT | MUX_MODE0)           /* uart2_tx.uart2_tx */
177                 >;
178         };
179
180         uart3_pins: pinmux_uart3_pins {
181                 pinctrl-single,pins = <
182                         0x100 (PIN_INPUT_PULLUP | MUX_MODE0)    /* uart3_cts_rctx.uart3_cts_rctx */
183                         0x102 (PIN_OUTPUT | MUX_MODE0)          /* uart3_rts_sd.uart3_rts_sd */
184                         0x104 (PIN_INPUT | MUX_MODE0)           /* uart3_rx_irrx.uart3_rx_irrx */
185                         0x106 (PIN_OUTPUT | MUX_MODE0)          /* uart3_tx_irtx.uart3_tx_irtx */
186                 >;
187         };
188
189         uart4_pins: pinmux_uart4_pins {
190                 pinctrl-single,pins = <
191                         0x11c (PIN_INPUT | MUX_MODE0)           /* uart4_rx.uart4_rx */
192                         0x11e (PIN_OUTPUT | MUX_MODE0)          /* uart4_tx.uart4_tx */
193                 >;
194         };
195
196         twl6030_pins: pinmux_twl6030_pins {
197                 pinctrl-single,pins = <
198                         0x15e (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0)        /* sys_nirq1.sys_nirq1 */
199                 >;
200         };
201
202         twl6040_pins: pinmux_twl6040_pins {
203                 pinctrl-single,pins = <
204                         0xe0 (PIN_OUTPUT | MUX_MODE3)           /* hdq_sio.gpio_127 */
205                         0x160 (PIN_INPUT | MUX_MODE0)           /* sys_nirq2.sys_nirq2 */
206                 >;
207         };
208
209         mcpdm_pins: pinmux_mcpdm_pins {
210                 pinctrl-single,pins = <
211                         0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_pdm_ul_data.abe_pdm_ul_data */
212                         0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_pdm_dl_data.abe_pdm_dl_data */
213                         0xca (PIN_INPUT_PULLUP | MUX_MODE0)     /* abe_pdm_frame.abe_pdm_frame */
214                         0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_pdm_lb_clk.abe_pdm_lb_clk */
215                         0xce (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_clks.abe_clks */
216                 >;
217         };
218
219         dmic_pins: pinmux_dmic_pins {
220                 pinctrl-single,pins = <
221                         0xd0 (PIN_OUTPUT | MUX_MODE0)           /* abe_dmic_clk1.abe_dmic_clk1 */
222                         0xd2 (PIN_INPUT | MUX_MODE0)            /* abe_dmic_din1.abe_dmic_din1 */
223                         0xd4 (PIN_INPUT | MUX_MODE0)            /* abe_dmic_din2.abe_dmic_din2 */
224                         0xd6 (PIN_INPUT | MUX_MODE0)            /* abe_dmic_din3.abe_dmic_din3 */
225                 >;
226         };
227
228         mcbsp1_pins: pinmux_mcbsp1_pins {
229                 pinctrl-single,pins = <
230                         0xbe (PIN_INPUT | MUX_MODE0)            /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
231                         0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_mcbsp1_dr.abe_mcbsp1_dr */
232                         0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)  /* abe_mcbsp1_dx.abe_mcbsp1_dx */
233                         0xc4 (PIN_INPUT | MUX_MODE0)            /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
234                 >;
235         };
236
237         mcbsp2_pins: pinmux_mcbsp2_pins {
238                 pinctrl-single,pins = <
239                         0xb6 (PIN_INPUT | MUX_MODE0)            /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
240                         0xb8 (PIN_INPUT_PULLDOWN | MUX_MODE0)   /* abe_mcbsp2_dr.abe_mcbsp2_dr */
241                         0xba (PIN_OUTPUT_PULLDOWN | MUX_MODE0)  /* abe_mcbsp2_dx.abe_mcbsp2_dx */
242                         0xbc (PIN_INPUT | MUX_MODE0)            /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
243                 >;
244         };
245
246         mcspi1_pins: pinmux_mcspi1_pins {
247                 pinctrl-single,pins = <
248                         0xf2 (PIN_INPUT | MUX_MODE0)            /*  mcspi1_clk.mcspi1_clk */
249                         0xf4 (PIN_INPUT | MUX_MODE0)            /*  mcspi1_somi.mcspi1_somi */
250                         0xf6 (PIN_INPUT | MUX_MODE0)            /*  mcspi1_simo.mcspi1_simo */
251                         0xf8 (PIN_INPUT | MUX_MODE0)            /*  mcspi1_cs0.mcspi1_cs0 */
252                 >;
253         };
254
255         dss_hdmi_pins: pinmux_dss_hdmi_pins {
256                 pinctrl-single,pins = <
257                         0x5a (PIN_INPUT_PULLUP | MUX_MODE0)     /* hdmi_cec.hdmi_cec */
258                         0x5c (PIN_INPUT_PULLUP | MUX_MODE0)     /* hdmi_scl.hdmi_scl */
259                         0x5e (PIN_INPUT_PULLUP | MUX_MODE0)     /* hdmi_sda.hdmi_sda */
260                 >;
261         };
262
263         tpd12s015_pins: pinmux_tpd12s015_pins {
264                 pinctrl-single,pins = <
265                         0x22 (PIN_OUTPUT | MUX_MODE3)           /* gpmc_a17.gpio_41 */
266                         0x48 (PIN_OUTPUT | MUX_MODE3)           /* gpmc_nbe1.gpio_60 */
267                         0x58 (PIN_INPUT_PULLDOWN | MUX_MODE3)   /* hdmi_hpd.gpio_63 */
268                 >;
269         };
270
271         i2c1_pins: pinmux_i2c1_pins {
272                 pinctrl-single,pins = <
273                         0xe2 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c1_scl */
274                         0xe4 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c1_sda */
275                 >;
276         };
277
278         i2c2_pins: pinmux_i2c2_pins {
279                 pinctrl-single,pins = <
280                         0xe6 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c2_scl */
281                         0xe8 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c2_sda */
282                 >;
283         };
284
285         i2c3_pins: pinmux_i2c3_pins {
286                 pinctrl-single,pins = <
287                         0xea (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c3_scl */
288                         0xec (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c3_sda */
289                 >;
290         };
291
292         i2c4_pins: pinmux_i2c4_pins {
293                 pinctrl-single,pins = <
294                         0xee (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c4_scl */
295                         0xf0 (PIN_INPUT_PULLUP | MUX_MODE0)     /* i2c4_sda */
296                 >;
297         };
298 };
299
300 &i2c1 {
301         pinctrl-names = "default";
302         pinctrl-0 = <&i2c1_pins>;
303
304         clock-frequency = <400000>;
305
306         twl: twl@48 {
307                 reg = <0x48>;
308                 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
309                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
310                 interrupt-parent = <&gic>;
311         };
312
313         twl6040: twl@4b {
314                 compatible = "ti,twl6040";
315                 reg = <0x4b>;
316                 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
317                 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
318                 interrupt-parent = <&gic>;
319                 ti,audpwron-gpio = <&gpio4 31 0>;  /* gpio line 127 */
320
321                 vio-supply = <&v1v8>;
322                 v2v1-supply = <&v2v1>;
323                 enable-active-high;
324
325                 /* regulators for vibra motor */
326                 vddvibl-supply = <&vbat>;
327                 vddvibr-supply = <&vbat>;
328
329                 vibra {
330                         /* Vibra driver, motor resistance parameters */
331                         ti,vibldrv-res = <8>;
332                         ti,vibrdrv-res = <3>;
333                         ti,viblmotor-res = <10>;
334                         ti,vibrmotor-res = <10>;
335                 };
336         };
337 };
338
339 #include "twl6030.dtsi"
340
341 &i2c2 {
342         pinctrl-names = "default";
343         pinctrl-0 = <&i2c2_pins>;
344
345         clock-frequency = <400000>;
346 };
347
348 &i2c3 {
349         pinctrl-names = "default";
350         pinctrl-0 = <&i2c3_pins>;
351
352         clock-frequency = <400000>;
353
354         /*
355          * Temperature Sensor
356          * http://www.ti.com/lit/ds/symlink/tmp105.pdf
357          */
358         tmp105@48 {
359                 compatible = "ti,tmp105";
360                 reg = <0x48>;
361         };
362
363         /*
364          * Ambient Light Sensor
365          * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
366          */
367         bh1780@29 {
368                 compatible = "rohm,bh1780";
369                 reg = <0x29>;
370         };
371 };
372
373 &i2c4 {
374         pinctrl-names = "default";
375         pinctrl-0 = <&i2c4_pins>;
376
377         clock-frequency = <400000>;
378
379         /*
380          * 3-Axis Digital Compass
381          * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
382          */
383         hmc5843@1e {
384                 compatible = "honeywell,hmc5843";
385                 reg = <0x1e>;
386         };
387 };
388
389 &mcspi1 {
390         pinctrl-names = "default";
391         pinctrl-0 = <&mcspi1_pins>;
392
393         eth@0 {
394                 compatible = "ks8851";
395                 spi-max-frequency = <24000000>;
396                 reg = <0>;
397                 interrupt-parent = <&gpio2>;
398                 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
399                 vdd-supply = <&vdd_eth>;
400         };
401 };
402
403 &mmc1 {
404         vmmc-supply = <&vmmc>;
405         bus-width = <8>;
406 };
407
408 &mmc2 {
409         vmmc-supply = <&vaux1>;
410         bus-width = <8>;
411         ti,non-removable;
412 };
413
414 &mmc3 {
415         status = "disabled";
416 };
417
418 &mmc4 {
419         status = "disabled";
420 };
421
422 &mmc5 {
423         bus-width = <4>;
424         ti,non-removable;
425 };
426
427 &emif1 {
428         cs1-used;
429         device-handle = <&elpida_ECB240ABACN>;
430 };
431
432 &emif2 {
433         cs1-used;
434         device-handle = <&elpida_ECB240ABACN>;
435 };
436
437 &keypad {
438         keypad,num-rows = <8>;
439         keypad,num-columns = <8>;
440         linux,keymap = <0x00000012      /* KEY_E */
441                         0x00010013      /* KEY_R */
442                         0x00020014      /* KEY_T */
443                         0x00030066      /* KEY_HOME */
444                         0x0004003f      /* KEY_F5 */
445                         0x000500f0      /* KEY_UNKNOWN */
446                         0x00060017      /* KEY_I */
447                         0x0007002a      /* KEY_LEFTSHIFT */
448                         0x01000020      /* KEY_D*/
449                         0x01010021      /* KEY_F */
450                         0x01020022      /* KEY_G */
451                         0x010300e7      /* KEY_SEND */
452                         0x01040040      /* KEY_F6 */
453                         0x010500f0      /* KEY_UNKNOWN */
454                         0x01060025      /* KEY_K */
455                         0x0107001c      /* KEY_ENTER */
456                         0x0200002d      /* KEY_X */
457                         0x0201002e      /* KEY_C */
458                         0x0202002f      /* KEY_V */
459                         0x0203006b      /* KEY_END */
460                         0x02040041      /* KEY_F7 */
461                         0x020500f0      /* KEY_UNKNOWN */
462                         0x02060034      /* KEY_DOT */
463                         0x0207003a      /* KEY_CAPSLOCK */
464                         0x0300002c      /* KEY_Z */
465                         0x0301004e      /* KEY_KPLUS */
466                         0x03020030      /* KEY_B */
467                         0x0303003b      /* KEY_F1 */
468                         0x03040042      /* KEY_F8 */
469                         0x030500f0      /* KEY_UNKNOWN */
470                         0x03060018      /* KEY_O */
471                         0x03070039      /* KEY_SPACE */
472                         0x04000011      /* KEY_W */
473                         0x04010015      /* KEY_Y */
474                         0x04020016      /* KEY_U */
475                         0x0403003c      /* KEY_F2 */
476                         0x04040073      /* KEY_VOLUMEUP */
477                         0x040500f0      /* KEY_UNKNOWN */
478                         0x04060026      /* KEY_L */
479                         0x04070069      /* KEY_LEFT */
480                         0x0500001f      /* KEY_S */
481                         0x05010023      /* KEY_H */
482                         0x05020024      /* KEY_J */
483                         0x0503003d      /* KEY_F3 */
484                         0x05040043      /* KEY_F9 */
485                         0x05050072      /* KEY_VOLUMEDOWN */
486                         0x05060032      /* KEY_M */
487                         0x0507006a      /* KEY_RIGHT */
488                         0x06000010      /* KEY_Q */
489                         0x0601001e      /* KEY_A */
490                         0x06020031      /* KEY_N */
491                         0x0603009e      /* KEY_BACK */
492                         0x0604000e      /* KEY_BACKSPACE */
493                         0x060500f0      /* KEY_UNKNOWN */
494                         0x06060019      /* KEY_P */
495                         0x06070067      /* KEY_UP */
496                         0x07000094      /* KEY_PROG1 */
497                         0x07010095      /* KEY_PROG2 */
498                         0x070200ca      /* KEY_PROG3 */
499                         0x070300cb      /* KEY_PROG4 */
500                         0x0704003e      /* KEY_F4 */
501                         0x070500f0      /* KEY_UNKNOWN */
502                         0x07060160      /* KEY_OK */
503                         0x0707006c>;    /* KEY_DOWN */
504         linux,input-no-autorepeat;
505 };
506
507 &uart2 {
508         pinctrl-names = "default";
509         pinctrl-0 = <&uart2_pins>;
510 };
511
512 &uart3 {
513         pinctrl-names = "default";
514         pinctrl-0 = <&uart3_pins>;
515 };
516
517 &uart4 {
518         pinctrl-names = "default";
519         pinctrl-0 = <&uart4_pins>;
520 };
521
522 &mcbsp3 {
523         status = "disabled";
524 };
525
526 &twl_usb_comparator {
527         usb-supply = <&vusb>;
528 };
529
530 &usb_otg_hs {
531         interface-type = <1>;
532         mode = <3>;
533         power = <50>;
534 };