diff --git a/demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/.cproject b/demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/.cproject similarity index 96% rename from demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/.cproject rename to demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/.cproject index 2ed9eb148..01c661d61 100755 --- a/demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/.cproject +++ b/demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/.cproject @@ -37,7 +37,7 @@ - + diff --git a/demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/.project b/demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/.project similarity index 94% rename from demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/.project rename to demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/.project index c20b61896..732b05bf3 100755 --- a/demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/.project +++ b/demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/.project @@ -1,6 +1,6 @@ - RT-STM32H743ZI_REV_V-NUCLEO144 + RT-STM32H743ZI_REV_XY-NUCLEO144 diff --git a/demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/Makefile b/demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/Makefile similarity index 94% rename from demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/Makefile rename to demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/Makefile index d572eeff9..1a01bf995 100644 --- a/demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/Makefile +++ b/demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/Makefile @@ -150,7 +150,7 @@ CPPWARN = -Wall -Wextra -Wundef # # List all user C define here, like -D_DEBUG=1 -UDEFS = -DSTM32_ENFORCE_H7_REV_V # Must be removed for non-Rev-V devices. +UDEFS = -DSTM32_ENFORCE_H7_REV_XY # Remove for non revision X or Y devices. # Define ASM defines here UADEFS = diff --git a/demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/cfg/chconf.h b/demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/cfg/chconf.h similarity index 100% rename from demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/cfg/chconf.h rename to demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/cfg/chconf.h diff --git a/demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/cfg/halconf.h b/demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/cfg/halconf.h similarity index 100% rename from demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/cfg/halconf.h rename to demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/cfg/halconf.h diff --git a/demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/cfg/mcuconf.h b/demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/cfg/mcuconf.h similarity index 100% rename from demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/cfg/mcuconf.h rename to demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/cfg/mcuconf.h diff --git a/demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/main.c b/demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/main.c similarity index 100% rename from demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144/main.c rename to demos/STM32/RT-STM32H743ZI_REV_XY-NUCLEO144/main.c diff --git a/os/hal/ports/STM32/LLD/BDMAv1/stm32_bdma.h b/os/hal/ports/STM32/LLD/BDMAv1/stm32_bdma.h index de479a150..7461dc6b1 100644 --- a/os/hal/ports/STM32/LLD/BDMAv1/stm32_bdma.h +++ b/os/hal/ports/STM32/LLD/BDMAv1/stm32_bdma.h @@ -121,7 +121,7 @@ STM32_BDMA_CR_MSIZE_MASK) #define STM32_BDMA_CR_PL_MASK BDMA_CCR_PL_Msk #define STM32_BDMA_CR_PL(n) ((n) << 12U) -#if !defined(STM32_ENFORCE_H7_REV_V) +#if !defined(STM32_ENFORCE_H7_REV_XY) #define STM32_BDMA_CR_DBM BDMA_CCR_DBM #define STM32_BDMA_CR_CM BDMA_CCR_CT #endif @@ -272,7 +272,7 @@ typedef struct { * * @special */ -#if !defined(STM32_ENFORCE_H7_REV_V) || defined(__DOXYGEN__) +#if defined(STM32_ENFORCE_H7_REV_XY) || defined(__DOXYGEN__) #define bdmaStreamSetMemory(stp, addr) { \ (stp)->channel->CM0AR = (uint32_t)(addr); \ } diff --git a/os/hal/ports/STM32/STM32H7xx/hal_lld.c b/os/hal/ports/STM32/STM32H7xx/hal_lld.c index d3cda6520..d40f21f4d 100644 --- a/os/hal/ports/STM32/STM32H7xx/hal_lld.c +++ b/os/hal/ports/STM32/STM32H7xx/hal_lld.c @@ -108,7 +108,7 @@ static inline void init_pwr(void) { PWR->CR3 = STM32_PWR_CR3; /* Other bits, lower byte is not changed. */ PWR->CPUCR = STM32_PWR_CPUCR; PWR->D3CR = STM32_VOS; -#if !defined(STM32_ENFORCE_H7_REV_V) +#if !defined(STM32_ENFORCE_H7_REV_XY) SYSCFG->PWRCR = STM32_ODEN; #endif while ((PWR->D3CR & PWR_D3CR_VOSRDY) == 0) @@ -217,7 +217,7 @@ void stm32_clock_init(void) { (void)rcc; #endif -#if defined(STM32_ENFORCE_H7_REV_V) +#if defined(STM32_ENFORCE_H7_REV_XY) /* Fix for errata 2.2.15: Reading from AXI SRAM might lead to data read corruption. AXI->TARG7_FN_MOD.*/ @@ -250,7 +250,7 @@ void stm32_clock_init(void) { /* Registers cleared to reset values.*/ RCC->CR = RCC_CR_HSION; /* CR Reset value. */ RCC->HSICFGR = 0x40000000U; /* HSICFGR Reset value. */ -#if !defined(STM32_ENFORCE_H7_REV_V) +#if !defined(STM32_ENFORCE_H7_REV_XY) RCC->CSICFGR = 0x20000000U; /* CSICFGR Reset value. */ #endif RCC->CSR = 0x00000000U; /* CSR reset value. */ diff --git a/os/hal/ports/STM32/STM32H7xx/hal_lld.h b/os/hal/ports/STM32/STM32H7xx/hal_lld.h index 7d2667823..466c3fdc8 100644 --- a/os/hal/ports/STM32/STM32H7xx/hal_lld.h +++ b/os/hal/ports/STM32/STM32H7xx/hal_lld.h @@ -84,7 +84,7 @@ #endif /** @} */ -#if !defined(STM32_ENFORCE_H7_REV_V) +#if !defined(STM32_ENFORCE_H7_REV_XY) /** * @name Absolute Maximum Ratings * @{ @@ -215,7 +215,7 @@ #define STM32_ADCCLK_MAX 100000000 /** @} */ -#else /* defined(STM32_ENFORCE_H7_REV_V) */ +#else /* defined(STM32_ENFORCE_H7_REV_XY) */ #define STM32_SYSCLK_MAX 400000000 #define STM32_SYSCLK_MAX_NOBOOST 400000000 @@ -243,7 +243,7 @@ #define STM32_SPI456_MAX 100000000 #define STM32_ADCCLK_MAX 36000000 -#endif /* defined(STM32_ENFORCE_H7_REV_V) */ +#endif /* defined(STM32_ENFORCE_H7_REV_XY) */ /** * @name Internal clock sources frequencies diff --git a/readme.txt b/readme.txt index d4143aac8..ca7e2e905 100644 --- a/readme.txt +++ b/readme.txt @@ -77,6 +77,7 @@ - NEW: Added a new setting to STM32 USBv1 allowing for some clock deviation from 48MHz. Renamed setting USB_HOST_WAKEUP_DURATION to STM32_USB_HOST_WAKEUP_DURATION for consistency. +- FIX: Fixed wrong revisions handling in STM32H743 HAL (bug #1110). - FIX: Fixed missing STM32_I2C_BDMA_REQUIRED definition in I2Cv3 driver (bug #1109). - FIX: Fixed wrong definitions in SPC563M board files (bug #1108). diff --git a/testhal/STM32/multi/ADC/make/stm32h743zi_nucleo144.make b/testhal/STM32/multi/ADC/make/stm32h743zi_nucleo144.make index 347c0e688..faf8cf6cd 100644 --- a/testhal/STM32/multi/ADC/make/stm32h743zi_nucleo144.make +++ b/testhal/STM32/multi/ADC/make/stm32h743zi_nucleo144.make @@ -152,7 +152,7 @@ CPPWARN = -Wall -Wextra -Wundef # # List all user C define here, like -D_DEBUG=1 -UDEFS = -DSTM32_ENFORCE_H7_REV_V # Must be removed for non-Rev-V devices. +UDEFS = -DSTM32_ENFORCE_H7_REV_XY # Remove for non revision X or Y devices. # Define ASM defines here UADEFS =