summaryrefslogtreecommitdiff
path: root/include/linux/usb/usb_phy_generic.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/usb/usb_phy_generic.h')
-rw-r--r--include/linux/usb/usb_phy_generic.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/linux/usb/usb_phy_generic.h b/include/linux/usb/usb_phy_generic.h
new file mode 100644
index 000000000000..68adae83affc
--- /dev/null
+++ b/include/linux/usb/usb_phy_generic.h
@@ -0,0 +1,31 @@
+#ifndef __LINUX_USB_NOP_XCEIV_H
+#define __LINUX_USB_NOP_XCEIV_H
+
+#include <linux/usb/otg.h>
+
+struct usb_phy_generic_platform_data {
+ enum usb_phy_type type;
+ unsigned long clk_rate;
+
+ /* if set fails with -EPROBE_DEFER if can't get regulator */
+ unsigned int needs_vcc:1;
+ unsigned int needs_reset:1; /* deprecated */
+ int gpio_reset;
+};
+
+#if IS_ENABLED(CONFIG_NOP_USB_XCEIV)
+/* sometimes transceivers are accessed only through e.g. ULPI */
+extern struct platform_device *usb_phy_generic_register(void);
+extern void usb_phy_generic_unregister(struct platform_device *);
+#else
+static inline struct platform_device *usb_phy_generic_register(void)
+{
+ return NULL;
+}
+
+static inline void usb_phy_generic_unregister(struct platform_device *pdev)
+{
+}
+#endif
+
+#endif /* __LINUX_USB_NOP_XCEIV_H */