ARM i.MX ehci: do ehci init in board specific functions
[pandora-kernel.git] / arch / arm / mach-imx / mach-cpuimx27.c
index 6cf04da..6b724c2 100644 (file)
@@ -210,14 +210,24 @@ static struct platform_device serial_device = {
 #endif
 
 #if defined(CONFIG_USB_ULPI)
+static int eukrea_cpuimx27_otg_init(struct platform_device *pdev)
+{
+       return mx27_initialize_usb_hw(pdev->id, MXC_EHCI_INTERFACE_DIFF_UNI);
+}
+
 static struct mxc_usbh_platform_data otg_pdata __initdata = {
+       .init   = eukrea_cpuimx27_otg_init,
        .portsc = MXC_EHCI_MODE_ULPI,
-       .flags  = MXC_EHCI_INTERFACE_DIFF_UNI,
 };
 
+static int eukrea_cpuimx27_usbh2_init(struct platform_device *pdev)
+{
+       return mx27_initialize_usb_hw(pdev->id, MXC_EHCI_INTERFACE_DIFF_UNI);
+}
+
 static struct mxc_usbh_platform_data usbh2_pdata __initdata = {
+       .init   = eukrea_cpuimx27_usbh2_init,
        .portsc = MXC_EHCI_MODE_ULPI,
-       .flags  = MXC_EHCI_INTERFACE_DIFF_UNI,
 };
 #endif
 
@@ -304,9 +314,10 @@ static struct sys_timer eukrea_cpuimx27_timer = {
 };
 
 MACHINE_START(CPUIMX27, "EUKREA CPUIMX27")
-       .boot_params    = MX27_PHYS_OFFSET + 0x100,
-       .map_io         = mx27_map_io,
-       .init_irq       = mx27_init_irq,
-       .init_machine   = eukrea_cpuimx27_init,
-       .timer          = &eukrea_cpuimx27_timer,
+       .boot_params = MX27_PHYS_OFFSET + 0x100,
+       .map_io = mx27_map_io,
+       .init_early = imx27_init_early,
+       .init_irq = mx27_init_irq,
+       .timer = &eukrea_cpuimx27_timer,
+       .init_machine = eukrea_cpuimx27_init,
 MACHINE_END