s3c-hsotg.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /* include/linux/platform_data/s3c-hsotg.h
  3. *
  4. * Copyright 2008 Openmoko, Inc.
  5. * Copyright 2008 Simtec Electronics
  6. * Ben Dooks <[email protected]>
  7. * http://armlinux.simtec.co.uk/
  8. *
  9. * S3C USB2.0 High-speed / OtG platform information
  10. */
  11. #ifndef __LINUX_USB_S3C_HSOTG_H
  12. #define __LINUX_USB_S3C_HSOTG_H
  13. struct platform_device;
  14. enum dwc2_hsotg_dmamode {
  15. S3C_HSOTG_DMA_NONE, /* do not use DMA at-all */
  16. S3C_HSOTG_DMA_ONLY, /* always use DMA */
  17. S3C_HSOTG_DMA_DRV, /* DMA is chosen by driver */
  18. };
  19. /**
  20. * struct dwc2_hsotg_plat - platform data for high-speed otg/udc
  21. * @dma: Whether to use DMA or not.
  22. * @is_osc: The clock source is an oscillator, not a crystal
  23. */
  24. struct dwc2_hsotg_plat {
  25. enum dwc2_hsotg_dmamode dma;
  26. unsigned int is_osc:1;
  27. int phy_type;
  28. int (*phy_init)(struct platform_device *pdev, int type);
  29. int (*phy_exit)(struct platform_device *pdev, int type);
  30. };
  31. extern void dwc2_hsotg_set_platdata(struct dwc2_hsotg_plat *pd);
  32. #endif /* __LINUX_USB_S3C_HSOTG_H */