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

cpu: add periph_rtt_overflow feature

The RTT overflow callback is not available on all RTT implementations.
This means it is either a no-op or `rtt_set_overflow_cb()` is a no-op
or it will overwrite the alarm set with `rtt_set_alarm()`.

This adds a feature to indicate that proper overflow reporting is available.
This commit is contained in:
Benjamin Valentin 2021-01-13 20:48:29 +01:00
parent d806aa42c6
commit d47a880915
21 changed files with 25 additions and 0 deletions

View File

@ -22,6 +22,7 @@ config CPU_COMMON_ATMEGA
select HAS_PERIPH_PM
select HAS_PERIPH_RTT_SET_COUNTER
select HAS_PERIPH_TIMER_PERIODIC
select HAS_PERIPH_RTT_OVERFLOW
select HAS_PERIPH_WDT
select HAS_PUF_SRAM

View File

@ -12,6 +12,7 @@ FEATURES_PROVIDED += periph_gpio periph_gpio_irq
FEATURES_PROVIDED += periph_pm
FEATURES_PROVIDED += periph_rtt_set_counter
FEATURES_PROVIDED += periph_timer_periodic
FEATURES_PROVIDED += periph_rtt_overflow
FEATURES_PROVIDED += periph_wdt
FEATURES_PROVIDED += puf_sram

View File

@ -19,6 +19,7 @@ config CPU_FAM_CC2538
select HAS_PERIPH_RTT_SET_COUNTER
select HAS_PERIPH_UART_MODECFG
select HAS_PERIPH_UART_NONBLOCKING
select HAS_PERIPH_RTT_OVERFLOW
select HAS_PERIPH_WDT
## CPU Models

View File

@ -9,6 +9,7 @@ FEATURES_PROVIDED += periph_hwrng
FEATURES_PROVIDED += periph_rtt_set_counter
FEATURES_PROVIDED += periph_uart_modecfg
FEATURES_PROVIDED += periph_uart_nonblocking
FEATURES_PROVIDED += periph_rtt_overflow
FEATURES_PROVIDED += periph_wdt
FEATURES_PROVIDED += cortexm_mpu

View File

@ -14,6 +14,7 @@ config CPU_COMMON_EFM32
select HAS_PERIPH_GPIO
select HAS_PERIPH_GPIO_IRQ
select HAS_PERIPH_RTT_SET_COUNTER
select HAS_PERIPH_RTT_OVERFLOW
select HAS_PERIPH_WDT
config CPU_EFM32_SERIES0

View File

@ -14,6 +14,7 @@ FEATURES_PROVIDED += periph_flashpage
FEATURES_PROVIDED += periph_flashpage_pagewise
FEATURES_PROVIDED += periph_gpio periph_gpio_irq
FEATURES_PROVIDED += periph_rtt_set_counter
FEATURES_PROVIDED += periph_rtt_overflow
FEATURES_PROVIDED += periph_wdt
FEATURES_CONFLICT += periph_rtc:periph_rtt

View File

@ -19,6 +19,7 @@ config CPU_FAM_ESP32
select HAS_PERIPH_RTC
select HAS_PERIPH_RTT
select HAS_PERIPH_RTT_SET_COUNTER
select HAS_PERIPH_RTT_OVERFLOW
## CPU Models
config CPU_MODEL_ESP32_WROOM_32

View File

@ -10,3 +10,4 @@ FEATURES_PROVIDED += periph_adc_ctrl
FEATURES_PROVIDED += periph_rtc
FEATURES_PROVIDED += periph_rtt
FEATURES_PROVIDED += periph_rtt_set_counter
FEATURES_PROVIDED += periph_rtt_overflow

View File

@ -16,6 +16,7 @@ config CPU_FAM_ESP8266
select HAS_CPU_ESP8266
select HAS_PERIPH_RTC
select HAS_PERIPH_RTT
select HAS_PERIPH_RTT_OVERFLOW
select HAS_PERIPH_RTT_SET_COUNTER
## CPU Models

View File

@ -7,4 +7,5 @@ include $(RIOTCPU)/esp_common/Makefile.features
FEATURES_PROVIDED += arch_esp8266
FEATURES_PROVIDED += periph_rtt
FEATURES_PROVIDED += periph_rtc
FEATURES_PROVIDED += periph_rtt_overflow
FEATURES_PROVIDED += periph_rtt_set_counter

View File

