Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / linux / platform_data / s3c-hsotg.h
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
15 #ifndef __LINUX_USB_S3C_HSOTG_H
16 #define __LINUX_USB_S3C_HSOTG_H
17
18 struct platform_device;
19
20 enum s3c_hsotg_dmamode {
21         S3C_HSOTG_DMA_NONE,     /* do not use DMA at-all */
22         S3C_HSOTG_DMA_ONLY,     /* always use DMA */
23         S3C_HSOTG_DMA_DRV,      /* DMA is chosen by driver */
24 };
25
26 /**
27  * struct s3c_hsotg_plat - platform data for high-speed otg/udc
28  * @dma: Whether to use DMA or not.
29  * @is_osc: The clock source is an oscillator, not a crystal
30  */
31 struct s3c_hsotg_plat {
32         enum s3c_hsotg_dmamode  dma;
33         unsigned int            is_osc:1;
34         int                     phy_type;
35
36         int (*phy_init)(struct platform_device *pdev, int type);
37         int (*phy_exit)(struct platform_device *pdev, int type);
38 };
39
40 extern void s3c_hsotg_set_platdata(struct s3c_hsotg_plat *pd);
41
42 #endif /* __LINUX_USB_S3C_HSOTG_H */