Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney...
[firefly-linux-kernel-4.4.55.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         uart2_pins: pinmux_uart2_pins {
121                 pinctrl-single,pins = <
122                         0xd8 0x118      /* uart2_cts.uart2_cts INPUT_PULLUP | MODE0 */
123                         0xda 0          /* uart2_rts.uart2_rts OUTPUT | MODE0 */
124                         0xdc 0x118      /* uart2_rx.uart2_rx INPUT_PULLUP | MODE0 */
125                         0xde 0          /* uart2_tx.uart2_tx OUTPUT | MODE0 */
126                 >;
127         };
128
129         uart3_pins: pinmux_uart3_pins {
130                 pinctrl-single,pins = <
131                         0x100 0x118     /* uart3_cts_rctx.uart3_cts_rctx INPUT_PULLUP | MODE0 */
132                         0x102 0         /* uart3_rts_sd.uart3_rts_sd OUTPUT | MODE0 */
133                         0x104 0x100     /* uart3_rx_irrx.uart3_rx_irrx INPUT | MODE0 */
134                         0x106 0         /* uart3_tx_irtx.uart3_tx_irtx OUTPUT | MODE0 */
135                 >;
136         };
137
138         uart4_pins: pinmux_uart4_pins {
139                 pinctrl-single,pins = <
140                         0x11c 0x100     /* uart4_rx.uart4_rx INPUT | MODE0 */
141                         0x11e 0         /* uart4_tx.uart4_tx OUTPUT | MODE0 */
142                 >;
143         };
144 };
145
146 &i2c1 {
147         clock-frequency = <400000>;
148
149         twl: twl@48 {
150                 reg = <0x48>;
151                 /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
152                 interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */
153                 interrupt-parent = <&gic>;
154         };
155
156         twl6040: twl@4b {
157                 compatible = "ti,twl6040";
158                 reg = <0x4b>;
159                 /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
160                 interrupts = <0 119 4>; /* IRQ_SYS_2N cascaded to gic */
161                 interrupt-parent = <&gic>;
162                 ti,audpwron-gpio = <&gpio4 31 0>;  /* gpio line 127 */
163
164                 vio-supply = <&v1v8>;
165                 v2v1-supply = <&v2v1>;
166                 enable-active-high;
167
168                 /* regulators for vibra motor */
169                 vddvibl-supply = <&vbat>;
170                 vddvibr-supply = <&vbat>;
171
172                 vibra {
173                         /* Vibra driver, motor resistance parameters */
174                         ti,vibldrv-res = <8>;
175                         ti,vibrdrv-res = <3>;
176                         ti,viblmotor-res = <10>;
177                         ti,vibrmotor-res = <10>;
178                 };
179         };
180 };
181
182 /include/ "twl6030.dtsi"
183
184 &i2c2 {
185         clock-frequency = <400000>;
186 };
187
188 &i2c3 {
189         clock-frequency = <400000>;
190
191         /*
192          * Temperature Sensor
193          * http://www.ti.com/lit/ds/symlink/tmp105.pdf
194          */
195         tmp105@48 {
196                 compatible = "ti,tmp105";
197                 reg = <0x48>;
198         };
199
200         /*
201          * Ambient Light Sensor
202          * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf
203          */
204         bh1780@29 {
205                 compatible = "rohm,bh1780";
206                 reg = <0x29>;
207         };
208 };
209
210 &i2c4 {
211         clock-frequency = <400000>;
212
213         /*
214          * 3-Axis Digital Compass
215          * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf
216          */
217         hmc5843@1e {
218                 compatible = "honeywell,hmc5843";
219                 reg = <0x1e>;
220         };
221 };
222
223 &mcspi1 {
224         eth@0 {
225                 compatible = "ks8851";
226                 spi-max-frequency = <24000000>;
227                 reg = <0>;
228                 interrupt-parent = <&gpio2>;
229                 interrupts = <2>; /* gpio line 34 */
230                 vdd-supply = <&vdd_eth>;
231         };
232 };
233
234 &mmc1 {
235         vmmc-supply = <&vmmc>;
236         bus-width = <8>;
237 };
238
239 &mmc2 {
240         vmmc-supply = <&vaux1>;
241         bus-width = <8>;
242         ti,non-removable;
243 };
244
245 &mmc3 {
246         status = "disabled";
247 };
248
249 &mmc4 {
250         status = "disabled";
251 };
252
253 &mmc5 {
254         bus-width = <4>;
255         ti,non-removable;
256 };
257
258 &emif1 {
259         cs1-used;
260         device-handle = <&elpida_ECB240ABACN>;
261 };
262
263 &emif2 {
264         cs1-used;
265         device-handle = <&elpida_ECB240ABACN>;
266 };
267
268 &keypad {
269         keypad,num-rows = <8>;
270         keypad,num-columns = <8>;
271         linux,keymap = <0x00000012      /* KEY_E */
272                         0x00010013      /* KEY_R */
273                         0x00020014      /* KEY_T */
274                         0x00030066      /* KEY_HOME */
275                         0x0004003f      /* KEY_F5 */
276                         0x000500f0      /* KEY_UNKNOWN */
277                         0x00060017      /* KEY_I */
278                         0x0007002a      /* KEY_LEFTSHIFT */
279                         0x01000020      /* KEY_D*/
280                         0x01010021      /* KEY_F */
281                         0x01020022      /* KEY_G */
282                         0x010300e7      /* KEY_SEND */
283                         0x01040040      /* KEY_F6 */
284                         0x010500f0      /* KEY_UNKNOWN */
285                         0x01060025      /* KEY_K */
286                         0x0107001c      /* KEY_ENTER */
287                         0x0200002d      /* KEY_X */
288                         0x0201002e      /* KEY_C */
289                         0x0202002f      /* KEY_V */
290                         0x0203006b      /* KEY_END */
291                         0x02040041      /* KEY_F7 */
292                         0x020500f0      /* KEY_UNKNOWN */
293                         0x02060034      /* KEY_DOT */
294                         0x0207003a      /* KEY_CAPSLOCK */
295                         0x0300002c      /* KEY_Z */
296                         0x0301004e      /* KEY_KPLUS */
297                         0x03020030      /* KEY_B */
298                         0x0303003b      /* KEY_F1 */
299                         0x03040042      /* KEY_F8 */
300                         0x030500f0      /* KEY_UNKNOWN */
301                         0x03060018      /* KEY_O */
302                         0x03070039      /* KEY_SPACE */
303                         0x04000011      /* KEY_W */
304                         0x04010015      /* KEY_Y */
305                         0x04020016      /* KEY_U */
306                         0x0403003c      /* KEY_F2 */
307                         0x04040073      /* KEY_VOLUMEUP */
308                         0x040500f0      /* KEY_UNKNOWN */
309                         0x04060026      /* KEY_L */
310                         0x04070069      /* KEY_LEFT */
311                         0x0500001f      /* KEY_S */
312                         0x05010023      /* KEY_H */
313                         0x05020024      /* KEY_J */
314                         0x0503003d      /* KEY_F3 */
315                         0x05040043      /* KEY_F9 */
316                         0x05050072      /* KEY_VOLUMEDOWN */
317                         0x05060032      /* KEY_M */
318                         0x0507006a      /* KEY_RIGHT */
319                         0x06000010      /* KEY_Q */
320                         0x0601001e      /* KEY_A */
321                         0x06020031      /* KEY_N */
322                         0x0603009e      /* KEY_BACK */
323                         0x0604000e      /* KEY_BACKSPACE */
324                         0x060500f0      /* KEY_UNKNOWN */
325                         0x06060019      /* KEY_P */
326                         0x06070067      /* KEY_UP */
327                         0x07000094      /* KEY_PROG1 */
328                         0x07010095      /* KEY_PROG2 */
329                         0x070200ca      /* KEY_PROG3 */
330                         0x070300cb      /* KEY_PROG4 */
331                         0x0704003e      /* KEY_F4 */
332                         0x070500f0      /* KEY_UNKNOWN */
333                         0x07060160      /* KEY_OK */
334                         0x0707006c>;    /* KEY_DOWN */
335         linux,input-no-autorepeat;
336 };
337
338 &uart2 {
339         pinctrl-names = "default";
340         pinctrl-0 = <&uart2_pins>;
341 };
342
343 &uart3 {
344         pinctrl-names = "default";
345         pinctrl-0 = <&uart3_pins>;
346 };
347
348 &uart4 {
349         pinctrl-names = "default";
350         pinctrl-0 = <&uart4_pins>;
351 };