Add support for OMAP5912 and OMAP16xx to usbdcore_omap1510.c

Add support to drivers/usb/usbdcore_omap1510.c for OMAP5912 and OMAP16xx devices.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Markus Klotzbuecher <mk@denx.de>
This commit is contained in:
Hunter, Jon 2008-07-26 18:59:16 -05:00 committed by Markus Klotzbuecher
parent 0f2b5d8ec0
commit 1d10dcd041
1 changed files with 25 additions and 3 deletions

View File

@ -28,7 +28,7 @@
#include <common.h>
#if defined(CONFIG_OMAP1510) && defined(CONFIG_USB_DEVICE)
#if ((defined(CONFIG_OMAP1510) || defined(CONFIG_OMAP1610)) && defined(CONFIG_USB_DEVICE))
#include <asm/io.h>
#ifdef CONFIG_OMAP_SX1
@ -1109,21 +1109,43 @@ int udc_init (void)
*/
outw ((1 << 4) | (1 << 5), CLOCK_CTRL);
UDCREG (CLOCK_CTRL);
#ifdef CONFIG_OMAP1510
/* This code was originally implemented for OMAP1510 and
* therefore is only applicable for OMAP1510 boards. For
* OMAP5912 or OMAP16xx the register APLL_CTRL does not
* exist and DPLL_CTRL is already configured.
*/
/* Set and check APLL */
outw (0x0008, APLL_CTRL);
UDCREG (APLL_CTRL);
/* Set and check DPLL */
outw (0x2210, DPLL_CTRL);
UDCREG (DPLL_CTRL);
/* Set and check SOFT */
outw ((1 << 4) | (1 << 3) | 1, SOFT_REQ);
#endif
/* Set and check SOFT
* The below line of code has been changed to perform a
* read-modify-write instead of a simple write for
* configuring the SOFT_REQ register. This allows the code
* to be compatible with OMAP5912 and OMAP16xx devices
*/
outw ((1 << 4) | (1 << 3) | 1 | (inw(SOFT_REQ)), SOFT_REQ);
/* Short delay to wait for DPLL */
udelay (1000);
/* Print banner with device revision */
udc_rev = inw (UDC_REV) & 0xff;
#ifdef CONFIG_OMAP1510
printf ("USB: TI OMAP1510 USB function module rev %d.%d\n",
udc_rev >> 4, udc_rev & 0xf);
#endif
#ifdef CONFIG_OMAP1610
printf ("USB: TI OMAP5912 USB function module rev %d.%d\n",
udc_rev >> 4, udc_rev & 0xf);
#endif
#ifdef CONFIG_OMAP_SX1
i2c_read (0x32, 0x04, 1, &value, 1);