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