1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | /* |
3 | * USB roothub wrapper |
4 | * |
5 | * Copyright (C) 2018 Martin Blumenstingl <martin.blumenstingl@googlemail.com> |
6 | */ |
7 | |
8 | #ifndef __USB_CORE_PHY_H_ |
9 | #define __USB_CORE_PHY_H_ |
10 | |
11 | struct device; |
12 | struct usb_phy_roothub; |
13 | |
14 | struct usb_phy_roothub *usb_phy_roothub_alloc(struct device *dev); |
15 | struct usb_phy_roothub *usb_phy_roothub_alloc_usb3_phy(struct device *dev); |
16 | |
17 | int usb_phy_roothub_init(struct usb_phy_roothub *phy_roothub); |
18 | int usb_phy_roothub_exit(struct usb_phy_roothub *phy_roothub); |
19 | |
20 | int usb_phy_roothub_set_mode(struct usb_phy_roothub *phy_roothub, |
21 | enum phy_mode mode); |
22 | int usb_phy_roothub_calibrate(struct usb_phy_roothub *phy_roothub); |
23 | int usb_phy_roothub_notify_connect(struct usb_phy_roothub *phy_roothub, int port); |
24 | int usb_phy_roothub_notify_disconnect(struct usb_phy_roothub *phy_roothub, int port); |
25 | int usb_phy_roothub_power_on(struct usb_phy_roothub *phy_roothub); |
26 | void usb_phy_roothub_power_off(struct usb_phy_roothub *phy_roothub); |
27 | |
28 | int usb_phy_roothub_suspend(struct device *controller_dev, |
29 | struct usb_phy_roothub *phy_roothub); |
30 | int usb_phy_roothub_resume(struct device *controller_dev, |
31 | struct usb_phy_roothub *phy_roothub); |
32 | |
33 | #endif /* __USB_CORE_PHY_H_ */ |
34 | |