]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
usb: hub: Add missing reset recovery delay
authorHector Martin <marcan@marcan.st>
Sun, 29 Oct 2023 07:09:09 +0000 (16:09 +0900)
committerMarek Vasut <marex@denx.de>
Fri, 1 Dec 2023 13:06:12 +0000 (14:06 +0100)
Some devices like YubiKeys need more time before SET_ADDRESS. The spec
says we need to wait 10ms.

Signed-off-by: Hector Martin <marcan@marcan.st>
Reviewed-by: Marek Vasut <marex@denx.de>
common/usb_hub.c

index 85c0822d8b7ba55989ece166473b12400c3ba545..70279f301d5ab2b9d1421cbf338a56df45cf2e0b 100644 (file)
@@ -395,6 +395,13 @@ int usb_hub_port_connect_change(struct usb_device *dev, int port)
                break;
        }
 
+       /*
+        * USB 2.0 7.1.7.5: devices must be able to accept a SetAddress()
+        * request (refer to Section 11.24.2 and Section 9.4 respectively)
+        * after the reset recovery time 10 ms
+        */
+       mdelay(10);
+
 #if CONFIG_IS_ENABLED(DM_USB)
        struct udevice *child;