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 | |
15 | struct s3c2410_hcd_port { |
16 | unsigned char flags; |
17 | unsigned char power; |
18 | unsigned char oc_status; |
19 | unsigned char oc_changed; |
20 | }; |
21 | |
22 | struct 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 | |
31 | static 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 | |
38 | extern void s3c_ohci_set_platdata(struct s3c2410_hcd_info *info); |
39 | |
40 | #endif /*__ASM_ARCH_USBCONTROL_H */ |
41 | |