153b6fc28SSebastian Andrzej Siewior #ifndef _PHY_GENERIC_H_ 253b6fc28SSebastian Andrzej Siewior #define _PHY_GENERIC_H_ 353b6fc28SSebastian Andrzej Siewior 453b6fc28SSebastian Andrzej Siewior struct usb_phy_gen_xceiv { 553b6fc28SSebastian Andrzej Siewior struct usb_phy phy; 653b6fc28SSebastian Andrzej Siewior struct device *dev; 753b6fc28SSebastian Andrzej Siewior struct clk *clk; 853b6fc28SSebastian Andrzej Siewior struct regulator *vcc; 9*bd27fa44SRoger Quadros int gpio_reset; 10*bd27fa44SRoger Quadros bool reset_active_low; 1153b6fc28SSebastian Andrzej Siewior }; 1253b6fc28SSebastian Andrzej Siewior 1353b6fc28SSebastian Andrzej Siewior int usb_gen_phy_init(struct usb_phy *phy); 1453b6fc28SSebastian Andrzej Siewior void usb_gen_phy_shutdown(struct usb_phy *phy); 1553b6fc28SSebastian Andrzej Siewior 1653b6fc28SSebastian Andrzej Siewior int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_gen_xceiv *nop, 17*bd27fa44SRoger Quadros enum usb_phy_type type, u32 clk_rate, bool needs_vcc); 1853b6fc28SSebastian Andrzej Siewior 1953b6fc28SSebastian Andrzej Siewior #endif 20