summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2021-09-08 17:53:42 +0700
committerGitHub <[email protected]>2021-09-08 17:53:42 +0700
commitc5e6e87d1384d1b544a3091b27f8e040dd64fb09 (patch)
treedc10e4b2dec435d91a739f0794a3ce1bfa509eef
parentf878f892ad3d2275ec9b85e3c0e1f5aa5837262d (diff)
parentf3da48d46adac415846985643c1b6d04c3866b94 (diff)
Merge pull request #1076 from kkitayam/impl_close_all_for_rx
Implement dcd_edpt_close_all() for Renesas RX family
-rw-r--r--docs/reference/supported.rst4
-rw-r--r--src/portable/renesas/usba/dcd_usba.c12
2 files changed, 11 insertions, 5 deletions
diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst
index 4c7d753c2..d114d8405 100644
--- a/docs/reference/supported.rst
+++ b/docs/reference/supported.rst
@@ -84,9 +84,9 @@ Supported MCUs
+--------------+-------+------------+-------------------+--------------------+-------------------+-------------------+--------------+
| Raspberry Pi | RP2040 | |:green_square:| | |:x:| | |:green_square:| | | |
+--------------+--------------------+-------------------+--------------------+-------------------+-------------------+--------------+
-| Renesas | RX63N | | | | | |
+| Renesas | RX63N | |:green_square:| | | |:green_square:| | |:x:| | |
| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+
-| | RX65N | | | | | |
+| | RX65N | |:green_square:| | | |:green_square:| | |:x:| | |
+--------------+--------------------+-------------------+--------------------+-------------------+-------------------+--------------+
| Silabs | EFM32GG12 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | #750 |
+--------------+--------------------+-------------------+--------------------+-------------------+-------------------+--------------+
diff --git a/src/portable/renesas/usba/dcd_usba.c b/src/portable/renesas/usba/dcd_usba.c
index a837b5724..8e2e3dc26 100644
--- a/src/portable/renesas/usba/dcd_usba.c
+++ b/src/portable/renesas/usba/dcd_usba.c
@@ -733,10 +733,16 @@ bool dcd_edpt_open(uint8_t rhport, tusb_desc_endpoint_t const * ep_desc)
return true;
}
-void dcd_edpt_close_all (uint8_t rhport)
+void dcd_edpt_close_all(uint8_t rhport)
{
- (void) rhport;
- // TODO implement dcd_edpt_close_all()
+ unsigned i = TU_ARRAY_SIZE(_dcd.pipe);
+ dcd_int_disable(rhport);
+ while (--i) { /* Close all pipes except 0 */
+ const unsigned ep_addr = _dcd.pipe[i].ep;
+ if (!ep_addr) continue;
+ dcd_edpt_close(rhport, ep_addr);
+ }
+ dcd_int_enable(rhport);
}
void dcd_edpt_close(uint8_t rhport, uint8_t ep_addr)