Browse Source

usb: ci_udc: implement dfu_usb_get_reset

This allows the USB code to determine whether a USB bus reset was issued,
which in turn allows the code to differentiate between a detach (return
to shell prompt) and a board reset/reboot request.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Stephen Warren 10 years ago
parent
commit
842ef9a98e
1 changed files with 7 additions and 0 deletions
  1. 7 0
      drivers/usb/gadget/ci_udc.c

+ 7 - 0
drivers/usb/gadget/ci_udc.c

@@ -919,3 +919,10 @@ int usb_gadget_unregister_driver(struct usb_gadget_driver *driver)
 
 	return 0;
 }
+
+bool dfu_usb_get_reset(void)
+{
+	struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor;
+
+	return !!(readl(&udc->usbsts) & STS_URI);
+}