diff --git a/cpu/stm32_common/Makefile.features b/cpu/stm32_common/Makefile.features new file mode 100644 index 0000000000000000000000000000000000000000..a78a126bbb4c6948d8482a34562d08c49d8a9f73 --- /dev/null +++ b/cpu/stm32_common/Makefile.features @@ -0,0 +1,7 @@ +FEATURES_PROVIDED += periph_cpuid + +ifneq (,$(filter $(BOARDS_WITHOUT_HWRNG),$(BOARD))) + FEATURES_PROVIDED := $(filter-out periph_hwrng,$(FEATURES_PROVIDED)) +endif + +-include $(RIOTCPU)/cortexm_common/Makefile.features diff --git a/cpu/stm32f0/Makefile.features b/cpu/stm32f0/Makefile.features new file mode 100644 index 0000000000000000000000000000000000000000..fb630f4c258596bbb190f74abf97a9f0145b0f16 --- /dev/null +++ b/cpu/stm32f0/Makefile.features @@ -0,0 +1,5 @@ +ifeq (,$(filter nucleo32-f031,$(BOARD))) + FEATURES_PROVIDED += periph_flashpage +endif + +-include $(RIOTCPU)/stm32_common/Makefile.features diff --git a/cpu/stm32f1/Makefile.features b/cpu/stm32f1/Makefile.features index 7a418ea511cb94cb5a2daed61773d99257e33013..651254b37bfb8b15c88aea23baf9e8a857937229 100644 --- a/cpu/stm32f1/Makefile.features +++ b/cpu/stm32f1/Makefile.features @@ -1 +1,4 @@ +FEATURES_PROVIDED += periph_flashpage FEATURES_PROVIDED += periph_pm + +-include $(RIOTCPU)/stm32_common/Makefile.features diff --git a/cpu/stm32f2/Makefile.features b/cpu/stm32f2/Makefile.features index 7a418ea511cb94cb5a2daed61773d99257e33013..c6412dd78e1e8c5ab41522cd90f3a363517166b7 100644 --- a/cpu/stm32f2/Makefile.features +++ b/cpu/stm32f2/Makefile.features @@ -1 +1,4 @@ +FEATURES_PROVIDED += periph_hwrng FEATURES_PROVIDED += periph_pm + +-include $(RIOTCPU)/stm32_common/Makefile.features diff --git a/cpu/stm32f3/Makefile.features b/cpu/stm32f3/Makefile.features new file mode 100644 index 0000000000000000000000000000000000000000..8edd0b27724c0a046495c1b7d688364f2b8d5ba0 --- /dev/null +++ b/cpu/stm32f3/Makefile.features @@ -0,0 +1 @@ +-include $(RIOTCPU)/stm32_common/Makefile.features diff --git a/cpu/stm32f4/Makefile.features b/cpu/stm32f4/Makefile.features index 7a418ea511cb94cb5a2daed61773d99257e33013..a7a5abd1a3659d50c41c7fa5c7cd9a42395c9399 100644 --- a/cpu/stm32f4/Makefile.features +++ b/cpu/stm32f4/Makefile.features @@ -1 +1,14 @@ +FEATURES_PROVIDED += periph_hwrng FEATURES_PROVIDED += periph_pm + +# the granularity of provided feature definition for STMs is currently by CPU +# sub-family (e.g., stm32f[1234]). Unfortunately, only some of e.g., the +# stm32f4 have an RNG peripheral. As during evaluation of the features , no +# CPU variable is available, we need to filter by board. +# +BOARDS_WITHOUT_HWRNG += nucleo-f401 +BOARDS_WITHOUT_HWRNG += nucleo-f411 +BOARDS_WITHOUT_HWRNG += nucleo-f446 +BOARDS_WITHOUT_HWRNG += nucleo144-f446 + +-include $(RIOTCPU)/stm32_common/Makefile.features diff --git a/cpu/stm32f7/Makefile.features b/cpu/stm32f7/Makefile.features new file mode 100644 index 0000000000000000000000000000000000000000..2d4e44ccb55c0fea7cf3afebe2332bd0b6f1a596 --- /dev/null +++ b/cpu/stm32f7/Makefile.features @@ -0,0 +1,2 @@ +FEATURES_PROVIDED += periph_hwrng +-include $(RIOTCPU)/stm32_common/Makefile.features diff --git a/cpu/stm32l0/Makefile.features b/cpu/stm32l0/Makefile.features new file mode 100644 index 0000000000000000000000000000000000000000..494f8c194a247954b861d9250f789ed4daea00fa --- /dev/null +++ b/cpu/stm32l0/Makefile.features @@ -0,0 +1,5 @@ +FEATURES_PROVIDED += periph_hwrng + +BOARDS_WITHOUT_HWRNG += nucleo32-l031 + +-include $(RIOTCPU)/stm32_common/Makefile.features diff --git a/cpu/stm32l1/Makefile.features b/cpu/stm32l1/Makefile.features new file mode 100644 index 0000000000000000000000000000000000000000..8edd0b27724c0a046495c1b7d688364f2b8d5ba0 --- /dev/null +++ b/cpu/stm32l1/Makefile.features @@ -0,0 +1 @@ +-include $(RIOTCPU)/stm32_common/Makefile.features diff --git a/cpu/stm32l4/Makefile.features b/cpu/stm32l4/Makefile.features new file mode 100644 index 0000000000000000000000000000000000000000..c51e0186eb8d20fbe025daebd2e0fd20a000438f --- /dev/null +++ b/cpu/stm32l4/Makefile.features @@ -0,0 +1,3 @@ +FEATURES_PROVIDED += periph_hwrng + +-include $(RIOTCPU)/stm32_common/Makefile.features