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