add TUP_USBIP_DWC2

This commit is contained in:
hathach 2022-02-26 17:13:06 +07:00
parent 11c89d43ab
commit a4ba3f2891
2 changed files with 59 additions and 58 deletions

View File

@ -51,10 +51,10 @@
//------------- NXP -------------// //------------- NXP -------------//
#if TU_CHECK_MCU(OPT_MCU_LPC11UXX, OPT_MCU_LPC13XX, OPT_MCU_LPC15XX) #if TU_CHECK_MCU(OPT_MCU_LPC11UXX, OPT_MCU_LPC13XX, OPT_MCU_LPC15XX)
#define TUP_DCD_ENDPOINT_MAX 5 #define TUP_DCD_ENDPOINT_MAX 5
#elif TU_CHECK_MCU(OPT_MCU_LPC175X_6X, OPT_MCU_LPC177X_8X, OPT_MCU_LPC40XX) #elif TU_CHECK_MCU(OPT_MCU_LPC175X_6X, OPT_MCU_LPC177X_8X, OPT_MCU_LPC40XX)
#define TUP_DCD_ENDPOINT_MAX 16 #define TUP_DCD_ENDPOINT_MAX 16
#define TUP_USBIP_OHCI #define TUP_USBIP_OHCI
#elif TU_CHECK_MCU(OPT_MCU_LPC18XX, OPT_MCU_LPC43XX) #elif TU_CHECK_MCU(OPT_MCU_LPC18XX, OPT_MCU_LPC43XX)
@ -62,8 +62,8 @@
#define TUP_USBIP_CHIPIDEA_HS #define TUP_USBIP_CHIPIDEA_HS
#define TUP_USBIP_EHCI #define TUP_USBIP_EHCI
#define TUP_DCD_ENDPOINT_MAX 6 #define TUP_DCD_ENDPOINT_MAX 6
#define TUP_RHPORT_HIGHSPEED 0x01 // Port0 HS, Port1 FS #define TUP_RHPORT_HIGHSPEED 0x01 // Port0 HS, Port1 FS
#elif TU_CHECK_MCU(OPT_MCU_LPC51UXX) #elif TU_CHECK_MCU(OPT_MCU_LPC51UXX)
@ -71,52 +71,52 @@
#elif TU_CHECK_MCU(OPT_MCU_LPC54XXX) #elif TU_CHECK_MCU(OPT_MCU_LPC54XXX)
// TODO USB0 has 5, USB1 has 6 // TODO USB0 has 5, USB1 has 6
#define TUP_DCD_ENDPOINT_MAX 6 #define TUP_DCD_ENDPOINT_MAX 6
#elif TU_CHECK_MCU(OPT_MCU_LPC55XX) #elif TU_CHECK_MCU(OPT_MCU_LPC55XX)
// TODO USB0 has 5, USB1 has 6 // TODO USB0 has 5, USB1 has 6
#define TUP_DCD_ENDPOINT_MAX 6 #define TUP_DCD_ENDPOINT_MAX 6
#elif TU_CHECK_MCU(OPT_MCU_MIMXRT10XX) #elif TU_CHECK_MCU(OPT_MCU_MIMXRT10XX)
#define TUP_USBIP_CHIPIDEA_HS #define TUP_USBIP_CHIPIDEA_HS
#define TUP_USBIP_EHCI #define TUP_USBIP_EHCI
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
#define TUP_RHPORT_HIGHSPEED 0x03 // Port0 HS, Port1 HS #define TUP_RHPORT_HIGHSPEED 0x03 // Port0 HS, Port1 HS
#elif TU_CHECK_MCU(OPT_MCU_MKL25ZXX, OPT_MCU_K32L2BXX) #elif TU_CHECK_MCU(OPT_MCU_MKL25ZXX, OPT_MCU_K32L2BXX)
#define TUP_DCD_ENDPOINT_MAX 16 #define TUP_DCD_ENDPOINT_MAX 16
#elif TU_CHECK_MCU(OPT_MCU_MM32F327X) #elif TU_CHECK_MCU(OPT_MCU_MM32F327X)
#define TUP_DCD_ENDPOINT_MAX 16 #define TUP_DCD_ENDPOINT_MAX 16
//------------- Nordic -------------// //------------- Nordic -------------//
#elif TU_CHECK_MCU(OPT_MCU_NRF5X) #elif TU_CHECK_MCU(OPT_MCU_NRF5X)
// 8 CBI + 1 ISO // 8 CBI + 1 ISO
#define TUP_DCD_ENDPOINT_MAX 9 #define TUP_DCD_ENDPOINT_MAX 9
//------------- Microchip -------------// //------------- Microchip -------------//
#elif TU_CHECK_MCU(OPT_MCU_SAMD21, OPT_MCU_SAMD51, OPT_MCU_SAME5X) || \ #elif TU_CHECK_MCU(OPT_MCU_SAMD21, OPT_MCU_SAMD51, OPT_MCU_SAME5X) || \
TU_CHECK_MCU(OPT_MCU_SAMD11, OPT_MCU_SAML21, OPT_MCU_SAML22) TU_CHECK_MCU(OPT_MCU_SAMD11, OPT_MCU_SAML21, OPT_MCU_SAML22)
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
#elif TU_CHECK_MCU(OPT_MCU_SAMG) #elif TU_CHECK_MCU(OPT_MCU_SAMG)
#define TUP_DCD_ENDPOINT_MAX 6 #define TUP_DCD_ENDPOINT_MAX 6
#define TUP_DCD_ENDPOINT_EXCLUSIVE_NUMBER #define TUP_DCD_ENDPOINT_EXCLUSIVE_NUMBER
#elif TU_CHECK_MCU(OPT_MCU_SAMX7X) #elif TU_CHECK_MCU(OPT_MCU_SAMX7X)
#define TUP_DCD_ENDPOINT_MAX 10 #define TUP_DCD_ENDPOINT_MAX 10
#define TUP_RHPORT_HIGHSPEED 0x01 #define TUP_RHPORT_HIGHSPEED 0x01
#define TUP_DCD_ENDPOINT_EXCLUSIVE_NUMBER #define TUP_DCD_ENDPOINT_EXCLUSIVE_NUMBER
#elif TU_CHECK_MCU(OPT_MCU_PIC32MZ) #elif TU_CHECK_MCU(OPT_MCU_PIC32MZ)
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
#define TUP_DCD_ENDPOINT_EXCLUSIVE_NUMBER #define TUP_DCD_ENDPOINT_EXCLUSIVE_NUMBER
//------------- ST -------------// //------------- ST -------------//
#elif TU_CHECK_MCU(OPT_MCU_STM32F0) #elif TU_CHECK_MCU(OPT_MCU_STM32F0)
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
#elif TU_CHECK_MCU(OPT_MCU_STM32F1) #elif TU_CHECK_MCU(OPT_MCU_STM32F1)
#if defined (STM32F105x8) || defined (STM32F105xB) || defined (STM32F105xC) || \ #if defined (STM32F105x8) || defined (STM32F105xB) || defined (STM32F105xC) || \
@ -124,9 +124,9 @@
#define TUP_USBIP_DWC2 #define TUP_USBIP_DWC2
#define TUP_USBIP_DWC2_STM32 #define TUP_USBIP_DWC2_STM32
#define TUP_DCD_ENDPOINT_MAX 4 #define TUP_DCD_ENDPOINT_MAX 4
#else #else
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
#endif #endif
#elif TU_CHECK_MCU(OPT_MCU_STM32F2) #elif TU_CHECK_MCU(OPT_MCU_STM32F2)
@ -134,36 +134,36 @@
#define TUP_USBIP_DWC2_STM32 #define TUP_USBIP_DWC2_STM32
// FS has 4 ep, HS has 5 ep // FS has 4 ep, HS has 5 ep
#define TUP_DCD_ENDPOINT_MAX 6 #define TUP_DCD_ENDPOINT_MAX 6
#elif TU_CHECK_MCU(OPT_MCU_STM32F3) #elif TU_CHECK_MCU(OPT_MCU_STM32F3)
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
#elif TU_CHECK_MCU(OPT_MCU_STM32F4) #elif TU_CHECK_MCU(OPT_MCU_STM32F4)
#define TUP_USBIP_DWC2 #define TUP_USBIP_DWC2
#define TUP_USBIP_DWC2_STM32 #define TUP_USBIP_DWC2_STM32
// For most mcu, FS has 4, HS has 6. TODO 446/469/479 HS has 9 // For most mcu, FS has 4, HS has 6. TODO 446/469/479 HS has 9
#define TUP_DCD_ENDPOINT_MAX 6 #define TUP_DCD_ENDPOINT_MAX 6
#elif TU_CHECK_MCU(OPT_MCU_STM32F7) #elif TU_CHECK_MCU(OPT_MCU_STM32F7)
#define TUP_USBIP_DWC2 #define TUP_USBIP_DWC2
#define TUP_USBIP_DWC2_STM32 #define TUP_USBIP_DWC2_STM32
// FS has 6, HS has 9 // FS has 6, HS has 9
#define TUP_DCD_ENDPOINT_MAX 9 #define TUP_DCD_ENDPOINT_MAX 9
#elif TU_CHECK_MCU(OPT_MCU_STM32H7) #elif TU_CHECK_MCU(OPT_MCU_STM32H7)
#define TUP_USBIP_DWC2 #define TUP_USBIP_DWC2
#define TUP_USBIP_DWC2_STM32 #define TUP_USBIP_DWC2_STM32
#define TUP_DCD_ENDPOINT_MAX 9 #define TUP_DCD_ENDPOINT_MAX 9
#elif TU_CHECK_MCU(OPT_MCU_STM32G4) #elif TU_CHECK_MCU(OPT_MCU_STM32G4)
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
#elif TU_CHECK_MCU(OPT_MCU_STM32L0, OPT_MCU_STM32L1) #elif TU_CHECK_MCU(OPT_MCU_STM32L0, OPT_MCU_STM32L1)
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
#elif TU_CHECK_MCU(OPT_MCU_STM32L4) #elif TU_CHECK_MCU(OPT_MCU_STM32L4)
#if defined (STM32L475xx) || defined (STM32L476xx) || \ #if defined (STM32L475xx) || defined (STM32L476xx) || \
@ -174,84 +174,89 @@
#define TUP_USBIP_DWC2 #define TUP_USBIP_DWC2
#define TUP_USBIP_DWC2_STM32 #define TUP_USBIP_DWC2_STM32
#define TUP_DCD_ENDPOINT_MAX 6 #define TUP_DCD_ENDPOINT_MAX 6
#else #else
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
#endif #endif
//------------- Sony -------------// //------------- Sony -------------//
#elif TU_CHECK_MCU(OPT_MCU_CXD56) #elif TU_CHECK_MCU(OPT_MCU_CXD56)
#define TUP_DCD_ENDPOINT_MAX 7 #define TUP_DCD_ENDPOINT_MAX 7
#define TUP_RHPORT_HIGHSPEED 0x01 #define TUP_RHPORT_HIGHSPEED 0x01
#define TUP_DCD_ENDPOINT_EXCLUSIVE_NUMBER #define TUP_DCD_ENDPOINT_EXCLUSIVE_NUMBER
//------------- TI -------------// //------------- TI -------------//
#elif TU_CHECK_MCU(OPT_MCU_MSP430x5xx) #elif TU_CHECK_MCU(OPT_MCU_MSP430x5xx)
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
#elif TU_CHECK_MCU(OPT_MCU_MSP432E4, OPT_MCU_TM4C123, OPT_MCU_TM4C129) #elif TU_CHECK_MCU(OPT_MCU_MSP432E4, OPT_MCU_TM4C123, OPT_MCU_TM4C129)
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
//------------- ValentyUSB -------------// //------------- ValentyUSB -------------//
#elif TU_CHECK_MCU(OPT_MCU_VALENTYUSB_EPTRI) #elif TU_CHECK_MCU(OPT_MCU_VALENTYUSB_EPTRI)
#define TUP_DCD_ENDPOINT_MAX 16 #define TUP_DCD_ENDPOINT_MAX 16
//------------- Nuvoton -------------// //------------- Nuvoton -------------//
#elif TU_CHECK_MCU(OPT_MCU_NUC121, OPT_MCU_NUC126) #elif TU_CHECK_MCU(OPT_MCU_NUC121, OPT_MCU_NUC126)
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
#elif TU_CHECK_MCU(OPT_MCU_NUC120) #elif TU_CHECK_MCU(OPT_MCU_NUC120)
#define TUP_DCD_ENDPOINT_MAX 6 #define TUP_DCD_ENDPOINT_MAX 6
#elif TU_CHECK_MCU(OPT_MCU_NUC505) #elif TU_CHECK_MCU(OPT_MCU_NUC505)
#define TUP_DCD_ENDPOINT_MAX 12 #define TUP_DCD_ENDPOINT_MAX 12
#define TUP_RHPORT_HIGHSPEED 0x01 #define TUP_RHPORT_HIGHSPEED 0x01
//------------- Espressif -------------// //------------- Espressif -------------//
#elif TU_CHECK_MCU(OPT_MCU_ESP32S2, OPT_MCU_ESP32S3) #elif TU_CHECK_MCU(OPT_MCU_ESP32S2, OPT_MCU_ESP32S3)
#define TUP_DCD_ENDPOINT_MAX 6 #define TUP_USBIP_DWC2
#define TUP_DCD_ENDPOINT_MAX 6
//------------- Dialog -------------// //------------- Dialog -------------//
#elif TU_CHECK_MCU(OPT_MCU_DA1469X) #elif TU_CHECK_MCU(OPT_MCU_DA1469X)
#define TUP_DCD_ENDPOINT_MAX 4 #define TUP_DCD_ENDPOINT_MAX 4
//------------- Raspberry Pi -------------// //------------- Raspberry Pi -------------//
#elif TU_CHECK_MCU(OPT_MCU_RP2040) #elif TU_CHECK_MCU(OPT_MCU_RP2040)
#define TUP_DCD_ENDPOINT_MAX 16 #define TUP_DCD_ENDPOINT_MAX 16
//------------- Silabs -------------// //------------- Silabs -------------//
#elif TU_CHECK_MCU(OPT_MCU_EFM32GG) #elif TU_CHECK_MCU(OPT_MCU_EFM32GG)
#define TUP_DCD_ENDPOINT_MAX 7 #define TUP_USBIP_DWC2
#define TUP_DCD_ENDPOINT_MAX 7
//------------- Renesas -------------// //------------- Renesas -------------//
#elif TU_CHECK_MCU(OPT_MCU_RX63X, OPT_MCU_RX65X, OPT_MCU_RX72N) #elif TU_CHECK_MCU(OPT_MCU_RX63X, OPT_MCU_RX65X, OPT_MCU_RX72N)
#define TUP_DCD_ENDPOINT_MAX 10 #define TUP_DCD_ENDPOINT_MAX 10
//------------- GigaDevice -------------// //------------- GigaDevice -------------//
#elif TU_CHECK_MCU(OPT_MCU_GD32VF103) #elif TU_CHECK_MCU(OPT_MCU_GD32VF103)
#define TUP_DCD_ENDPOINT_MAX 4 #define TUP_USBIP_DWC2
#define TUP_DCD_ENDPOINT_MAX 4
//------------- Broadcom -------------// //------------- Broadcom -------------//
#elif TU_CHECK_MCU(OPT_MCU_BCM2711, OPT_MCU_BCM2835, OPT_MCU_BCM2837) #elif TU_CHECK_MCU(OPT_MCU_BCM2711, OPT_MCU_BCM2835, OPT_MCU_BCM2837)
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_USBIP_DWC2
#define TUP_RHPORT_HIGHSPEED 0x01 #define TUP_DCD_ENDPOINT_MAX 8
#define TUP_RHPORT_HIGHSPEED 0x01
//------------- Broadcom -------------// //------------- Broadcom -------------//
#elif TU_CHECK_MCU(OPT_MCU_XMC4000) #elif TU_CHECK_MCU(OPT_MCU_XMC4000)
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_USBIP_DWC2
#define TUP_DCD_ENDPOINT_MAX 8
//------------- BridgeTek -------------// //------------- BridgeTek -------------//
#elif TU_CHECK_MCU(OPT_MCU_FT90X) #elif TU_CHECK_MCU(OPT_MCU_FT90X)
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
#define TUP_RHPORT_HIGHSPEED 0x01 #define TUP_RHPORT_HIGHSPEED 0x01
#elif TU_CHECK_MCU(OPT_MCU_FT93X) #elif TU_CHECK_MCU(OPT_MCU_FT93X)
#define TUP_DCD_ENDPOINT_MAX 16 #define TUP_DCD_ENDPOINT_MAX 16
#define TUP_RHPORT_HIGHSPEED 0x01 #define TUP_RHPORT_HIGHSPEED 0x01
//------------ Allwinner -------------// //------------ Allwinner -------------//
#elif TU_CHECK_MCU(OPT_MCU_F1C100S) #elif TU_CHECK_MCU(OPT_MCU_F1C100S)
#define TUP_DCD_ENDPOINT_MAX 4 #define TUP_DCD_ENDPOINT_MAX 4
#endif #endif
@ -261,12 +266,12 @@
#ifndef TUP_DCD_ENDPOINT_MAX #ifndef TUP_DCD_ENDPOINT_MAX
#warning "TUP_DCD_ENDPOINT_MAX is not defined for this MCU, default to 8" #warning "TUP_DCD_ENDPOINT_MAX is not defined for this MCU, default to 8"
#define TUP_DCD_ENDPOINT_MAX 8 #define TUP_DCD_ENDPOINT_MAX 8
#endif #endif
// Default to fullspeed if not defined // Default to fullspeed if not defined
#ifndef TUP_RHPORT_HIGHSPEED #ifndef TUP_RHPORT_HIGHSPEED
#define TUP_RHPORT_HIGHSPEED 0x00 #define TUP_RHPORT_HIGHSPEED 0x00
#endif #endif
#endif #endif

View File

@ -29,11 +29,7 @@
#include "tusb_option.h" #include "tusb_option.h"
#if CFG_TUD_ENABLED && \ #if CFG_TUD_ENABLED && defined(TUP_USBIP_DWC2)
( defined(TUP_USBIP_DWC2) || \
TU_CHECK_MCU(OPT_MCU_ESP32S2, OPT_MCU_ESP32S3, OPT_MCU_GD32VF103) || \
TU_CHECK_MCU(OPT_MCU_EFM32GG, OPT_MCU_BCM2711, OPT_MCU_BCM2835) || \
TU_CHECK_MCU(OPT_MCU_BCM2837, OPT_MCU_XMC4000) )
#include "device/dcd.h" #include "device/dcd.h"
#include "dwc2_type.h" #include "dwc2_type.h"