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