diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-11-05 13:52:09 -0400 |
---|---|---|
committer | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-11-17 04:01:31 -0500 |
commit | 2eb42d5c287f5e883a4b3ebe668ba880caa351e5 (patch) | |
tree | 05bba579ebdc9d945658f76f0b6476a65b69b3c3 /arch/arm/mach-imx | |
parent | 9d3d945a8d5be2c915f646e8dff8422486a77030 (diff) |
ARM: imx: dynamically allocate mxc-ehci devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/Kconfig | 4 | ||||
-rw-r--r-- | arch/arm/mach-imx/devices-imx27.h | 7 | ||||
-rw-r--r-- | arch/arm/mach-imx/devices.c | 73 | ||||
-rw-r--r-- | arch/arm/mach-imx/devices.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-cpuimx27.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-imx27_visstrim_m10.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-pca100.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-pcm038.c | 5 |
8 files changed, 28 insertions, 88 deletions
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 8e9297b84830..025e96925561 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
@@ -102,6 +102,7 @@ config MACH_PCM038 | |||
102 | select IMX_HAVE_PLATFORM_IMX2_WDT | 102 | select IMX_HAVE_PLATFORM_IMX2_WDT |
103 | select IMX_HAVE_PLATFORM_IMX_I2C | 103 | select IMX_HAVE_PLATFORM_IMX_I2C |
104 | select IMX_HAVE_PLATFORM_IMX_UART | 104 | select IMX_HAVE_PLATFORM_IMX_UART |
105 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
105 | select IMX_HAVE_PLATFORM_MXC_NAND | 106 | select IMX_HAVE_PLATFORM_MXC_NAND |
106 | select IMX_HAVE_PLATFORM_MXC_W1 | 107 | select IMX_HAVE_PLATFORM_MXC_W1 |
107 | select IMX_HAVE_PLATFORM_SPI_IMX | 108 | select IMX_HAVE_PLATFORM_SPI_IMX |
@@ -130,6 +131,7 @@ config MACH_CPUIMX27 | |||
130 | select IMX_HAVE_PLATFORM_IMX2_WDT | 131 | select IMX_HAVE_PLATFORM_IMX2_WDT |
131 | select IMX_HAVE_PLATFORM_IMX_I2C | 132 | select IMX_HAVE_PLATFORM_IMX_I2C |
132 | select IMX_HAVE_PLATFORM_IMX_UART | 133 | select IMX_HAVE_PLATFORM_IMX_UART |
134 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
133 | select IMX_HAVE_PLATFORM_MXC_NAND | 135 | select IMX_HAVE_PLATFORM_MXC_NAND |
134 | select IMX_HAVE_PLATFORM_MXC_W1 | 136 | select IMX_HAVE_PLATFORM_MXC_W1 |
135 | select MXC_ULPI if USB_ULPI | 137 | select MXC_ULPI if USB_ULPI |
@@ -183,6 +185,7 @@ config MACH_IMX27_VISSTRIM_M10 | |||
183 | select IMX_HAVE_PLATFORM_IMX_I2C | 185 | select IMX_HAVE_PLATFORM_IMX_I2C |
184 | select IMX_HAVE_PLATFORM_IMX_UART | 186 | select IMX_HAVE_PLATFORM_IMX_UART |
185 | select IMX_HAVE_PLATFORM_MXC_MMC | 187 | select IMX_HAVE_PLATFORM_MXC_MMC |
188 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
186 | help | 189 | help |
187 | Include support for Visstrim_m10 platform and its different variants. | 190 | Include support for Visstrim_m10 platform and its different variants. |
188 | This includes specific configurations for the board and its | 191 | This includes specific configurations for the board and its |
@@ -202,6 +205,7 @@ config MACH_PCA100 | |||
202 | select IMX_HAVE_PLATFORM_IMX_I2C | 205 | select IMX_HAVE_PLATFORM_IMX_I2C |
203 | select IMX_HAVE_PLATFORM_IMX_SSI | 206 | select IMX_HAVE_PLATFORM_IMX_SSI |
204 | select IMX_HAVE_PLATFORM_IMX_UART | 207 | select IMX_HAVE_PLATFORM_IMX_UART |
208 | select IMX_HAVE_PLATFORM_MXC_EHCI | ||
205 | select IMX_HAVE_PLATFORM_MXC_MMC | 209 | select IMX_HAVE_PLATFORM_MXC_MMC |
206 | select IMX_HAVE_PLATFORM_MXC_NAND | 210 | select IMX_HAVE_PLATFORM_MXC_NAND |
207 | select IMX_HAVE_PLATFORM_MXC_W1 | 211 | select IMX_HAVE_PLATFORM_MXC_W1 |
diff --git a/arch/arm/mach-imx/devices-imx27.h b/arch/arm/mach-imx/devices-imx27.h index 646674485a0d..51b91553c590 100644 --- a/arch/arm/mach-imx/devices-imx27.h +++ b/arch/arm/mach-imx/devices-imx27.h | |||
@@ -43,6 +43,13 @@ extern const struct imx_mx2_camera_data imx27_mx2_camera_data __initconst; | |||
43 | #define imx27_add_mx2_camera(pdata) \ | 43 | #define imx27_add_mx2_camera(pdata) \ |
44 | imx_add_mx2_camera(&imx27_mx2_camera_data, pdata) | 44 | imx_add_mx2_camera(&imx27_mx2_camera_data, pdata) |
45 | 45 | ||
46 | extern const struct imx_mxc_ehci_data imx27_mxc_ehci_otg_data __initconst; | ||
47 | #define imx27_add_mxc_ehci_otg(pdata) \ | ||
48 | imx_add_mxc_ehci(&imx27_mxc_ehci_otg_data, pdata) | ||
49 | extern const struct imx_mxc_ehci_data imx27_mxc_ehci_hs_data[] __initconst; | ||
50 | #define imx27_add_mxc_ehci_hs(id, pdata) \ | ||
51 | imx_add_mxc_ehci(&imx27_mxc_ehci_hs_data[id - 1], pdata) | ||
52 | |||
46 | extern const struct imx_mxc_mmc_data imx27_mxc_mmc_data[] __initconst; | 53 | extern const struct imx_mxc_mmc_data imx27_mxc_mmc_data[] __initconst; |
47 | #define imx27_add_mxc_mmc(id, pdata) \ | 54 | #define imx27_add_mxc_mmc(id, pdata) \ |
48 | imx_add_mxc_mmc(&imx27_mxc_mmc_data[id], pdata) | 55 | imx_add_mxc_mmc(&imx27_mxc_mmc_data[id], pdata) |
diff --git a/arch/arm/mach-imx/devices.c b/arch/arm/mach-imx/devices.c index 7609e8a8f13c..2a6d70720e99 100644 --- a/arch/arm/mach-imx/devices.c +++ b/arch/arm/mach-imx/devices.c | |||
@@ -79,12 +79,12 @@ int __init imx1_register_gpios(void) | |||
79 | #ifdef CONFIG_MACH_MX27 | 79 | #ifdef CONFIG_MACH_MX27 |
80 | static struct resource otg_resources[] = { | 80 | static struct resource otg_resources[] = { |
81 | { | 81 | { |
82 | .start = MX27_USBOTG_BASE_ADDR, | 82 | .start = MX27_USB_OTG_BASE_ADDR, |
83 | .end = MX27_USBOTG_BASE_ADDR + 0x1ff, | 83 | .end = MX27_USB_OTG_BASE_ADDR + 0x1ff, |
84 | .flags = IORESOURCE_MEM, | 84 | .flags = IORESOURCE_MEM, |
85 | }, { | 85 | }, { |
86 | .start = MX27_INT_USB3, | 86 | .start = MX27_INT_USB_OTG, |
87 | .end = MX27_INT_USB3, | 87 | .end = MX27_INT_USB_OTG, |
88 | .flags = IORESOURCE_IRQ, | 88 | .flags = IORESOURCE_IRQ, |
89 | }, | 89 | }, |
90 | }; | 90 | }; |
@@ -102,71 +102,6 @@ struct platform_device mxc_otg_udc_device = { | |||
102 | .resource = otg_resources, | 102 | .resource = otg_resources, |
103 | .num_resources = ARRAY_SIZE(otg_resources), | 103 | .num_resources = ARRAY_SIZE(otg_resources), |
104 | }; | 104 | }; |
105 | |||
106 | /* OTG host */ | ||
107 | struct platform_device mxc_otg_host = { | ||
108 | .name = "mxc-ehci", | ||
109 | .id = 0, | ||
110 | .dev = { | ||
111 | .coherent_dma_mask = DMA_BIT_MASK(32), | ||
112 | .dma_mask = &otg_dmamask, | ||
113 | }, | ||
114 | .resource = otg_resources, | ||
115 | .num_resources = ARRAY_SIZE(otg_resources), | ||
116 | }; | ||
117 | |||
118 | /* USB host 1 */ | ||
119 | |||
120 | static u64 usbh1_dmamask = DMA_BIT_MASK(32); | ||
121 | |||
122 | static struct resource mxc_usbh1_resources[] = { | ||
123 | { | ||
124 | .start = MX27_USBOTG_BASE_ADDR + 0x200, | ||
125 | .end = MX27_USBOTG_BASE_ADDR + 0x3ff, | ||
126 | .flags = IORESOURCE_MEM, | ||
127 | }, { | ||
128 | .start = MX27_INT_USB1, | ||
129 | .end = MX27_INT_USB1, | ||
130 | .flags = IORESOURCE_IRQ, | ||
131 | }, | ||
132 | }; | ||
133 | |||
134 | struct platform_device mxc_usbh1 = { | ||
135 | .name = "mxc-ehci", | ||
136 | .id = 1, | ||
137 | .dev = { | ||
138 | .coherent_dma_mask = DMA_BIT_MASK(32), | ||
139 | .dma_mask = &usbh1_dmamask, | ||
140 | }, | ||
141 | .resource = mxc_usbh1_resources, | ||
142 | .num_resources = ARRAY_SIZE(mxc_usbh1_resources), | ||
143 | }; | ||
144 | |||
145 | /* USB host 2 */ | ||
146 | static u64 usbh2_dmamask = DMA_BIT_MASK(32); | ||
147 | |||
148 | static struct resource mxc_usbh2_resources[] = { | ||
149 | { | ||
150 | .start = MX27_USBOTG_BASE_ADDR + 0x400, | ||
151 | .end = MX27_USBOTG_BASE_ADDR + 0x5ff, | ||
152 | .flags = IORESOURCE_MEM, | ||
153 | }, { | ||
154 | .start = MX27_INT_USB2, | ||
155 | .end = MX27_INT_USB2, | ||
156 | .flags = IORESOURCE_IRQ, | ||
157 | }, | ||
158 | }; | ||
159 | |||
160 | struct platform_device mxc_usbh2 = { | ||
161 | .name = "mxc-ehci", | ||
162 | .id = 2, | ||
163 | .dev = { | ||
164 | .coherent_dma_mask = DMA_BIT_MASK(32), | ||
165 | .dma_mask = &usbh2_dmamask, | ||
166 | }, | ||
167 | .resource = mxc_usbh2_resources, | ||
168 | .num_resources = ARRAY_SIZE(mxc_usbh2_resources), | ||
169 | }; | ||
170 | #endif | 105 | #endif |
171 | 106 | ||
172 | #if defined(CONFIG_MACH_MX21) || defined(CONFIG_MACH_MX27) | 107 | #if defined(CONFIG_MACH_MX21) || defined(CONFIG_MACH_MX27) |
diff --git a/arch/arm/mach-imx/devices.h b/arch/arm/mach-imx/devices.h index a45d760f3c77..7a00bba3688e 100644 --- a/arch/arm/mach-imx/devices.h +++ b/arch/arm/mach-imx/devices.h | |||
@@ -1,8 +1,5 @@ | |||
1 | #if defined(CONFIG_MACH_MX21) || defined(CONFIG_MACH_MX27) | 1 | #if defined(CONFIG_MACH_MX21) || defined(CONFIG_MACH_MX27) |
2 | extern struct platform_device mxc_otg_udc_device; | 2 | extern struct platform_device mxc_otg_udc_device; |
3 | extern struct platform_device mxc_otg_host; | ||
4 | extern struct platform_device mxc_usbh1; | ||
5 | extern struct platform_device mxc_usbh2; | ||
6 | extern struct platform_device mx21_usbhc_device; | 3 | extern struct platform_device mx21_usbhc_device; |
7 | extern struct platform_device imx_kpp_device; | 4 | extern struct platform_device imx_kpp_device; |
8 | #endif | 5 | #endif |
diff --git a/arch/arm/mach-imx/mach-cpuimx27.c b/arch/arm/mach-imx/mach-cpuimx27.c index 06ff79a60901..c70b0382363e 100644 --- a/arch/arm/mach-imx/mach-cpuimx27.c +++ b/arch/arm/mach-imx/mach-cpuimx27.c | |||
@@ -40,7 +40,6 @@ | |||
40 | #include <mach/hardware.h> | 40 | #include <mach/hardware.h> |
41 | #include <mach/iomux-mx27.h> | 41 | #include <mach/iomux-mx27.h> |
42 | #include <mach/mxc_nand.h> | 42 | #include <mach/mxc_nand.h> |
43 | #include <mach/mxc_ehci.h> | ||
44 | #include <mach/ulpi.h> | 43 | #include <mach/ulpi.h> |
45 | 44 | ||
46 | #include "devices-imx27.h" | 45 | #include "devices-imx27.h" |
@@ -213,12 +212,12 @@ static struct platform_device serial_device = { | |||
213 | #endif | 212 | #endif |
214 | 213 | ||
215 | #if defined(CONFIG_USB_ULPI) | 214 | #if defined(CONFIG_USB_ULPI) |
216 | static struct mxc_usbh_platform_data otg_pdata = { | 215 | static struct mxc_usbh_platform_data otg_pdata __initdata = { |
217 | .portsc = MXC_EHCI_MODE_ULPI, | 216 | .portsc = MXC_EHCI_MODE_ULPI, |
218 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, | 217 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, |
219 | }; | 218 | }; |
220 | 219 | ||
221 | static struct mxc_usbh_platform_data usbh2_pdata = { | 220 | static struct mxc_usbh_platform_data usbh2_pdata __initdata = { |
222 | .portsc = MXC_EHCI_MODE_ULPI, | 221 | .portsc = MXC_EHCI_MODE_ULPI, |
223 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, | 222 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, |
224 | }; | 223 | }; |
@@ -281,13 +280,13 @@ static void __init eukrea_cpuimx27_init(void) | |||
281 | otg_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, | 280 | otg_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, |
282 | ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT); | 281 | ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT); |
283 | 282 | ||
284 | mxc_register_device(&mxc_otg_host, &otg_pdata); | 283 | imx27_add_mxc_ehci_otg(&otg_pdata); |
285 | } | 284 | } |
286 | 285 | ||
287 | usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, | 286 | usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, |
288 | ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT); | 287 | ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT); |
289 | 288 | ||
290 | mxc_register_device(&mxc_usbh2, &usbh2_pdata); | 289 | imx27_add_mxc_ehci_hs(2, &usbh2_pdata); |
291 | #endif | 290 | #endif |
292 | if (!otg_mode_host) | 291 | if (!otg_mode_host) |
293 | mxc_register_device(&mxc_otg_udc_device, &otg_device_pdata); | 292 | mxc_register_device(&mxc_otg_udc_device, &otg_device_pdata); |
diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c index deef1fa1138e..c9f12e44a2ab 100644 --- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c +++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c | |||
@@ -35,7 +35,6 @@ | |||
35 | #include <asm/mach/time.h> | 35 | #include <asm/mach/time.h> |
36 | #include <mach/common.h> | 36 | #include <mach/common.h> |
37 | #include <mach/iomux.h> | 37 | #include <mach/iomux.h> |
38 | #include <mach/mxc_ehci.h> | ||
39 | 38 | ||
40 | #include "devices-imx27.h" | 39 | #include "devices-imx27.h" |
41 | #include "devices.h" | 40 | #include "devices.h" |
@@ -215,7 +214,8 @@ static int otg_phy_init(struct platform_device *pdev) | |||
215 | return 0; | 214 | return 0; |
216 | } | 215 | } |
217 | 216 | ||
218 | static struct mxc_usbh_platform_data visstrim_m10_usbotg_pdata = { | 217 | static const struct mxc_usbh_platform_data |
218 | visstrim_m10_usbotg_pdata __initconst = { | ||
219 | .init = otg_phy_init, | 219 | .init = otg_phy_init, |
220 | .portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT, | 220 | .portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT, |
221 | .flags = MXC_EHCI_POWER_PINS_ENABLED, | 221 | .flags = MXC_EHCI_POWER_PINS_ENABLED, |
@@ -237,7 +237,7 @@ static void __init visstrim_m10_board_init(void) | |||
237 | imx27_add_imx_i2c(0, &visstrim_m10_i2c_data); | 237 | imx27_add_imx_i2c(0, &visstrim_m10_i2c_data); |
238 | imx27_add_imx_i2c(1, &visstrim_m10_i2c_data); | 238 | imx27_add_imx_i2c(1, &visstrim_m10_i2c_data); |
239 | imx27_add_mxc_mmc(0, &visstrim_m10_sdhc_pdata); | 239 | imx27_add_mxc_mmc(0, &visstrim_m10_sdhc_pdata); |
240 | mxc_register_device(&mxc_otg_host, &visstrim_m10_usbotg_pdata); | 240 | imx27_add_mxc_ehci_otg(&visstrim_m10_usbotg_pdata); |
241 | imx27_add_fec(NULL); | 241 | imx27_add_fec(NULL); |
242 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); | 242 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); |
243 | } | 243 | } |
diff --git a/arch/arm/mach-imx/mach-pca100.c b/arch/arm/mach-imx/mach-pca100.c index b05f528bfc00..683374d94024 100644 --- a/arch/arm/mach-imx/mach-pca100.c +++ b/arch/arm/mach-imx/mach-pca100.c | |||
@@ -40,7 +40,6 @@ | |||
40 | #include <mach/audmux.h> | 40 | #include <mach/audmux.h> |
41 | #include <mach/mxc_nand.h> | 41 | #include <mach/mxc_nand.h> |
42 | #include <mach/irqs.h> | 42 | #include <mach/irqs.h> |
43 | #include <mach/mxc_ehci.h> | ||
44 | #include <mach/ulpi.h> | 43 | #include <mach/ulpi.h> |
45 | 44 | ||
46 | #include "devices-imx27.h" | 45 | #include "devices-imx27.h" |
@@ -279,7 +278,7 @@ static int otg_phy_init(struct platform_device *pdev) | |||
279 | return 0; | 278 | return 0; |
280 | } | 279 | } |
281 | 280 | ||
282 | static struct mxc_usbh_platform_data otg_pdata = { | 281 | static struct mxc_usbh_platform_data otg_pdata __initdata = { |
283 | .init = otg_phy_init, | 282 | .init = otg_phy_init, |
284 | .portsc = MXC_EHCI_MODE_ULPI, | 283 | .portsc = MXC_EHCI_MODE_ULPI, |
285 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, | 284 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, |
@@ -291,7 +290,7 @@ static int usbh2_phy_init(struct platform_device *pdev) | |||
291 | return 0; | 290 | return 0; |
292 | } | 291 | } |
293 | 292 | ||
294 | static struct mxc_usbh_platform_data usbh2_pdata = { | 293 | static struct mxc_usbh_platform_data usbh2_pdata __initdata = { |
295 | .init = usbh2_phy_init, | 294 | .init = usbh2_phy_init, |
296 | .portsc = MXC_EHCI_MODE_ULPI, | 295 | .portsc = MXC_EHCI_MODE_ULPI, |
297 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, | 296 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, |
@@ -410,13 +409,13 @@ static void __init pca100_init(void) | |||
410 | otg_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, | 409 | otg_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, |
411 | ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT); | 410 | ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT); |
412 | 411 | ||
413 | mxc_register_device(&mxc_otg_host, &otg_pdata); | 412 | imx27_add_mxc_ehci_otg(&otg_pdata); |
414 | } | 413 | } |
415 | 414 | ||
416 | usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, | 415 | usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, |
417 | ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT); | 416 | ULPI_OTG_DRVVBUS | ULPI_OTG_DRVVBUS_EXT); |
418 | 417 | ||
419 | mxc_register_device(&mxc_usbh2, &usbh2_pdata); | 418 | imx27_add_mxc_ehci_hs(2, &usbh2_pdata); |
420 | #endif | 419 | #endif |
421 | if (!otg_mode_host) { | 420 | if (!otg_mode_host) { |
422 | gpio_set_value(OTG_PHY_CS_GPIO, 0); | 421 | gpio_set_value(OTG_PHY_CS_GPIO, 0); |
diff --git a/arch/arm/mach-imx/mach-pcm038.c b/arch/arm/mach-imx/mach-pcm038.c index b3340cd8ccdd..e209b28bee4d 100644 --- a/arch/arm/mach-imx/mach-pcm038.c +++ b/arch/arm/mach-imx/mach-pcm038.c | |||
@@ -37,7 +37,6 @@ | |||
37 | #include <mach/hardware.h> | 37 | #include <mach/hardware.h> |
38 | #include <mach/iomux-mx27.h> | 38 | #include <mach/iomux-mx27.h> |
39 | #include <mach/mxc_nand.h> | 39 | #include <mach/mxc_nand.h> |
40 | #include <mach/mxc_ehci.h> | ||
41 | #include <mach/ulpi.h> | 40 | #include <mach/ulpi.h> |
42 | 41 | ||
43 | #include "devices-imx27.h" | 42 | #include "devices-imx27.h" |
@@ -283,7 +282,7 @@ static struct spi_board_info pcm038_spi_board_info[] __initdata = { | |||
283 | } | 282 | } |
284 | }; | 283 | }; |
285 | 284 | ||
286 | static struct mxc_usbh_platform_data usbh2_pdata = { | 285 | static const struct mxc_usbh_platform_data usbh2_pdata __initconst = { |
287 | .portsc = MXC_EHCI_MODE_ULPI, | 286 | .portsc = MXC_EHCI_MODE_ULPI, |
288 | .flags = MXC_EHCI_POWER_PINS_ENABLED | MXC_EHCI_INTERFACE_DIFF_UNI, | 287 | .flags = MXC_EHCI_POWER_PINS_ENABLED | MXC_EHCI_INTERFACE_DIFF_UNI, |
289 | }; | 288 | }; |
@@ -320,7 +319,7 @@ static void __init pcm038_init(void) | |||
320 | spi_register_board_info(pcm038_spi_board_info, | 319 | spi_register_board_info(pcm038_spi_board_info, |
321 | ARRAY_SIZE(pcm038_spi_board_info)); | 320 | ARRAY_SIZE(pcm038_spi_board_info)); |
322 | 321 | ||
323 | mxc_register_device(&mxc_usbh2, &usbh2_pdata); | 322 | imx27_add_mxc_ehci_hs(2, &usbh2_pdata); |
324 | 323 | ||
325 | imx27_add_fec(NULL); | 324 | imx27_add_fec(NULL); |
326 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); | 325 | platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); |