xref: /linux/drivers/usb/phy/phy-generic.h (revision e9f2cefb0cdc2aea8b70dbf68a3f78b88e57cf34)
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