Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /* include/linux/platform_data/s3c-hsotg.h
0003  *
0004  * Copyright 2008 Openmoko, Inc.
0005  * Copyright 2008 Simtec Electronics
0006  *      Ben Dooks <ben@simtec.co.uk>
0007  *      http://armlinux.simtec.co.uk/
0008  *
0009  * S3C USB2.0 High-speed / OtG platform information
0010 */
0011 
0012 #ifndef __LINUX_USB_S3C_HSOTG_H
0013 #define __LINUX_USB_S3C_HSOTG_H
0014 
0015 struct platform_device;
0016 
0017 enum dwc2_hsotg_dmamode {
0018     S3C_HSOTG_DMA_NONE, /* do not use DMA at-all */
0019     S3C_HSOTG_DMA_ONLY, /* always use DMA */
0020     S3C_HSOTG_DMA_DRV,  /* DMA is chosen by driver */
0021 };
0022 
0023 /**
0024  * struct dwc2_hsotg_plat - platform data for high-speed otg/udc
0025  * @dma: Whether to use DMA or not.
0026  * @is_osc: The clock source is an oscillator, not a crystal
0027  */
0028 struct dwc2_hsotg_plat {
0029     enum dwc2_hsotg_dmamode dma;
0030     unsigned int        is_osc:1;
0031     int                     phy_type;
0032 
0033     int (*phy_init)(struct platform_device *pdev, int type);
0034     int (*phy_exit)(struct platform_device *pdev, int type);
0035 };
0036 
0037 extern void dwc2_hsotg_set_platdata(struct dwc2_hsotg_plat *pd);
0038 
0039 #endif /* __LINUX_USB_S3C_HSOTG_H */