|
@@ -67,6 +67,22 @@ int dwc3_gadget_set_test_mode(struct dwc3 *dwc, int mode)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * dwc3_gadget_get_link_state - Gets current state of USB Link
|
|
|
+ * @dwc: pointer to our context structure
|
|
|
+ *
|
|
|
+ * Caller should take care of locking. This function will
|
|
|
+ * return the link state on success (>= 0) or -ETIMEDOUT.
|
|
|
+ */
|
|
|
+int dwc3_gadget_get_link_state(struct dwc3 *dwc)
|
|
|
+{
|
|
|
+ u32 reg;
|
|
|
+
|
|
|
+ reg = dwc3_readl(dwc->regs, DWC3_DSTS);
|
|
|
+
|
|
|
+ return DWC3_DSTS_USBLNKST(reg);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* dwc3_gadget_set_link_state - Sets USB Link to a particular State
|
|
|
* @dwc: pointer to our context structure
|