1*53b6fc28SSebastian Andrzej Siewior #ifndef _PHY_GENERIC_H_ 2*53b6fc28SSebastian Andrzej Siewior #define _PHY_GENERIC_H_ 3*53b6fc28SSebastian Andrzej Siewior 4*53b6fc28SSebastian Andrzej Siewior struct usb_phy_gen_xceiv { 5*53b6fc28SSebastian Andrzej Siewior struct usb_phy phy; 6*53b6fc28SSebastian Andrzej Siewior struct device *dev; 7*53b6fc28SSebastian Andrzej Siewior struct clk *clk; 8*53b6fc28SSebastian Andrzej Siewior struct regulator *vcc; 9*53b6fc28SSebastian Andrzej Siewior struct regulator *reset; 10*53b6fc28SSebastian Andrzej Siewior }; 11*53b6fc28SSebastian Andrzej Siewior 12*53b6fc28SSebastian Andrzej Siewior int usb_gen_phy_init(struct usb_phy *phy); 13*53b6fc28SSebastian Andrzej Siewior void usb_gen_phy_shutdown(struct usb_phy *phy); 14*53b6fc28SSebastian Andrzej Siewior 15*53b6fc28SSebastian Andrzej Siewior int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_gen_xceiv *nop, 16*53b6fc28SSebastian Andrzej Siewior enum usb_phy_type type, u32 clk_rate, bool needs_vcc, 17*53b6fc28SSebastian Andrzej Siewior bool needs_reset); 18*53b6fc28SSebastian Andrzej Siewior void usb_phy_gen_cleanup_phy(struct usb_phy_gen_xceiv *nop); 19*53b6fc28SSebastian Andrzej Siewior 20*53b6fc28SSebastian Andrzej Siewior #endif 21