Skip to content

Commit

Permalink
[ARM] 4173/1: S3C24XX usb device platform datas
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Arnaud Patard authored and Russell King committed Feb 14, 2007
1 parent b05f871 commit 0dcfc32
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
15 changes: 15 additions & 0 deletions arch/arm/plat-s3c24xx/devs.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
#include <asm/irq.h>

#include <asm/arch/regs-serial.h>
#include <asm/arch/udc.h>

#include <asm/plat-s3c24xx/devs.h>
#include <asm/plat-s3c24xx/cpu.h>
Expand Down Expand Up @@ -230,6 +231,20 @@ struct platform_device 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 */

static struct resource s3c_wdt_resource[] = {
Expand Down
34 changes: 34 additions & 0 deletions include/asm-arm/arch-s3c2410/udc.h
Original file line number Diff line number Diff line change
@@ -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 */

0 comments on commit 0dcfc32

Please sign in to comment.