diff options
Diffstat (limited to 'arch/arm/mach-mmp/ttc_dkb.c')
-rw-r--r-- | arch/arm/mach-mmp/ttc_dkb.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/arch/arm/mach-mmp/ttc_dkb.c b/arch/arm/mach-mmp/ttc_dkb.c index e8cf5ea1526..7a7de2b12a6 100644 --- a/arch/arm/mach-mmp/ttc_dkb.c +++ b/arch/arm/mach-mmp/ttc_dkb.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/i2c/pca953x.h> | 18 | #include <linux/i2c/pca953x.h> |
19 | #include <linux/gpio.h> | 19 | #include <linux/gpio.h> |
20 | #include <linux/mfd/88pm860x.h> | 20 | #include <linux/mfd/88pm860x.h> |
21 | #include <linux/platform_data/mv_usb.h> | ||
21 | 22 | ||
22 | #include <asm/mach-types.h> | 23 | #include <asm/mach-types.h> |
23 | #include <asm/mach/arch.h> | 24 | #include <asm/mach/arch.h> |
@@ -26,6 +27,7 @@ | |||
26 | #include <mach/mfp-pxa910.h> | 27 | #include <mach/mfp-pxa910.h> |
27 | #include <mach/pxa910.h> | 28 | #include <mach/pxa910.h> |
28 | #include <mach/irqs.h> | 29 | #include <mach/irqs.h> |
30 | #include <mach/regs-usb.h> | ||
29 | 31 | ||
30 | #include "common.h" | 32 | #include "common.h" |
31 | 33 | ||
@@ -155,6 +157,26 @@ static struct i2c_board_info ttc_dkb_i2c_info[] = { | |||
155 | }, | 157 | }, |
156 | }; | 158 | }; |
157 | 159 | ||
160 | #ifdef CONFIG_USB_SUPPORT | ||
161 | #if defined(CONFIG_USB_MV_UDC) || defined(CONFIG_USB_EHCI_MV_U2O) | ||
162 | |||
163 | static char *pxa910_usb_clock_name[] = { | ||
164 | [0] = "U2OCLK", | ||
165 | }; | ||
166 | |||
167 | static struct mv_usb_platform_data ttc_usb_pdata = { | ||
168 | .clknum = 1, | ||
169 | .clkname = pxa910_usb_clock_name, | ||
170 | .vbus = NULL, | ||
171 | .mode = MV_USB_MODE_OTG, | ||
172 | .otg_force_a_bus_req = 1, | ||
173 | .phy_init = pxa_usb_phy_init, | ||
174 | .phy_deinit = pxa_usb_phy_deinit, | ||
175 | .set_vbus = NULL, | ||
176 | }; | ||
177 | #endif | ||
178 | #endif | ||
179 | |||
158 | static void __init ttc_dkb_init(void) | 180 | static void __init ttc_dkb_init(void) |
159 | { | 181 | { |
160 | mfp_config(ARRAY_AND_SIZE(ttc_dkb_pin_config)); | 182 | mfp_config(ARRAY_AND_SIZE(ttc_dkb_pin_config)); |
@@ -165,6 +187,21 @@ static void __init ttc_dkb_init(void) | |||
165 | /* off-chip devices */ | 187 | /* off-chip devices */ |
166 | pxa910_add_twsi(0, NULL, ARRAY_AND_SIZE(ttc_dkb_i2c_info)); | 188 | pxa910_add_twsi(0, NULL, ARRAY_AND_SIZE(ttc_dkb_i2c_info)); |
167 | platform_add_devices(ARRAY_AND_SIZE(ttc_dkb_devices)); | 189 | platform_add_devices(ARRAY_AND_SIZE(ttc_dkb_devices)); |
190 | |||
191 | #ifdef CONFIG_USB_MV_UDC | ||
192 | pxa168_device_u2o.dev.platform_data = &ttc_usb_pdata; | ||
193 | platform_device_register(&pxa168_device_u2o); | ||
194 | #endif | ||
195 | |||
196 | #ifdef CONFIG_USB_EHCI_MV_U2O | ||
197 | pxa168_device_u2oehci.dev.platform_data = &ttc_usb_pdata; | ||
198 | platform_device_register(&pxa168_device_u2oehci); | ||
199 | #endif | ||
200 | |||
201 | #ifdef CONFIG_USB_MV_OTG | ||
202 | pxa168_device_u2ootg.dev.platform_data = &ttc_usb_pdata; | ||
203 | platform_device_register(&pxa168_device_u2ootg); | ||
204 | #endif | ||
168 | } | 205 | } |
169 | 206 | ||
170 | MACHINE_START(TTC_DKB, "PXA910-based TTC_DKB Development Platform") | 207 | MACHINE_START(TTC_DKB, "PXA910-based TTC_DKB Development Platform") |