Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
Felipe Balbi | 78c289f | 2012-07-19 13:32:15 +0300 | [diff] [blame] | 2 | #ifndef __LINUX_USB_NOP_XCEIV_H |
| 3 | #define __LINUX_USB_NOP_XCEIV_H |
| 4 | |
Felipe Balbi | c84d364 | 2012-07-19 13:38:06 +0300 | [diff] [blame] | 5 | #include <linux/usb/otg.h> |
Robert Jarzmik | 7acc997 | 2014-12-06 22:05:15 +0100 | [diff] [blame] | 6 | #include <linux/gpio/consumer.h> |
Felipe Balbi | c84d364 | 2012-07-19 13:38:06 +0300 | [diff] [blame] | 7 | |
Felipe Balbi | 4525bee | 2014-04-16 15:20:44 -0500 | [diff] [blame] | 8 | struct usb_phy_generic_platform_data { |
Felipe Balbi | c84d364 | 2012-07-19 13:38:06 +0300 | [diff] [blame] | 9 | enum usb_phy_type type; |
Roger Quadros | 1f0972f | 2013-03-12 13:24:19 +0200 | [diff] [blame] | 10 | unsigned long clk_rate; |
| 11 | |
| 12 | /* if set fails with -EPROBE_DEFER if can't get regulator */ |
| 13 | unsigned int needs_vcc:1; |
Roger Quadros | 8e93335 | 2013-09-24 11:53:47 +0300 | [diff] [blame] | 14 | unsigned int needs_reset:1; /* deprecated */ |
| 15 | int gpio_reset; |
Robert Jarzmik | 7acc997 | 2014-12-06 22:05:15 +0100 | [diff] [blame] | 16 | struct gpio_desc *gpiod_vbus; |
Felipe Balbi | c84d364 | 2012-07-19 13:38:06 +0300 | [diff] [blame] | 17 | }; |
| 18 | |
Felipe Balbi | dca769b | 2014-04-21 10:50:35 -0500 | [diff] [blame] | 19 | #if IS_ENABLED(CONFIG_NOP_USB_XCEIV) |
Felipe Balbi | 78c289f | 2012-07-19 13:32:15 +0300 | [diff] [blame] | 20 | /* sometimes transceivers are accessed only through e.g. ULPI */ |
Felipe Balbi | 2f36ff6 | 2014-04-16 16:16:33 -0500 | [diff] [blame] | 21 | extern struct platform_device *usb_phy_generic_register(void); |
| 22 | extern void usb_phy_generic_unregister(struct platform_device *); |
Felipe Balbi | 78c289f | 2012-07-19 13:32:15 +0300 | [diff] [blame] | 23 | #else |
Felipe Balbi | 2f36ff6 | 2014-04-16 16:16:33 -0500 | [diff] [blame] | 24 | static inline struct platform_device *usb_phy_generic_register(void) |
Felipe Balbi | 78c289f | 2012-07-19 13:32:15 +0300 | [diff] [blame] | 25 | { |
Felipe Balbi | 2f36ff6 | 2014-04-16 16:16:33 -0500 | [diff] [blame] | 26 | return NULL; |
Felipe Balbi | 78c289f | 2012-07-19 13:32:15 +0300 | [diff] [blame] | 27 | } |
| 28 | |
Felipe Balbi | 2f36ff6 | 2014-04-16 16:16:33 -0500 | [diff] [blame] | 29 | static inline void usb_phy_generic_unregister(struct platform_device *pdev) |
Felipe Balbi | 78c289f | 2012-07-19 13:32:15 +0300 | [diff] [blame] | 30 | { |
| 31 | } |
| 32 | #endif |
| 33 | |
| 34 | #endif /* __LINUX_USB_NOP_XCEIV_H */ |