s3c-hsotg.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* include/linux/platform_data/s3c-hsotg.h
  2. *
  3. * Copyright 2008 Openmoko, Inc.
  4. * Copyright 2008 Simtec Electronics
  5. * Ben Dooks <ben@simtec.co.uk>
  6. * http://armlinux.simtec.co.uk/
  7. *
  8. * S3C USB2.0 High-speed / OtG platform information
  9. *
  10. * This program is free software; you can redistribute it and/or modify
  11. * it under the terms of the GNU General Public License version 2 as
  12. * published by the Free Software Foundation.
  13. */
  14. #ifndef __LINUX_USB_S3C_HSOTG_H
  15. #define __LINUX_USB_S3C_HSOTG_H
  16. struct platform_device;
  17. enum dwc2_hsotg_dmamode {
  18. S3C_HSOTG_DMA_NONE, /* do not use DMA at-all */
  19. S3C_HSOTG_DMA_ONLY, /* always use DMA */
  20. S3C_HSOTG_DMA_DRV, /* DMA is chosen by driver */
  21. };
  22. /**
  23. * struct dwc2_hsotg_plat - platform data for high-speed otg/udc
  24. * @dma: Whether to use DMA or not.
  25. * @is_osc: The clock source is an oscillator, not a crystal
  26. */
  27. struct dwc2_hsotg_plat {
  28. enum dwc2_hsotg_dmamode dma;
  29. unsigned int is_osc:1;
  30. int phy_type;
  31. int (*phy_init)(struct platform_device *pdev, int type);
  32. int (*phy_exit)(struct platform_device *pdev, int type);
  33. };
  34. extern void dwc2_hsotg_set_platdata(struct dwc2_hsotg_plat *pd);
  35. #endif /* __LINUX_USB_S3C_HSOTG_H */