diff options
-rw-r--r-- | arch/arm/mach-mx3/devices.c | 65 | ||||
-rw-r--r-- | arch/arm/mach-mx3/devices.h | 3 |
2 files changed, 68 insertions, 0 deletions
diff --git a/arch/arm/mach-mx3/devices.c b/arch/arm/mach-mx3/devices.c index 7a5c2ef52a48..4e728a291967 100644 --- a/arch/arm/mach-mx3/devices.c +++ b/arch/arm/mach-mx3/devices.c | |||
@@ -390,6 +390,71 @@ struct platform_device mxc_otg_udc_device = { | |||
390 | .num_resources = ARRAY_SIZE(otg_resources), | 390 | .num_resources = ARRAY_SIZE(otg_resources), |
391 | }; | 391 | }; |
392 | 392 | ||
393 | /* OTG host */ | ||
394 | struct platform_device mxc_otg_host = { | ||
395 | .name = "mxc-ehci", | ||
396 | .id = 0, | ||
397 | .dev = { | ||
398 | .coherent_dma_mask = 0xffffffff, | ||
399 | .dma_mask = &otg_dmamask, | ||
400 | }, | ||
401 | .resource = otg_resources, | ||
402 | .num_resources = ARRAY_SIZE(otg_resources), | ||
403 | }; | ||
404 | |||
405 | /* USB host 1 */ | ||
406 | |||
407 | static u64 usbh1_dmamask = ~(u32)0; | ||
408 | |||
409 | static struct resource mxc_usbh1_resources[] = { | ||
410 | { | ||
411 | .start = OTG_BASE_ADDR + 0x200, | ||
412 | .end = OTG_BASE_ADDR + 0x3ff, | ||
413 | .flags = IORESOURCE_MEM, | ||
414 | }, { | ||
415 | .start = MXC_INT_USB1, | ||
416 | .end = MXC_INT_USB1, | ||
417 | .flags = IORESOURCE_IRQ, | ||
418 | }, | ||
419 | }; | ||
420 | |||
421 | struct platform_device mxc_usbh1 = { | ||
422 | .name = "mxc-ehci", | ||
423 | .id = 1, | ||
424 | .dev = { | ||
425 | .coherent_dma_mask = 0xffffffff, | ||
426 | .dma_mask = &usbh1_dmamask, | ||
427 | }, | ||
428 | .resource = mxc_usbh1_resources, | ||
429 | .num_resources = ARRAY_SIZE(mxc_usbh1_resources), | ||
430 | }; | ||
431 | |||
432 | /* USB host 2 */ | ||
433 | static u64 usbh2_dmamask = ~(u32)0; | ||
434 | |||
435 | static struct resource mxc_usbh2_resources[] = { | ||
436 | { | ||
437 | .start = OTG_BASE_ADDR + 0x400, | ||
438 | .end = OTG_BASE_ADDR + 0x5ff, | ||
439 | .flags = IORESOURCE_MEM, | ||
440 | }, { | ||
441 | .start = MXC_INT_USB2, | ||
442 | .end = MXC_INT_USB2, | ||
443 | .flags = IORESOURCE_IRQ, | ||
444 | }, | ||
445 | }; | ||
446 | |||
447 | struct platform_device mxc_usbh2 = { | ||
448 | .name = "mxc-ehci", | ||
449 | .id = 2, | ||
450 | .dev = { | ||
451 | .coherent_dma_mask = 0xffffffff, | ||
452 | .dma_mask = &usbh2_dmamask, | ||
453 | }, | ||
454 | .resource = mxc_usbh2_resources, | ||
455 | .num_resources = ARRAY_SIZE(mxc_usbh2_resources), | ||
456 | }; | ||
457 | |||
393 | #ifdef CONFIG_ARCH_MX35 | 458 | #ifdef CONFIG_ARCH_MX35 |
394 | static struct resource mxc_fec_resources[] = { | 459 | static struct resource mxc_fec_resources[] = { |
395 | { | 460 | { |
diff --git a/arch/arm/mach-mx3/devices.h b/arch/arm/mach-mx3/devices.h index ffd494ddd4ac..816143197558 100644 --- a/arch/arm/mach-mx3/devices.h +++ b/arch/arm/mach-mx3/devices.h | |||
@@ -16,5 +16,8 @@ extern struct platform_device mxc_fec_device; | |||
16 | extern struct platform_device mxcsdhc_device0; | 16 | extern struct platform_device mxcsdhc_device0; |
17 | extern struct platform_device mxcsdhc_device1; | 17 | extern struct platform_device mxcsdhc_device1; |
18 | extern struct platform_device mxc_otg_udc_device; | 18 | extern struct platform_device mxc_otg_udc_device; |
19 | extern struct platform_device mxc_otg_host; | ||
20 | extern struct platform_device mxc_usbh1; | ||
21 | extern struct platform_device mxc_usbh2; | ||
19 | extern struct platform_device mxc_rnga_device; | 22 | extern struct platform_device mxc_rnga_device; |
20 | 23 | ||