1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* arch/arm/plat-samsung/include/plat/udc.h
3 *
4 * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org>
5 *
6 * Changelog:
7 * 14-Mar-2005 RTP Created file
8 * 02-Aug-2005 RTP File rename
9 * 07-Sep-2005 BJD Minor cleanups, changed cmd to enum
10 * 18-Jan-2007 HMW Add per-platform vbus_draw function
11 */
12
13 #ifndef __ASM_ARM_ARCH_UDC_H
14 #define __ASM_ARM_ARCH_UDC_H
15
16 enum s3c2410_udc_cmd_e {
17 S3C2410_UDC_P_ENABLE = 1, /* Pull-up enable */
18 S3C2410_UDC_P_DISABLE = 2, /* Pull-up disable */
19 S3C2410_UDC_P_RESET = 3, /* UDC reset, in case of */
20 };
21
22 struct s3c2410_udc_mach_info {
23 void (*udc_command)(enum s3c2410_udc_cmd_e);
24 void (*vbus_draw)(unsigned int ma);
25
26 unsigned int pullup_pin;
27 unsigned int pullup_pin_inverted;
28
29 unsigned int vbus_pin;
30 unsigned char vbus_pin_inverted;
31 };
32
33 extern void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *);
34
35 struct s3c24xx_hsudc_platdata;
36
37 extern void __init s3c24xx_hsudc_set_platdata(struct s3c24xx_hsudc_platdata *pd);
38
39 #endif /* __ASM_ARM_ARCH_UDC_H */