blob: 8b79e0967f9caf6a524012664ee2e8b99e390ceb [file] [log] [blame]
Lukasz Majewski127d42a2012-05-04 14:16:59 +02001/* include/linux/platform_data/s3c-hsotg.h
Ben Dooksf0e1fa72009-05-16 22:05:27 +01002 *
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
Sachin Kamat66177cc2012-07-17 16:37:45 +053015#ifndef __LINUX_USB_S3C_HSOTG_H
16#define __LINUX_USB_S3C_HSOTG_H
17
Maurus Cuelenaerebd548e52010-01-21 01:37:28 +010018enum s3c_hsotg_dmamode {
Ben Dooksf0e1fa72009-05-16 22:05:27 +010019 S3C_HSOTG_DMA_NONE, /* do not use DMA at-all */
20 S3C_HSOTG_DMA_ONLY, /* always use DMA */
21 S3C_HSOTG_DMA_DRV, /* DMA is chosen by driver */
22};
23
24/**
25 * struct s3c_hsotg_plat - platform data for high-speed otg/udc
26 * @dma: Whether to use DMA or not.
27 * @is_osc: The clock source is an oscillator, not a crystal
28 */
29struct s3c_hsotg_plat {
Maurus Cuelenaerebd548e52010-01-21 01:37:28 +010030 enum s3c_hsotg_dmamode dma;
Lukasz Majewski127d42a2012-05-04 14:16:59 +020031 unsigned int is_osc:1;
32 int phy_type;
Joonyoung Shim99f6e1f2012-03-07 04:23:47 -080033
34 int (*phy_init)(struct platform_device *pdev, int type);
35 int (*phy_exit)(struct platform_device *pdev, int type);
Ben Dooksf0e1fa72009-05-16 22:05:27 +010036};
Joonyoung Shim99f6e1f2012-03-07 04:23:47 -080037
38extern void s3c_hsotg_set_platdata(struct s3c_hsotg_plat *pd);
Sachin Kamat66177cc2012-07-17 16:37:45 +053039
40#endif /* __LINUX_USB_S3C_HSOTG_H */