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