linux/include/linux/usb/usb_phy_generic.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef __LINUX_USB_NOP_XCEIV_H
   3#define __LINUX_USB_NOP_XCEIV_H
   4
   5#include <linux/usb/otg.h>
   6#include <linux/gpio/consumer.h>
   7
   8struct usb_phy_generic_platform_data {
   9        enum usb_phy_type type;
  10        unsigned long clk_rate;
  11
  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 */
  15        int gpio_reset;
  16        struct gpio_desc *gpiod_vbus;
  17};
  18
  19#if IS_ENABLED(CONFIG_NOP_USB_XCEIV)
  20/* sometimes transceivers are accessed only through e.g. ULPI */
  21extern struct platform_device *usb_phy_generic_register(void);
  22extern void usb_phy_generic_unregister(struct platform_device *);
  23#else
  24static inline struct platform_device *usb_phy_generic_register(void)
  25{
  26        return NULL;
  27}
  28
  29static inline void usb_phy_generic_unregister(struct platform_device *pdev)
  30{
  31}
  32#endif
  33
  34#endif /* __LINUX_USB_NOP_XCEIV_H */
  35