Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
78c289f8 FB |
2 | #ifndef __LINUX_USB_NOP_XCEIV_H |
3 | #define __LINUX_USB_NOP_XCEIV_H | |
4 | ||
c84d364f | 5 | #include <linux/usb/otg.h> |
7acc9973 | 6 | #include <linux/gpio/consumer.h> |
c84d364f | 7 | |
4525beeb | 8 | struct usb_phy_generic_platform_data { |
c84d364f | 9 | enum usb_phy_type type; |
1f0972f5 RQ |
10 | unsigned long clk_rate; |
11 | ||
12 | /* if set fails with -EPROBE_DEFER if can't get regulator */ | |
13 | unsigned int needs_vcc:1; | |
8e933359 RQ |
14 | unsigned int needs_reset:1; /* deprecated */ |
15 | int gpio_reset; | |
7acc9973 | 16 | struct gpio_desc *gpiod_vbus; |
c84d364f FB |
17 | }; |
18 | ||
dca769bd | 19 | #if IS_ENABLED(CONFIG_NOP_USB_XCEIV) |
78c289f8 | 20 | /* sometimes transceivers are accessed only through e.g. ULPI */ |
2f36ff69 FB |
21 | extern struct platform_device *usb_phy_generic_register(void); |
22 | extern void usb_phy_generic_unregister(struct platform_device *); | |
78c289f8 | 23 | #else |
2f36ff69 | 24 | static inline struct platform_device *usb_phy_generic_register(void) |
78c289f8 | 25 | { |
2f36ff69 | 26 | return NULL; |
78c289f8 FB |
27 | } |
28 | ||
2f36ff69 | 29 | static inline void usb_phy_generic_unregister(struct platform_device *pdev) |
78c289f8 FB |
30 | { |
31 | } | |
32 | #endif | |
33 | ||
34 | #endif /* __LINUX_USB_NOP_XCEIV_H */ |