diff options
author | Mian Yousaf Kaukab <mian-yousaf.kaukab@linaro.org> | 2011-01-21 12:21:50 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2011-03-14 09:05:12 -0400 |
commit | 6f3f3c3f0b5c7b84a99f0aa99658d6c6cee8e700 (patch) | |
tree | b824d4bf0726929b2646a2e4b97d0f4840ef40c7 /arch/arm/mach-ux500/cpu-db8500.c | |
parent | 7f0709efe65a1a46f9b0affb6b5d27d31bae450a (diff) |
mach-ux500: add MUSB to db8500 devices
- DMA tx and rx maps for usb channels are set to be configured at
runtime
- GPIO configurations for usb are added
- MUSB is enabled with soc specific base address, irq and dma
configurations
Signed-off-by: Mian Yousaf Kaukab <mian-yousaf.kaukab@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/mach-ux500/cpu-db8500.c')
-rw-r--r-- | arch/arm/mach-ux500/cpu-db8500.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c index 5c0fabf5fa01..516126cb357d 100644 --- a/arch/arm/mach-ux500/cpu-db8500.c +++ b/arch/arm/mach-ux500/cpu-db8500.c | |||
@@ -23,8 +23,10 @@ | |||
23 | #include <mach/hardware.h> | 23 | #include <mach/hardware.h> |
24 | #include <mach/setup.h> | 24 | #include <mach/setup.h> |
25 | #include <mach/devices.h> | 25 | #include <mach/devices.h> |
26 | #include <mach/usb.h> | ||
26 | 27 | ||
27 | #include "devices-db8500.h" | 28 | #include "devices-db8500.h" |
29 | #include "ste-dma40-db8500.h" | ||
28 | 30 | ||
29 | /* minimum static i/o mapping required to boot U8500 platforms */ | 31 | /* minimum static i/o mapping required to boot U8500 platforms */ |
30 | static struct map_desc u8500_uart_io_desc[] __initdata = { | 32 | static struct map_desc u8500_uart_io_desc[] __initdata = { |
@@ -154,6 +156,28 @@ static void __init db8500_add_gpios(void) | |||
154 | IRQ_DB8500_GPIO0, &pdata); | 156 | IRQ_DB8500_GPIO0, &pdata); |
155 | } | 157 | } |
156 | 158 | ||
159 | static int usb_db8500_rx_dma_cfg[] = { | ||
160 | DB8500_DMA_DEV38_USB_OTG_IEP_1_9, | ||
161 | DB8500_DMA_DEV37_USB_OTG_IEP_2_10, | ||
162 | DB8500_DMA_DEV36_USB_OTG_IEP_3_11, | ||
163 | DB8500_DMA_DEV19_USB_OTG_IEP_4_12, | ||
164 | DB8500_DMA_DEV18_USB_OTG_IEP_5_13, | ||
165 | DB8500_DMA_DEV17_USB_OTG_IEP_6_14, | ||
166 | DB8500_DMA_DEV16_USB_OTG_IEP_7_15, | ||
167 | DB8500_DMA_DEV39_USB_OTG_IEP_8 | ||
168 | }; | ||
169 | |||
170 | static int usb_db8500_tx_dma_cfg[] = { | ||
171 | DB8500_DMA_DEV38_USB_OTG_OEP_1_9, | ||
172 | DB8500_DMA_DEV37_USB_OTG_OEP_2_10, | ||
173 | DB8500_DMA_DEV36_USB_OTG_OEP_3_11, | ||
174 | DB8500_DMA_DEV19_USB_OTG_OEP_4_12, | ||
175 | DB8500_DMA_DEV18_USB_OTG_OEP_5_13, | ||
176 | DB8500_DMA_DEV17_USB_OTG_OEP_6_14, | ||
177 | DB8500_DMA_DEV16_USB_OTG_OEP_7_15, | ||
178 | DB8500_DMA_DEV39_USB_OTG_OEP_8 | ||
179 | }; | ||
180 | |||
157 | /* | 181 | /* |
158 | * This function is called from the board init | 182 | * This function is called from the board init |
159 | */ | 183 | */ |
@@ -164,6 +188,7 @@ void __init u8500_init_devices(void) | |||
164 | 188 | ||
165 | db8500_add_rtc(); | 189 | db8500_add_rtc(); |
166 | db8500_add_gpios(); | 190 | db8500_add_gpios(); |
191 | db8500_add_usb(usb_db8500_rx_dma_cfg, usb_db8500_tx_dma_cfg); | ||
167 | 192 | ||
168 | platform_device_register_simple("cpufreq-u8500", -1, NULL, 0); | 193 | platform_device_register_simple("cpufreq-u8500", -1, NULL, 0); |
169 | platform_add_devices(platform_devs, ARRAY_SIZE(platform_devs)); | 194 | platform_add_devices(platform_devs, ARRAY_SIZE(platform_devs)); |