diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-mx2/devices.c | 66 | ||||
-rw-r--r-- | arch/arm/mach-mx2/devices.h | 2 |
2 files changed, 68 insertions, 0 deletions
diff --git a/arch/arm/mach-mx2/devices.c b/arch/arm/mach-mx2/devices.c index 7d12c2c4108f..f81aa8a8fbb4 100644 --- a/arch/arm/mach-mx2/devices.c +++ b/arch/arm/mach-mx2/devices.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <mach/irqs.h> | 35 | #include <mach/irqs.h> |
36 | #include <mach/hardware.h> | 36 | #include <mach/hardware.h> |
37 | #include <mach/common.h> | 37 | #include <mach/common.h> |
38 | #include <mach/mmc.h> | ||
38 | 39 | ||
39 | #include "devices.h" | 40 | #include "devices.h" |
40 | 41 | ||
@@ -343,6 +344,71 @@ struct platform_device mxc_pwm_device = { | |||
343 | .resource = mxc_pwm_resources | 344 | .resource = mxc_pwm_resources |
344 | }; | 345 | }; |
345 | 346 | ||
347 | /* | ||
348 | * Resource definition for the MXC SDHC | ||
349 | */ | ||
350 | static struct resource mxc_sdhc1_resources[] = { | ||
351 | [0] = { | ||
352 | .start = SDHC1_BASE_ADDR, | ||
353 | .end = SDHC1_BASE_ADDR + SZ_4K - 1, | ||
354 | .flags = IORESOURCE_MEM, | ||
355 | }, | ||
356 | [1] = { | ||
357 | .start = MXC_INT_SDHC1, | ||
358 | .end = MXC_INT_SDHC1, | ||
359 | .flags = IORESOURCE_IRQ, | ||
360 | }, | ||
361 | [2] = { | ||
362 | .start = DMA_REQ_SDHC1, | ||
363 | .end = DMA_REQ_SDHC1, | ||
364 | .flags = IORESOURCE_DMA | ||
365 | }, | ||
366 | }; | ||
367 | |||
368 | static u64 mxc_sdhc1_dmamask = 0xffffffffUL; | ||
369 | |||
370 | struct platform_device mxc_sdhc_device0 = { | ||
371 | .name = "mxc-mmc", | ||
372 | .id = 0, | ||
373 | .dev = { | ||
374 | .dma_mask = &mxc_sdhc1_dmamask, | ||
375 | .coherent_dma_mask = 0xffffffff, | ||
376 | }, | ||
377 | .num_resources = ARRAY_SIZE(mxc_sdhc1_resources), | ||
378 | .resource = mxc_sdhc1_resources, | ||
379 | }; | ||
380 | |||
381 | static struct resource mxc_sdhc2_resources[] = { | ||
382 | [0] = { | ||
383 | .start = SDHC2_BASE_ADDR, | ||
384 | .end = SDHC2_BASE_ADDR + SZ_4K - 1, | ||
385 | .flags = IORESOURCE_MEM, | ||
386 | }, | ||
387 | [1] = { | ||
388 | .start = MXC_INT_SDHC2, | ||
389 | .end = MXC_INT_SDHC2, | ||
390 | .flags = IORESOURCE_IRQ, | ||
391 | }, | ||
392 | [2] = { | ||
393 | .start = DMA_REQ_SDHC2, | ||
394 | .end = DMA_REQ_SDHC2, | ||
395 | .flags = IORESOURCE_DMA | ||
396 | }, | ||
397 | }; | ||
398 | |||
399 | static u64 mxc_sdhc2_dmamask = 0xffffffffUL; | ||
400 | |||
401 | struct platform_device mxc_sdhc_device1 = { | ||
402 | .name = "mxc-mmc", | ||
403 | .id = 1, | ||
404 | .dev = { | ||
405 | .dma_mask = &mxc_sdhc2_dmamask, | ||
406 | .coherent_dma_mask = 0xffffffff, | ||
407 | }, | ||
408 | .num_resources = ARRAY_SIZE(mxc_sdhc2_resources), | ||
409 | .resource = mxc_sdhc2_resources, | ||
410 | }; | ||
411 | |||
346 | /* GPIO port description */ | 412 | /* GPIO port description */ |
347 | static struct mxc_gpio_port imx_gpio_ports[] = { | 413 | static struct mxc_gpio_port imx_gpio_ports[] = { |
348 | [0] = { | 414 | [0] = { |
diff --git a/arch/arm/mach-mx2/devices.h b/arch/arm/mach-mx2/devices.h index 271ab1e69826..049005bb6aa9 100644 --- a/arch/arm/mach-mx2/devices.h +++ b/arch/arm/mach-mx2/devices.h | |||
@@ -18,3 +18,5 @@ extern struct platform_device mxc_fec_device; | |||
18 | extern struct platform_device mxc_pwm_device; | 18 | extern struct platform_device mxc_pwm_device; |
19 | extern struct platform_device mxc_i2c_device0; | 19 | extern struct platform_device mxc_i2c_device0; |
20 | extern struct platform_device mxc_i2c_device1; | 20 | extern struct platform_device mxc_i2c_device1; |
21 | extern struct platform_device mxc_sdhc_device0; | ||
22 | extern struct platform_device mxc_sdhc_device1; | ||