Просмотр исходного кода

Merge pull request #1061 from hathach/samd-compliance

Update SAMD to pass USBCV
Ha Thach 4 лет назад
Родитель
Сommit
e2175f6ed1

+ 1 - 1
hw/bsp/samd21/boards/metro_m0_express/board.h

@@ -35,7 +35,7 @@
 #define LED_PIN               17
 #define LED_STATE_ON          1
 
-// Button
+// Button: D5
 #define BUTTON_PIN            15
 #define BUTTON_STATE_ACTIVE   0
 

+ 2 - 2
hw/bsp/samd51/boards/metro_m4_express/board.h

@@ -35,8 +35,8 @@
 #define LED_PIN               16
 #define LED_STATE_ON          1
 
-// Button
-#define BUTTON_PIN            (32+14) // D5
+// Button: D5
+#define BUTTON_PIN            (32+14)
 #define BUTTON_STATE_ACTIVE   0
 
 // UART

+ 2 - 0
src/portable/microchip/samd/dcd_samd.c

@@ -230,10 +230,12 @@ bool dcd_edpt_open (uint8_t rhport, tusb_desc_endpoint_t const * desc_edpt)
   if ( dir == TUSB_DIR_OUT )
   {
     ep->EPCFG.bit.EPTYPE0 = desc_edpt->bmAttributes.xfer + 1;
+    ep->EPSTATUSCLR.reg = USB_DEVICE_EPSTATUSCLR_STALLRQ0 | USB_DEVICE_EPSTATUSCLR_DTGLOUT; // clear stall & dtoggle
     ep->EPINTENSET.bit.TRCPT0 = true;
   }else
   {
     ep->EPCFG.bit.EPTYPE1 = desc_edpt->bmAttributes.xfer + 1;
+    ep->EPSTATUSCLR.reg = USB_DEVICE_EPSTATUSCLR_STALLRQ1 | USB_DEVICE_EPSTATUSCLR_DTGLIN; // clear stall & dtoggle
     ep->EPINTENSET.bit.TRCPT1 = true;
   }