summaryrefslogtreecommitdiff
path: root/chip/stm32/usart-stm32f0.c
diff options
context:
space:
mode:
Diffstat (limited to 'chip/stm32/usart-stm32f0.c')
-rw-r--r--chip/stm32/usart-stm32f0.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/chip/stm32/usart-stm32f0.c b/chip/stm32/usart-stm32f0.c
index 8ae2085498..54d68977ef 100644
--- a/chip/stm32/usart-stm32f0.c
+++ b/chip/stm32/usart-stm32f0.c
@@ -36,11 +36,16 @@ static void usart_variant_enable(struct usart_config const *config)
*/
configs[config->hw->index] = config;
- usart_set_baud_f0_l(config, clock_get_freq());
+ usart_set_baud(config, config->baud);
task_enable_irq(config->hw->irq);
}
+void usart_set_baud(struct usart_config const *config, int baud)
+{
+ usart_set_baud_f0_l(config, baud, clock_get_freq());
+}
+
static void usart_variant_disable(struct usart_config const *config)
{
int index = config->hw->index;
@@ -69,7 +74,8 @@ static void freq_change(void)
for (i = 0; i < ARRAY_SIZE(configs); ++i)
if (configs[i])
- usart_set_baud_f0_l(configs[i], clock_get_freq());
+ usart_set_baud_f0_l(configs[i], configs[i]->baud,
+ clock_get_freq());
}
DECLARE_HOOK(HOOK_FREQ_CHANGE, freq_change, HOOK_PRIO_DEFAULT);