aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/ports/STM32
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2017-05-27 15:28:21 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2017-05-27 15:28:21 +0000
commit0d9f42c9d9ce052f7ddf42174eafefae7516f99a (patch)
treec138562f4a8dd294355a84a63816b1ac9021dd47 /os/hal/ports/STM32
parentdd4239960c73242b31d18571e6a66d9dd229b4cc (diff)
downloadChibiOS-0d9f42c9d9ce052f7ddf42174eafefae7516f99a.tar.gz
ChibiOS-0d9f42c9d9ce052f7ddf42174eafefae7516f99a.tar.bz2
ChibiOS-0d9f42c9d9ce052f7ddf42174eafefae7516f99a.zip
Fixed USART4/5 support on STM32L07x.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10205 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/ports/STM32')
-rw-r--r--os/hal/ports/STM32/LLD/USARTv2/hal_uart_lld.c14
-rw-r--r--os/hal/ports/STM32/STM32L0xx/hal_lld.h10
-rw-r--r--os/hal/ports/STM32/STM32L0xx/stm32_registry.h7
3 files changed, 27 insertions, 4 deletions
diff --git a/os/hal/ports/STM32/LLD/USARTv2/hal_uart_lld.c b/os/hal/ports/STM32/LLD/USARTv2/hal_uart_lld.c
index 6c59357c7..04e25d9c1 100644
--- a/os/hal/ports/STM32/LLD/USARTv2/hal_uart_lld.c
+++ b/os/hal/ports/STM32/LLD/USARTv2/hal_uart_lld.c
@@ -99,6 +99,20 @@
STM32_DMA_GETCHANNEL(STM32_UART_UART8_TX_DMA_STREAM, \
STM32_UART8_TX_DMA_CHN)
+/* Workarounds for those devices where UARTs are USARTs.*/
+#if defined(USART4)
+#define UART4 USART4
+#endif
+#if defined(USART5)
+#define UART5 USART5
+#endif
+#if defined(USART7)
+#define UART7 USART7
+#endif
+#if defined(USART8)
+#define UART8 USART8
+#endif
+
/*===========================================================================*/
/* Driver exported variables. */
/*===========================================================================*/
diff --git a/os/hal/ports/STM32/STM32L0xx/hal_lld.h b/os/hal/ports/STM32/STM32L0xx/hal_lld.h
index f1cbae0f3..ec88abfc0 100644
--- a/os/hal/ports/STM32/STM32L0xx/hal_lld.h
+++ b/os/hal/ports/STM32/STM32L0xx/hal_lld.h
@@ -1049,6 +1049,16 @@
#endif
/**
+ * @brief USART4 frequency.
+ */
+#define STM32_UART4CLK STM32_PCLK1
+
+/**
+ * @brief USART5 frequency.
+ */
+#define STM32_UART5CLK STM32_PCLK1
+
+/**
* @brief LPUART1 frequency.
*/
#if (STM32_LPUART1SEL == STM32_LPUART1SEL_APB) || defined(__DOXYGEN__)
diff --git a/os/hal/ports/STM32/STM32L0xx/stm32_registry.h b/os/hal/ports/STM32/STM32L0xx/stm32_registry.h
index c7f3c1dfd..27eff005c 100644
--- a/os/hal/ports/STM32/STM32L0xx/stm32_registry.h
+++ b/os/hal/ports/STM32/STM32L0xx/stm32_registry.h
@@ -1472,9 +1472,10 @@
STM32_DMA_STREAM_ID_MSK(1, 7))
#define STM32_USART2_TX_DMA_CHN 0x04004000
+#define STM32_USART3_8_HANDLER Vector78
+#define STM32_USART3_8_NUMBER 14
+
#define STM32_HAS_UART4 TRUE
-#define STM32_UART4_HANDLER Vector78
-#define STM32_UART4_NUMBER 14
#define STM32_UART4_RX_DMA_MSK (STM32_DMA_STREAM_ID_MSK(1, 2) |\
STM32_DMA_STREAM_ID_MSK(1, 6))
#define STM32_UART4_RX_DMA_CHN 0x00C000C0
@@ -1483,8 +1484,6 @@
#define STM32_UART4_TX_DMA_CHN 0x0C000C00
#define STM32_HAS_UART5 TRUE
-#define STM32_UART5_HANDLER Vector78
-#define STM32_UART5_NUMBER 14
#define STM32_UART5_RX_DMA_MSK (STM32_DMA_STREAM_ID_MSK(1, 2) |\
STM32_DMA_STREAM_ID_MSK(1, 6))
#define STM32_UART5_RX_DMA_CHN 0x00D000D0