|
@@ -4,8 +4,9 @@
|
|
|
* Copyright (C) 2010 Li-Pro.Net
|
|
|
* Stephan Linz <linz@li-pro.net>
|
|
|
*
|
|
|
- * Copyright (C) 2010 Logic Product Development, Inc.
|
|
|
+ * Copyright (C) 2010-2012 Logic Product Development, Inc.
|
|
|
* Peter Barada <peter.barada@logicpd.com>
|
|
|
+ * Ashwin BIhari <ashwin.bihari@logicpd.com>
|
|
|
*
|
|
|
* Modified from Beagle, EVM, and RX51
|
|
|
*
|
|
@@ -45,6 +46,7 @@
|
|
|
#include <plat/gpmc-smsc911x.h>
|
|
|
#include <plat/gpmc.h>
|
|
|
#include <plat/sdrc.h>
|
|
|
+#include <plat/usb.h>
|
|
|
|
|
|
#define OMAP3LOGIC_SMSC911X_CS 1
|
|
|
|
|
@@ -85,6 +87,11 @@ static struct twl4030_gpio_platform_data omap3logic_gpio_data = {
|
|
|
| BIT(13) | BIT(15) | BIT(16) | BIT(17),
|
|
|
};
|
|
|
|
|
|
+static struct twl4030_usb_data omap3logic_usb_data = {
|
|
|
+ .usb_mode = T2_USB_MODE_ULPI,
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
static struct twl4030_platform_data omap3logic_twldata = {
|
|
|
.irq_base = TWL4030_IRQ_BASE,
|
|
|
.irq_end = TWL4030_IRQ_END,
|
|
@@ -92,6 +99,7 @@ static struct twl4030_platform_data omap3logic_twldata = {
|
|
|
/* platform_data for children goes here */
|
|
|
.gpio = &omap3logic_gpio_data,
|
|
|
.vmmc1 = &omap3logic_vmmc1,
|
|
|
+ .usb = &omap3logic_usb_data,
|
|
|
};
|
|
|
|
|
|
static int __init omap3logic_i2c_init(void)
|
|
@@ -185,6 +193,20 @@ static inline void __init board_smsc911x_init(void)
|
|
|
|
|
|
#ifdef CONFIG_OMAP_MUX
|
|
|
static struct omap_board_mux board_mux[] __initdata = {
|
|
|
+ /* mUSB */
|
|
|
+ OMAP3_MUX(HSUSB0_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(HSUSB0_STP, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),
|
|
|
+ OMAP3_MUX(HSUSB0_DIR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(HSUSB0_NXT, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(HSUSB0_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(HSUSB0_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(HSUSB0_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(HSUSB0_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(HSUSB0_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(HSUSB0_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(HSUSB0_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(HSUSB0_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+
|
|
|
{ .reg_offset = OMAP_MUX_TERMINATOR },
|
|
|
};
|
|
|
#endif
|
|
@@ -205,6 +227,8 @@ static void __init omap3logic_init(void)
|
|
|
board_mmc_init();
|
|
|
board_smsc911x_init();
|
|
|
|
|
|
+ usb_musb_init(NULL);
|
|
|
+
|
|
|
/* Ensure SDRC pins are mux'd for self-refresh */
|
|
|
omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT);
|
|
|
omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT);
|