aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/mach-pca100.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-imx/mach-pca100.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-imx/mach-pca100.c')
-rw-r--r--arch/arm/mach-imx/mach-pca100.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/arm/mach-imx/mach-pca100.c b/arch/arm/mach-imx/mach-pca100.c
index 3514178caeda..f754bab040b6 100644
--- a/arch/arm/mach-imx/mach-pca100.c
+++ b/arch/arm/mach-imx/mach-pca100.c
@@ -271,25 +271,29 @@ static const struct imxmmc_platform_data sdhc_pdata __initconst = {
271static int otg_phy_init(struct platform_device *pdev) 271static int otg_phy_init(struct platform_device *pdev)
272{ 272{
273 gpio_set_value(OTG_PHY_CS_GPIO, 0); 273 gpio_set_value(OTG_PHY_CS_GPIO, 0);
274 return 0; 274
275 mdelay(10);
276
277 return mx27_initialize_usb_hw(pdev->id, MXC_EHCI_INTERFACE_DIFF_UNI);
275} 278}
276 279
277static struct mxc_usbh_platform_data otg_pdata __initdata = { 280static struct mxc_usbh_platform_data otg_pdata __initdata = {
278 .init = otg_phy_init, 281 .init = otg_phy_init,
279 .portsc = MXC_EHCI_MODE_ULPI, 282 .portsc = MXC_EHCI_MODE_ULPI,
280 .flags = MXC_EHCI_INTERFACE_DIFF_UNI,
281}; 283};
282 284
283static int usbh2_phy_init(struct platform_device *pdev) 285static int usbh2_phy_init(struct platform_device *pdev)
284{ 286{
285 gpio_set_value(USBH2_PHY_CS_GPIO, 0); 287 gpio_set_value(USBH2_PHY_CS_GPIO, 0);
286 return 0; 288
289 mdelay(10);
290
291 return mx27_initialize_usb_hw(pdev->id, MXC_EHCI_INTERFACE_DIFF_UNI);
287} 292}
288 293
289static struct mxc_usbh_platform_data usbh2_pdata __initdata = { 294static struct mxc_usbh_platform_data usbh2_pdata __initdata = {
290 .init = usbh2_phy_init, 295 .init = usbh2_phy_init,
291 .portsc = MXC_EHCI_MODE_ULPI, 296 .portsc = MXC_EHCI_MODE_ULPI,
292 .flags = MXC_EHCI_INTERFACE_DIFF_UNI,
293}; 297};
294#endif 298#endif
295 299