|  | 
| 1 | 1 | --- a/components/arduino_tinyusb/src/dcd_dwc2.c	2024-10-02 12:17:40.000000000 +0300 | 
| 2 | 2 | +++ b/components/arduino_tinyusb/src/dcd_dwc2.c	2024-10-02 12:19:48.000000000 +0300 | 
| 3 |  | -@@ -215,6 +215,17 @@ | 
|  | 3 | +@@ -243,6 +243,17 @@ | 
| 4 | 4 |  //-------------------------------------------------------------------- | 
| 5 | 5 |  // Endpoint | 
| 6 | 6 |  //-------------------------------------------------------------------- | 
|  | 
| 14 | 14 | +  return 0; | 
| 15 | 15 | +} | 
| 16 | 16 | +#endif | 
| 17 |  | -+  | 
| 18 |  | - static void edpt_activate(uint8_t rhport, tusb_desc_endpoint_t const * p_endpoint_desc) { | 
|  | 17 | ++ | 
|  | 18 | + static void edpt_activate(uint8_t rhport, const tusb_desc_endpoint_t* p_endpoint_desc) { | 
| 19 | 19 |    dwc2_regs_t* dwc2 = DWC2_REG(rhport); | 
| 20 | 20 |    const uint8_t epnum = tu_edpt_number(p_endpoint_desc->bEndpointAddress); | 
| 21 |  | -@@ -238,7 +249,18 @@ | 
|  | 21 | +@@ -266,7 +277,18 @@ | 
| 22 | 22 |      depctl.bm.set_data0_iso_even = 1; | 
| 23 | 23 |    } | 
| 24 | 24 |    if (dir == TUSB_DIR_IN) { | 
|  | 
| 38 | 38 |    } | 
| 39 | 39 | 
 | 
| 40 | 40 |    dwc2_dep_t* dep = &dwc2->ep[dir == TUSB_DIR_IN ? 0 : 1][epnum]; | 
| 41 |  | -@@ -523,6 +545,10 @@ | 
|  | 41 | +@@ -557,6 +579,10 @@ | 
| 42 | 42 |      } | 
| 43 | 43 |    } | 
| 44 | 44 | 
 | 
|  | 
| 49 | 49 |    dfifo_flush_tx(dwc2, 0x10); // all tx fifo | 
| 50 | 50 |    dfifo_flush_rx(dwc2); | 
| 51 | 51 | 
 | 
| 52 |  | -@@ -959,6 +985,9 @@ | 
|  | 52 | +@@ -997,6 +1023,9 @@ | 
| 53 | 53 |    if (gintsts & GINTSTS_USBRST) { | 
| 54 | 54 |      // USBRST is start of reset. | 
| 55 | 55 |      dwc2->gintsts = GINTSTS_USBRST; | 
| 56 | 56 | +#if TU_CHECK_MCU(OPT_MCU_ESP32S2, OPT_MCU_ESP32S3) | 
| 57 |  | -+    allocated_fifos = 1; | 
|  | 57 | ++    _allocated_fifos = 1; | 
| 58 | 58 | +#endif | 
| 59 | 59 |      handle_bus_reset(rhport); | 
| 60 | 60 |    } | 
| 61 | 61 | 
 | 
| 62 |  | -@@ -970,7 +999,11 @@ | 
|  | 62 | +@@ -1008,7 +1037,11 @@ | 
| 63 | 63 | 
 | 
| 64 | 64 |    if (gintsts & GINTSTS_USBSUSP) { | 
| 65 | 65 |      dwc2->gintsts = GINTSTS_USBSUSP; | 
| 66 | 66 | -    dcd_event_bus_signal(rhport, DCD_EVENT_SUSPEND, true); | 
| 67 | 67 | +    //dcd_event_bus_signal(rhport, DCD_EVENT_SUSPEND, true); | 
| 68 | 68 | +    dcd_event_bus_signal(rhport, DCD_EVENT_UNPLUGGED, true); | 
| 69 | 69 | +#if TU_CHECK_MCU(OPT_MCU_ESP32S2, OPT_MCU_ESP32S3) | 
| 70 |  | -+    allocated_fifos = 1; | 
|  | 70 | ++    _allocated_fifos = 1; | 
| 71 | 71 | +#endif | 
| 72 | 72 |    } | 
| 73 | 73 | 
 | 
| 74 | 74 |    if (gintsts & GINTSTS_WKUINT) { | 
| 75 |  | -@@ -987,6 +1020,9 @@ | 
|  | 75 | +@@ -1025,6 +1058,9 @@ | 
| 76 | 76 | 
 | 
| 77 | 77 |      if (otg_int & GOTGINT_SEDET) { | 
| 78 | 78 |        dcd_event_bus_signal(rhport, DCD_EVENT_UNPLUGGED, true); | 
| 79 | 79 | +#if TU_CHECK_MCU(OPT_MCU_ESP32S2, OPT_MCU_ESP32S3) | 
| 80 |  | -+      allocated_fifos = 1; | 
|  | 80 | ++      _allocated_fifos = 1; | 
| 81 | 81 | +#endif | 
| 82 | 82 |      } | 
| 83 | 83 | 
 | 
|  | 
0 commit comments