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