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