Explorar el Código

stm32f7 work with dcd synopsis

close #124
hathach hace 6 años
padre
commit
7f166d860d
Se han modificado 3 ficheros con 15 adiciones y 6 borrados
  1. 1 1
      README.md
  2. 1 0
      docs/boards.md
  3. 13 5
      src/portable/st/synopsys/dcd_synopsys.c

+ 1 - 1
README.md

@@ -55,7 +55,7 @@ The stack supports the following MCUs
 - **Nordic:** nRF52840
 - **NXP:** LPC11Uxx, LPC13xx, LPC175x_6x, LPC177x_8x, LPC18xx, LPC40xx, LPC43xx, LPC51Uxx
 - **MicroChip:** SAMD21, SAMD51 (device only)
-- **ST:** STM32F0, STM32F3, STM32F4, STM32H7 (device only)
+- **ST:** STM32F0, STM32F3, STM32F4, STM32F7, STM32H7 (device only)
 
 [Here is the list of supported Boards](docs/boards.md)
 

+ 1 - 0
docs/boards.md

@@ -47,6 +47,7 @@ This code base already had supported for a handful of following boards
 - [STM32F407vg Discovery](https://www.st.com/en/evaluation-tools/stm32f4discovery.html)
 - [STM32F411ve Discovery](https://www.st.com/en/evaluation-tools/32f411ediscovery.html)
 - [STM32F412zg Discovery](https://www.st.com/en/evaluation-tools/32f412gdiscovery.html)
+- [Nucleo STM32F767zi](https://www.st.com/en/evaluation-tools/nucleo-f767zi.html)
 - [Nucleo H743zi](https://www.st.com/en/evaluation-tools/nucleo-h743zi.html)
 
 ## Add your own board

+ 13 - 5
src/portable/st/synopsys/dcd_synopsys.c

@@ -28,20 +28,28 @@
 #include "tusb_option.h"
 
 #if TUSB_OPT_DEVICE_ENABLED && ( CFG_TUSB_MCU == OPT_MCU_STM32F4 || \
-                                 CFG_TUSB_MCU == OPT_MCU_STM32H7 )
+                                 CFG_TUSB_MCU == OPT_MCU_STM32H7 || \
+                                 CFG_TUSB_MCU == OPT_MCU_STM32F7)
 
+// TODO Support OTG_HS
+// EP_MAX       : Max number of bi-directional endpoints including EP0
+// EP_FIFO_SIZE : Size of dedicated USB SRAM
 #if CFG_TUSB_MCU == OPT_MCU_STM32F4
   #include "stm32f4xx.h"
-  // TODO Merge with OTG_HS
-  // Max endpoints for each direction
+
   #define EP_MAX        USB_OTG_FS_MAX_IN_ENDPOINTS
   #define EP_FIFO_SIZE  USB_OTG_FS_TOTAL_FIFO_SIZE
 #elif CFG_TUSB_MCU == OPT_MCU_STM32H7
   #include "stm32h7xx.h"
-  // TODO There is no equivalent macro for max endpoints in H7 header.
-  #define EP_MAX        8
+
+  #define EP_MAX        9
   #define EP_FIFO_SIZE  4096
   // TODO The official name of the USB FS peripheral on H7 is "USB2_OTG_FS".
+#else
+  #include "stm32f7xx.h"
+
+  #define EP_MAX        6
+  #define EP_FIFO_SIZE  1280
 #endif
 
 #include "device/dcd.h"