blob: de8e2288a509279536d91f6b552e7b402fd8b43e [file] [log] [blame]
Kukjin Kimdc98e412011-09-28 20:48:52 +09001/* arch/arm/plat-samsung/include/plat/udc.h
Arnaud Patard0dcfc322007-02-13 00:18:33 +01002 *
3 * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org>
4 *
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 *
11 * Changelog:
12 * 14-Mar-2005 RTP Created file
13 * 02-Aug-2005 RTP File rename
14 * 07-Sep-2005 BJD Minor cleanups, changed cmd to enum
Arnaud Patard52c477a2007-02-16 23:50:32 +010015 * 18-Jan-2007 HMW Add per-platform vbus_draw function
Arnaud Patard0dcfc322007-02-13 00:18:33 +010016*/
17
18#ifndef __ASM_ARM_ARCH_UDC_H
19#define __ASM_ARM_ARCH_UDC_H
20
21enum s3c2410_udc_cmd_e {
22 S3C2410_UDC_P_ENABLE = 1, /* Pull-up enable */
23 S3C2410_UDC_P_DISABLE = 2, /* Pull-up disable */
24 S3C2410_UDC_P_RESET = 3, /* UDC reset, in case of */
25};
26
27struct s3c2410_udc_mach_info {
28 void (*udc_command)(enum s3c2410_udc_cmd_e);
Kukjin Kimdc98e412011-09-28 20:48:52 +090029 void (*vbus_draw)(unsigned int ma);
Lars-Peter Clausena74022a2011-03-07 08:41:59 +010030
31 unsigned int pullup_pin;
32 unsigned int pullup_pin_inverted;
33
Arnaud Patard0dcfc322007-02-13 00:18:33 +010034 unsigned int vbus_pin;
35 unsigned char vbus_pin_inverted;
36};
37
38extern void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *);
39
Heiko Stübner715a3e42011-12-19 19:39:15 +010040struct s3c24xx_hsudc_platdata;
Thomas Abraham4a98f592011-05-07 22:26:53 +020041
42extern void __init s3c24xx_hsudc_set_platdata(struct s3c24xx_hsudc_platdata *pd);
43
Arnaud Patard0dcfc322007-02-13 00:18:33 +010044#endif /* __ASM_ARM_ARCH_UDC_H */