diff options
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/mach-cpuimx27.c | 14 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-eukrea_cpuimx25.c | 16 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-imx27_visstrim_m10.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx25_3ds.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-mx27_3ds.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-pca100.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-pcm038.c | 8 |
7 files changed, 56 insertions, 14 deletions
diff --git a/arch/arm/mach-imx/mach-cpuimx27.c b/arch/arm/mach-imx/mach-cpuimx27.c index cabb800adbb6..6b724c2ed0a7 100644 --- a/arch/arm/mach-imx/mach-cpuimx27.c +++ b/arch/arm/mach-imx/mach-cpuimx27.c | |||
@@ -210,14 +210,24 @@ static struct platform_device serial_device = { | |||
210 | #endif | 210 | #endif |
211 | 211 | ||
212 | #if defined(CONFIG_USB_ULPI) | 212 | #if defined(CONFIG_USB_ULPI) |
213 | static int eukrea_cpuimx27_otg_init(struct platform_device *pdev) | ||
214 | { | ||
215 | return mx27_initialize_usb_hw(pdev->id, MXC_EHCI_INTERFACE_DIFF_UNI); | ||
216 | } | ||
217 | |||
213 | static struct mxc_usbh_platform_data otg_pdata __initdata = { | 218 | static struct mxc_usbh_platform_data otg_pdata __initdata = { |
219 | .init = eukrea_cpuimx27_otg_init, | ||
214 | .portsc = MXC_EHCI_MODE_ULPI, | 220 | .portsc = MXC_EHCI_MODE_ULPI, |
215 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, | ||
216 | }; | 221 | }; |
217 | 222 | ||
223 | static int eukrea_cpuimx27_usbh2_init(struct platform_device *pdev) | ||
224 | { | ||
225 | return mx27_initialize_usb_hw(pdev->id, MXC_EHCI_INTERFACE_DIFF_UNI); | ||
226 | } | ||
227 | |||
218 | static struct mxc_usbh_platform_data usbh2_pdata __initdata = { | 228 | static struct mxc_usbh_platform_data usbh2_pdata __initdata = { |
229 | .init = eukrea_cpuimx27_usbh2_init, | ||
219 | .portsc = MXC_EHCI_MODE_ULPI, | 230 | .portsc = MXC_EHCI_MODE_ULPI, |
220 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, | ||
221 | }; | 231 | }; |
222 | #endif | 232 | #endif |
223 | 233 | ||
diff --git a/arch/arm/mach-imx/mach-eukrea_cpuimx25.c b/arch/arm/mach-imx/mach-eukrea_cpuimx25.c index 439167dbe8f6..9da8d18eeb00 100644 --- a/arch/arm/mach-imx/mach-eukrea_cpuimx25.c +++ b/arch/arm/mach-imx/mach-eukrea_cpuimx25.c | |||
@@ -84,15 +84,25 @@ static struct i2c_board_info eukrea_cpuimx25_i2c_devices[] = { | |||
84 | }, | 84 | }, |
85 | }; | 85 | }; |
86 | 86 | ||
87 | static int eukrea_cpuimx25_otg_init(struct platform_device *pdev) | ||
88 | { | ||
89 | return mx25_initialize_usb_hw(pdev->id, MXC_EHCI_INTERFACE_DIFF_UNI); | ||
90 | } | ||
91 | |||
87 | static const struct mxc_usbh_platform_data otg_pdata __initconst = { | 92 | static const struct mxc_usbh_platform_data otg_pdata __initconst = { |
93 | .init = eukrea_cpuimx25_otg_init, | ||
88 | .portsc = MXC_EHCI_MODE_UTMI, | 94 | .portsc = MXC_EHCI_MODE_UTMI, |
89 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, | ||
90 | }; | 95 | }; |
91 | 96 | ||
97 | static int eukrea_cpuimx25_usbh2_init(struct platform_device *pdev) | ||
98 | { | ||
99 | return mx25_initialize_usb_hw(pdev->id, MXC_EHCI_INTERFACE_SINGLE_UNI | | ||
100 | MXC_EHCI_INTERNAL_PHY | MXC_EHCI_IPPUE_DOWN); | ||
101 | } | ||
102 | |||
92 | static const struct mxc_usbh_platform_data usbh2_pdata __initconst = { | 103 | static const struct mxc_usbh_platform_data usbh2_pdata __initconst = { |
104 | .init = eukrea_cpuimx25_usbh2_init, | ||
93 | .portsc = MXC_EHCI_MODE_SERIAL, | 105 | .portsc = MXC_EHCI_MODE_SERIAL, |
94 | .flags = MXC_EHCI_INTERFACE_SINGLE_UNI | MXC_EHCI_INTERNAL_PHY | | ||
95 | MXC_EHCI_IPPUE_DOWN, | ||
96 | }; | 106 | }; |
97 | 107 | ||
98 | static const struct fsl_usb2_platform_data otg_device_pdata __initconst = { | 108 | static const struct fsl_usb2_platform_data otg_device_pdata __initconst = { |
diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c index 494723bf7ea7..ffff2d03f782 100644 --- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c +++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <linux/gpio_keys.h> | 30 | #include <linux/gpio_keys.h> |
31 | #include <linux/input.h> | 31 | #include <linux/input.h> |
32 | #include <linux/gpio.h> | 32 | #include <linux/gpio.h> |
33 | #include <linux/delay.h> | ||
33 | #include <asm/mach-types.h> | 34 | #include <asm/mach-types.h> |
34 | #include <asm/mach/arch.h> | 35 | #include <asm/mach/arch.h> |
35 | #include <asm/mach/time.h> | 36 | #include <asm/mach/time.h> |
@@ -210,14 +211,16 @@ static struct i2c_board_info visstrim_m10_i2c_devices[] = { | |||
210 | static int otg_phy_init(struct platform_device *pdev) | 211 | static int otg_phy_init(struct platform_device *pdev) |
211 | { | 212 | { |
212 | gpio_set_value(OTG_PHY_CS_GPIO, 0); | 213 | gpio_set_value(OTG_PHY_CS_GPIO, 0); |
213 | return 0; | 214 | |
215 | mdelay(10); | ||
216 | |||
217 | return mx27_initialize_usb_hw(pdev->id, MXC_EHCI_POWER_PINS_ENABLED); | ||
214 | } | 218 | } |
215 | 219 | ||
216 | static const struct mxc_usbh_platform_data | 220 | static const struct mxc_usbh_platform_data |
217 | visstrim_m10_usbotg_pdata __initconst = { | 221 | visstrim_m10_usbotg_pdata __initconst = { |
218 | .init = otg_phy_init, | 222 | .init = otg_phy_init, |
219 | .portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT, | 223 | .portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT, |
220 | .flags = MXC_EHCI_POWER_PINS_ENABLED, | ||
221 | }; | 224 | }; |
222 | 225 | ||
223 | static void __init visstrim_m10_board_init(void) | 226 | static void __init visstrim_m10_board_init(void) |
diff --git a/arch/arm/mach-imx/mach-mx25_3ds.c b/arch/arm/mach-imx/mach-mx25_3ds.c index cd18a0c91b83..aafc6f7f1816 100644 --- a/arch/arm/mach-imx/mach-mx25_3ds.c +++ b/arch/arm/mach-imx/mach-mx25_3ds.c | |||
@@ -185,9 +185,14 @@ static const struct matrix_keymap_data mx25pdk_keymap_data __initconst = { | |||
185 | .keymap_size = ARRAY_SIZE(mx25pdk_keymap), | 185 | .keymap_size = ARRAY_SIZE(mx25pdk_keymap), |
186 | }; | 186 | }; |
187 | 187 | ||
188 | static int mx25pdk_usbh2_init(struct platform_device *pdev) | ||
189 | { | ||
190 | return mx25_initialize_usb_hw(pdev->id, MXC_EHCI_INTERNAL_PHY); | ||
191 | } | ||
192 | |||
188 | static const struct mxc_usbh_platform_data usbh2_pdata __initconst = { | 193 | static const struct mxc_usbh_platform_data usbh2_pdata __initconst = { |
194 | .init = mx25pdk_usbh2_init, | ||
189 | .portsc = MXC_EHCI_MODE_SERIAL, | 195 | .portsc = MXC_EHCI_MODE_SERIAL, |
190 | .flags = MXC_EHCI_INTERNAL_PHY, | ||
191 | }; | 196 | }; |
192 | 197 | ||
193 | static const struct fsl_usb2_platform_data otg_device_pdata __initconst = { | 198 | static const struct fsl_usb2_platform_data otg_device_pdata __initconst = { |
diff --git a/arch/arm/mach-imx/mach-mx27_3ds.c b/arch/arm/mach-imx/mach-mx27_3ds.c index 4e0e225ca4a2..ba88417345ab 100644 --- a/arch/arm/mach-imx/mach-mx27_3ds.c +++ b/arch/arm/mach-imx/mach-mx27_3ds.c | |||
@@ -160,10 +160,14 @@ static int otg_phy_init(void) | |||
160 | } | 160 | } |
161 | 161 | ||
162 | #if defined(CONFIG_USB_ULPI) | 162 | #if defined(CONFIG_USB_ULPI) |
163 | static int mx27_3ds_otg_init(struct platform_device *pdev) | ||
164 | { | ||
165 | return mx27_initialize_usb_hw(pdev->id, MXC_EHCI_INTERFACE_DIFF_UNI); | ||
166 | } | ||
163 | 167 | ||
164 | static struct mxc_usbh_platform_data otg_pdata __initdata = { | 168 | static struct mxc_usbh_platform_data otg_pdata __initdata = { |
169 | .init = mx27_3ds_otg_init, | ||
165 | .portsc = MXC_EHCI_MODE_ULPI, | 170 | .portsc = MXC_EHCI_MODE_ULPI, |
166 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, | ||
167 | }; | 171 | }; |
168 | #endif | 172 | #endif |
169 | 173 | ||
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 = { | |||
271 | static int otg_phy_init(struct platform_device *pdev) | 271 | static 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 | ||
277 | static struct mxc_usbh_platform_data otg_pdata __initdata = { | 280 | static 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 | ||
283 | static int usbh2_phy_init(struct platform_device *pdev) | 285 | static 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 | ||
289 | static struct mxc_usbh_platform_data usbh2_pdata __initdata = { | 294 | static 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 | ||
diff --git a/arch/arm/mach-imx/mach-pcm038.c b/arch/arm/mach-imx/mach-pcm038.c index 9656ef38ca96..38c77084b615 100644 --- a/arch/arm/mach-imx/mach-pcm038.c +++ b/arch/arm/mach-imx/mach-pcm038.c | |||
@@ -281,9 +281,15 @@ static struct spi_board_info pcm038_spi_board_info[] __initdata = { | |||
281 | } | 281 | } |
282 | }; | 282 | }; |
283 | 283 | ||
284 | static int pcm038_usbh2_init(struct platform_device *pdev) | ||
285 | { | ||
286 | return mx27_initialize_usb_hw(pdev->id, MXC_EHCI_POWER_PINS_ENABLED | | ||
287 | MXC_EHCI_INTERFACE_DIFF_UNI); | ||
288 | } | ||
289 | |||
284 | static const struct mxc_usbh_platform_data usbh2_pdata __initconst = { | 290 | static const struct mxc_usbh_platform_data usbh2_pdata __initconst = { |
291 | .init = pcm038_usbh2_init, | ||
285 | .portsc = MXC_EHCI_MODE_ULPI, | 292 | .portsc = MXC_EHCI_MODE_ULPI, |
286 | .flags = MXC_EHCI_POWER_PINS_ENABLED | MXC_EHCI_INTERFACE_DIFF_UNI, | ||
287 | }; | 293 | }; |
288 | 294 | ||
289 | static void __init pcm038_init(void) | 295 | static void __init pcm038_init(void) |