• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 <ben@simtec.co.uk>
7   *      http://armlinux.simtec.co.uk/
8   *
9   * S3C USB2.0 High-speed / OtG platform information
10  */
11  
12  #ifndef __LINUX_USB_S3C_HSOTG_H
13  #define __LINUX_USB_S3C_HSOTG_H
14  
15  struct platform_device;
16  
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  /**
24   * struct dwc2_hsotg_plat - platform data for high-speed otg/udc
25   * @dma: Whether to use DMA or not.
26   * @is_osc: The clock source is an oscillator, not a crystal
27   */
28  struct dwc2_hsotg_plat {
29  	enum dwc2_hsotg_dmamode	dma;
30  	unsigned int		is_osc:1;
31  	int                     phy_type;
32  
33  	int (*phy_init)(struct platform_device *pdev, int type);
34  	int (*phy_exit)(struct platform_device *pdev, int type);
35  };
36  
37  extern void dwc2_hsotg_set_platdata(struct dwc2_hsotg_plat *pd);
38  
39  #endif /* __LINUX_USB_S3C_HSOTG_H */
40