usb-s3c2410_udc.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* arch/arm/plat-samsung/include/plat/udc.h
  2. *
  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
  15. * 18-Jan-2007 HMW Add per-platform vbus_draw function
  16. */
  17. #ifndef __ASM_ARM_ARCH_UDC_H
  18. #define __ASM_ARM_ARCH_UDC_H
  19. enum s3c2410_udc_cmd_e {
  20. S3C2410_UDC_P_ENABLE = 1, /* Pull-up enable */
  21. S3C2410_UDC_P_DISABLE = 2, /* Pull-up disable */
  22. S3C2410_UDC_P_RESET = 3, /* UDC reset, in case of */
  23. };
  24. struct s3c2410_udc_mach_info {
  25. void (*udc_command)(enum s3c2410_udc_cmd_e);
  26. void (*vbus_draw)(unsigned int ma);
  27. unsigned int pullup_pin;
  28. unsigned int pullup_pin_inverted;
  29. unsigned int vbus_pin;
  30. unsigned char vbus_pin_inverted;
  31. };
  32. extern void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *);
  33. struct s3c24xx_hsudc_platdata;
  34. extern void __init s3c24xx_hsudc_set_platdata(struct s3c24xx_hsudc_platdata *pd);
  35. #endif /* __ASM_ARM_ARCH_UDC_H */