diff --git a/src/drivers/boards/tap-v1/board_config.h b/src/drivers/boards/tap-v1/board_config.h index 26395d4908..654b70a45d 100644 --- a/src/drivers/boards/tap-v1/board_config.h +++ b/src/drivers/boards/tap-v1/board_config.h @@ -168,10 +168,10 @@ __BEGIN_DECLS * Tone alarm output */ /* todo:Revisit - cannnot tell from schematic - one could be tone alarm*/ -#define TONE_ALARM_TIMER 3 /* timer 3 */ -#define TONE_ALARM_CHANNEL 3 /* channel 3 */ -#define GPIO_TONE_ALARM_IDLE (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTC|GPIO_PIN8) -#define GPIO_TONE_ALARM (GPIO_ALT|GPIO_AF2|GPIO_SPEED_2MHz|GPIO_FLOAT|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8) +#define TONE_ALARM_TIMER 8 /* timer 8 */ +#define TONE_ALARM_CHANNEL 3 /* channel 3 */ +#define GPIO_TONE_ALARM_IDLE (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTC|GPIO_PIN8) +#define GPIO_TONE_ALARM (GPIO_ALT|GPIO_AF2|GPIO_SPEED_2MHz|GPIO_FLOAT|GPIO_PUSHPULL|GPIO_PORTC|GPIO_PIN8) /* * PWM @@ -192,6 +192,12 @@ __BEGIN_DECLS #define GPIO_TIM3_CH4OUT GPIO_TIM3_CH4OUT_1 #define DIRECT_PWM_OUTPUT_CHANNELS 4 +#define BOARD_HAS_LED_PWM +#define LED_TIM3_CH1OUT GPIO_TIM3_CH1OUT +#define LED_TIM3_CH2OUT GPIO_TIM3_CH2OUT +#define LED_TIM3_CH3OUT GPIO_TIM3_CH3OUT + + /* USB OTG FS * * PA9 OTG_FS_VBUS VBUS sensing (also connected to the green LED) diff --git a/src/drivers/boards/tap-v1/tap_timer_config.c b/src/drivers/boards/tap-v1/tap_timer_config.c index e59fdfe641..0d43e7931c 100644 --- a/src/drivers/boards/tap-v1/tap_timer_config.c +++ b/src/drivers/boards/tap-v1/tap_timer_config.c @@ -98,3 +98,36 @@ __EXPORT const timer_io_channels_t timer_io_channels[MAX_TIMER_IO_CHANNELS] = { .masks = GTIM_SR_CC4IF | GTIM_SR_CC4OF } }; + +__EXPORT const struct io_timers_t led_pwm_timers[1] = { + { + .base = STM32_TIM3_BASE, + .clock_register = STM32_RCC_APB1ENR, + .clock_bit = RCC_APB1ENR_TIM3EN, + .clock_freq = STM32_APB1_TIM3_CLKIN, + .vectorno = STM32_IRQ_TIM3, + .first_channel_index = 0, + .last_channel_index = 2, + } +}; + +__EXPORT const struct timer_io_channels_t led_pwm_channels[3] = { + { + .gpio_out = LED_TIM3_CH1OUT, + .gpio_in = 0, + .timer_index = 0, + .timer_channel = 1, + }, + { + .gpio_out = LED_TIM3_CH2OUT, + .gpio_in = 0, + .timer_index = 0, + .timer_channel = 2, + }, + { + .gpio_out = LED_TIM3_CH3OUT, + .gpio_in = 0, + .timer_index = 0, + .timer_channel = 3, + } +};