2020-03-19 14:06:47 +01:00
|
|
|
# Process provided FEATURES
|
2019-05-02 17:01:20 +02:00
|
|
|
#
|
|
|
|
# The board/board common are responsible for defining the CPU and CPU_MODEL
|
|
|
|
# variables in their Makefile.features.
|
|
|
|
# This makes them available when setting features based on CPU_MODEL in the cpu
|
|
|
|
# Makefile.features and also during dependency resolution.
|
|
|
|
|
2019-09-09 17:00:59 +02:00
|
|
|
# Transition:
|
|
|
|
# Moving 'CPU/CPU_MODEL' to Makefile.features is an ongoing work and may not
|
|
|
|
# reflect the state of all boards for the moment.
|
|
|
|
|
2020-04-14 15:23:23 +02:00
|
|
|
include $(BOARDDIR)/Makefile.features
|
2019-05-03 16:19:20 +02:00
|
|
|
|
2018-09-11 14:13:08 +02:00
|
|
|
# Sanity check
|
|
|
|
ifeq (,$(CPU))
|
2023-02-27 22:56:34 +01:00
|
|
|
$(error $(BOARD): CPU must be defined by board / board_common Makefile.features)
|
2019-05-02 11:49:20 +02:00
|
|
|
endif
|
|
|
|
|
2018-09-11 14:13:08 +02:00
|
|
|
include $(RIOTCPU)/$(CPU)/Makefile.features
|
2020-03-25 17:12:27 +01:00
|
|
|
|
|
|
|
# Provide CPU as a feature to allow listing all boards with a CPU
|
|
|
|
FEATURES_PROVIDED += cpu_$(CPU)
|
2021-01-26 14:55:40 +01:00
|
|
|
|
|
|
|
# Features that are conflicting for all architectures
|
|
|
|
FEATURES_CONFLICT += picolibc:newlib
|
2022-09-30 15:22:56 +02:00
|
|
|
FEATURES_CONFLICT_MSG += "Only one standard C library can be used."
|
2021-08-27 22:58:47 +02:00
|
|
|
|
|
|
|
FEATURES_CONFLICT += periph_gpio_irq:periph_gpio_ll_irq
|
2022-09-30 15:22:56 +02:00
|
|
|
FEATURES_CONFLICT_MSG += "Only one GPIO IRQ implementation can be used."
|
2022-09-14 09:03:56 +02:00
|
|
|
|
2022-09-30 15:22:56 +02:00
|
|
|
FEATURES_CONFLICT += periph_usbdev:tinyusb_device
|
|
|
|
FEATURES_CONFLICT += periph_usbdev:tinyusb_host
|
|
|
|
FEATURES_CONFLICT_MSG += "Package tinyUSB is not yet compatible with periph_usbdev."
|