usb_phy_generic.h 853 B

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