Przeglądaj źródła

Merge pull request #328 from majbthrd/nuc_connect

nuvoton: add dcd_disconnect() dcd_connect()
Ha Thach 5 lat temu
rodzic
commit
36b33ee775

+ 12 - 0
src/portable/nuvoton/nuc120/dcd_nuc120.c

@@ -430,4 +430,16 @@ void dcd_isr(uint8_t rhport)
   USBD_IRQHandler();
 }
 
+void dcd_disconnect(uint8_t rhport)
+{
+  (void) rhport;
+  usb_detach();
+}
+
+void dcd_connect(uint8_t rhport)
+{
+  (void) rhport;
+  usb_attach();
+}
+
 #endif

+ 12 - 0
src/portable/nuvoton/nuc121/dcd_nuc121.c

@@ -446,4 +446,16 @@ void dcd_isr(uint8_t rhport)
   USBD_IRQHandler();
 }
 
+void dcd_disconnect(uint8_t rhport)
+{
+  (void) rhport;
+  usb_detach();
+}
+
+void dcd_connect(uint8_t rhport)
+{
+  (void) rhport;
+  usb_attach();
+}
+
 #endif

+ 17 - 0
src/portable/nuvoton/nuc505/dcd_nuc505.c

@@ -126,6 +126,11 @@ static void usb_attach(void)
   USBD->PHYCTL |= USBD_PHYCTL_DPPUEN_Msk;
 }
 
+static void usb_detach(void)
+{
+  USBD->PHYCTL &= ~USBD_PHYCTL_DPPUEN_Msk;
+}
+
 static void usb_control_send_zlp(void)
 {
   USBD->CEPINTSTS = USBD_CEPINTSTS_STSDONEIF_Msk;
@@ -647,4 +652,16 @@ void dcd_isr(uint8_t rhport)
   USBD_IRQHandler();
 }
 
+void dcd_disconnect(uint8_t rhport)
+{
+  (void) rhport;
+  usb_detach();
+}
+
+void dcd_connect(uint8_t rhport)
+{
+  (void) rhport;
+  usb_attach();
+}
+
 #endif