aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa
diff options
context:
space:
mode:
authorIgor Grinberg <grinberg@compulab.co.il>2009-10-14 03:20:23 -0400
committerEric Miao <eric.y.miao@gmail.com>2009-11-30 20:03:09 -0500
commitedaa64c906f1e977396d0bd868079ee632583149 (patch)
treece70c46c86897a42fdaa76474a58abc9ab2da3fe /arch/arm/mach-pxa
parentdef8252ddb9bc52434b2ac1d560a609c61849638 (diff)
[ARM] pxa/cm-x300: enable USB port 2 for PXA300
Port 2 requires setting of UP2OCR register to function as USB host. Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
Diffstat (limited to 'arch/arm/mach-pxa')
-rw-r--r--arch/arm/mach-pxa/cm-x300.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/cm-x300.c b/arch/arm/mach-pxa/cm-x300.c
index d9006c271e8b..2142fe74666c 100644
--- a/arch/arm/mach-pxa/cm-x300.c
+++ b/arch/arm/mach-pxa/cm-x300.c
@@ -36,6 +36,7 @@
36#include <asm/setup.h> 36#include <asm/setup.h>
37 37
38#include <mach/pxa300.h> 38#include <mach/pxa300.h>
39#include <mach/pxa27x-udc.h>
39#include <mach/pxafb.h> 40#include <mach/pxafb.h>
40#include <mach/mmc.h> 41#include <mach/mmc.h>
41#include <mach/ohci.h> 42#include <mach/ohci.h>
@@ -437,9 +438,19 @@ static inline void cm_x300_init_mmc(void) {}
437#endif 438#endif
438 439
439#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) 440#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
441static int cm_x300_ohci_init(struct device *dev)
442{
443 if (cpu_is_pxa300())
444 UP2OCR = UP2OCR_HXS
445 | UP2OCR_HXOE | UP2OCR_DMPDE | UP2OCR_DPPDE;
446
447 return 0;
448}
449
440static struct pxaohci_platform_data cm_x300_ohci_platform_data = { 450static struct pxaohci_platform_data cm_x300_ohci_platform_data = {
441 .port_mode = PMM_PERPORT_MODE, 451 .port_mode = PMM_PERPORT_MODE,
442 .flags = ENABLE_PORT1 | ENABLE_PORT2 | POWER_CONTROL_LOW, 452 .flags = ENABLE_PORT_ALL | POWER_CONTROL_LOW,
453 .init = cm_x300_ohci_init,
443}; 454};
444 455
445static void __init cm_x300_init_ohci(void) 456static void __init cm_x300_init_ohci(void)