From: Jonathan McDowell Date: Tue, 4 Apr 2006 14:40:09 +0000 (-0700) Subject: [PATCH] ARM: OMAP: Fix USB host on 1510/5910 X-Git-Tag: v2.6.16-omap2~1 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=46fc3296509ad3496ae028bc6431b002be1efb49;p=linux-2.6-omap-h63xx.git [PATCH] ARM: OMAP: Fix USB host on 1510/5910 The OMAP5910 datasheet says that the lb clock needs enabled for USB to work, so it seems reasonable that this is required. --- diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c index 6178f046f12..664c3e2a70b 100644 --- a/arch/arm/mach-omap1/board-ams-delta.c +++ b/arch/arm/mach-omap1/board-ams-delta.c @@ -80,8 +80,15 @@ static struct omap_uart_config ams_delta_uart_config __initdata = { .enabled_uarts = 1, }; +static struct omap_usb_config ams_delta_usb_config __initdata = { + .register_host = 1, + .hmc_mode = 16, + .pins[0] = 2, +}; + static struct omap_board_config_kernel ams_delta_config[] = { { OMAP_TAG_UART, &ams_delta_uart_config }, + { OMAP_TAG_USB, &ams_delta_usb_config }, }; static void __init ams_delta_init(void) diff --git a/drivers/usb/host/ohci-omap.c b/drivers/usb/host/ohci-omap.c index d9207d86207..ced5b2e955b 100644 --- a/drivers/usb/host/ohci-omap.c +++ b/drivers/usb/host/ohci-omap.c @@ -353,7 +353,11 @@ int usb_hcd_omap_probe (const struct hc_driver *driver, if (IS_ERR(usb_host_ck)) return PTR_ERR(usb_host_ck); - usb_dc_ck = clk_get(0, "usb_dc_ck"); + if (!cpu_is_omap1510()) + usb_dc_ck = clk_get(0, "usb_dc_ck"); + else + usb_dc_ck = clk_get(0, "lb_ck"); + if (IS_ERR(usb_dc_ck)) { clk_put(usb_host_ck); return PTR_ERR(usb_dc_ck);