aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mx3/mach-mx35_3ds.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-mx35_3ds.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-mx35_3ds.c')
-rw-r--r--arch/arm/mach-mx3/mach-mx35_3ds.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/arch/arm/mach-mx3/mach-mx35_3ds.c b/arch/arm/mach-mx3/mach-mx35_3ds.c
index c5115dc5c0c5..dac1896a5b21 100644
--- a/arch/arm/mach-mx3/mach-mx35_3ds.c
+++ b/arch/arm/mach-mx3/mach-mx35_3ds.c
@@ -120,6 +120,11 @@ static iomux_v3_cfg_t mx35pdk_pads[] = {
120 MX35_PAD_SD1_DATA3__ESDHC1_DAT3, 120 MX35_PAD_SD1_DATA3__ESDHC1_DAT3,
121}; 121};
122 122
123static int mx35_3ds_otg_init(struct platform_device *pdev)
124{
125 return mx35_initialize_usb_hw(pdev->id, MXC_EHCI_INTERNAL_PHY);
126}
127
123/* OTG config */ 128/* OTG config */
124static const struct fsl_usb2_platform_data usb_otg_pdata __initconst = { 129static const struct fsl_usb2_platform_data usb_otg_pdata __initconst = {
125 .operating_mode = FSL_USB2_DR_DEVICE, 130 .operating_mode = FSL_USB2_DR_DEVICE,
@@ -127,15 +132,20 @@ static const struct fsl_usb2_platform_data usb_otg_pdata __initconst = {
127}; 132};
128 133
129static struct mxc_usbh_platform_data otg_pdata __initdata = { 134static struct mxc_usbh_platform_data otg_pdata __initdata = {
135 .init = mx35_3ds_otg_init,
130 .portsc = MXC_EHCI_MODE_UTMI, 136 .portsc = MXC_EHCI_MODE_UTMI,
131 .flags = MXC_EHCI_INTERNAL_PHY,
132}; 137};
133 138
139static int mx35_3ds_usbh_init(struct platform_device *pdev)
140{
141 return mx35_initialize_usb_hw(pdev->id, MXC_EHCI_INTERFACE_SINGLE_UNI |
142 MXC_EHCI_INTERNAL_PHY);
143}
144
134/* USB HOST config */ 145/* USB HOST config */
135static const struct mxc_usbh_platform_data usb_host_pdata __initconst = { 146static const struct mxc_usbh_platform_data usb_host_pdata __initconst = {
147 .init = mx35_3ds_usbh_init,
136 .portsc = MXC_EHCI_MODE_SERIAL, 148 .portsc = MXC_EHCI_MODE_SERIAL,
137 .flags = MXC_EHCI_INTERFACE_SINGLE_UNI |
138 MXC_EHCI_INTERNAL_PHY,
139}; 149};
140 150
141static int otg_mode_host; 151static int otg_mode_host;