提交 ecd1b171 编写于 作者: B Ben Dooks 提交者: Russell King

[ARM] 4175/1: SMDK2413: add udc pull-up control

USB gadget pull-up control and device addition
for the SMDK2413/SMDK2412 board.
Signed-off-by: NBen Dooks <ben-linux@fluff.org>
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 71a9c424
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include <asm/arch/regs-lcd.h> #include <asm/arch/regs-lcd.h>
#include <asm/arch/idle.h> #include <asm/arch/idle.h>
#include <asm/arch/udc.h>
#include <asm/arch/fb.h> #include <asm/arch/fb.h>
#include <asm/plat-s3c24xx/s3c2410.h> #include <asm/plat-s3c24xx/s3c2410.h>
...@@ -75,12 +76,38 @@ static struct s3c2410_uartcfg smdk2413_uartcfgs[] __initdata = { ...@@ -75,12 +76,38 @@ static struct s3c2410_uartcfg smdk2413_uartcfgs[] __initdata = {
} }
}; };
static void smdk2413_udc_pullup(enum s3c2410_udc_cmd_e cmd)
{
printk(KERN_DEBUG "udc: pullup(%d)\n",cmd);
switch (cmd)
{
case S3C2410_UDC_P_ENABLE :
s3c2410_gpio_setpin(S3C2410_GPF2, 1);
break;
case S3C2410_UDC_P_DISABLE :
s3c2410_gpio_setpin(S3C2410_GPF2, 0);
break;
case S3C2410_UDC_P_RESET :
break;
default:
break;
}
}
static struct s3c2410_udc_mach_info smdk2413_udc_cfg __initdata = {
.udc_command = smdk2413_udc_pullup,
};
static struct platform_device *smdk2413_devices[] __initdata = { static struct platform_device *smdk2413_devices[] __initdata = {
&s3c_device_usb, &s3c_device_usb,
//&s3c_device_lcd, //&s3c_device_lcd,
&s3c_device_wdt, &s3c_device_wdt,
&s3c_device_i2c, &s3c_device_i2c,
&s3c_device_iis, &s3c_device_iis,
&s3c_device_usbgadget,
}; };
static struct s3c24xx_board smdk2413_board __initdata = { static struct s3c24xx_board smdk2413_board __initdata = {
...@@ -109,7 +136,19 @@ static void __init smdk2413_map_io(void) ...@@ -109,7 +136,19 @@ static void __init smdk2413_map_io(void)
} }
static void __init smdk2413_machine_init(void) static void __init smdk2413_machine_init(void)
{ { /* Turn off suspend on both USB ports, and switch the
* selectable USB port to USB device mode. */
s3c2410_gpio_setpin(S3C2410_GPF2, 0);
s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPIO_OUTPUT);
s3c2410_modify_misccr(S3C2410_MISCCR_USBHOST |
S3C2410_MISCCR_USBSUSPND0 |
S3C2410_MISCCR_USBSUSPND1, 0x0);
s3c24xx_udc_set_platdata(&smdk2413_udc_cfg);
smdk_machine_init(); smdk_machine_init();
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册