summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Davill <[email protected]>2022-03-23 00:00:06 +1030
committerGreg Davill <[email protected]>2022-03-23 00:00:06 +1030
commitcdb8a1a2a1dd863f35fd91d58c18ec83115f9326 (patch)
tree383fbc7050f7662c6f36d62fc34888bcccf79f9e
parent325923b6c61d0a914a0c6f78e650c6b85fbd13d2 (diff)
Clean up driver
-rw-r--r--src/common/tusb_mcu.h2
-rw-r--r--src/portable/wch/ch32v307/usb_dc_usbhs.c10
2 files changed, 5 insertions, 7 deletions
diff --git a/src/common/tusb_mcu.h b/src/common/tusb_mcu.h
index 9de092e34..fb0cdd361 100644
--- a/src/common/tusb_mcu.h
+++ b/src/common/tusb_mcu.h
@@ -268,7 +268,7 @@
//------------- WCH -------------//
#elif TU_CHECK_MCU(OPT_MCU_CH32V307)
- #define TUP_DCD_ENDPOINT_MAX 8
+ #define TUP_DCD_ENDPOINT_MAX 16
#endif
diff --git a/src/portable/wch/ch32v307/usb_dc_usbhs.c b/src/portable/wch/ch32v307/usb_dc_usbhs.c
index 3a2c9979e..e647389ee 100644
--- a/src/portable/wch/ch32v307/usb_dc_usbhs.c
+++ b/src/portable/wch/ch32v307/usb_dc_usbhs.c
@@ -56,10 +56,8 @@ static xfer_ctl_t xfer_status[EP_MAX][2];
#define EP_RX_DMA_ADDR(ep) *(volatile uint32_t *)((volatile uint32_t *)&(USBHSD->UEP1_RX_DMA) + (ep - 1))
/* Endpoint Buffer */
-__attribute__((aligned(4))) uint8_t setup[8]; // ep0(64)
-__attribute__((aligned(4))) uint8_t EP0_DatabufHD[64]; // ep0(64)
+TU_ATTR_ALIGNED(4) uint8_t EP0_DatabufHD[64]; // ep0(64)
-volatile uint8_t mps_over_flag = 0;
volatile uint8_t USBHS_Dev_Endp0_Tog = 0x01;
void dcd_init(uint8_t rhport) {
@@ -67,15 +65,15 @@ void dcd_init(uint8_t rhport) {
memset(&xfer_status, 0, sizeof(xfer_status));
- // usb_dc_low_level_init();
-
USBHSD->HOST_CTRL = 0x00;
USBHSD->HOST_CTRL = USBHS_PHY_SUSPENDM;
USBHSD->CONTROL = 0;
-#if 1
+
+#if (BOARD_DEVICE_RHPORT_SPEED == OPT_MODE_HIGH_SPEED)
USBHSD->CONTROL = USBHS_DMA_EN | USBHS_INT_BUSY_EN | USBHS_HIGH_SPEED;
#else
+ #error OPT_MODE_FULL_SPEED not currently supported on CH32V307
USBHSD->CONTROL = USBHS_DMA_EN | USBHS_INT_BUSY_EN | USBHS_FULL_SPEED;
#endif