Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / drivers / usb / phy / phy-generic.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _PHY_GENERIC_H_
3 #define _PHY_GENERIC_H_
4
5 #include <linux/usb/usb_phy_generic.h>
6 #include <linux/gpio/consumer.h>
7 #include <linux/regulator/consumer.h>
8
9 struct usb_phy_generic {
10         struct usb_phy phy;
11         struct device *dev;
12         struct clk *clk;
13         struct regulator *vcc;
14         struct gpio_desc *gpiod_reset;
15         struct gpio_desc *gpiod_vbus;
16         struct regulator *vbus_draw;
17         bool vbus_draw_enabled;
18         unsigned long mA;
19         unsigned int vbus;
20 };
21
22 int usb_gen_phy_init(struct usb_phy *phy);
23 void usb_gen_phy_shutdown(struct usb_phy *phy);
24
25 int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop,
26                 struct usb_phy_generic_platform_data *pdata);
27
28 #endif