xref: /linux/drivers/usb/phy/phy-generic.h (revision 85a3685852d9ac7d92be9d824533c915a4597fa4)
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 
8 struct 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 
21 int usb_gen_phy_init(struct usb_phy *phy);
22 void usb_gen_phy_shutdown(struct usb_phy *phy);
23 
24 int 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