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