diff options
Diffstat (limited to 'arch/arm/mach-davinci')
-rw-r--r-- | arch/arm/mach-davinci/usb.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/usb.c b/arch/arm/mach-davinci/usb.c index abedb6337182..06f55931620c 100644 --- a/arch/arm/mach-davinci/usb.c +++ b/arch/arm/mach-davinci/usb.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <mach/common.h> | 13 | #include <mach/common.h> |
14 | #include <mach/hardware.h> | 14 | #include <mach/hardware.h> |
15 | #include <mach/irqs.h> | 15 | #include <mach/irqs.h> |
16 | #include <mach/cputype.h> | ||
16 | 17 | ||
17 | #define DAVINCI_USB_OTG_BASE 0x01C64000 | 18 | #define DAVINCI_USB_OTG_BASE 0x01C64000 |
18 | 19 | ||
@@ -64,6 +65,10 @@ static struct resource usb_resources[] = { | |||
64 | .start = IRQ_USBINT, | 65 | .start = IRQ_USBINT, |
65 | .flags = IORESOURCE_IRQ, | 66 | .flags = IORESOURCE_IRQ, |
66 | }, | 67 | }, |
68 | { | ||
69 | /* placeholder for the dedicated CPPI IRQ */ | ||
70 | .flags = IORESOURCE_IRQ, | ||
71 | }, | ||
67 | }; | 72 | }; |
68 | 73 | ||
69 | static u64 usb_dmamask = DMA_BIT_MASK(32); | 74 | static u64 usb_dmamask = DMA_BIT_MASK(32); |
@@ -84,6 +89,14 @@ void __init setup_usb(unsigned mA, unsigned potpgt_msec) | |||
84 | { | 89 | { |
85 | usb_data.power = mA / 2; | 90 | usb_data.power = mA / 2; |
86 | usb_data.potpgt = potpgt_msec / 2; | 91 | usb_data.potpgt = potpgt_msec / 2; |
92 | |||
93 | if (cpu_is_davinci_dm646x()) { | ||
94 | /* Override the defaults as DM6467 uses different IRQs. */ | ||
95 | usb_dev.resource[1].start = IRQ_DM646X_USBINT; | ||
96 | usb_dev.resource[2].start = IRQ_DM646X_USBDMAINT; | ||
97 | } else /* other devices don't have dedicated CPPI IRQ */ | ||
98 | usb_dev.num_resources = 2; | ||
99 | |||
87 | platform_device_register(&usb_dev); | 100 | platform_device_register(&usb_dev); |
88 | } | 101 | } |
89 | 102 | ||