Merge branch 'nohz/printk-v8' into irq/core
[sfrench/cifs-2.6.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/ "omap4.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         sound {
84                 compatible = "ti,abe-twl6040";
85                 ti,model = "SDP4430";
86
87                 ti,jack-detection = <1>;
88                 ti,mclk-freq = <38400000>;
89
90                 ti,mcpdm = <&mcpdm>;
91                 ti,dmic = <&dmic>;
92
93                 ti,twl6040 = <&twl6040>;
94
95                 /* Audio routing */
96                 ti,audio-routing =
97                         "Headset Stereophone", "HSOL",
98                         "Headset Stereophone", "HSOR",
99                         "Earphone Spk", "EP",
100                         "Ext Spk", "HFL",
101                         "Ext Spk", "HFR",
102                         "Line Out", "AUXL",
103                         "Line Out", "AUXR",
104                         "Vibrator", "VIBRAL",
105                         "Vibrator", "VIBRAR",
106                         "HSMIC", "Headset Mic",
107                         "Headset Mic", "Headset Mic Bias",
108                         "MAINMIC", "Main Handset Mic",
109                         "Main Handset Mic", "Main Mic Bias",
110                         "SUBMIC", "Sub Handset Mic",
111                         "Sub Handset Mic", "Main Mic Bias",
112                         "AFML", "Line In",
113                         "AFMR", "Line In",
114                         "DMic", "Digital Mic",
115                         "Digital Mic", "Digital Mic1 Bias";
116         };
117 };
118
119 &omap4_pmx_core {
120         pinctrl-names = "default";
121         pinctrl-0 = <
122                         &twl6040_pins
123                         &mcpdm_pins
124                         &dmic_pins
125                         &mcbsp1_pins
126                         &mcbsp2_pins
127                         &dss_hdmi_pins
128                         &tpd12s015_pins
129         >;
130
131         uart2_pins: pinmux_uart2_pins {
132                 pinctrl-single,pins = <
133                         0xd8 0x118      /* uart2_cts.uart2_cts INPUT_PULLUP | MODE0 */
134                         0xda 0          /* uart2_rts.uart2_rts OUTPUT | MODE0 */
135                         0xdc 0x118      /* uart2_rx.uart2_rx INPUT_PULLUP | MODE0 */
136                         0xde 0          /* uart2_tx.uart2_tx OUTPUT | MODE0 */
137                 >;
138         };
139
140         uart3_pins: pinmux_uart3_pins {
141                 pinctrl-single,pins = <
142                         0x100 0x118     /* uart3_cts_rctx.uart3_cts_rctx INPUT_PULLUP | MODE0 */
143                         0x102 0         /* uart3_rts_sd.uart3_rts_sd OUTPUT | MODE0 */
144                         0x104 0x100     /* uart3_rx_irrx.uart3_rx_irrx INPUT | MODE0 */
145                         0x106 0         /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
146                 >;
147         };
148
149         uart4_pins: pinmux_uart4_pins {
150                 pinctrl-single,pins = <
151                         0x11c 0x100     /* uart4_rx.uart4_rx INPUT | MODE0 */
152                         0x11e 0         /* uart4_tx.uart4_tx OUTPUT | MODE0 */
153                 >;
154         };
155
156         twl6040_pins: pinmux_twl6040_pins {
157                 pinctrl-single,pins = <
158                         0xe0 0x3        /* hdq_sio.gpio_127 OUTPUT | MODE3 */
159                         0x160 0x100     /* sys_nirq2.sys_nirq2 INPUT | MODE0 */
160                 >;
161         };
162
163         mcpdm_pins: pinmux_mcpdm_pins {
164                 pinctrl-single,pins = <
165                         0xc6 0x108      /* abe_pdm_ul_data.abe_pdm_ul_data INPUT PULLDOWN | MODE0 */
166                         0xc8 0x108      /* abe_pdm_dl_data.abe_pdm_dl_data INPUT PULLDOWN | MODE0 */
167                         0xca 0x118      /* abe_pdm_frame.abe_pdm_frame INPUT PULLUP | MODE0 */
168                         0xcc 0x108      /* abe_pdm_lb_clk.abe_pdm_lb_clk INPUT PULLDOWN | MODE0 */
169                         0xce 0x108      /* abe_clks.abe_clks INPUT PULLDOWN | MODE0 */
170                 >;
171         };
172
173         dmic_pins: pinmux_dmic_pins {
174                 pinctrl-single,pins = <
175                         0xd0 0          /* abe_dmic_clk1.abe_dmic_clk1 OUTPUT | MODE0 */
176                         0xd2 0x100      /* abe_dmic_din1.abe_dmic_din1 INPUT | MODE0 */
177                         0xd4 0x100      /* abe_dmic_din2.abe_dmic_din2 INPUT | MODE0 */
178                         0xd6 0x100      /* abe_dmic_din3.abe_dmic_din3 INPUT | MODE0 */
179                 >;
180         };
181
182         mcbsp1_pins: pinmux_mcbsp1_pins {
183                 pinctrl-single,pins = <
184                         0xbe 0x100      /* abe_mcbsp1_clkx.abe_mcbsp1_clkx INPUT | MODE0 */
185                         0xc0 0x108      /* abe_mcbsp1_dr.abe_mcbsp1_dr INPUT PULLDOWN | MODE0 */
186                         0xc2 0x8        /* abe_mcbsp1_dx.abe_mcbsp1_dx OUTPUT PULLDOWN | MODE0 */
187                         0xc4 0x100      /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */
188                 >;
189         };
190
191         mcbsp2_pins: pinmux_mcbsp2_pins {
192                 pinctrl-single,pins = <
193                         0xb6 0x100      /* abe_mcbsp2_clkx.abe_mcbsp2_clkx INPUT | MODE0 */
194                         0xb8 0x108      /* abe_mcbsp2_dr.abe_mcbsp2_dr INPUT PULLDOWN | MODE0 */
195                         0xba 0x8        /* abe_mcbsp2_dx.abe_mcbsp2_dx OUTPUT PULLDOWN | MODE0 */
196                         0xbc 0x100      /* abe_mcbsp2_fsx.abe_mcbsp2_fsx INPUT | MODE0 */
197                 >;
198         };
199
200         dss_hdmi_pins: pinmux_dss_hdmi_pins {
201                 pinctrl-single,pins = <
202                         0x5a 0x118      /* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */
203                         0x5c 0x118      /* hdmi_scl.hdmi_scl INPUT PULLUP | MODE 0 */
204                         0x5e 0x118      /* hdmi_sda.hdmi_sda INPUT PULLUP | MODE 0 */
205                 >;
206         };
207
208         tpd12s015_pins: pinmux_tpd12s015_pins {
209                 pinctrl-single,pins = <
210                         0x22 0x3        /* gpmc_a17.gpio_41 OUTPUT | MODE3 */
211                         0x48 0x3        /* gpmc_nbe1.gpio_60 OUTPUT | MODE3 */
212                         0x58 0x10b      /* hdmi_hpd.gpio_63 INPUT PULLDOWN | MODE3 */
213                 >;
214         };
215 };
216
217 &i2c1 {
218         clock-frequency = <400000>;
219
220         twl: twl@48 {
221                 reg = <0x48>;
222                 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
223                 interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */
224                 interrupt-parent = <&gic>;
225         };
226
227         twl6040: twl@4b {
228                 compatible = "ti,twl6040";
229                 reg = <0x4b>;
230                 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
231                 interrupts = <0 119 4>; /* IRQ_SYS_2N cascaded to gic */
232                 interrupt-parent = <&gic>;
233                 ti,audpwron-gpio = <&gpio4 31 0>;  /* gpio line 127 */
234
235                 vio-supply = <&v1v8>;
236                 v2v1-supply = <&v2v1>;
237                 enable-active-high;
238
239                 /* regulators for vibra motor */
240                 vddvibl-supply = <&vbat>;
241                 vddvibr-supply = <&vbat>;
242
243                 vibra {
244                         /* Vibra driver, motor resistance parameters */
245                         ti,vibldrv-res = <8>;
246                         ti,vibrdrv-res = <3>;
247                         ti,viblmotor-res = <10>;
248                         ti,vibrmotor-res = <10>;
249                 };
250         };
251 };
252
253 /include/ "twl6030.dtsi"
254
255 &i2c2 {
256         clock-frequency = <400000>;
257 };
258
259 &i2c3 {
260         clock-frequency = <400000>;
261
262         /*
263          * Temperature Sensor
264          * http://www.ti.com/lit/ds/symlink/tmp105.pdf
265          */
266         tmp105@48 {
267                 compatible = "ti,tmp105";
268                 reg = <0x48>;
269         };
270
271         /*
272          * Ambient Light Sensor
273          * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
274          */
275         bh1780@29 {
276                 compatible = "rohm,bh1780";
277                 reg = <0x29>;
278         };
279 };
280
281 &i2c4 {
282         clock-frequency = <400000>;
283
284         /*
285          * 3-Axis Digital Compass
286          * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
287          */
288         hmc5843@1e {
289                 compatible = "honeywell,hmc5843";
290                 reg = <0x1e>;
291         };
292 };
293
294 &mcspi1 {
295         eth@0 {
296                 compatible = "ks8851";
297                 spi-max-frequency = <24000000>;
298                 reg = <0>;
299                 interrupt-parent = <&gpio2>;
300                 interrupts = <2>; /* gpio line 34 */
301                 vdd-supply = <&vdd_eth>;
302         };
303 };
304
305 &mmc1 {
306         vmmc-supply = <&vmmc>;
307         bus-width = <8>;
308 };
309
310 &mmc2 {
311         vmmc-supply = <&vaux1>;
312         bus-width = <8>;
313         ti,non-removable;
314 };
315
316 &mmc3 {
317         status = "disabled";
318 };
319
320 &mmc4 {
321         status = "disabled";
322 };
323
324 &mmc5 {
325         bus-width = <4>;
326         ti,non-removable;
327 };
328
329 &emif1 {
330         cs1-used;
331         device-handle = <&elpida_ECB240ABACN>;
332 };
333
334 &emif2 {
335         cs1-used;
336         device-handle = <&elpida_ECB240ABACN>;
337 };
338
339 &keypad {
340         keypad,num-rows = <8>;
341         keypad,num-columns = <8>;
342         linux,keymap = <0x00000012      /* KEY_E */
343                         0x00010013      /* KEY_R */
344                         0x00020014      /* KEY_T */
345                         0x00030066      /* KEY_HOME */
346                         0x0004003f      /* KEY_F5 */
347                         0x000500f0      /* KEY_UNKNOWN */
348                         0x00060017      /* KEY_I */
349                         0x0007002a      /* KEY_LEFTSHIFT */
350                         0x01000020      /* KEY_D*/
351                         0x01010021      /* KEY_F */
352                         0x01020022      /* KEY_G */
353                         0x010300e7      /* KEY_SEND */
354                         0x01040040      /* KEY_F6 */
355                         0x010500f0      /* KEY_UNKNOWN */
356                         0x01060025      /* KEY_K */
357                         0x0107001c      /* KEY_ENTER */
358                         0x0200002d      /* KEY_X */
359                         0x0201002e      /* KEY_C */
360                         0x0202002f      /* KEY_V */
361                         0x0203006b      /* KEY_END */
362                         0x02040041      /* KEY_F7 */
363                         0x020500f0      /* KEY_UNKNOWN */
364                         0x02060034      /* KEY_DOT */
365                         0x0207003a      /* KEY_CAPSLOCK */
366                         0x0300002c      /* KEY_Z */
367                         0x0301004e      /* KEY_KPLUS */
368                         0x03020030      /* KEY_B */
369                         0x0303003b      /* KEY_F1 */
370                         0x03040042      /* KEY_F8 */
371                         0x030500f0      /* KEY_UNKNOWN */
372                         0x03060018      /* KEY_O */
373                         0x03070039      /* KEY_SPACE */
374                         0x04000011      /* KEY_W */
375                         0x04010015      /* KEY_Y */
376                         0x04020016      /* KEY_U */
377                         0x0403003c      /* KEY_F2 */
378                         0x04040073      /* KEY_VOLUMEUP */
379                         0x040500f0      /* KEY_UNKNOWN */
380                         0x04060026      /* KEY_L */
381                         0x04070069      /* KEY_LEFT */
382                         0x0500001f      /* KEY_S */
383                         0x05010023      /* KEY_H */
384                         0x05020024      /* KEY_J */
385                         0x0503003d      /* KEY_F3 */
386                         0x05040043      /* KEY_F9 */
387                         0x05050072      /* KEY_VOLUMEDOWN */
388                         0x05060032      /* KEY_M */
389                         0x0507006a      /* KEY_RIGHT */
390                         0x06000010      /* KEY_Q */
391                         0x0601001e      /* KEY_A */
392                         0x06020031      /* KEY_N */
393                         0x0603009e      /* KEY_BACK */
394                         0x0604000e      /* KEY_BACKSPACE */
395                         0x060500f0      /* KEY_UNKNOWN */
396                         0x06060019      /* KEY_P */
397                         0x06070067      /* KEY_UP */
398                         0x07000094      /* KEY_PROG1 */
399                         0x07010095      /* KEY_PROG2 */
400                         0x070200ca      /* KEY_PROG3 */
401                         0x070300cb      /* KEY_PROG4 */
402                         0x0704003e      /* KEY_F4 */
403                         0x070500f0      /* KEY_UNKNOWN */
404                         0x07060160      /* KEY_OK */
405                         0x0707006c>;    /* KEY_DOWN */
406         linux,input-no-autorepeat;
407 };
408
409 &uart2 {
410         pinctrl-names = "default";
411         pinctrl-0 = <&uart2_pins>;
412 };
413
414 &uart3 {
415         pinctrl-names = "default";
416         pinctrl-0 = <&uart3_pins>;
417 };
418
419 &uart4 {
420         pinctrl-names = "default";
421         pinctrl-0 = <&uart4_pins>;
422 };
423
424 &mcbsp3 {
425         status = "disabled";
426 };
427
428 &twl_usb_comparator {
429         usb-supply = <&vusb>;
430 };