summaryrefslogtreecommitdiffstats
path: root/kernel/include/linux/usb/otg.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/include/linux/usb/otg.h')
-rw-r--r--kernel/include/linux/usb/otg.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/kernel/include/linux/usb/otg.h b/kernel/include/linux/usb/otg.h
index 52661c5da..67929df86 100644
--- a/kernel/include/linux/usb/otg.h
+++ b/kernel/include/linux/usb/otg.h
@@ -41,6 +41,21 @@ struct usb_otg {
};
+/**
+ * struct usb_otg_caps - describes the otg capabilities of the device
+ * @otg_rev: The OTG revision number the device is compliant with, it's
+ * in binary-coded decimal (i.e. 2.0 is 0200H).
+ * @hnp_support: Indicates if the device supports HNP.
+ * @srp_support: Indicates if the device supports SRP.
+ * @adp_support: Indicates if the device supports ADP.
+ */
+struct usb_otg_caps {
+ u16 otg_rev;
+ bool hnp_support;
+ bool srp_support;
+ bool adp_support;
+};
+
extern const char *usb_otg_state_string(enum usb_otg_state state);
/* Context: can sleep */
@@ -104,4 +119,13 @@ enum usb_dr_mode {
USB_DR_MODE_OTG,
};
+/**
+ * usb_get_dr_mode - Get dual role mode for given device
+ * @dev: Pointer to the given device
+ *
+ * The function gets phy interface string from property 'dr_mode',
+ * and returns the correspondig enum usb_dr_mode
+ */
+extern enum usb_dr_mode usb_get_dr_mode(struct device *dev);
+
#endif /* __LINUX_USB_OTG_H */