From e8a8fa77ca309a357e31e9eafc24072d4dfd619d Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 1 Feb 2018 13:11:32 +1100 Subject: [PATCH] stm32: Improve support for STM32F722, F723, F732, F733 MCUs. --- ports/stm32/adc.c | 8 ++++++++ ports/stm32/mphalport.h | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/ports/stm32/adc.c b/ports/stm32/adc.c index 9a0dc56a37..0e1cf4b646 100644 --- a/ports/stm32/adc.c +++ b/ports/stm32/adc.c @@ -66,7 +66,13 @@ #define ADC_FIRST_GPIO_CHANNEL (0) #define ADC_LAST_GPIO_CHANNEL (15) +#if defined(STM32F722xx) || defined(STM32F723xx) || \ + defined(STM32F732xx) || defined(STM32F733xx) +#define ADC_CAL_ADDRESS (0x1ff07a2a) +#else #define ADC_CAL_ADDRESS (0x1ff0f44a) +#endif + #define ADC_CAL1 ((uint16_t*)(ADC_CAL_ADDRESS + 2)) #define ADC_CAL2 ((uint16_t*)(ADC_CAL_ADDRESS + 4)) @@ -91,6 +97,8 @@ #define VBAT_DIV (2) #elif defined(STM32F427xx) || defined(STM32F429xx) || \ defined(STM32F437xx) || defined(STM32F439xx) || \ + defined(STM32F722xx) || defined(STM32F723xx) || \ + defined(STM32F732xx) || defined(STM32F733xx) || \ defined(STM32F746xx) || defined(STM32F767xx) || \ defined(STM32F769xx) || defined(STM32F446xx) #define VBAT_DIV (4) diff --git a/ports/stm32/mphalport.h b/ports/stm32/mphalport.h index 939df0b3d2..8224c9f5a4 100644 --- a/ports/stm32/mphalport.h +++ b/ports/stm32/mphalport.h @@ -9,7 +9,14 @@ #define MP_HAL_CLEANINVALIDATE_DCACHE(addr, size) #define MP_HAL_CLEAN_DCACHE(addr, size) #elif defined(MCU_SERIES_F7) +#if defined(STM32F722xx) \ + || defined(STM32F723xx) \ + || defined(STM32F732xx) \ + || defined(STM32F733xx) +#define MP_HAL_UNIQUE_ID_ADDRESS (0x1ff07a10) +#else #define MP_HAL_UNIQUE_ID_ADDRESS (0x1ff0f420) +#endif #define MP_HAL_CLEANINVALIDATE_DCACHE(addr, size) (SCB_CleanInvalidateDCache_by_Addr((uint32_t*)((uint32_t)addr & ~0x1f), ((uint32_t)((uint8_t*)addr + size + 0x1f) & ~0x1f) - ((uint32_t)addr & ~0x1f))) #define MP_HAL_CLEAN_DCACHE(addr, size) (SCB_CleanDCache_by_Addr((uint32_t*)((uint32_t)addr & ~0x1f), ((uint32_t)((uint8_t*)addr + size + 0x1f) & ~0x1f) - ((uint32_t)addr & ~0x1f))) #elif defined(MCU_SERIES_L4)