This is an automated email from the ASF dual-hosted git repository.

utzig pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git

commit 0855ffc7ff725239dcd4e300ceb801e0f6a8fbdf
Author: Fabio Utzig <[email protected]>
AuthorDate: Wed Sep 25 14:41:35 2019 -0300

    [STM32WB] Update drivers for WBxx MCU
---
 hw/mcu/stm/stm32_common/src/hal_gpio.c  | 4 ++--
 hw/mcu/stm/stm32_common/src/hal_timer.c | 6 +++---
 hw/mcu/stm/stm32_common/src/hal_uart.c  | 9 ++++++++-
 3 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/hw/mcu/stm/stm32_common/src/hal_gpio.c 
b/hw/mcu/stm/stm32_common/src/hal_gpio.c
index d7c408a..bb2f40a 100644
--- a/hw/mcu/stm/stm32_common/src/hal_gpio.c
+++ b/hw/mcu/stm/stm32_common/src/hal_gpio.c
@@ -837,7 +837,7 @@ hal_gpio_irq_enable(int pin)
     mask = GPIO_MASK(pin);
 
     __HAL_DISABLE_INTERRUPTS(ctx);
-#if MYNEWT_VAL(MCU_STM32L4)
+#if MYNEWT_VAL(MCU_STM32L4) || MYNEWT_VAL(MCU_STM32WB)
     EXTI->IMR1 |= mask;
 #else
     EXTI->IMR |= mask;
@@ -859,7 +859,7 @@ hal_gpio_irq_disable(int pin)
 
     mask = GPIO_MASK(pin);
     __HAL_DISABLE_INTERRUPTS(ctx);
-#if MYNEWT_VAL(MCU_STM32L4)
+#if MYNEWT_VAL(MCU_STM32L4) || MYNEWT_VAL(MCU_STM32WB)
     EXTI->IMR1 |= mask;
 #else
     EXTI->IMR &= ~mask;
diff --git a/hw/mcu/stm/stm32_common/src/hal_timer.c 
b/hw/mcu/stm/stm32_common/src/hal_timer.c
index 64538e9..f7ed9cd 100644
--- a/hw/mcu/stm/stm32_common/src/hal_timer.c
+++ b/hw/mcu/stm/stm32_common/src/hal_timer.c
@@ -195,7 +195,7 @@ stm32_hw_setup(int num, TIM_TypeDef *regs)
     if (regs == TIM1) {
 #if MYNEWT_VAL(MCU_STM32F0)
         stm32_tmr_reg_irq(TIM1_CC_IRQn, func);
-#elif MYNEWT_VAL(MCU_STM32F3) || MYNEWT_VAL(MCU_STM32L4)
+#elif MYNEWT_VAL(MCU_STM32F3) || MYNEWT_VAL(MCU_STM32L4) || 
MYNEWT_VAL(MCU_STM32WB)
         stm32_tmr_reg_irq(TIM1_UP_TIM16_IRQn, func);
 #else
         stm32_tmr_reg_irq(TIM1_UP_TIM10_IRQn, func);
@@ -224,7 +224,7 @@ stm32_hw_setup(int num, TIM_TypeDef *regs)
 #ifdef TIM8
     if (regs == TIM8) {
         stm32_tmr_reg_irq(TIM8_CC_IRQn, func);
-#if MYNEWT_VAL(MCU_STM32F3) || MYNEWT_VAL(MCU_STM32L4)
+#if MYNEWT_VAL(MCU_STM32F3) || MYNEWT_VAL(MCU_STM32L4) || 
MYNEWT_VAL(MCU_STM32WB)
         stm32_tmr_reg_irq(TIM8_UP_IRQn, func);
 #else
         stm32_tmr_reg_irq(TIM8_UP_TIM13_IRQn, func);
@@ -244,7 +244,7 @@ stm32_hw_setup(int num, TIM_TypeDef *regs)
 #endif
 #ifdef TIM10
     if (regs == TIM10) {
-#if MYNEWT_VAL(MCU_STM32L1) || MYNEWT_VAL(MCU_STM32L4)
+#if MYNEWT_VAL(MCU_STM32L1) || MYNEWT_VAL(MCU_STM32L4) || 
MYNEWT_VAL(MCU_STM32WB)
         stm32_tmr_reg_irq(TIM10_IRQn, func);
 #else
         stm32_tmr_reg_irq(TIM1_UP_TIM10_IRQn, func);
diff --git a/hw/mcu/stm/stm32_common/src/hal_uart.c 
b/hw/mcu/stm/stm32_common/src/hal_uart.c
index 2053724..c46f2c7 100644
--- a/hw/mcu/stm/stm32_common/src/hal_uart.c
+++ b/hw/mcu/stm/stm32_common/src/hal_uart.c
@@ -65,7 +65,11 @@ static struct hal_uart_irq uart_irqs[3];
 #  define TC            USART_ISR_TC
 #  define RXDR(x)       ((x)->RDR)
 #  define TXDR(x)       ((x)->TDR)
+#if MYNEWT_VAL(MCU_STM32WB)
+#  define BAUD(x,y)     UART_DIV_SAMPLING16((x), (y), UART_PRESCALER_DIV1)
+#else
 #  define BAUD(x,y)     UART_DIV_SAMPLING16((x), (y))
+#endif
 #else
 #  define STATUS(x)     ((x)->SR)
 #  define RXNE          USART_SR_RXNE
@@ -209,12 +213,13 @@ uart_irq1(void)
     uart_irq_handler(0);
 }
 
+#ifdef USART2_BASE
 static void
 uart_irq2(void)
 {
     uart_irq_handler(1);
-
 }
+#endif
 
 #ifdef USART3_BASE
 static void
@@ -275,10 +280,12 @@ hal_uart_set_nvic(IRQn_Type irqn, struct hal_uart *uart)
         isr = (uint32_t)&uart_irq1;
         ui = &uart_irqs[0];
         break;
+#ifdef USART2_BASE
     case USART2_IRQn:
         isr = (uint32_t)&uart_irq2;
         ui = &uart_irqs[1];
         break;
+#endif
 #ifdef USART3_BASE
   #if !MYNEWT_VAL(MCU_STM32F0)
     case USART3_IRQn:

Reply via email to