diff options
Diffstat (limited to 'src/portable')
| -rw-r--r-- | src/portable/nuvoton/nuc120/dcd_nuc120.c | 12 | ||||
| -rw-r--r-- | src/portable/nuvoton/nuc121/dcd_nuc121.c | 12 | ||||
| -rw-r--r-- | src/portable/nuvoton/nuc505/dcd_nuc505.c | 17 |
3 files changed, 41 insertions, 0 deletions
diff --git a/src/portable/nuvoton/nuc120/dcd_nuc120.c b/src/portable/nuvoton/nuc120/dcd_nuc120.c index e7bb4d431..050aea255 100644 --- a/src/portable/nuvoton/nuc120/dcd_nuc120.c +++ b/src/portable/nuvoton/nuc120/dcd_nuc120.c @@ -426,4 +426,16 @@ void dcd_irq_handler(uint8_t rhport) USBD->INTSTS = status & enabled_irqs; } +void dcd_disconnect(uint8_t rhport) +{ + (void) rhport; + usb_detach(); +} + +void dcd_connect(uint8_t rhport) +{ + (void) rhport; + usb_attach(); +} + #endif diff --git a/src/portable/nuvoton/nuc121/dcd_nuc121.c b/src/portable/nuvoton/nuc121/dcd_nuc121.c index e9fbc2220..df72cbb2d 100644 --- a/src/portable/nuvoton/nuc121/dcd_nuc121.c +++ b/src/portable/nuvoton/nuc121/dcd_nuc121.c @@ -442,4 +442,16 @@ void dcd_irq_handler(uint8_t rhport) USBD->INTSTS = status & enabled_irqs; } +void dcd_disconnect(uint8_t rhport) +{ + (void) rhport; + usb_detach(); +} + +void dcd_connect(uint8_t rhport) +{ + (void) rhport; + usb_attach(); +} + #endif diff --git a/src/portable/nuvoton/nuc505/dcd_nuc505.c b/src/portable/nuvoton/nuc505/dcd_nuc505.c index bb010a408..3baed87c5 100644 --- a/src/portable/nuvoton/nuc505/dcd_nuc505.c +++ b/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; @@ -643,4 +648,16 @@ void dcd_irq_handler(uint8_t rhport) } } +void dcd_disconnect(uint8_t rhport) +{ + (void) rhport; + usb_detach(); +} + +void dcd_connect(uint8_t rhport) +{ + (void) rhport; + usb_attach(); +} + #endif |
