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