summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2018-02-01 13:11:32 +1100
committerDamien George <damien.p.george@gmail.com>2018-02-01 13:11:32 +1100
commite8a8fa77ca309a357e31e9eafc24072d4dfd619d (patch)
tree3a29d8107d06d4381a7f9aa5890957ee7ad94452
parent4e35d108298b0f9ab6554f3c897a7147b9f83843 (diff)
stm32: Improve support for STM32F722, F723, F732, F733 MCUs.
-rw-r--r--ports/stm32/adc.c8
-rw-r--r--ports/stm32/mphalport.h7
2 files changed, 15 insertions, 0 deletions
diff --git a/ports/stm32/adc.c b/ports/stm32/adc.c
index 9a0dc56a3..0e1cf4b64 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 939df0b3d..8224c9f5a 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)