[ARM] 4173/1: S3C24XX usb device platform datas
This patch is adding the functions and structures used for handling the S3C24XX udc driver platform datas. Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Acked-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
committed by
Russell King
parent
b05f87172f
commit
0dcfc328cc
@@ -29,6 +29,7 @@
|
|||||||
#include <asm/irq.h>
|
#include <asm/irq.h>
|
||||||
|
|
||||||
#include <asm/arch/regs-serial.h>
|
#include <asm/arch/regs-serial.h>
|
||||||
|
#include <asm/arch/udc.h>
|
||||||
|
|
||||||
#include <asm/plat-s3c24xx/devs.h>
|
#include <asm/plat-s3c24xx/devs.h>
|
||||||
#include <asm/plat-s3c24xx/cpu.h>
|
#include <asm/plat-s3c24xx/cpu.h>
|
||||||
@@ -230,6 +231,20 @@ struct platform_device s3c_device_usbgadget = {
|
|||||||
|
|
||||||
EXPORT_SYMBOL(s3c_device_usbgadget);
|
EXPORT_SYMBOL(s3c_device_usbgadget);
|
||||||
|
|
||||||
|
void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *pd)
|
||||||
|
{
|
||||||
|
struct s3c2410_udc_mach_info *npd;
|
||||||
|
|
||||||
|
npd = kmalloc(sizeof(*npd), GFP_KERNEL);
|
||||||
|
if (npd) {
|
||||||
|
memcpy(npd, pd, sizeof(*npd));
|
||||||
|
s3c_device_usbgadget.dev.platform_data = npd;
|
||||||
|
} else {
|
||||||
|
printk(KERN_ERR "no memory for udc platform data\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Watchdog */
|
/* Watchdog */
|
||||||
|
|
||||||
static struct resource s3c_wdt_resource[] = {
|
static struct resource s3c_wdt_resource[] = {
|
||||||
|
34
include/asm-arm/arch-s3c2410/udc.h
Normal file
34
include/asm-arm/arch-s3c2410/udc.h
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/* linux/include/asm/arch-s3c2410/udc.h
|
||||||
|
*
|
||||||
|
* Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org>
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Changelog:
|
||||||
|
* 14-Mar-2005 RTP Created file
|
||||||
|
* 02-Aug-2005 RTP File rename
|
||||||
|
* 07-Sep-2005 BJD Minor cleanups, changed cmd to enum
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ASM_ARM_ARCH_UDC_H
|
||||||
|
#define __ASM_ARM_ARCH_UDC_H
|
||||||
|
|
||||||
|
enum s3c2410_udc_cmd_e {
|
||||||
|
S3C2410_UDC_P_ENABLE = 1, /* Pull-up enable */
|
||||||
|
S3C2410_UDC_P_DISABLE = 2, /* Pull-up disable */
|
||||||
|
S3C2410_UDC_P_RESET = 3, /* UDC reset, in case of */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct s3c2410_udc_mach_info {
|
||||||
|
void (*udc_command)(enum s3c2410_udc_cmd_e);
|
||||||
|
unsigned int vbus_pin;
|
||||||
|
unsigned char vbus_pin_inverted;
|
||||||
|
};
|
||||||
|
|
||||||
|
extern void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *);
|
||||||
|
|
||||||
|
#endif /* __ASM_ARM_ARCH_UDC_H */
|
Reference in New Issue
Block a user