Sebastian Andrzej Siewior | 53b6fc2 | 2013-07-30 17:20:06 +0200 | [diff] [blame] | 1 | #ifndef _PHY_GENERIC_H_ |
| 2 | #define _PHY_GENERIC_H_ |
| 3 | |
Felipe Balbi | d7078df | 2014-04-16 15:28:32 -0500 | [diff] [blame] | 4 | #include <linux/usb/usb_phy_generic.h> |
Robert Jarzmik | e9f2cefb | 2014-12-06 22:05:13 +0100 | [diff] [blame] | 5 | #include <linux/gpio/consumer.h> |
Robert Jarzmik | 7acc997 | 2014-12-06 22:05:15 +0100 | [diff] [blame] | 6 | #include <linux/regulator/consumer.h> |
Felipe Balbi | af9f51c | 2013-10-24 09:45:29 -0500 | [diff] [blame] | 7 | |
Felipe Balbi | 4525bee | 2014-04-16 15:20:44 -0500 | [diff] [blame] | 8 | struct usb_phy_generic { |
Sebastian Andrzej Siewior | 53b6fc2 | 2013-07-30 17:20:06 +0200 | [diff] [blame] | 9 | struct usb_phy phy; |
| 10 | struct device *dev; |
| 11 | struct clk *clk; |
| 12 | struct regulator *vcc; |
Robert Jarzmik | e9f2cefb | 2014-12-06 22:05:13 +0100 | [diff] [blame] | 13 | struct gpio_desc *gpiod_reset; |
Robert Jarzmik | 7acc997 | 2014-12-06 22:05:15 +0100 | [diff] [blame] | 14 | struct gpio_desc *gpiod_vbus; |
| 15 | struct regulator *vbus_draw; |
| 16 | bool vbus_draw_enabled; |
| 17 | unsigned long mA; |
| 18 | unsigned int vbus; |
Sebastian Andrzej Siewior | 53b6fc2 | 2013-07-30 17:20:06 +0200 | [diff] [blame] | 19 | }; |
| 20 | |
| 21 | int usb_gen_phy_init(struct usb_phy *phy); |
| 22 | void usb_gen_phy_shutdown(struct usb_phy *phy); |
| 23 | |
Felipe Balbi | 4525bee | 2014-04-16 15:20:44 -0500 | [diff] [blame] | 24 | int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop, |
| 25 | struct usb_phy_generic_platform_data *pdata); |
Sebastian Andrzej Siewior | 53b6fc2 | 2013-07-30 17:20:06 +0200 | [diff] [blame] | 26 | |
| 27 | #endif |