diff options
author | Rodolfo Giometti <giometti@enneenne.com> | 2007-10-15 11:59:17 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2007-10-15 12:57:41 +0200 |
commit | 4d4a945e189a2f384c66432316da2788a0ac1607 (patch) | |
tree | 99498b2f1d3ecda366c57854d1844ca216a2eb84 /cpu/pxa/usb.c | |
parent | f8bf90461d9bad2e6fed31fcebaf235f60dd6763 (diff) | |
download | u-boot-imx-4d4a945e189a2f384c66432316da2788a0ac1607.zip u-boot-imx-4d4a945e189a2f384c66432316da2788a0ac1607.tar.gz u-boot-imx-4d4a945e189a2f384c66432316da2788a0ac1607.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>
Diffstat (limited to 'cpu/pxa/usb.c')
-rw-r--r-- | cpu/pxa/usb.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/cpu/pxa/usb.c b/cpu/pxa/usb.c index 65f457f..3c11d4d 100644 --- a/cpu/pxa/usb.c +++ b/cpu/pxa/usb.c @@ -67,6 +67,22 @@ int usb_cpu_init() int usb_cpu_stop() { + 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; } |