1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
diff --git a/firmware/target/arm/as3525/usb-drv-as3525v2.c b/firmware/target/arm/as3525/usb-drv-as3525v2.c
index 1514e76..23f65dd 100644
--- a/firmware/target/arm/as3525/usb-drv-as3525v2.c
+++ b/firmware/target/arm/as3525/usb-drv-as3525v2.c
@@ -108,7 +108,7 @@ void usb_attach(void)
     usb_enable(true);
 }

-static void usb_delay(void)
+static inline void usb_delay(void)
 {
     int i = 0;
     while(i < 0x300)
@@ -156,10 +156,8 @@ static void as3525v2_connect(void)
     GUSBCFG |= GUSBCFG_force_device_mode;
     usb_delay();
     /* 11) Do something that is probably CCU related but undocumented*/
-    CCU_USB &= ~0x1000;
-    usb_delay();
+    CCU_USB |= 0x1000;
     CCU_USB &= ~0x300000;
-    usb_delay();
     /* 12) reset usb core parameters (dev addr, speed, ...) */
     DCFG = 0;
     usb_delay();