summaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorhathach <[email protected]>2024-11-13 13:08:30 +0700
committerhathach <[email protected]>2024-11-13 13:08:30 +0700
commitaeae2966a2afa669068e54eef7c4dd2dceffaa0d (patch)
treeec965825374576319936bbd1c861b8e90ab6cc77 /hw
parent839ec1729252d81aa631ba7ea4653c5591f6fb6f (diff)
hil add stm32f723disco, add test flags for device/host/dual
Diffstat (limited to 'hw')
-rw-r--r--hw/bsp/stm32f7/boards/stm32f723disco/board.cmake6
-rw-r--r--hw/bsp/stm32f7/boards/stm32f723disco/board.mk5
-rw-r--r--hw/bsp/stm32f7/family.c29
3 files changed, 25 insertions, 15 deletions
diff --git a/hw/bsp/stm32f7/boards/stm32f723disco/board.cmake b/hw/bsp/stm32f7/boards/stm32f723disco/board.cmake
index 5655c217e..eb3ed407b 100644
--- a/hw/bsp/stm32f7/boards/stm32f723disco/board.cmake
+++ b/hw/bsp/stm32f7/boards/stm32f723disco/board.cmake
@@ -5,12 +5,12 @@ set(LD_FILE_GNU ${CMAKE_CURRENT_LIST_DIR}/STM32F723xE_FLASH.ld)
set(RHPORT_SPEED OPT_MODE_FULL_SPEED OPT_MODE_HIGH_SPEED)
-# device default to PORT 1 High Speed
+# For Hardware test: device default to PORT 0, Host to port 1
if (NOT DEFINED RHPORT_DEVICE)
- set(RHPORT_DEVICE 1)
+ set(RHPORT_DEVICE 0)
endif()
if (NOT DEFINED RHPORT_HOST)
- set(RHPORT_HOST 0)
+ set(RHPORT_HOST 1)
endif()
function(update_board TARGET)
diff --git a/hw/bsp/stm32f7/boards/stm32f723disco/board.mk b/hw/bsp/stm32f7/boards/stm32f723disco/board.mk
index eb6799eb0..9b8e7a969 100644
--- a/hw/bsp/stm32f7/boards/stm32f723disco/board.mk
+++ b/hw/bsp/stm32f7/boards/stm32f723disco/board.mk
@@ -1,8 +1,9 @@
MCU_VARIANT = stm32f723xx
+# For Hardware test: device default to PORT 0, Host to port 1
RHPORT_SPEED = OPT_MODE_FULL_SPEED OPT_MODE_HIGH_SPEED
-RHPORT_DEVICE ?= 1
-RHPORT_HOST ?= 0
+RHPORT_DEVICE ?= 0
+RHPORT_HOST ?= 1
CFLAGS += \
-DSTM32F723xx \
diff --git a/hw/bsp/stm32f7/family.c b/hw/bsp/stm32f7/family.c
index 61beac47e..527fbfe5c 100644
--- a/hw/bsp/stm32f7/family.c
+++ b/hw/bsp/stm32f7/family.c
@@ -38,6 +38,25 @@ typedef struct {
#include "board.h"
//--------------------------------------------------------------------+
+// MACRO TYPEDEF CONSTANT ENUM
+//--------------------------------------------------------------------+
+
+#ifdef UART_DEV
+UART_HandleTypeDef UartHandle = {
+ .Instance = UART_DEV,
+ .Init = {
+ .BaudRate = CFG_BOARD_UART_BAUDRATE,
+ .WordLength = UART_WORDLENGTH_8B,
+ .StopBits = UART_STOPBITS_1,
+ .Parity = UART_PARITY_NONE,
+ .HwFlowCtl = UART_HWCONTROL_NONE,
+ .Mode = UART_MODE_TX_RX,
+ .OverSampling = UART_OVERSAMPLING_16,
+ }
+};
+#endif
+
+//--------------------------------------------------------------------+
// Forward USB interrupt events to TinyUSB IRQ Handler
//--------------------------------------------------------------------+
void OTG_FS_IRQHandler(void) {
@@ -54,8 +73,6 @@ void OTG_HS_IRQHandler(void) {
// MACRO TYPEDEF CONSTANT ENUM
//--------------------------------------------------------------------+
-UART_HandleTypeDef UartHandle;
-
void board_init(void) {
board_clock_init();
@@ -89,14 +106,6 @@ void board_init(void) {
#endif
#ifdef UART_DEV
- UartHandle.Instance = UART_DEV;
- UartHandle.Init.BaudRate = CFG_BOARD_UART_BAUDRATE;
- UartHandle.Init.WordLength = UART_WORDLENGTH_8B;
- UartHandle.Init.StopBits = UART_STOPBITS_1;
- UartHandle.Init.Parity = UART_PARITY_NONE;
- UartHandle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- UartHandle.Init.Mode = UART_MODE_TX_RX;
- UartHandle.Init.OverSampling = UART_OVERSAMPLING_16;
HAL_UART_Init(&UartHandle);
#endif