refactor(port/ch32): classify ch32 port

Signed-off-by: sakumisu <1203593632@qq.com>
This commit is contained in:
sakumisu
2025-06-12 21:35:51 +08:00
parent 8b63acd46c
commit 6a226e3e3c
11 changed files with 23 additions and 7 deletions

View File

@@ -204,7 +204,7 @@ TODO
|AllwinnerTech | F1C100S/F1C200S | musb |[cherryusb_rtt_f1c100s](https://github.com/CherryUSB/cherryusb_rtt_f1c100s)|<= latest | the same with musb |
|Bekencorp | bk7256/bk7258 | musb |[bk_idk](https://github.com/CherryUSB/bk_idk)| v0.7.0 | the same with musb |
|Sophgo | cv18xx | dwc2 |[cvi_alios_open](https://github.com/CherryUSB/cvi_alios_open)| v0.7.0 | TBD |
|WCH | CH32V307/ch58x | ch32_usbfs/ch32_usbhs/ch58x |[wch_repo](https://github.com/CherryUSB/cherryusb_wch)|<= v0.10.2 | TBD |
|WCH | CH32V307/ch58x | ch32_usbfs/ch32_usbhs/ch58x |[wch_repo](https://github.com/CherryUSB/cherryusb_wch)|<= v0.10.2/>=v1.5.0 | TBD |
## Package Support

View File

@@ -204,7 +204,7 @@ TODO
|AllwinnerTech | F1C100S/F1C200S | musb |[cherryusb_rtt_f1c100s](https://github.com/CherryUSB/cherryusb_rtt_f1c100s)|<= latest | the same with musb |
|Bekencorp | bk7256/bk7258 | musb |[bk_idk](https://github.com/CherryUSB/bk_idk)| v0.7.0 | the same with musb |
|Sophgo | cv18xx | dwc2 |[cvi_alios_open](https://github.com/CherryUSB/cvi_alios_open)| v0.7.0 | TBD |
|WCH | CH32V307/ch58x | ch32_usbfs/ch32_usbhs/ch58x |[wch_repo](https://github.com/CherryUSB/cherryusb_wch)|<= v0.10.2 | TBD |
|WCH | CH32V307/ch58x | ch32_usbfs/ch32_usbhs/ch58x |[wch_repo](https://github.com/CherryUSB/cherryusb_wch)|<= v0.10.2/>=v1.5.0 | TBD |
## 软件包支持

View File

@@ -2,4 +2,15 @@
## Support Chip List
- CH32V30x
## CH32FS
- CH32V30X/CH32V20X/CH32V10X/CH32X035
## CH32HS
- CH32V30X
## CH58X
- CH57X/CH58X(usbfs)
- CH585(usbhs)

View File

@@ -404,8 +404,8 @@ void USBD_IRQHandler(uint8_t busid)
}
}
void OTG_FS_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));
void OTG_FS_IRQHandler(void)
void USBFS_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));
void USBFS_IRQHandler(void)
{
extern void USBD_IRQHandler(uint8_t busid);
USBD_IRQHandler(0);

View File

@@ -1,5 +1,5 @@
#include "usbd_core.h"
#include "ch585_usbhs_reg.h"
#include "usb_ch585_usbhs_reg.h"
/**
* @brief Related register macro
@@ -507,7 +507,7 @@ void USBD_IRQHandler(uint8_t busid)
R8_U2EP0_RX_CTRL = USBHS_UEP_R_RES_ACK;
CH585_USBHS_DEV->INT_FG = USBHS_UDIF_BUS_RST;
} else if (intflag & USBHS_UDIF_SUSPEND) {
if (CH585_USBHS_DEV->MIS_ST & 0x04) {
if (CH585_USBHS_DEV->MIS_ST & USBHS_UDMS_SUSPEND) {
/* Suspend */
} else {
/* Wake up */

View File

@@ -1,3 +1,8 @@
/*
* Copyright (c) 2024, sakumisu
*
* SPDX-License-Identifier: Apache-2.0
*/
#pragma once
/**********************************/