Merge tag 'libnvdimm-fixes-5.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / include / linux / platform_data / usb-s3c2410_udc.h
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 */