]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - arch/arm/boot/dts/omap4-panda-common.dtsi
ARM: dts: omap3-beagle: Use reset-gpios for hsusb2_reset
[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
RQ
62
63 /*
64 * Temp hack: Need to be replaced with the proper gpio-controlled
65 * reset driver as soon it will be merged.
66 * http://thread.gmane.org/gmane.linux.drivers.devicetree/36830
67 */
68 /* HS USB Port 1 RESET */
69 hsusb1_reset: hsusb1_reset_reg {
70 compatible = "regulator-fixed";
71 regulator-name = "hsusb1_reset";
72 regulator-min-microvolt = <3300000>;
73 regulator-max-microvolt = <3300000>;
74 gpio = <&gpio2 30 0>; /* gpio_62 */
75 startup-delay-us = <70000>;
76 enable-active-high;
77 };
78
79 /* HS USB Port 1 Power */
80 hsusb1_power: hsusb1_power_reg {
81 compatible = "regulator-fixed";
82 regulator-name = "hsusb1_vbus";
83 regulator-min-microvolt = <3300000>;
84 regulator-max-microvolt = <3300000>;
85 gpio = <&gpio1 1 0>; /* gpio_1 */
86 startup-delay-us = <70000>;
87 enable-active-high;
6f569293
RQ
88 /*
89 * boot-on is required along with always-on as the
90 * regulator framework doesn't enable the regulator
91 * if boot-on is not there.
92 */
93 regulator-always-on;
94 regulator-boot-on;
5bd2100e
RQ
95 };
96
97 /* HS USB Host PHY on PORT 1 */
98 hsusb1_phy: hsusb1_phy {
99 compatible = "usb-nop-xceiv";
100 reset-supply = <&hsusb1_reset>;
101 vcc-supply = <&hsusb1_power>;
102 /**
103 * FIXME:
104 * put the right clock phandle here when available
105 * clocks = <&auxclk3>;
106 * clock-names = "main_clk";
107 */
108 clock-frequency = <19200000>;
109 };
851320e3
TL
110
111 /* regulator for wl12xx on sdio5 */
112 wl12xx_vmmc: wl12xx_vmmc {
113 pinctrl-names = "default";
114 pinctrl-0 = <&wl12xx_gpio>;
115 compatible = "regulator-fixed";
116 regulator-name = "vwl1271";
117 regulator-min-microvolt = <1800000>;
118 regulator-max-microvolt = <1800000>;
119 gpio = <&gpio2 11 0>;
120 startup-delay-us = <70000>;
121 enable-active-high;
122 };
4b79197c
NM
123};
124
125&omap4_pmx_core {
126 pinctrl-names = "default";
127 pinctrl-0 = <
128 &twl6040_pins
129 &mcpdm_pins
130 &mcbsp1_pins
131 &dss_hdmi_pins
132 &tpd12s015_pins
5bd2100e 133 &hsusbb1_pins
4b79197c
NM
134 >;
135
136 twl6040_pins: pinmux_twl6040_pins {
137 pinctrl-single,pins = <
bcd3cca7
FV
138 0xe0 (PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */
139 0x160 (PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
4b79197c
NM
140 >;
141 };
142
143 mcpdm_pins: pinmux_mcpdm_pins {
144 pinctrl-single,pins = <
bcd3cca7
FV
145 0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */
146 0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */
147 0xca (PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */
148 0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */
149 0xce (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
4b79197c
NM
150 >;
151 };
152
153 mcbsp1_pins: pinmux_mcbsp1_pins {
154 pinctrl-single,pins = <
bcd3cca7
FV
155 0xbe (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
156 0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
157 0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
158 0xc4 (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
4b79197c
NM
159 >;
160 };
161
162 dss_hdmi_pins: pinmux_dss_hdmi_pins {
163 pinctrl-single,pins = <
bcd3cca7
FV
164 0x5a (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */
165 0x5c (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
166 0x5e (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
4b79197c
NM
167 >;
168 };
169
170 tpd12s015_pins: pinmux_tpd12s015_pins {
171 pinctrl-single,pins = <
bcd3cca7
FV
172 0x22 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */
173 0x48 (PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */
174 0x58 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
4b79197c
NM
175 >;
176 };
177
5bd2100e
RQ
178 hsusbb1_pins: pinmux_hsusbb1_pins {
179 pinctrl-single,pins = <
180 0x82 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
181 0x84 (PIN_OUTPUT | MUX_MODE4) /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
182 0x86 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */
183 0x88 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */
184 0x8a (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */
185 0x8c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */
186 0x8e (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */
187 0x90 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */
188 0x92 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */
189 0x94 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */
190 0x96 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */
191 0x98 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */
192 >;
193 };
194
4b79197c
NM
195 i2c1_pins: pinmux_i2c1_pins {
196 pinctrl-single,pins = <
bcd3cca7
FV
197 0xe2 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
198 0xe4 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
4b79197c
NM
199 >;
200 };
201
202 i2c2_pins: pinmux_i2c2_pins {
203 pinctrl-single,pins = <
bcd3cca7
FV
204 0xe6 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
205 0xe8 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
4b79197c
NM
206 >;
207 };
208
209 i2c3_pins: pinmux_i2c3_pins {
210 pinctrl-single,pins = <
bcd3cca7
FV
211 0xea (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
212 0xec (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
4b79197c
NM
213 >;
214 };
215
216 i2c4_pins: pinmux_i2c4_pins {
217 pinctrl-single,pins = <
bcd3cca7
FV
218 0xee (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
219 0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
4b79197c
NM
220 >;
221 };
222};
223
3818d7ca
DM
224&omap4_pmx_wkup {
225 led_wkgpio_pins: pinmux_leds_wkpins {
226 pinctrl-single,pins = <
227 0x1a (PIN_OUTPUT | MUX_MODE3) /* gpio_wk7 */
228 0x1c (PIN_OUTPUT | MUX_MODE3) /* gpio_wk8 */
229 >;
230 };
851320e3
TL
231
232 /*
233 * wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP
234 * REVISIT: Are the pull-ups needed for GPIO 48 and 49?
235 */
236 wl12xx_gpio: pinmux_wl12xx_gpio {
237 pinctrl-single,pins = <
238 0x26 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a19.gpio_43 */
239 0x2c (PIN_OUTPUT | MUX_MODE3) /* gpmc_a22.gpio_46 */
240 0x30 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_a24.gpio_48 */
241 0x32 (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_a25.gpio_49 */
242 >;
243 };
244
245 /* wl12xx GPIO inputs and SDIO pins */
246 wl12xx_pins: pinmux_wl12xx_pins {
247 pinctrl-single,pins = <
248 0x38 (PIN_INPUT | MUX_MODE3) /* gpmc_ncs2.gpio_52 */
249 0x3a (PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */
250 0x108 (PIN_OUTPUT | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */
251 0x10a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */
252 0x10c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */
253 0x10e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */
254 0x110 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */
255 0x112 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */
256 >;
257 };
3818d7ca
DM
258};
259
4b79197c
NM
260&i2c1 {
261 pinctrl-names = "default";
262 pinctrl-0 = <&i2c1_pins>;
263
264 clock-frequency = <400000>;
265
266 twl: twl@48 {
267 reg = <0x48>;
8fea7d5a
FV
268 /* IRQ# = 7 */
269 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
4b79197c
NM
270 interrupt-parent = <&gic>;
271 };
272
273 twl6040: twl@4b {
274 compatible = "ti,twl6040";
275 reg = <0x4b>;
8fea7d5a
FV
276 /* IRQ# = 119 */
277 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
4b79197c 278 interrupt-parent = <&gic>;
78eb938e 279 ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */
4b79197c
NM
280
281 vio-supply = <&v1v8>;
282 v2v1-supply = <&v2v1>;
283 enable-active-high;
284 };
285};
286
98ef7957 287#include "twl6030.dtsi"
06a9ea5d 288#include "twl6030_omap4.dtsi"
4b79197c
NM
289
290&i2c2 {
291 pinctrl-names = "default";
292 pinctrl-0 = <&i2c2_pins>;
293
294 clock-frequency = <400000>;
295};
296
297&i2c3 {
298 pinctrl-names = "default";
299 pinctrl-0 = <&i2c3_pins>;
300
301 clock-frequency = <100000>;
302
303 /*
304 * Display monitor features are burnt in their EEPROM as EDID data.
305 * The EEPROM is connected as I2C slave device.
306 */
307 eeprom@50 {
308 compatible = "ti,eeprom";
309 reg = <0x50>;
310 };
311};
312
313&i2c4 {
314 pinctrl-names = "default";
315 pinctrl-0 = <&i2c4_pins>;
316
317 clock-frequency = <400000>;
318};
319
320&mmc1 {
321 vmmc-supply = <&vmmc>;
322 bus-width = <8>;
323};
324
325&mmc2 {
326 status = "disabled";
327};
328
329&mmc3 {
330 status = "disabled";
331};
332
333&mmc4 {
334 status = "disabled";
335};
336
337&mmc5 {
851320e3
TL
338 pinctrl-names = "default";
339 pinctrl-0 = <&wl12xx_pins>;
340 vmmc-supply = <&wl12xx_vmmc>;
341 non-removable;
4b79197c 342 bus-width = <4>;
851320e3 343 cap-power-off-card;
4b79197c
NM
344};
345
346&emif1 {
347 cs1-used;
348 device-handle = <&elpida_ECB240ABACN>;
349};
350
351&emif2 {
352 cs1-used;
353 device-handle = <&elpida_ECB240ABACN>;
354};
355
356&mcbsp2 {
357 status = "disabled";
358};
359
360&mcbsp3 {
361 status = "disabled";
362};
363
364&dmic {
365 status = "disabled";
366};
367
368&twl_usb_comparator {
369 usb-supply = <&vusb>;
370};
371
372&usb_otg_hs {
373 interface-type = <1>;
374 mode = <3>;
375 power = <50>;
376};
5bd2100e
RQ
377
378&usbhshost {
379 port1-mode = "ehci-phy";
380};
381
382&usbhsehci {
383 phys = <&hsusb1_phy>;
384};