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

xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit cb731d779114966219ce793a3c46173f64573465
Author: Jukka Laitinen <[email protected]>
AuthorDate: Tue Sep 1 15:44:20 2026 +0300

    arch/arm/imxrt: Add support for iMXRT118x in lowputc & serial drivers
    
    - Small additions to existing drivers to support more UARTs
    - Properly invalidate the cache over DMA RX buffer initially
    
    Signed-off-by: Jukka Laitinen <[email protected]>
---
 arch/arm/src/imxrt/imxrt_config.h  | 15 ++++++++++++++-
 arch/arm/src/imxrt/imxrt_lowputc.c |  6 ++++--
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/arch/arm/src/imxrt/imxrt_config.h 
b/arch/arm/src/imxrt/imxrt_config.h
index 98b772aac6e..a96670f1c99 100644
--- a/arch/arm/src/imxrt/imxrt_config.h
+++ b/arch/arm/src/imxrt/imxrt_config.h
@@ -71,6 +71,18 @@
 #ifdef CONFIG_IMXRT_LPUART8
 #  define HAVE_LPUART8 1
 #endif
+#ifdef CONFIG_IMXRT_LPUART9
+#  define HAVE_LPUART9 1
+#endif
+#ifdef CONFIG_IMXRT_LPUART10
+#  define HAVE_LPUART10 1
+#endif
+#ifdef CONFIG_IMXRT_LPUART11
+#  define HAVE_LPUART11 1
+#endif
+#ifdef CONFIG_IMXRT_LPUART12
+#  define HAVE_LPUART12 1
+#endif
 
 /* Check if we have a LPUART device */
 
@@ -79,7 +91,8 @@
 
 #if defined(HAVE_LPUART1) || defined(HAVE_LPUART2) || defined(HAVE_LPUART3) || 
\
     defined(HAVE_LPUART4) || defined(HAVE_LPUART5) || defined(HAVE_LPUART6) || 
\
-    defined(HAVE_LPUART7) || defined(HAVE_LPUART8)
+    defined(HAVE_LPUART7) || defined(HAVE_LPUART8) || defined(HAVE_LPUART9) || 
\
+    defined(HAVE_LPUART10) || defined(HAVE_LPUART11) || defined(HAVE_LPUART12)
 #  define HAVE_LPUART_DEVICE 1
 #endif
 
diff --git a/arch/arm/src/imxrt/imxrt_lowputc.c 
b/arch/arm/src/imxrt/imxrt_lowputc.c
index b071f4b3328..9e8ad70be0d 100644
--- a/arch/arm/src/imxrt/imxrt_lowputc.c
+++ b/arch/arm/src/imxrt/imxrt_lowputc.c
@@ -483,7 +483,8 @@ void imxrt_lowsetup(void)
 int imxrt_lpuart_configure(uint32_t base,
                            const struct uart_config_s *config)
 {
-#ifndef CONFIG_ARCH_FAMILY_IMXRT117x
+#if !defined(CONFIG_ARCH_FAMILY_IMXRT117x) && \
+    !defined(CONFIG_ARCH_FAMILY_IMXRT118x)
   uint32_t src_freq = 0;
   uint32_t pll3_div = 0;
   uint32_t uart_div = 0;
@@ -499,7 +500,8 @@ int imxrt_lpuart_configure(uint32_t base,
   uint32_t regval;
   uint32_t regval2;
 
-#ifdef CONFIG_ARCH_FAMILY_IMXRT117x
+#if defined(CONFIG_ARCH_FAMILY_IMXRT117x) || \
+    defined(CONFIG_ARCH_FAMILY_IMXRT118x)
   if (base == IMXRT_LPUART1_BASE)
     {
       if (imxrt_get_rootclock(CCM_CR_LPUART1, &lpuart_freq) != OK)

Reply via email to