Merge tag 'ib-mfd-omap-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/lee...
[deliverable/linux.git] / arch / arm / boot / dts / omap4-panda-common.dtsi
CommitLineData
4b79197c
NM
1/*
2 * Copyright (C) 2011-2013 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 */
98ef7957 8#include "elpida_ecb240abacn.dtsi"
4b79197c
NM
9
10/ {
11 model = "TI OMAP4 PandaBoard";
12 compatible = "ti,omap4-panda", "ti,omap4430", "ti,omap4";
13
14 memory {
15 device_type = "memory";
16 reg = <0x80000000 0x40000000>; /* 1 GB */
17 };
18
661637ca
TV
19 aliases {
20 display0 = &dvi0;
21 display1 = &hdmi0;
22 };
23
3818d7ca 24 leds: leds {
4b79197c 25 compatible = "gpio-leds";
3818d7ca
DM
26 pinctrl-names = "default";
27 pinctrl-0 = <
28 &led_wkgpio_pins
29 >;
30
4b79197c
NM
31 heartbeat {
32 label = "pandaboard::status1";
6d624eab 33 gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
4b79197c
NM
34 linux,default-trigger = "heartbeat";
35 };
36
37 mmc {
38 label = "pandaboard::status2";
6d624eab 39 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
4b79197c
NM
40 linux,default-trigger = "mmc0";
41 };
42 };
43
44 sound: sound {
45 compatible = "ti,abe-twl6040";
46 ti,model = "PandaBoard";
47
48 ti,mclk-freq = <38400000>;
49
50 ti,mcpdm = <&mcpdm>;
51
52 ti,twl6040 = <&twl6040>;
53
54 /* Audio routing */
55 ti,audio-routing =
56 "Headset Stereophone", "HSOL",
57 "Headset Stereophone", "HSOR",
58 "Ext Spk", "HFL",
59 "Ext Spk", "HFR",
60 "Line Out", "AUXL",
61 "Line Out", "AUXR",
62 "HSMIC", "Headset Mic",
63 "Headset Mic", "Headset Mic Bias",
64 "AFML", "Line In",
65 "AFMR", "Line In";
66 };
5bd2100e 67
5bd2100e
RQ
68 /* HS USB Port 1 Power */
69 hsusb1_power: hsusb1_power_reg {
70 compatible = "regulator-fixed";
71 regulator-name = "hsusb1_vbus";
72 regulator-min-microvolt = <3300000>;
73 regulator-max-microvolt = <3300000>;
74 gpio = <&gpio1 1 0>; /* gpio_1 */
75 startup-delay-us = <70000>;
76 enable-active-high;
6f569293
RQ
77 /*
78 * boot-on is required along with always-on as the
79 * regulator framework doesn't enable the regulator
80 * if boot-on is not there.
81 */
82 regulator-always-on;
83 regulator-boot-on;
5bd2100e
RQ
84 };
85
86 /* HS USB Host PHY on PORT 1 */
87 hsusb1_phy: hsusb1_phy {
88 compatible = "usb-nop-xceiv";
4cbdc86d 89 reset-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>; /* gpio_62 */
5bd2100e 90 vcc-supply = <&hsusb1_power>;
2ecf8aa1
RQ
91 clocks = <&auxclk3_ck>;
92 clock-names = "main_clk";
5bd2100e
RQ
93 clock-frequency = <19200000>;
94 };
851320e3
TL
95
96 /* regulator for wl12xx on sdio5 */
97 wl12xx_vmmc: wl12xx_vmmc {
98 pinctrl-names = "default";
99 pinctrl-0 = <&wl12xx_gpio>;
100 compatible = "regulator-fixed";
101 regulator-name = "vwl1271";
102 regulator-min-microvolt = <1800000>;
103 regulator-max-microvolt = <1800000>;
104 gpio = <&gpio2 11 0>;
105 startup-delay-us = <70000>;
106 enable-active-high;
107 };
661637ca
TV
108
109 tfp410: encoder@0 {
110 compatible = "ti,tfp410";
111 powerdown-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; /* gpio_0 */
112
113 ports {
114 #address-cells = <1>;
115 #size-cells = <0>;
116
117 port@0 {
118 reg = <0>;
119
120 tfp410_in: endpoint@0 {
121 remote-endpoint = <&dpi_out>;
122 };
123 };
124
125 port@1 {
126 reg = <1>;
127
128 tfp410_out: endpoint@0 {
129 remote-endpoint = <&dvi_connector_in>;
130 };
131 };
132 };
133 };
134
135 dvi0: connector@0 {
136 compatible = "dvi-connector";
137 label = "dvi";
138
139 digital;
140
141 ddc-i2c-bus = <&i2c3>;
142
143 port {
144 dvi_connector_in: endpoint {
145 remote-endpoint = <&tfp410_out>;
146 };
147 };
148 };
149
150 tpd12s015: encoder@1 {
151 compatible = "ti,tpd12s015";
152
153 gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */
154 <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */
155 <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
156
157 ports {
158 #address-cells = <1>;
159 #size-cells = <0>;
160
161 port@0 {
162 reg = <0>;
163
164 tpd12s015_in: endpoint@0 {
165 remote-endpoint = <&hdmi_out>;
166 };
167 };
168
169 port@1 {
170 reg = <1>;
171
172 tpd12s015_out: endpoint@0 {
173 remote-endpoint = <&hdmi_connector_in>;
174 };
175 };
176 };
177 };
178
179 hdmi0: connector@1 {
180 compatible = "hdmi-connector";
181 label = "hdmi";
182
183 type = "a";
184
185 port {
186 hdmi_connector_in: endpoint {
187 remote-endpoint = <&tpd12s015_out>;
188 };
189 };
190 };
4b79197c
NM
191};
192
193&omap4_pmx_core {
194 pinctrl-names = "default";
195 pinctrl-0 = <
0352bd1f
TV
196 &dss_dpi_pins
197 &tfp410_pins
4b79197c
NM
198 &dss_hdmi_pins
199 &tpd12s015_pins
5bd2100e 200 &hsusbb1_pins
4b79197c
NM
201 >;
202
203 twl6040_pins: pinmux_twl6040_pins {
204 pinctrl-single,pins = <
bcd3cca7
FV
205 0xe0 (PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
206 0x160 (PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
4b79197c
NM
207 >;
208 };
209
210 mcpdm_pins: pinmux_mcpdm_pins {
211 pinctrl-single,pins = <
bcd3cca7
FV
212 0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */
213 0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */
214 0xca (PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */
215 0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */
216 0xce (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
4b79197c
NM
217 >;
218 };
219
220 mcbsp1_pins: pinmux_mcbsp1_pins {
221 pinctrl-single,pins = <
bcd3cca7
FV
222 0xbe (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
223 0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
224 0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
225 0xc4 (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
4b79197c
NM
226 >;
227 };
228
0352bd1f
TV
229 dss_dpi_pins: pinmux_dss_dpi_pins {
230 pinctrl-single,pins = <
231 0x122 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data23 */
232 0x124 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data22 */
233 0x126 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data21 */
234 0x128 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data20 */
235 0x12a (PIN_OUTPUT | MUX_MODE5) /* dispc2_data19 */
236 0x12c (PIN_OUTPUT | MUX_MODE5) /* dispc2_data18 */
237 0x12e (PIN_OUTPUT | MUX_MODE5) /* dispc2_data15 */
238 0x130 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data14 */
239 0x132 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data13 */
240 0x134 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data12 */
241 0x136 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data11 */
242
243 0x174 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data10 */
244 0x176 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data9 */
245 0x178 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data16 */
246 0x17a (PIN_OUTPUT | MUX_MODE5) /* dispc2_data17 */
247 0x17c (PIN_OUTPUT | MUX_MODE5) /* dispc2_hsync */
248 0x17e (PIN_OUTPUT | MUX_MODE5) /* dispc2_pclk */
249 0x180 (PIN_OUTPUT | MUX_MODE5) /* dispc2_vsync */
250 0x182 (PIN_OUTPUT | MUX_MODE5) /* dispc2_de */
251 0x184 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data8 */
252 0x186 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data7 */
253 0x188 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data6 */
254 0x18a (PIN_OUTPUT | MUX_MODE5) /* dispc2_data5 */
255 0x18c (PIN_OUTPUT | MUX_MODE5) /* dispc2_data4 */
256 0x18e (PIN_OUTPUT | MUX_MODE5) /* dispc2_data3 */
257
258 0x190 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data2 */
259 0x192 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data1 */
260 0x194 (PIN_OUTPUT | MUX_MODE5) /* dispc2_data0 */
261 >;
262 };
263
264 tfp410_pins: pinmux_tfp410_pins {
265 pinctrl-single,pins = <
266 0x144 (PIN_OUTPUT | MUX_MODE3) /* gpio_0 */
267 >;
268 };
269
4b79197c
NM
270 dss_hdmi_pins: pinmux_dss_hdmi_pins {
271 pinctrl-single,pins = <
bcd3cca7
FV
272 0x5a (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */
273 0x5c (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
274 0x5e (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
4b79197c
NM
275 >;
276 };
277
278 tpd12s015_pins: pinmux_tpd12s015_pins {
279 pinctrl-single,pins = <
bcd3cca7
FV
280 0x22 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
281 0x48 (PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
282 0x58 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
4b79197c
NM
283 >;
284 };
285
5bd2100e
RQ
286 hsusbb1_pins: pinmux_hsusbb1_pins {
287 pinctrl-single,pins = <
288 0x82 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
289 0x84 (PIN_OUTPUT | MUX_MODE4) /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
290 0x86 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */
291 0x88 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */
292 0x8a (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */
293 0x8c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */
294 0x8e (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */
295 0x90 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */
296 0x92 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */
297 0x94 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */
298 0x96 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */
299 0x98 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */
300 >;
301 };
302
4b79197c
NM
303 i2c1_pins: pinmux_i2c1_pins {
304 pinctrl-single,pins = <
bcd3cca7
FV
305 0xe2 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
306 0xe4 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
4b79197c
NM
307 >;
308 };
309
310 i2c2_pins: pinmux_i2c2_pins {
311 pinctrl-single,pins = <
bcd3cca7
FV
312 0xe6 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
313 0xe8 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
4b79197c
NM
314 >;
315 };
316
317 i2c3_pins: pinmux_i2c3_pins {
318 pinctrl-single,pins = <
bcd3cca7
FV
319 0xea (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
320 0xec (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
4b79197c
NM
321 >;
322 };
323
324 i2c4_pins: pinmux_i2c4_pins {
325 pinctrl-single,pins = <
bcd3cca7
FV
326 0xee (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
327 0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
4b79197c
NM
328 >;
329 };
851320e3
TL
330
331 /*
332 * wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP
333 * REVISIT: Are the pull-ups needed for GPIO 48 and 49?
334 */
335 wl12xx_gpio: pinmux_wl12xx_gpio {
336 pinctrl-single,pins = <
337 0x26 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a19.gpio_43 */
338 0x2c (PIN_OUTPUT | MUX_MODE3) /* gpmc_a22.gpio_46 */
339 0x30 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_a24.gpio_48 */
340 0x32 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_a25.gpio_49 */
341 >;
342 };
343
344 /* wl12xx GPIO inputs and SDIO pins */
345 wl12xx_pins: pinmux_wl12xx_pins {
346 pinctrl-single,pins = <
347 0x38 (PIN_INPUT | MUX_MODE3) /* gpmc_ncs2.gpio_52 */
348 0x3a (PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */
2ba2866f 349 0x108 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */
851320e3
TL
350 0x10a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */
351 0x10c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */
352 0x10e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */
353 0x110 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */
354 0x112 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */
355 >;
356 };
3818d7ca
DM
357};
358
2ba2866f
B
359&omap4_pmx_wkup {
360 led_wkgpio_pins: pinmux_leds_wkpins {
361 pinctrl-single,pins = <
362 0x1a (PIN_OUTPUT | MUX_MODE3) /* gpio_wk7 */
363 0x1c (PIN_OUTPUT | MUX_MODE3) /* gpio_wk8 */
364 >;
365 };
366};
367
4b79197c
NM
368&i2c1 {
369 pinctrl-names = "default";
370 pinctrl-0 = <&i2c1_pins>;
371
372 clock-frequency = <400000>;
373
374 twl: twl@48 {
375 reg = <0x48>;
8fea7d5a
FV
376 /* IRQ# = 7 */
377 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
4b79197c
NM
378 interrupt-parent = <&gic>;
379 };
380
381 twl6040: twl@4b {
382 compatible = "ti,twl6040";
383 reg = <0x4b>;
aa986458
PU
384
385 pinctrl-names = "default";
386 pinctrl-0 = <&twl6040_pins>;
387
8fea7d5a
FV
388 /* IRQ# = 119 */
389 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
4b79197c 390 interrupt-parent = <&gic>;
78eb938e 391 ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */
4b79197c
NM
392
393 vio-supply = <&v1v8>;
394 v2v1-supply = <&v2v1>;
395 enable-active-high;
396 };
397};
398
98ef7957 399#include "twl6030.dtsi"
06a9ea5d 400#include "twl6030_omap4.dtsi"
4b79197c
NM
401
402&i2c2 {
403 pinctrl-names = "default";
404 pinctrl-0 = <&i2c2_pins>;
405
406 clock-frequency = <400000>;
407};
408
409&i2c3 {
410 pinctrl-names = "default";
411 pinctrl-0 = <&i2c3_pins>;
412
413 clock-frequency = <100000>;
414
415 /*
416 * Display monitor features are burnt in their EEPROM as EDID data.
417 * The EEPROM is connected as I2C slave device.
418 */
419 eeprom@50 {
420 compatible = "ti,eeprom";
421 reg = <0x50>;
422 };
423};
424
425&i2c4 {
426 pinctrl-names = "default";
427 pinctrl-0 = <&i2c4_pins>;
428
429 clock-frequency = <400000>;
430};
431
432&mmc1 {
433 vmmc-supply = <&vmmc>;
434 bus-width = <8>;
435};
436
437&mmc2 {
438 status = "disabled";
439};
440
441&mmc3 {
442 status = "disabled";
443};
444
445&mmc4 {
446 status = "disabled";
447};
448
449&mmc5 {
851320e3
TL
450 pinctrl-names = "default";
451 pinctrl-0 = <&wl12xx_pins>;
452 vmmc-supply = <&wl12xx_vmmc>;
453 non-removable;
4b79197c 454 bus-width = <4>;
851320e3 455 cap-power-off-card;
4b79197c
NM
456};
457
458&emif1 {
459 cs1-used;
460 device-handle = <&elpida_ECB240ABACN>;
461};
462
463&emif2 {
464 cs1-used;
465 device-handle = <&elpida_ECB240ABACN>;
466};
467
aa986458
PU
468&mcbsp1 {
469 pinctrl-names = "default";
470 pinctrl-0 = <&mcbsp1_pins>;
471 status = "okay";
472};
473
aa986458
PU
474&mcpdm {
475 pinctrl-names = "default";
476 pinctrl-0 = <&mcpdm_pins>;
477 status = "okay";
478};
479
4b79197c
NM
480&twl_usb_comparator {
481 usb-supply = <&vusb>;
482};
483
484&usb_otg_hs {
485 interface-type = <1>;
486 mode = <3>;
487 power = <50>;
488};
5bd2100e
RQ
489
490&usbhshost {
491 port1-mode = "ehci-phy";
492};
493
494&usbhsehci {
495 phys = <&hsusb1_phy>;
496};
661637ca
TV
497
498&dss {
499 status = "ok";
500
501 port {
502 dpi_out: endpoint {
503 remote-endpoint = <&tfp410_in>;
504 data-lines = <24>;
505 };
506 };
507};
508
509&dsi2 {
510 status = "ok";
511 vdd-supply = <&vcxio>;
512};
513
514&hdmi {
515 status = "ok";
516 vdda-supply = <&vdac>;
517
518 port {
519 hdmi_out: endpoint {
520 remote-endpoint = <&tpd12s015_in>;
521 };
522 };
523};
This page took 0.111916 seconds and 5 git commands to generate.