diff options
Diffstat (limited to 'arch/arm/mach-s3c2410/mach-n30.c')
-rw-r--r-- | arch/arm/mach-s3c2410/mach-n30.c | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/arch/arm/mach-s3c2410/mach-n30.c b/arch/arm/mach-s3c2410/mach-n30.c index 79044d9bce38..66bf5bb2b3db 100644 --- a/arch/arm/mach-s3c2410/mach-n30.c +++ b/arch/arm/mach-s3c2410/mach-n30.c | |||
@@ -110,34 +110,24 @@ void __init n30_init_irq(void) | |||
110 | s3c24xx_init_irq(); | 110 | s3c24xx_init_irq(); |
111 | } | 111 | } |
112 | 112 | ||
113 | 113 | /* GPB3 is the line that controls the pull-up for the USB D+ line */ | |
114 | static int n30_usbstart_thread(void *unused) | ||
115 | { | ||
116 | /* Turn off suspend on both USB ports, and switch the | ||
117 | * selectable USB port to USB device mode. */ | ||
118 | writel(readl(S3C2410_MISCCR) & ~0x00003008, S3C2410_MISCCR); | ||
119 | |||
120 | /* Turn off the D+ pull up for 3 seconds so that the USB host | ||
121 | * at the other end will do a rescan of the USB bus. */ | ||
122 | s3c2410_gpio_setpin(S3C2410_GPB3, 0); | ||
123 | |||
124 | msleep_interruptible(3*HZ); | ||
125 | |||
126 | s3c2410_gpio_setpin(S3C2410_GPB3, 1); | ||
127 | |||
128 | return 0; | ||
129 | } | ||
130 | |||
131 | 114 | ||
132 | void __init n30_init(void) | 115 | void __init n30_init(void) |
133 | { | 116 | { |
134 | s3c_device_i2c.dev.platform_data = &n30_i2ccfg; | 117 | s3c_device_i2c.dev.platform_data = &n30_i2ccfg; |
135 | 118 | ||
136 | kthread_run(n30_usbstart_thread, NULL, "n30_usbstart"); | 119 | /* Turn off suspend on both USB ports, and switch the |
120 | * selectable USB port to USB device mode. */ | ||
121 | |||
122 | s3c2410_modify_misccr(S3C2410_MISCCR_USBHOST | | ||
123 | S3C2410_MISCCR_USBSUSPND0 | | ||
124 | S3C2410_MISCCR_USBSUSPND1, 0x0); | ||
137 | } | 125 | } |
138 | 126 | ||
139 | MACHINE_START(N30, "Acer-N30") | 127 | MACHINE_START(N30, "Acer-N30") |
140 | /* Maintainer: Christer Weinigel <christer@weinigel.se>, Ben Dooks <ben-linux@fluff.org> */ | 128 | /* Maintainer: Christer Weinigel <christer@weinigel.se>, |
129 | Ben Dooks <ben-linux@fluff.org> | ||
130 | */ | ||
141 | .phys_ram = S3C2410_SDRAM_PA, | 131 | .phys_ram = S3C2410_SDRAM_PA, |
142 | .phys_io = S3C2410_PA_UART, | 132 | .phys_io = S3C2410_PA_UART, |
143 | .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc, | 133 | .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc, |