[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: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
71a9c42412
commit
ecd1b171a7
|
@ -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 = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
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)
|
||||||
}
|
}
|
||||||
|
|
||||||
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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue