aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mx3/mach-armadillo5x0.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-01-03 05:30:28 -0500
committerSascha Hauer <s.hauer@pengutronix.de>2011-02-11 02:40:45 -0500
commit4bd597b633ae630e09d58957bd99870eac35fcb4 (patch)
tree39b829bee667531ac41ea48d7f392ecb9258f956 /arch/arm/mach-mx3/mach-armadillo5x0.c
parentcb07625d1f84fb48e6849cb530762ffcc6f8e458 (diff)
ARM i.MX ehci: do ehci init in board specific functions
The mxc-ehci driver calls SoC specific phy initialization right after calling board specific initialization. To offer greater flexibility for boards to setup the phy and to get rid of some unnecessary flags in platform data this patch lets the boards call the SoC specific phy initialization and remove it from the driver. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-mx3/mach-armadillo5x0.c')
-rw-r--r--arch/arm/mach-mx3/mach-armadillo5x0.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/mach-mx3/mach-armadillo5x0.c b/arch/arm/mach-mx3/mach-armadillo5x0.c
index 835e2a082b41..34e619e811e6 100644
--- a/arch/arm/mach-mx3/mach-armadillo5x0.c
+++ b/arch/arm/mach-mx3/mach-armadillo5x0.c
@@ -176,8 +176,10 @@ static int usbotg_init(struct platform_device *pdev)
176 gpio_set_value(OTG_RESET, 0/*LOW*/); 176 gpio_set_value(OTG_RESET, 0/*LOW*/);
177 mdelay(5); 177 mdelay(5);
178 gpio_set_value(OTG_RESET, 1/*HIGH*/); 178 gpio_set_value(OTG_RESET, 1/*HIGH*/);
179 mdelay(10);
179 180
180 return 0; 181 return mx31_initialize_usb_hw(pdev->id, MXC_EHCI_POWER_PINS_ENABLED |
182 MXC_EHCI_INTERFACE_DIFF_UNI);
181 183
182otg_free_reset: 184otg_free_reset:
183 gpio_free(OTG_RESET); 185 gpio_free(OTG_RESET);
@@ -233,8 +235,10 @@ static int usbh2_init(struct platform_device *pdev)
233 gpio_set_value(USBH2_RESET, 0/*LOW*/); 235 gpio_set_value(USBH2_RESET, 0/*LOW*/);
234 mdelay(5); 236 mdelay(5);
235 gpio_set_value(USBH2_RESET, 1/*HIGH*/); 237 gpio_set_value(USBH2_RESET, 1/*HIGH*/);
238 mdelay(10);
236 239
237 return 0; 240 return mx31_initialize_usb_hw(pdev->id, MXC_EHCI_POWER_PINS_ENABLED |
241 MXC_EHCI_INTERFACE_DIFF_UNI);
238 242
239h2_free_reset: 243h2_free_reset:
240 gpio_free(USBH2_RESET); 244 gpio_free(USBH2_RESET);
@@ -246,13 +250,11 @@ h2_free_cs:
246static struct mxc_usbh_platform_data usbotg_pdata __initdata = { 250static struct mxc_usbh_platform_data usbotg_pdata __initdata = {
247 .init = usbotg_init, 251 .init = usbotg_init,
248 .portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT, 252 .portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT,
249 .flags = MXC_EHCI_POWER_PINS_ENABLED | MXC_EHCI_INTERFACE_DIFF_UNI,
250}; 253};
251 254
252static struct mxc_usbh_platform_data usbh2_pdata __initdata = { 255static struct mxc_usbh_platform_data usbh2_pdata __initdata = {
253 .init = usbh2_init, 256 .init = usbh2_init,
254 .portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT, 257 .portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT,
255 .flags = MXC_EHCI_POWER_PINS_ENABLED | MXC_EHCI_INTERFACE_DIFF_UNI,
256}; 258};
257#endif /* CONFIG_USB_ULPI */ 259#endif /* CONFIG_USB_ULPI */
258 260