From ab12d60d05d8f048396d0618b99c92805de80818 Mon Sep 17 00:00:00 2001 From: Hauke Petersen <hauke.petersen@fu-berlin.de> Date: Wed, 7 Dec 2016 12:56:24 +0100 Subject: [PATCH] boards/stm32-based: adapted timer configurations --- boards/f4vi1/include/periph_conf.h | 41 +++++++++--------- boards/fox/include/periph_conf.h | 2 + .../include/periph_conf_common.h | 2 + boards/msbiot/include/periph_conf.h | 42 +++++++++---------- boards/nucleo-f030/include/periph_conf.h | 27 ++++++------ boards/nucleo-f070/include/periph_conf.h | 27 ++++++------ boards/nucleo-f072/include/periph_conf.h | 27 ++++++------ boards/nucleo-f091/include/periph_conf.h | 25 +++++------ boards/nucleo-f103/include/periph_conf.h | 3 ++ boards/nucleo-f207/include/periph_conf.h | 37 ++++++---------- boards/nucleo-f303/include/periph_conf.h | 27 ++++++------ boards/nucleo-f334/include/periph_conf.h | 34 +++++++++------ boards/nucleo-f401/include/board.h | 2 +- boards/nucleo-f401/include/periph_conf.h | 41 +++++++++--------- boards/nucleo-f446/include/board.h | 2 +- boards/nucleo-f446/include/periph_conf.h | 41 +++++++++--------- boards/nucleo-l1/include/periph_conf.h | 13 ++++-- boards/spark-core/include/periph_conf.h | 2 + boards/stm32f0discovery/include/periph_conf.h | 25 +++++------ boards/stm32f3discovery/include/periph_conf.h | 25 ++++++----- boards/stm32f4discovery/include/board.h | 2 +- boards/stm32f4discovery/include/periph_conf.h | 41 +++++++++--------- 22 files changed, 255 insertions(+), 233 deletions(-) diff --git a/boards/f4vi1/include/periph_conf.h b/boards/f4vi1/include/periph_conf.h index c4ea0359a7..4062814575 100644 --- a/boards/f4vi1/include/periph_conf.h +++ b/boards/f4vi1/include/periph_conf.h @@ -51,31 +51,30 @@ extern "C" { /** @} */ /** - * @name Timer configuration + * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (2U) -#define TIMER_0_EN 1 -#define TIMER_1_EN 1 -#define TIMER_IRQ_PRIO 1 - -/* Timer 0 configuration */ -#define TIMER_0_DEV TIM2 -#define TIMER_0_CHANNELS 4 -#define TIMER_0_FREQ (CLOCK_CORECLOCK / 2) -#define TIMER_0_MAX_VALUE (0xffffffff) -#define TIMER_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM2EN) +static const timer_conf_t timer_config[] = { + { + .dev = TIM2, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM2EN, + .bus = APB1, + .irqn = TIM2_IRQn + }, + { + .dev = TIM5, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM5EN, + .bus = APB1, + .irqn = TIM5_IRQn + } +}; + #define TIMER_0_ISR isr_tim2 -#define TIMER_0_IRQ_CHAN TIM2_IRQn - -/* Timer 1 configuration */ -#define TIMER_1_DEV TIM5 -#define TIMER_1_CHANNELS 4 -#define TIMER_1_FREQ (CLOCK_CORECLOCK / 2) -#define TIMER_1_MAX_VALUE (0xffffffff) -#define TIMER_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM5EN) #define TIMER_1_ISR isr_tim5 -#define TIMER_1_IRQ_CHAN TIM5_IRQn + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** diff --git a/boards/fox/include/periph_conf.h b/boards/fox/include/periph_conf.h index 1796c5fc17..e3198aab35 100644 --- a/boards/fox/include/periph_conf.h +++ b/boards/fox/include/periph_conf.h @@ -67,12 +67,14 @@ extern "C" { static const timer_conf_t timer_config[] = { { .dev = TIM2, + .max = 0x0000ffff, .rcc_mask = RCC_APB1ENR_TIM2EN, .bus = APB1, .irqn = TIM2_IRQn }, { .dev = TIM3, + .max = 0x0000ffff, .rcc_mask = RCC_APB1ENR_TIM3EN, .bus = APB1, .irqn = TIM3_IRQn diff --git a/boards/iotlab-common/include/periph_conf_common.h b/boards/iotlab-common/include/periph_conf_common.h index f1734792c0..5ce6492258 100644 --- a/boards/iotlab-common/include/periph_conf_common.h +++ b/boards/iotlab-common/include/periph_conf_common.h @@ -68,12 +68,14 @@ extern "C" { static const timer_conf_t timer_config[] = { { .dev = TIM2, + .max = 0x0000ffff, .rcc_mask = RCC_APB1ENR_TIM2EN, .bus = APB1, .irqn = TIM2_IRQn }, { .dev = TIM3, + .max = 0x0000ffff, .rcc_mask = RCC_APB1ENR_TIM3EN, .bus = APB1, .irqn = TIM3_IRQn diff --git a/boards/msbiot/include/periph_conf.h b/boards/msbiot/include/periph_conf.h index cc7f5596a2..e6eadc1364 100644 --- a/boards/msbiot/include/periph_conf.h +++ b/boards/msbiot/include/periph_conf.h @@ -48,33 +48,31 @@ extern "C" { #define CLOCK_APB1 (CLOCK_CORECLOCK / 4) /** @} */ - /** - * @name Timer configuration + * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (2U) -#define TIMER_0_EN 1 -#define TIMER_1_EN 1 -#define TIMER_IRQ_PRIO 1 - -/* Timer 0 configuration */ -#define TIMER_0_DEV TIM2 -#define TIMER_0_CHANNELS 4 -#define TIMER_0_FREQ (84000000U) -#define TIMER_0_MAX_VALUE (0xffffffff) -#define TIMER_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM2EN) +static const timer_conf_t timer_config[] = { + { + .dev = TIM2, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM2EN, + .bus = APB1, + .irqn = TIM2_IRQn + }, + { + .dev = TIM5, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM5EN, + .bus = APB1, + .irqn = TIM5_IRQn + } +}; + #define TIMER_0_ISR isr_tim2 -#define TIMER_0_IRQ_CHAN TIM2_IRQn - -/* Timer 1 configuration */ -#define TIMER_1_DEV TIM5 -#define TIMER_1_CHANNELS 4 -#define TIMER_1_FREQ (84000000U) -#define TIMER_1_MAX_VALUE (0xffffffff) -#define TIMER_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM5EN) #define TIMER_1_ISR isr_tim5 -#define TIMER_1_IRQ_CHAN TIM5_IRQn + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** diff --git a/boards/nucleo-f030/include/periph_conf.h b/boards/nucleo-f030/include/periph_conf.h index 1bd7f9cfd2..a2df78bd1a 100644 --- a/boards/nucleo-f030/include/periph_conf.h +++ b/boards/nucleo-f030/include/periph_conf.h @@ -21,6 +21,8 @@ #ifndef PERIPH_CONF_H_ #define PERIPH_CONF_H_ +#include "periph_cpu.h" + #ifdef __cplusplus extern "C" { #endif @@ -42,21 +44,22 @@ extern "C" { /** @} */ /** - * @brief Timer configuration + * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (1U) -#define TIMER_0_EN 1 -#define TIMER_IRQ_PRIO 1 - -/* Timer 0 configuration */ -#define TIMER_0_DEV TIM3 -#define TIMER_0_CHANNELS 4 -#define TIMER_0_FREQ (CLOCK_CORECLOCK) -#define TIMER_0_MAX_VALUE (0x0000ffff) -#define TIMER_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM3EN) -#define TIMER_0_IRQ_CHAN TIM3_IRQn +static const timer_conf_t timer_config[] = { + { + .dev = TIM3, + .max = 0x0000ffff, + .rcc_mask = RCC_APB1ENR_TIM3EN, + .bus = APB1, + .irqn = TIM3_IRQn + } +}; + #define TIMER_0_ISR isr_tim3 + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** diff --git a/boards/nucleo-f070/include/periph_conf.h b/boards/nucleo-f070/include/periph_conf.h index a988a99741..0a077edbca 100644 --- a/boards/nucleo-f070/include/periph_conf.h +++ b/boards/nucleo-f070/include/periph_conf.h @@ -21,6 +21,8 @@ #ifndef PERIPH_CONF_H_ #define PERIPH_CONF_H_ +#include "periph_cpu.h" + #ifdef __cplusplus extern "C" { #endif @@ -42,21 +44,22 @@ extern "C" { /** @} */ /** - * @brief Timer configuration + * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (1U) -#define TIMER_0_EN 1 -#define TIMER_IRQ_PRIO 1 - -/* Timer 0 configuration */ -#define TIMER_0_DEV TIM3 -#define TIMER_0_CHANNELS 4 -#define TIMER_0_FREQ (CLOCK_CORECLOCK) -#define TIMER_0_MAX_VALUE (0xffffffff) -#define TIMER_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM3EN) -#define TIMER_0_IRQ_CHAN TIM3_IRQn +static const timer_conf_t timer_config[] = { + { + .dev = TIM3, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM3EN, + .bus = APB1, + .irqn = TIM3_IRQn + } +}; + #define TIMER_0_ISR isr_tim3 + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** diff --git a/boards/nucleo-f072/include/periph_conf.h b/boards/nucleo-f072/include/periph_conf.h index ab55e8c46b..28e77ab738 100644 --- a/boards/nucleo-f072/include/periph_conf.h +++ b/boards/nucleo-f072/include/periph_conf.h @@ -20,6 +20,8 @@ #ifndef PERIPH_CONF_H_ #define PERIPH_CONF_H_ +#include "periph_cpu.h" + #ifdef __cplusplus extern "C" { #endif @@ -41,21 +43,22 @@ extern "C" { /** @} */ /** - * @brief Timer configuration + * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (1U) -#define TIMER_0_EN 1 -#define TIMER_IRQ_PRIO 1 - -/* Timer 0 configuration */ -#define TIMER_0_DEV TIM2 -#define TIMER_0_CHANNELS 4 -#define TIMER_0_FREQ (CLOCK_CORECLOCK) -#define TIMER_0_MAX_VALUE (0xffffffff) -#define TIMER_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM2EN) -#define TIMER_0_IRQ_CHAN TIM2_IRQn +static const timer_conf_t timer_config[] = { + { + .dev = TIM2, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM2EN, + .bus = APB1, + .irqn = TIM2_IRQn + } +}; + #define TIMER_0_ISR isr_tim2 + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** diff --git a/boards/nucleo-f091/include/periph_conf.h b/boards/nucleo-f091/include/periph_conf.h index 4ff995b0d2..01bfb369ad 100644 --- a/boards/nucleo-f091/include/periph_conf.h +++ b/boards/nucleo-f091/include/periph_conf.h @@ -42,21 +42,22 @@ extern "C" { /** @} */ /** - * @brief Timer configuration + * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (1U) -#define TIMER_0_EN 1 -#define TIMER_IRQ_PRIO 1 - -/* Timer 0 configuration */ -#define TIMER_0_DEV TIM2 -#define TIMER_0_CHANNELS 4 -#define TIMER_0_FREQ (CLOCK_CORECLOCK) -#define TIMER_0_MAX_VALUE (0xffffffff) -#define TIMER_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM2EN) -#define TIMER_0_IRQ_CHAN TIM2_IRQn +static const timer_conf_t timer_config[] = { + { + .dev = TIM2, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM2EN, + .bus = APB1, + .irqn = TIM2_IRQn + } +}; + #define TIMER_0_ISR isr_tim2 + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** diff --git a/boards/nucleo-f103/include/periph_conf.h b/boards/nucleo-f103/include/periph_conf.h index 5412f9c11e..feb31718a4 100644 --- a/boards/nucleo-f103/include/periph_conf.h +++ b/boards/nucleo-f103/include/periph_conf.h @@ -68,12 +68,15 @@ extern "C" { static const timer_conf_t timer_config[] = { { .dev = TIM2, + .max = 0x0000ffff, .rcc_mask = RCC_APB1ENR_TIM2EN, .bus = APB1, .irqn = TIM2_IRQn }, { .dev = TIM3, + .max = 0x0000ffff, + .rcc_mask = RCC_APB1ENR_TIM3EN, .bus = APB1, .irqn = TIM3_IRQn diff --git a/boards/nucleo-f207/include/periph_conf.h b/boards/nucleo-f207/include/periph_conf.h index 6a2d118aa8..a8679b0c6a 100644 --- a/boards/nucleo-f207/include/periph_conf.h +++ b/boards/nucleo-f207/include/periph_conf.h @@ -73,52 +73,37 @@ static const pwm_conf_t pwm_config[PWM_NUMOF] = { /** @} */ /** - * @name Timer configuration + * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (4U) -#define TIMER_0_EN 1 -#define TIMER_1_EN 1 -#define TIMER_2_EN 1 -#define TIMER_3_EN 1 -#define TIMER_IRQ_PRIO 1 - -static const timer_conf_t timer_config[TIMER_NUMOF] = { +static const timer_conf_t timer_config[] = { { .dev = TIM2, - .channels = 4, - .freq = (CLOCK_APB1 * 2), + .max = 0xffffffff, .rcc_mask = RCC_APB1ENR_TIM2EN, .bus = APB1, - .irqn = TIM2_IRQn, - .priority = TIMER_IRQ_PRIO + .irqn = TIM2_IRQn }, { .dev = TIM5, - .channels = 4, - .freq = (CLOCK_APB1 * 2), + .max = 0xffffffff, .rcc_mask = RCC_APB1ENR_TIM5EN, .bus = APB1, - .irqn = TIM5_IRQn, - .priority = TIMER_IRQ_PRIO + .irqn = TIM5_IRQn }, { .dev = TIM3, - .channels = 4, - .freq = (CLOCK_APB1 * 2), + .max = 0xffffffff, .rcc_mask = RCC_APB1ENR_TIM3EN, .bus = APB1, - .irqn = TIM3_IRQn, - .priority = TIMER_IRQ_PRIO + .irqn = TIM3_IRQn }, { .dev = TIM4, - .channels = 4, - .freq = (CLOCK_APB1 * 2), + .max = 0xffffffff, .rcc_mask = RCC_APB1ENR_TIM4EN, .bus = APB1, - .irqn = TIM4_IRQn, - .priority = TIMER_IRQ_PRIO + .irqn = TIM4_IRQn } }; @@ -126,6 +111,8 @@ static const timer_conf_t timer_config[TIMER_NUMOF] = { #define TIMER_1_ISR isr_tim5 #define TIMER_2_ISR isr_tim3 #define TIMER_3_ISR isr_tim4 + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** diff --git a/boards/nucleo-f303/include/periph_conf.h b/boards/nucleo-f303/include/periph_conf.h index aed1276eea..249df3fc45 100755 --- a/boards/nucleo-f303/include/periph_conf.h +++ b/boards/nucleo-f303/include/periph_conf.h @@ -21,6 +21,8 @@ #ifndef PERIPH_CONF_H_ #define PERIPH_CONF_H_ +#include "periph_cpu.h" + #ifdef __cplusplus extern "C" { #endif @@ -53,21 +55,22 @@ extern "C" { /** @} */ /** - * @brief Timer configuration + * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (1U) -#define TIMER_0_EN 1 -#define TIMER_IRQ_PRIO 1 - -/* Timer 0 configuration */ -#define TIMER_0_DEV TIM2 -#define TIMER_0_CHANNELS 4 -#define TIMER_0_FREQ (CLOCK_CORECLOCK) -#define TIMER_0_MAX_VALUE (0xffffffff) -#define TIMER_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM2EN) -#define TIMER_0_IRQ_CHAN TIM2_IRQn +static const timer_conf_t timer_config[] = { + { + .dev = TIM2, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM2EN, + .bus = APB1, + .irqn = TIM2_IRQn + } +}; + #define TIMER_0_ISR isr_tim2 + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** diff --git a/boards/nucleo-f334/include/periph_conf.h b/boards/nucleo-f334/include/periph_conf.h index 99e2da73f5..5167710ce0 100644 --- a/boards/nucleo-f334/include/periph_conf.h +++ b/boards/nucleo-f334/include/periph_conf.h @@ -20,6 +20,8 @@ #ifndef PERIPH_CONF_H_ #define PERIPH_CONF_H_ +#include "periph_cpu.h" + #ifdef __cplusplus extern "C" { #endif @@ -51,22 +53,30 @@ extern "C" { #define DAC_NUMOF (0) /** @} */ +/** + * @brief DAC configuration + * @{ + */ +#define DAC_NUMOF (0) +/** @} */ + /** * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (1U) -#define TIMER_0_EN 1 -#define TIMER_IRQ_PRIO 1 - -/* Timer 0 configuration */ -#define TIMER_0_DEV TIM2 -#define TIMER_0_CHANNELS 4 -#define TIMER_0_FREQ (CLOCK_CORECLOCK) -#define TIMER_0_MAX_VALUE (0xffffffff) -#define TIMER_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM2EN) -#define TIMER_0_ISR isr_tim2 -#define TIMER_0_IRQ_CHAN TIM2_IRQn +static const timer_conf_t timer_config[] = { + { + .dev = TIM2, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM2EN, + .bus = APB1, + .irqn = TIM2_IRQn + } +}; + +#define TIMER_0_ISR (isr_tim2) + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** diff --git a/boards/nucleo-f401/include/board.h b/boards/nucleo-f401/include/board.h index 9df74ec0ef..6e2be0642a 100644 --- a/boards/nucleo-f401/include/board.h +++ b/boards/nucleo-f401/include/board.h @@ -31,7 +31,7 @@ extern "C" { * @name xtimer configuration * @{ */ -#define XTIMER_DEV TIMER_0 +#define XTIMER_DEV TIMER_DEV(0) #define XTIMER_CHAN (0) #define XTIMER_OVERHEAD (6) #define XTIMER_BACKOFF (5) diff --git a/boards/nucleo-f401/include/periph_conf.h b/boards/nucleo-f401/include/periph_conf.h index 49915b5257..a8e2115ec3 100644 --- a/boards/nucleo-f401/include/periph_conf.h +++ b/boards/nucleo-f401/include/periph_conf.h @@ -49,31 +49,30 @@ extern "C" { /** @} */ /** - * @name Timer configuration + * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (2U) -#define TIMER_0_EN 1 -#define TIMER_1_EN 1 -#define TIMER_IRQ_PRIO 1 - -/* Timer 0 configuration */ -#define TIMER_0_DEV TIM2 -#define TIMER_0_CHANNELS 4 -#define TIMER_0_FREQ (CLOCK_CORECLOCK) -#define TIMER_0_MAX_VALUE (0xffffffff) -#define TIMER_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM2EN) +static const timer_conf_t timer_config[] = { + { + .dev = TIM2, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM2EN, + .bus = APB1, + .irqn = TIM2_IRQn + }, + { + .dev = TIM5, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM5EN, + .bus = APB1, + .irqn = TIM5_IRQn + } +}; + #define TIMER_0_ISR isr_tim2 -#define TIMER_0_IRQ_CHAN TIM2_IRQn - -/* Timer 1 configuration */ -#define TIMER_1_DEV TIM5 -#define TIMER_1_CHANNELS 4 -#define TIMER_1_FREQ (CLOCK_CORECLOCK) -#define TIMER_1_MAX_VALUE (0xffffffff) -#define TIMER_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM5EN) #define TIMER_1_ISR isr_tim5 -#define TIMER_1_IRQ_CHAN TIM5_IRQn + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** diff --git a/boards/nucleo-f446/include/board.h b/boards/nucleo-f446/include/board.h index ebe8b92a08..1c9143a094 100644 --- a/boards/nucleo-f446/include/board.h +++ b/boards/nucleo-f446/include/board.h @@ -31,7 +31,7 @@ extern "C" { * @name xtimer configuration * @{ */ -#define XTIMER_DEV TIMER_0 +#define XTIMER_DEV TIMER_DEV(0) #define XTIMER_CHAN (0) #define XTIMER_OVERHEAD (6) #define XTIMER_BACKOFF (5) diff --git a/boards/nucleo-f446/include/periph_conf.h b/boards/nucleo-f446/include/periph_conf.h index d4a2d093be..fa2703181b 100644 --- a/boards/nucleo-f446/include/periph_conf.h +++ b/boards/nucleo-f446/include/periph_conf.h @@ -49,31 +49,30 @@ extern "C" { /** @} */ /** - * @name Timer configuration + * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (2U) -#define TIMER_0_EN 1 -#define TIMER_1_EN 1 -#define TIMER_IRQ_PRIO 1 - -/* Timer 0 configuration */ -#define TIMER_0_DEV TIM2 -#define TIMER_0_CHANNELS 4 -#define TIMER_0_FREQ (CLOCK_CORECLOCK) -#define TIMER_0_MAX_VALUE (0xffffffff) -#define TIMER_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM2EN) +static const timer_conf_t timer_config[] = { + { + .dev = TIM2, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM2EN, + .bus = APB1, + .irqn = TIM2_IRQn + }, + { + .dev = TIM5, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM5EN, + .bus = APB1, + .irqn = TIM5_IRQn + } +}; + #define TIMER_0_ISR isr_tim2 -#define TIMER_0_IRQ_CHAN TIM2_IRQn - -/* Timer 1 configuration */ -#define TIMER_1_DEV TIM5 -#define TIMER_1_CHANNELS 4 -#define TIMER_1_FREQ (CLOCK_CORECLOCK) -#define TIMER_1_MAX_VALUE (0xffffffff) -#define TIMER_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM5EN) #define TIMER_1_ISR isr_tim5 -#define TIMER_1_IRQ_CHAN TIM5_IRQn + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** diff --git a/boards/nucleo-l1/include/periph_conf.h b/boards/nucleo-l1/include/periph_conf.h index b817a9247b..52d27d3c8d 100644 --- a/boards/nucleo-l1/include/periph_conf.h +++ b/boards/nucleo-l1/include/periph_conf.h @@ -60,12 +60,17 @@ extern "C" { * @{ */ static const timer_conf_t timer_config[] = { - /* device, RCC bit, IRQ bit */ - {TIM5, 3, TIM5_IRQn}, + { + .dev = TIM5, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM5EN, + .bus = APB1, + .irqn = TIM5_IRQn + } }; -/* interrupt routines */ + #define TIMER_0_ISR (isr_tim5) -/* number of defined timers */ + #define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ diff --git a/boards/spark-core/include/periph_conf.h b/boards/spark-core/include/periph_conf.h index a495db8f03..80ff806d04 100644 --- a/boards/spark-core/include/periph_conf.h +++ b/boards/spark-core/include/periph_conf.h @@ -67,12 +67,14 @@ static const timer_conf_t timer_config[] = { { .dev = TIM2, + .max = 0x0000ffff, .rcc_mask = RCC_APB1ENR_TIM2EN, .bus = APB1, .irqn = TIM2_IRQn }, { .dev = TIM3, + .max = 0x0000ffff, .rcc_mask = RCC_APB1ENR_TIM3EN, .bus = APB1, .irqn = TIM3_IRQn diff --git a/boards/stm32f0discovery/include/periph_conf.h b/boards/stm32f0discovery/include/periph_conf.h index 9ca2befe72..4c2027c0d7 100644 --- a/boards/stm32f0discovery/include/periph_conf.h +++ b/boards/stm32f0discovery/include/periph_conf.h @@ -42,21 +42,22 @@ extern "C" { /** @} */ /** - * @name Timer configuration + * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (1U) -#define TIMER_0_EN 1 -#define TIMER_IRQ_PRIO 1 - -/* Timer 0 configuration */ -#define TIMER_0_DEV TIM2 -#define TIMER_0_CHANNELS 4 -#define TIMER_0_FREQ (CLOCK_CORECLOCK) -#define TIMER_0_MAX_VALUE (0xffffffff) -#define TIMER_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM2EN) +static const timer_conf_t timer_config[] = { + { + .dev = TIM2, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM2EN, + .bus = APB1, + .irqn = TIM2_IRQn + } +}; + #define TIMER_0_ISR isr_tim2 -#define TIMER_0_IRQ_CHAN TIM2_IRQn + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** diff --git a/boards/stm32f3discovery/include/periph_conf.h b/boards/stm32f3discovery/include/periph_conf.h index 0dd14045d2..22e3bdf5f0 100644 --- a/boards/stm32f3discovery/include/periph_conf.h +++ b/boards/stm32f3discovery/include/periph_conf.h @@ -19,6 +19,8 @@ #ifndef PERIPH_CONF_H_ #define PERIPH_CONF_H_ +#include "periph_cpu.h" + #ifdef __cplusplus extern "C" { #endif @@ -55,21 +57,22 @@ extern "C" { /** @} */ /** - * @brief Timer configuration + * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (1U) -#define TIMER_0_EN 1 -#define TIMER_IRQ_PRIO 1 +static const timer_conf_t timer_config[] = { + { + .dev = TIM2, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM2EN, + .bus = APB1, + .irqn = TIM2_IRQn + } +}; -/* Timer 0 configuration */ -#define TIMER_0_DEV TIM2 -#define TIMER_0_CHANNELS 4 -#define TIMER_0_FREQ (CLOCK_CORECLOCK) -#define TIMER_0_MAX_VALUE (0xffffffff) -#define TIMER_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM2EN) #define TIMER_0_ISR isr_tim2 -#define TIMER_0_IRQ_CHAN TIM2_IRQn + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** diff --git a/boards/stm32f4discovery/include/board.h b/boards/stm32f4discovery/include/board.h index 41925c1409..98c95f1148 100644 --- a/boards/stm32f4discovery/include/board.h +++ b/boards/stm32f4discovery/include/board.h @@ -32,7 +32,7 @@ extern "C" { * @name xtimer configuration * @{ */ -#define XTIMER_DEV TIMER_0 +#define XTIMER_DEV TIMER_DEV(0) #define XTIMER_CHAN (0) #define XTIMER_OVERHEAD (6) #define XTIMER_BACKOFF (10) diff --git a/boards/stm32f4discovery/include/periph_conf.h b/boards/stm32f4discovery/include/periph_conf.h index 264742e349..c25a03b317 100644 --- a/boards/stm32f4discovery/include/periph_conf.h +++ b/boards/stm32f4discovery/include/periph_conf.h @@ -50,31 +50,30 @@ extern "C" { /** @} */ /** - * @name Timer configuration + * @brief Timer configuration * @{ */ -#define TIMER_NUMOF (2U) -#define TIMER_0_EN 1 -#define TIMER_1_EN 1 -#define TIMER_IRQ_PRIO 1 +static const timer_conf_t timer_config[] = { + { + .dev = TIM2, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM2EN, + .bus = APB1, + .irqn = TIM2_IRQn + }, + { + .dev = TIM5, + .max = 0xffffffff, + .rcc_mask = RCC_APB1ENR_TIM5EN, + .bus = APB1, + .irqn = TIM5_IRQn + } +}; -/* Timer 0 configuration */ -#define TIMER_0_DEV TIM2 -#define TIMER_0_CHANNELS 4 -#define TIMER_0_FREQ (CLOCK_CORECLOCK / 2) -#define TIMER_0_MAX_VALUE (0xffffffff) -#define TIMER_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM2EN) #define TIMER_0_ISR isr_tim2 -#define TIMER_0_IRQ_CHAN TIM2_IRQn - -/* Timer 1 configuration */ -#define TIMER_1_DEV TIM5 -#define TIMER_1_CHANNELS 4 -#define TIMER_1_FREQ (CLOCK_CORECLOCK / 2) -#define TIMER_1_MAX_VALUE (0xffffffff) -#define TIMER_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_TIM5EN) #define TIMER_1_ISR isr_tim5 -#define TIMER_1_IRQ_CHAN TIM5_IRQn + +#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** @@ -103,7 +102,7 @@ static const uart_conf_t uart_config[] = { .irqn = USART3_IRQn, .dma_stream = 3, .dma_chan = 4 - }, + } }; /* assign ISR vector names */ -- GitLab