1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __LINUX_USB_NOP_XCEIV_H
3 #define __LINUX_USB_NOP_XCEIV_H
5 #include <linux/usb/otg.h>
6 #include <linux/gpio/consumer.h>
8 struct usb_phy_generic_platform_data
{
9 enum usb_phy_type type
;
10 unsigned long clk_rate
;
12 /* if set fails with -EPROBE_DEFER if can't get regulator */
13 unsigned int needs_vcc
:1;
14 unsigned int needs_reset
:1; /* deprecated */
16 struct gpio_desc
*gpiod_vbus
;
19 #if IS_ENABLED(CONFIG_NOP_USB_XCEIV)
20 /* sometimes transceivers are accessed only through e.g. ULPI */
21 extern struct platform_device
*usb_phy_generic_register(void);
22 extern void usb_phy_generic_unregister(struct platform_device
*);
24 static inline struct platform_device
*usb_phy_generic_register(void)
29 static inline void usb_phy_generic_unregister(struct platform_device
*pdev
)
34 #endif /* __LINUX_USB_NOP_XCEIV_H */