diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-01-03 05:30:28 -0500 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-02-11 02:40:45 -0500 |
commit | 4bd597b633ae630e09d58957bd99870eac35fcb4 (patch) | |
tree | 39b829bee667531ac41ea48d7f392ecb9258f956 /arch/arm/mach-mx3/mach-mx35_3ds.c | |
parent | cb07625d1f84fb48e6849cb530762ffcc6f8e458 (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.c | 16 |
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 | ||
123 | static 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 */ |
124 | static const struct fsl_usb2_platform_data usb_otg_pdata __initconst = { | 129 | static 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 | ||
129 | static struct mxc_usbh_platform_data otg_pdata __initdata = { | 134 | static 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 | ||
139 | static 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 */ |
135 | static const struct mxc_usbh_platform_data usb_host_pdata __initconst = { | 146 | static 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 | ||
141 | static int otg_mode_host; | 151 | static int otg_mode_host; |