Commit 2971216f authored by David Brownell's avatar David Brownell Committed by Tony Lindgren

Update OMAP USB drivers

Updates OMAP USB drivers.
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 4c2d1c72
...@@ -150,7 +150,7 @@ config USB_LH7A40X ...@@ -150,7 +150,7 @@ config USB_LH7A40X
config USB_GADGET_OMAP config USB_GADGET_OMAP
boolean "OMAP USB Device Controller" boolean "OMAP USB Device Controller"
depends on ARCH_OMAP depends on ARCH_OMAP1
select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
help help
Many Texas Instruments OMAP processors have flexible full Many Texas Instruments OMAP processors have flexible full
......
This diff is collapsed.
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#define UDC_CTRL_REG UDC_REG(0x0C) /* Endpoint control */ #define UDC_CTRL_REG UDC_REG(0x0C) /* Endpoint control */
# define UDC_CLR_HALT (1 << 7) # define UDC_CLR_HALT (1 << 7)
# define UDC_SET_HALT (1 << 6) # define UDC_SET_HALT (1 << 6)
# define UDC_CLRDATA_TOGGLE (1 << 3)
# define UDC_SET_FIFO_EN (1 << 2) # define UDC_SET_FIFO_EN (1 << 2)
# define UDC_CLR_EP (1 << 1) # define UDC_CLR_EP (1 << 1)
# define UDC_RESET_EP (1 << 0) # define UDC_RESET_EP (1 << 0)
...@@ -99,6 +100,7 @@ ...@@ -99,6 +100,7 @@
/* DMA configuration registers: up to three channels in each direction. */ /* DMA configuration registers: up to three channels in each direction. */
#define UDC_RXDMA_CFG_REG UDC_REG(0x40) /* 3 eps for RX DMA */ #define UDC_RXDMA_CFG_REG UDC_REG(0x40) /* 3 eps for RX DMA */
# define UDC_DMA_REQ (1 << 12)
#define UDC_TXDMA_CFG_REG UDC_REG(0x44) /* 3 eps for TX DMA */ #define UDC_TXDMA_CFG_REG UDC_REG(0x44) /* 3 eps for TX DMA */
#define UDC_DATA_DMA_REG UDC_REG(0x48) /* rx/tx fifo addr */ #define UDC_DATA_DMA_REG UDC_REG(0x48) /* rx/tx fifo addr */
...@@ -162,6 +164,7 @@ struct omap_udc { ...@@ -162,6 +164,7 @@ struct omap_udc {
spinlock_t lock; spinlock_t lock;
struct omap_ep ep[32]; struct omap_ep ep[32];
u16 devstat; u16 devstat;
u16 clr_halt;
struct otg_transceiver *transceiver; struct otg_transceiver *transceiver;
struct list_head iso; struct list_head iso;
unsigned softconnect:1; unsigned softconnect:1;
...@@ -171,7 +174,6 @@ struct omap_udc { ...@@ -171,7 +174,6 @@ struct omap_udc {
unsigned ep0_set_config:1; unsigned ep0_set_config:1;
unsigned ep0_reset_config:1; unsigned ep0_reset_config:1;
unsigned ep0_setup:1; unsigned ep0_setup:1;
struct completion *done; struct completion *done;
}; };
......
...@@ -67,11 +67,11 @@ static struct clk *usb_host_ck; ...@@ -67,11 +67,11 @@ static struct clk *usb_host_ck;
static void omap_ohci_clock_power(int on) static void omap_ohci_clock_power(int on)
{ {
if (on) { if (on) {
clk_enable(usb_host_ck); clk_use(usb_host_ck);
/* guesstimate for T5 == 1x 32K clock + APLL lock time */ /* guesstimate for T5 == 1x 32K clock + APLL lock time */
udelay(100); udelay(100);
} else { } else {
clk_disable(usb_host_ck); clk_unuse(usb_host_ck);
} }
} }
...@@ -100,6 +100,7 @@ static int omap_ohci_transceiver_power(int on) ...@@ -100,6 +100,7 @@ static int omap_ohci_transceiver_power(int on)
return 0; return 0;
} }
#ifdef CONFIG_ARCH_OMAP1510
/* /*
* OMAP-1510 specific Local Bus clock on/off * OMAP-1510 specific Local Bus clock on/off
*/ */
...@@ -149,6 +150,10 @@ static int omap_1510_local_bus_init(void) ...@@ -149,6 +150,10 @@ static int omap_1510_local_bus_init(void)
return 0; return 0;
} }
#else
#define omap_1510_local_bus_power(x) {}
#define omap_1510_local_bus_init() {}
#endif
#ifdef CONFIG_USB_OTG #ifdef CONFIG_USB_OTG
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment