summaryrefslogtreecommitdiff
path: root/cpu/pxa
diff options
context:
space:
mode:
authorRodolfo Giometti <giometti@enneenne.com>2007-10-15 11:59:17 +0200
committerMarkus Klotzbuecher <mk@denx.de>2007-10-31 10:07:47 +0100
commit85ac988e86f9414fa645b0148dc66c3520a1eb84 (patch)
treeffa58eaad8a65c372a26b36b24e89e27bba9a738 /cpu/pxa
parentd78791ae914d4e7c5edca1cdad73b3dc81a4eb82 (diff)
downloadu-boot-imx-85ac988e86f9414fa645b0148dc66c3520a1eb84.zip
u-boot-imx-85ac988e86f9414fa645b0148dc66c3520a1eb84.tar.gz
u-boot-imx-85ac988e86f9414fa645b0148dc66c3520a1eb84.tar.bz2
PXA USB OHCI: "usb stop" implementation.
Some USB keys need to be switched off before loading the kernel otherwise they can remain in an undefined status which prevents them to be correctly recognized by the kernel. Signed-off-by: Rodolfo Giometti <giometti@linux.it> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
Diffstat (limited to 'cpu/pxa')
-rw-r--r--cpu/pxa/usb.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/cpu/pxa/usb.c b/cpu/pxa/usb.c
index 72b7dfa..aa6f4b7 100644
--- a/cpu/pxa/usb.c
+++ b/cpu/pxa/usb.c
@@ -89,6 +89,22 @@ int usb_cpu_stop(void)
int usb_cpu_init_fail(void)
{
+ UHCHR |= UHCHR_FHR;
+ udelay(11);
+ UHCHR &= ~UHCHR_FHR;
+
+ UHCCOMS |= 1;
+ udelay(10);
+
+#if defined(CONFIG_CPU_MONAHANS)
+ UHCHR |= UHCHR_SSEP0;
+#endif
+#if defined(CONFIG_PXA27X)
+ UHCHR |= UHCHR_SSEP2;
+#endif
+ UHCHR |= UHCHR_SSEP1;
+ UHCHR |= UHCHR_SSE;
+
return 0;
}