1/* SPDX-License-Identifier: GPL-2.0-only */
2/* arch/arm/plat-samsung/include/plat/usb-control.h
3 *
4 * Copyright (c) 2004 Simtec Electronics
5 * Ben Dooks <ben@simtec.co.uk>
6 *
7 * S3C - USB host port information
8*/
9
10#ifndef __ASM_ARCH_USBCONTROL_H
11#define __ASM_ARCH_USBCONTROL_H
12
13#define S3C_HCDFLG_USED (1)
14
15struct s3c2410_hcd_port {
16 unsigned char flags;
17 unsigned char power;
18 unsigned char oc_status;
19 unsigned char oc_changed;
20};
21
22struct s3c2410_hcd_info {
23 struct usb_hcd *hcd;
24 struct s3c2410_hcd_port port[2];
25
26 void (*power_control)(int port, int to);
27 void (*enable_oc)(struct s3c2410_hcd_info *, int on);
28 void (*report_oc)(struct s3c2410_hcd_info *, int ports);
29};
30
31static inline void s3c2410_usb_report_oc(struct s3c2410_hcd_info *info, int ports)
32{
33 if (info->report_oc != NULL) {
34 (info->report_oc)(info, ports);
35 }
36}
37
38extern void s3c_ohci_set_platdata(struct s3c2410_hcd_info *info);
39
40#endif /*__ASM_ARCH_USBCONTROL_H */
41

source code of linux/include/linux/platform_data/usb-ohci-s3c2410.h