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