aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/platforms/LPC13xx/serial_lld.h
diff options
context:
space:
mode:
Diffstat (limited to 'os/hal/platforms/LPC13xx/serial_lld.h')
-rw-r--r--os/hal/platforms/LPC13xx/serial_lld.h35
1 files changed, 26 insertions, 9 deletions
diff --git a/os/hal/platforms/LPC13xx/serial_lld.h b/os/hal/platforms/LPC13xx/serial_lld.h
index 4a4a5fa81..04eedb3e2 100644
--- a/os/hal/platforms/LPC13xx/serial_lld.h
+++ b/os/hal/platforms/LPC13xx/serial_lld.h
@@ -88,8 +88,8 @@
* @details If set to @p TRUE the support for UART0 is included.
* @note The default is @p TRUE .
*/
-#if !defined(USE_LPC13xx_UART0) || defined(__DOXYGEN__)
-#define USE_LPC13xx_UART0 TRUE
+#if !defined(LPC13xx_SERIAL_USE_UART0) || defined(__DOXYGEN__)
+#define LPC13xx_SERIAL_USE_UART0 TRUE
#endif
/**
@@ -101,25 +101,42 @@
* also increase the worst case interrupt response time because the
* preload loops.
*/
-#if !defined(LPC13xx_UART_FIFO_PRELOAD) || defined(__DOXYGEN__)
-#define LPC13xx_UART_FIFO_PRELOAD 16
+#if !defined(LPC13xx_SERIAL_FIFO_PRELOAD) || defined(__DOXYGEN__)
+#define LPC13xx_SERIAL_FIFO_PRELOAD 16
+#endif
+
+/**
+ * @brief UART0 PCLK divider.
+ */
+#if !defined(LPC13xx_SERIAL_UART0CLKDIV) || defined(__DOXYGEN__)
+#define LPC13xx_SERIAL_UART0CLKDIV 1
#endif
/**
* @brief UART0 interrupt priority level setting.
*/
-#if !defined(LPC13xx_UART0_PRIORITY) || defined(__DOXYGEN__)
-#define LPC13xx_UART0_PRIORITY 6
+#if !defined(LPC13xx_SERIAL_UART0_IRQ_PRIORITY) || defined(__DOXYGEN__)
+#define LPC13xx_SERIAL_UART0_IRQ_PRIORITY 3
#endif
/*===========================================================================*/
/* Derived constants and error checks. */
/*===========================================================================*/
-#if (LPC13xx_UART_FIFO_PRELOAD < 1) || (LPC13xx_UART_FIFO_PRELOAD > 16)
-#error "invalid LPC13xx_UART_FIFO_PRELOAD setting"
+#if (LPC13xx_SERIAL_UART0CLKDIV < 1) || (LPC11xx_SERIAL_UART0CLKDIV > 255)
+#error "invalid LPC13xx_SERIAL_UART0CLKDIV setting"
#endif
+#if (LPC13xx_SERIAL_FIFO_PRELOAD < 1) || (LPC13xx_SERIAL_FIFO_PRELOAD > 16)
+#error "invalid LPC13xx_SERIAL_FIFO_PRELOAD setting"
+#endif
+
+/**
+ * @brief UART0 clock.
+ */
+#define LPC13xx_SERIAL_UART0_PCLK \
+ (LPC13xx_MAINCLK / LPC13xx_SERIAL_UART0CLKDIV)
+
/*===========================================================================*/
/* Driver data structures and types. */
/*===========================================================================*/
@@ -180,7 +197,7 @@ typedef struct {
/* External declarations. */
/*===========================================================================*/
-#if USE_LPC13xx_UART0 && !defined(__DOXYGEN__)
+#if LPC13xx_SERIAL_USE_UART0 && !defined(__DOXYGEN__)
extern SerialDriver SD1;
#endif