2020-05-03 14:35:01 +02:00
|
|
|
include $(RIOTCPU)/stm32/stm32_info.mk
|
|
|
|
|
2020-08-03 00:31:59 +02:00
|
|
|
ifneq (mp1,$(CPU_FAM))
|
|
|
|
FEATURES_PROVIDED += bootloader_stm32
|
2020-11-05 01:06:10 +01:00
|
|
|
FEATURES_PROVIDED += periph_wdt
|
2020-08-03 00:31:59 +02:00
|
|
|
endif
|
2020-05-30 18:59:01 +02:00
|
|
|
FEATURES_PROVIDED += cpu_stm32$(CPU_FAM)
|
2020-05-03 14:35:01 +02:00
|
|
|
FEATURES_PROVIDED += periph_cpuid
|
|
|
|
FEATURES_PROVIDED += periph_gpio periph_gpio_irq
|
2020-06-29 22:15:48 +02:00
|
|
|
FEATURES_PROVIDED += periph_timer_periodic
|
2021-01-13 20:48:29 +01:00
|
|
|
FEATURES_PROVIDED += periph_rtt_overflow
|
2020-05-03 14:35:01 +02:00
|
|
|
FEATURES_PROVIDED += periph_uart_modecfg
|
2020-06-10 15:44:58 +02:00
|
|
|
FEATURES_PROVIDED += periph_uart_nonblocking
|
2020-05-03 14:35:01 +02:00
|
|
|
|
2021-04-09 14:49:44 +02:00
|
|
|
ifneq (,$(filter $(CPU_FAM),f0 f1 f3 g0 g4 l0 l1 l4 l5 wb wl))
|
2020-07-15 11:51:44 +02:00
|
|
|
FEATURES_PROVIDED += periph_flashpage
|
2020-11-09 16:45:22 +01:00
|
|
|
FEATURES_PROVIDED += periph_flashpage_pagewise
|
2020-05-03 14:35:01 +02:00
|
|
|
endif
|
|
|
|
|
2020-11-10 15:07:35 +01:00
|
|
|
# The f2, f4 and f7 do not support the pagewise api
|
|
|
|
ifneq (,$(filter $(CPU_FAM),f2 f4 f7))
|
|
|
|
FEATURES_PROVIDED += periph_flashpage
|
|
|
|
endif
|
|
|
|
|
2020-05-26 11:12:06 +02:00
|
|
|
ifneq (,$(filter $(CPU_FAM),l0 l1))
|
2020-05-03 14:35:01 +02:00
|
|
|
FEATURES_PROVIDED += periph_eeprom
|
|
|
|
endif
|
|
|
|
|
2020-05-30 18:59:36 +02:00
|
|
|
ifeq (f1,$(CPU_FAM))
|
2020-05-03 14:35:01 +02:00
|
|
|
FEATURES_CONFLICT += periph_rtc:periph_rtt
|
|
|
|
FEATURES_CONFLICT_MSG += "On the STM32F1, the RTC and RTT map to the same hardware peripheral."
|
2021-03-03 17:05:35 +01:00
|
|
|
FEATURES_PROVIDED += periph_rtt_set_counter
|
2020-05-03 14:35:01 +02:00
|
|
|
endif
|
|
|
|
|
2020-05-29 17:37:05 +02:00
|
|
|
# Not all F4 and L0 parts implement a RNG.
|
2020-10-13 15:30:07 +02:00
|
|
|
CPU_MODELS_WITHOUT_HWRNG = stm32f401% stm32f411% stm32f446% stm32l031% stm32l011%
|
2020-09-28 15:57:01 +02:00
|
|
|
ifneq (,$(filter $(CPU_FAM),f2 f4 f7 g4 l0 l4 l5 wb))
|
2020-05-29 17:37:05 +02:00
|
|
|
ifeq (,$(filter $(CPU_MODELS_WITHOUT_HWRNG),$(CPU_MODEL)))
|
|
|
|
FEATURES_PROVIDED += periph_hwrng
|
|
|
|
endif
|
2020-05-03 14:35:01 +02:00
|
|
|
endif
|
|
|
|
|
2020-08-03 00:25:58 +02:00
|
|
|
ifneq (,$(filter $(CPU_FAM),f2 f4 f7 g4 l1 l4 mp1))
|
2020-05-03 14:35:01 +02:00
|
|
|
FEATURES_PROVIDED += cortexm_mpu
|
|
|
|
endif
|
|
|
|
|
2020-08-21 15:19:49 +02:00
|
|
|
# only some stm32f3 have an MPU, stm32l052t8 provides an MPU but support is
|
|
|
|
# broken for cortex-m0+
|
|
|
|
STM32_WITH_MPU += stm32f303re stm32f303vc stm32f303ze
|
2020-05-03 14:35:01 +02:00
|
|
|
ifneq (,$(filter $(CPU_MODEL),$(STM32_WITH_MPU)))
|
|
|
|
FEATURES_PROVIDED += cortexm_mpu
|
|
|
|
endif
|
|
|
|
|
|
|
|
include $(RIOTCPU)/cortexm_common/Makefile.features
|