153b6fc28SSebastian Andrzej Siewior #ifndef _PHY_GENERIC_H_ 253b6fc28SSebastian Andrzej Siewior #define _PHY_GENERIC_H_ 353b6fc28SSebastian Andrzej Siewior 4d7078df6SFelipe Balbi #include <linux/usb/usb_phy_generic.h> 5*e9f2cefbSRobert Jarzmik #include <linux/gpio/consumer.h> 6af9f51c5SFelipe Balbi 74525beebSFelipe Balbi struct usb_phy_generic { 853b6fc28SSebastian Andrzej Siewior struct usb_phy phy; 953b6fc28SSebastian Andrzej Siewior struct device *dev; 1053b6fc28SSebastian Andrzej Siewior struct clk *clk; 1153b6fc28SSebastian Andrzej Siewior struct regulator *vcc; 12*e9f2cefbSRobert Jarzmik struct gpio_desc *gpiod_reset; 1353b6fc28SSebastian Andrzej Siewior }; 1453b6fc28SSebastian Andrzej Siewior 1553b6fc28SSebastian Andrzej Siewior int usb_gen_phy_init(struct usb_phy *phy); 1653b6fc28SSebastian Andrzej Siewior void usb_gen_phy_shutdown(struct usb_phy *phy); 1753b6fc28SSebastian Andrzej Siewior 184525beebSFelipe Balbi int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop, 194525beebSFelipe Balbi struct usb_phy_generic_platform_data *pdata); 2053b6fc28SSebastian Andrzej Siewior 2153b6fc28SSebastian Andrzej Siewior #endif 22