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 | |