[U-Boot] [PATCH] usb: ci_udc: implement dfu_usb_get_reset

Stephen Warren swarren at wwwdotorg.org
Mon Aug 25 22:02:15 CEST 2014


From: Stephen Warren <swarren at nvidia.com>

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 at nvidia.com>
---
Note that this patch relies on the following unapplied patch:
[PATCH 1/2] dfu: Provide means to find difference between dfu-util -e and -R
---
 drivers/usb/gadget/ci_udc.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/usb/gadget/ci_udc.c b/drivers/usb/gadget/ci_udc.c
index 4cd19c3afd22..2572b346ebfa 100644
--- a/drivers/usb/gadget/ci_udc.c
+++ b/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);
+}
-- 
1.9.1



More information about the U-Boot mailing list