[ARM] pxa/zylonite: add support for USB OHCI
authorEric Miao <eric.miao@marvell.com>
Sat, 27 Sep 2008 10:05:49 +0000 (18:05 +0800)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 7 Oct 2008 18:12:59 +0000 (19:12 +0100)
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-pxa/zylonite.c
arch/arm/mach-pxa/zylonite_pxa300.c
arch/arm/mach-pxa/zylonite_pxa320.c

index 0cb65b5772fe8eb0045a8b2b0686477df6e9b511..8138044334668849506b15e299a4952b85c84901 100644 (file)
@@ -29,6 +29,7 @@
 #include <mach/pxafb.h>
 #include <mach/zylonite.h>
 #include <mach/mmc.h>
+#include <mach/ohci.h>
 #include <mach/pxa27x_keypad.h>
 #include <mach/pxa3xx_nand.h>
 
@@ -423,6 +424,21 @@ static void __init zylonite_init_nand(void)
 static inline void zylonite_init_nand(void) {}
 #endif /* CONFIG_MTD_NAND_PXA3xx || CONFIG_MTD_NAND_PXA3xx_MODULE */
 
+#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
+static struct pxaohci_platform_data zylonite_ohci_info = {
+       .port_mode      = PMM_PERPORT_MODE,
+       .flags          = ENABLE_PORT1 | ENABLE_PORT2 |
+                         POWER_CONTROL_LOW | POWER_SENSE_LOW,
+};
+
+static void __init zylonite_init_ohci(void)
+{
+       pxa_set_ohci_info(&zylonite_ohci_info);
+}
+#else
+static inline void zylonite_init_ohci(void) {}
+#endif /* CONFIG_USB_OHCI_HCD || CONFIG_USB_OHCI_HCD_MODULE */
+
 static void __init zylonite_init(void)
 {
        /* board-processor specific initialization */
@@ -443,6 +459,7 @@ static void __init zylonite_init(void)
        zylonite_init_keypad();
        zylonite_init_nand();
        zylonite_init_leds();
+       zylonite_init_ohci();
 }
 
 MACHINE_START(ZYLONITE, "PXA3xx Platform Development Kit (aka Zylonite)")
index 1f4d7c052c22e7c4b6836d8e1b2c423bc0ed15d6..46538885a58aad46e5a2d0543d582971eee89cf1 100644 (file)
@@ -119,6 +119,10 @@ static mfp_cfg_t common_mfp_cfg[] __initdata = {
        GPIO13_MMC2_CLK,
        GPIO14_MMC2_CMD,
 
+       /* USB Host */
+       GPIO0_2_USBH_PEN,
+       GPIO1_2_USBH_PWR,
+
        /* Standard I2C */
        GPIO21_I2C_SCL,
        GPIO22_I2C_SDA,
index 755e87fa8ab944841fa6984e8cb04cd48783afa2..0f244744daaeb3c7e776a0abb27c325f664e2ef9 100644 (file)
@@ -123,6 +123,10 @@ static mfp_cfg_t mfp_cfg[] __initdata = {
        GPIO28_MMC2_CLK,
        GPIO29_MMC2_CMD,
 
+       /* USB Host */
+       GPIO2_2_USBH_PEN,
+       GPIO3_2_USBH_PWR,
+
        /* Debug LEDs */
        GPIO1_2_GPIO | MFP_LPM_DRIVE_HIGH,
        GPIO4_2_GPIO | MFP_LPM_DRIVE_HIGH,