PXA USB OHCI: "usb stop" implementation.
authorRodolfo Giometti <giometti@enneenne.com>
Mon, 15 Oct 2007 09:59:17 +0000 (11:59 +0200)
committerMarkus Klotzbuecher <mk@denx.de>
Wed, 31 Oct 2007 09:07:47 +0000 (10:07 +0100)
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>
cpu/pxa/usb.c

index 72b7dfa..aa6f4b7 100644 (file)
@@ -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;
 }