summaryrefslogtreecommitdiff
path: root/src/device
diff options
context:
space:
mode:
authorhathach <[email protected]>2021-10-24 23:24:46 +0700
committerhathach <[email protected]>2021-10-24 23:24:46 +0700
commit06de6b725c9d1ccadce0905f85335e4708ad1524 (patch)
tree6c583480a705041208c251a633cb516c41fbc8ca /src/device
parent55e0b5882a7e6a81563f25895c345b27a9f47c50 (diff)
adding generalized dwc2 driver
Diffstat (limited to 'src/device')
-rw-r--r--src/device/dcd_attr.h45
1 files changed, 37 insertions, 8 deletions
diff --git a/src/device/dcd_attr.h b/src/device/dcd_attr.h
index 44f2cc1d6..3690985c6 100644
--- a/src/device/dcd_attr.h
+++ b/src/device/dcd_attr.h
@@ -85,24 +85,53 @@
#define DCD_ATTR_ENDPOINT_EXCLUSIVE_NUMBER
//------------- ST -------------//
-#elif TU_CHECK_MCU(STM32F0) || TU_CHECK_MCU(STM32F1) || TU_CHECK_MCU(STM32F3) || \
- TU_CHECK_MCU(STM32L0) || TU_CHECK_MCU(STM32L1) || TU_CHECK_MCU(STM32L4)
- // F1: F102, F103
- // L4: L4x2, L4x3
+#elif TU_CHECK_MCU(STM32F0)
#define DCD_ATTR_ENDPOINT_MAX 8
-#elif TU_CHECK_MCU(STM32F2) || TU_CHECK_MCU(STM32F4) || TU_CHECK_MCU(STM32F3)
- // F1: F105, F107 only has 4
- // L4: L4x5, L4x6 has 6
- // For most mcu, FS has 4, HS has 6
+#elif TU_CHECK_MCU(STM32F1)
+ #if defined (STM32F105x8) || defined (STM32F105xB) || defined (STM32F105xC) || \
+ defined (STM32F107xB) || defined (STM32F107xC)
+ #define DCD_ATTR_ENDPOINT_MAX 4
+ #define DCD_ATTR_DWC2_STM32
+ #else
+ #define DCD_ATTR_ENDPOINT_MAX 8
+ #endif
+
+#elif TU_CHECK_MCU(STM32F2)
+ // FS has 4 ep, HS has 5 ep
+ #define DCD_ATTR_ENDPOINT_MAX 6
+ #define DCD_ATTR_DWC2_STM32
+
+#elif TU_CHECK_MCU(STM32F3)
+ #define DCD_ATTR_ENDPOINT_MAX 8
+
+#elif TU_CHECK_MCU(STM32F4)
+ // For most mcu, FS has 4, HS has 6. TODO 446/469/479 HS has 9
#define DCD_ATTR_ENDPOINT_MAX 6
+ #define DCD_ATTR_DWC2_STM32
#elif TU_CHECK_MCU(STM32F7)
// FS has 6, HS has 9
#define DCD_ATTR_ENDPOINT_MAX 9
+ #define DCD_ATTR_DWC2_STM32
#elif TU_CHECK_MCU(STM32H7)
#define DCD_ATTR_ENDPOINT_MAX 9
+ #define DCD_ATTR_DWC2_STM32
+
+#elif TU_CHECK_MCU(STM32L0) || TU_CHECK_MCU(STM32L1)
+ #define DCD_ATTR_ENDPOINT_MAX 8
+
+#elif TU_CHECK_MCU(STM32L4)
+ #if defined (STM32L475xx) || defined (STM32L476xx) || \
+ defined (STM32L485xx) || defined (STM32L486xx) || defined (STM32L496xx) || \
+ defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || \
+ defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined (STM32L4S9xx)
+ #define DCD_ATTR_ENDPOINT_MAX 6
+ #define DCD_ATTR_DWC2_STM32
+ #else
+ #define DCD_ATTR_ENDPOINT_MAX 8
+ #endif
//------------- Sony -------------//
#elif TU_CHECK_MCU(CXD56)