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 29