summaryrefslogtreecommitdiff
path: root/src/portable
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2020-04-09 11:22:20 +0700
committerGitHub <[email protected]>2020-04-09 11:22:20 +0700
commitdefea45d449eb1fe9eccf992041b196cc58d115d (patch)
tree4eefc3ef124469595eb63fdc6dfbde9e1cae2eb4 /src/portable
parent40e23672ff192b3d0ab1312987ecc94d4e0de0e7 (diff)
parent36b33ee775a02e1263f61bc4a82e58d8e8559734 (diff)
Merge branch 'master' into refactor-irqhandler
Diffstat (limited to 'src/portable')
-rw-r--r--src/portable/nuvoton/nuc120/dcd_nuc120.c12
-rw-r--r--src/portable/nuvoton/nuc121/dcd_nuc121.c12
-rw-r--r--src/portable/nuvoton/nuc505/dcd_nuc505.c17
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