aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mmp/ttc_dkb.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-mmp/ttc_dkb.c')
-rw-r--r--arch/arm/mach-mmp/ttc_dkb.c37
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
163static char *pxa910_usb_clock_name[] = {
164 [0] = "U2OCLK",
165};
166
167static 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
158static void __init ttc_dkb_init(void) 180static 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
170MACHINE_START(TTC_DKB, "PXA910-based TTC_DKB Development Platform") 207MACHINE_START(TTC_DKB, "PXA910-based TTC_DKB Development Platform")