summaryrefslogtreecommitdiff
path: root/cpu/pxa/usb.c
diff options
context:
space:
mode:
authorRodolfo Giometti <giometti@enneenne.com>2007-03-26 12:03:36 +0200
committerMarkus Klotzbuecher <mk@pollux.denx.de>2007-03-26 12:03:36 +0200
commitae00bb4b2944dc64a485ed72a19754b11af7c223 (patch)
tree95b302cf0a7e13ff2e7212f65f2672e75b3cfe03 /cpu/pxa/usb.c
parentae79f60677c208326535647dcbd5c3ec40dbcb0b (diff)
downloadu-boot-imx-ae00bb4b2944dc64a485ed72a19754b11af7c223.zip
u-boot-imx-ae00bb4b2944dc64a485ed72a19754b11af7c223.tar.gz
u-boot-imx-ae00bb4b2944dc64a485ed72a19754b11af7c223.tar.bz2
PXA: pxa27x USB OHCI support
Signed-off-by: Rodolfo Giometti <giometti@linux.it>
Diffstat (limited to 'cpu/pxa/usb.c')
-rw-r--r--cpu/pxa/usb.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/cpu/pxa/usb.c b/cpu/pxa/usb.c
index 5d273cb..4ef3ac7 100644
--- a/cpu/pxa/usb.c
+++ b/cpu/pxa/usb.c
@@ -24,15 +24,21 @@
#include <common.h>
#if defined(CONFIG_USB_OHCI_NEW) && defined(CFG_USB_OHCI_CPU_INIT)
-# ifdef CONFIG_CPU_MONAHANS
+# if defined(CONFIG_CPU_MONAHANS) || defined(CONFIG_PXA27X)
#include <asm/arch/pxa-regs.h>
int usb_cpu_init()
{
+#if defined(CONFIG_CPU_MONAHANS)
/* Enable USB host clock. */
CKENA |= (CKENA_2_USBHOST | CKENA_20_UDC);
udelay(100);
+#endif
+#if defined(CONFIG_PXA27X)
+ /* Enable USB host clock. */
+ CKEN |= CKEN10_USBHOST;
+#endif
/* Configure Port 2 for Host (USB Client Registers) */
UP2OCR = 0x3000c;
@@ -55,7 +61,12 @@ int usb_cpu_init()
UHCHR |= UHCHR_PSPL; /* USBHPWR is active low */
#endif
+#if defined(CONFIG_CPU_MONAHANS)
UHCHR &= ~UHCHR_SSEP0;
+#endif
+#if defined(CONFIG_PXA27X)
+ UHCHR &= ~UHCHR_SSEP2;
+#endif
UHCHR &= ~UHCHR_SSEP1;
UHCHR &= ~UHCHR_SSE;
@@ -74,5 +85,5 @@ int usb_cpu_init_fail()
return 0;
}
-# endif /* CONFIG_CPU_MONAHANS */
+# endif /* defined(CONFIG_CPU_MONAHANS) || defined(CONFIG_PXA27X) */
#endif /* defined(CONFIG_USB_OHCI) && defined(CFG_USB_OHCI_CPU_INIT) */