1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

31 Commits

Author SHA1 Message Date
Marian Buschsieweke
b917807444
drivers/periph_timer: add periph_timer_query_freqs
Allow accessing supported timer frequencies with a dedicated API.
This API needs to be implemented per platform and is available with
the feature periph_timer_query_freqs.
2023-12-05 16:07:24 +01:00
Mikolai Gütschow
b2262ae388
Makefile: mark periph_init_ecc_ed25519 as non-existant 2023-10-09 16:47:04 +02:00
Lena Boeckmann
c01d689769 pkg: Add cryptocell driver and nrf52 HW features 2023-08-31 14:38:49 +02:00
bors[bot]
70e91e4cac
Merge #19499 #19500
19499: makefiles/features_modules: ignore periph_wdt_auto_start r=benpicco a=benpicco



19500: makefiles/features_modules: ignore periph_spidev_linux r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
2023-04-24 23:26:07 +00:00
Benjamin Valentin
0078ab4522 makefiles/features_modules: ignore periph_spidev_linux 2023-04-24 16:57:42 +02:00
Benjamin Valentin
4965a229c9 makefiles/features_modules: ignore periph_wdt_auto_start 2023-04-24 15:40:15 +02:00
Oleg Hahm
60a77948a7 Makefile.dep: pull in FEATURES_REQUIRED for periph
Whenever the module of a peripheral driver, i.e., periph_* should be used, the corresponding entry in the
FEATURES_REQUIRED should be added. Conflicts between these modules are
only checked when this entry is present.
2023-03-07 21:06:24 +01:00
MrKevinWeiss
29c6fecab3
makefiles/features_modules: ignore non-init periphs 2022-08-17 14:37:24 +02:00
MrKevinWeiss
99f4fd633e
makefiles: Prevent periph_init_mcg_lite module 2022-08-16 10:57:26 +02:00
Marian Buschsieweke
dc47528dda
build system: no periph_init for periph_gpio_ll*
None of the periph_gpio_ll* features provides or requires a periph_init
hook. Hence, blacklist them for periph_init conversion.
2022-05-24 11:50:52 +02:00
Francisco Molina
25e670e263 makefiles/dependency_resolution: add outer loop for DEFAULT_MODULE deps
Some DEFAULT_MODULEs in tree have dependencies of their own. This is
usually done for aliases of init modules, and do not have dependencies
themselves.

This adds the final stage to dependency resolutions where DEFAULT_MODULEs
dependencies MAY be included. These included modules MUST NOT have
dependencies themselves.

This allows for modules to disable DEFAULT_MODULEs during dependencies
resolution independent of the inclusion order.

auto_init and periph_init modules are moved to this outer-loop, allowing
therefore for modules to disable them during the dependency resolution
2022-02-14 12:59:31 +01:00
Francisco Molina
8b45ed87be drivers/rtt_rtc: select rtc_utils 2022-01-18 15:32:38 +01:00
79df157727
sys: move rtc utility functions to their own module 2021-12-20 13:04:20 +01:00
Leandro Lanzieri
aec9d7a8e5
makefiles/features_modules: do not generate init for ESP RTT
This avoids the generation of the unneeded modules
periph_init_rtt_hw_rtc and periph_init_rtt_hw_sys.
2021-12-10 18:51:24 +01:00
Leandro Lanzieri
9bfa652f9e
makefiles/features_modules: don't generate init for kinetis periphs 2021-12-07 11:32:16 +01:00
Francisco
cb07027b39
Merge pull request #17277 from leandrolanzieri/pr/cpu/qn908x/model_kconfig
cpu/qn908x: model kconfig
2021-12-01 01:03:30 +01:00
Leandro Lanzieri
07871d072e
makefiles/features_modules: avoid init for qn908x periphs 2021-11-29 13:56:43 +01:00
MrKevinWeiss
51f92fa816
drivers/periph_spi: Kconfig SPI_ON_QSPI model 2021-11-29 09:12:27 +01:00
Leandro Lanzieri
6769101c34
sys/arduino: add pseudomodule for the arduino_pwm feature 2021-11-22 12:25:58 +01:00
Leandro Lanzieri
7036388769
drivers/periph_common: add RTC ms module to Kconfig 2021-11-22 12:25:57 +01:00
Leandro Lanzieri
cf753c6790
cpu/riscv_common: model Kconfig 2021-10-01 11:26:15 +02:00
Francisco Molina
8e675cd64f makefiles/features_modules.inc.mk: add periph_rtc_rtt to init ignore 2021-09-27 10:25:11 +02:00
Hauke Petersen
f69fcc162b make: introduce VDD_LC_FILTER_x feature 2021-02-19 17:19:28 +01:00
Francisco Molina
63a2a6ce1b
treewide: model newlib as a FEATURE 2021-01-27 09:24:25 +01:00
Bas Stottelaar
8e1f6efa6d makefiles: model efm32_coretemp as a feature 2020-11-18 17:27:17 +01:00
17b04972f9
makefiles/features_modules.inc.mk: convert bootloader_stm32 feature as module 2020-09-28 21:06:37 +02:00
Benjamin Valentin
3dbe468c14 features_modules: include puf_sram if used 2020-09-04 13:48:59 +02:00
43d6c4147a features_modules: cortexm_mpu -> mpu_stack_guard 2020-08-18 10:26:21 +02:00
e3f6c0f340 core: make idle thread optional 2020-06-25 16:02:28 +02:00
24facae6fb makefiles/features_modules: add cortexm_svc 2020-06-10 23:12:58 +02:00
Marian Buschsieweke
7bc15acee2
build system: Restructure dependency resolution
Goals:
- Untangle dependency resolution and feature checking for better maintainability
- Improve performance of "make info-boards-supported"

Changes:
- Makefile.dep
    - Dropped handling of default modules and recursion
    - Now only dependencies of the current set of used modules and pkgs are
      added
  ==> External recursion is needed to catch transient dependencies
- Changed Makefile.features:
    - Dropped checking of provided features
    - Dropped populating FEATURES_USED with provided features that are required
      or optional
    - Dropped populating FEATURES_MISSING with required but not provided
      features
    - Dropped adding modules implementing used features to USE_MODULE
  ==> This now only populates FEATURES_PROVIDED, nothing more
- Added makefiles/features_check.inc.mk:
    - This performs the population of FEATURES_USED and FEATURES_MISSING now
- Added makefiles/features_modules.inc.mk:
    - This performs now the addition of modules implementing used features
- Added makefiles/dependency_resolution.inc.mk:
    - This now performs the recursion required to catch transient dependencies
    - Also the feature check is performed recursively to handle also required
      and optional features of the transient dependencies
    - DEFAULT_MODULES are added repeatedly to allow it to be extended based on
      used features and modules
      ==> This allows modules to have optional dependencies, as these
          dependencies can be blacklisted
- Use simply expanded variables instead of recursively expended variables
  (`foo := $(bar)` instead `foo = $(bar)`) for internal variables during feature
  resolution. This improves performance significantly for
  `make info-boards-supported`.
- Reduce dependency resolution steps in `make info-boards-supported`
    - Globally resolve dependencies without any features (including arch)
      provided
      ==> This results in the common subset of feature requirements and modules
          used
        - But for individual boards additional modules might be used on top due
          to architecture specific dependencies or optional features
    - Boards not supporting this subset of commonly required features are not
      supported, so no additional dependency resolution is needed for them
    - For each board supporting the common set of requirements a complete
      dependency resolution is still needed to also catch architecture specific
      hacks
         - But this resolution is seeded with the common set of dependencies to
           speed this up
2020-04-02 09:55:07 +02:00