@ -13,6 +13,7 @@ config CPU_FAM_FE310
select HAS_PERIPH_GPIO
select HAS_PERIPH_GPIO_IRQ
select HAS_PERIPH_PM
select HAS_PERIPH_RTT_OVERFLOW
select HAS_PERIPH_RTT_SET_COUNTER
select HAS_PERIPH_WDT

View File

@ -1,6 +1,7 @@
FEATURES_PROVIDED += periph_cpuid
FEATURES_PROVIDED += periph_gpio periph_gpio_irq
FEATURES_PROVIDED += periph_pm
FEATURES_PROVIDED += periph_rtt_overflow
FEATURES_PROVIDED += periph_rtt_set_counter
FEATURES_PROVIDED += periph_wdt

View File

@ -12,6 +12,7 @@ config CPU_COMMON_KINETIS
select HAS_PERIPH_GPIO_IRQ
select HAS_PERIPH_PM
select HAS_PERIPH_RTT_SET_COUNTER
select HAS_PERIPH_RTT_OVERFLOW
config CPU_FAM_EA
bool

View File

@ -15,6 +15,7 @@ endif
FEATURES_PROVIDED += periph_gpio
FEATURES_PROVIDED += periph_gpio_irq
FEATURES_PROVIDED += periph_rtt_set_counter
FEATURES_PROVIDED += periph_rtt_overflow
# Parse parameters from CPU_MODEL using the kinetis-info.mk script in the same
# directory as this Makefile.

View File

@ -15,6 +15,7 @@ config CPU_COMMON_NRF5X
select HAS_PERIPH_HWRNG
select HAS_PERIPH_TEMPERATURE
select HAS_PERIPH_TIMER_PERIODIC
select HAS_PERIPH_RTT_OVERFLOW
select HAS_PERIPH_UART_MODECFG
select HAS_PERIPH_WDT
select HAS_PERIPH_WDT_CB

View File

@ -6,6 +6,7 @@ FEATURES_PROVIDED += periph_gpio periph_gpio_irq
FEATURES_PROVIDED += periph_hwrng
FEATURES_PROVIDED += periph_temperature
FEATURES_PROVIDED += periph_timer_periodic
FEATURES_PROVIDED += periph_rtt_overflow
FEATURES_PROVIDED += periph_uart_modecfg
FEATURES_PROVIDED += periph_wdt periph_wdt_cb

View File

@ -15,6 +15,7 @@ config CPU_COMMON_SAM0
select HAS_PERIPH_GPIO_IRQ
select HAS_PERIPH_I2C_RECONFIGURE
select HAS_PERIPH_RTT_SET_COUNTER
select HAS_PERIPH_RTT_OVERFLOW
select HAS_PERIPH_SPI_RECONFIGURE
select HAS_PERIPH_TIMER_PERIODIC
select HAS_PERIPH_UART_MODECFG

View File

@ -13,6 +13,7 @@ FEATURES_PROVIDED += periph_flashpage_rwee
FEATURES_PROVIDED += periph_gpio periph_gpio_irq
FEATURES_PROVIDED += periph_i2c_reconfigure
FEATURES_PROVIDED += periph_rtt_set_counter
FEATURES_PROVIDED += periph_rtt_overflow
FEATURES_PROVIDED += periph_spi_reconfigure
FEATURES_PROVIDED += periph_timer_periodic # implements timer_set_periodic()
FEATURES_PROVIDED += periph_uart_modecfg

View File

@ -12,6 +12,7 @@ config CPU_STM32
select HAS_PERIPH_GPIO
select HAS_PERIPH_GPIO_IRQ
select HAS_PERIPH_TIMER_PERIODIC
select HAS_PERIPH_RTT_OVERFLOW
select HAS_PERIPH_UART_MODECFG
select HAS_PERIPH_UART_NONBLOCKING

View File

@ -8,6 +8,7 @@ FEATURES_PROVIDED += cpu_stm32$(CPU_FAM)
FEATURES_PROVIDED += periph_cpuid
FEATURES_PROVIDED += periph_gpio periph_gpio_irq
FEATURES_PROVIDED += periph_timer_periodic
FEATURES_PROVIDED += periph_rtt_overflow
FEATURES_PROVIDED += periph_uart_modecfg
FEATURES_PROVIDED += periph_uart_nonblocking

View File

@ -262,6 +262,11 @@ config HAS_PERIPH_RTT_SET_COUNTER
help
Indicates that the RTT peripheral implements rtt_set_counter().
config HAS_PERIPH_RTT_OVERFLOW
bool
help
Indicates that the RTT provides an overflow callback.
config HAS_PERIPH_SPI
bool
help