From 1899457343dcd8121bca64b02a3752551228d9bc Mon Sep 17 00:00:00 2001 From: Yucai Liu Date: Sun, 12 Oct 2025 21:03:23 +0800 Subject: [PATCH] [bsp/nxp/mcx/mcxa] Fix UART clock configuration type mismatch Fixed implicit type conversion warning in UART driver by correctly separating clock_name_t and clock_attach_id_t enum types. Changes: - Use kCLOCK_Fro12M (clock_name_t) for clock_src field - Keep kFRO12M_to_LPUARTx (clock_attach_id_t) for clock_attach_id field - Fix mcx_getc() to use correct status flag kLPUART_RxDataRegFullFlag This resolves the compiler warning: "implicit conversion from 'int' to 'clock_name_t' changes value from 16777216 to 0" Signed-off-by: Yucai Liu 1486344514@qq.com --- bsp/nxp/mcx/mcxa/Libraries/drivers/drv_uart.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_uart.c b/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_uart.c index 9f9969940fd..6f03dc005a2 100644 --- a/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_uart.c +++ b/bsp/nxp/mcx/mcxa/Libraries/drivers/drv_uart.c @@ -64,12 +64,12 @@ static const struct mcx_uart uarts[] = &serial0, LPUART0, LPUART0_IRQn, + kCLOCK_Fro12M, #if (defined(CPU_MCXA346VLH) || defined(CPU_MCXA346VLL) || defined(CPU_MCXA346VLQ) || defined(CPU_MCXA346VPN)) kFRO_LF_DIV_to_LPUART0, #else kFRO12M_to_LPUART0, #endif - kFRO12M_to_LPUART0, kCLOCK_GateLPUART0, kCLOCK_DivLPUART0, "uart0", @@ -80,12 +80,12 @@ static const struct mcx_uart uarts[] = &serial1, LPUART1, LPUART1_IRQn, + kCLOCK_Fro12M, #if (defined(CPU_MCXA346VLH) || defined(CPU_MCXA346VLL) || defined(CPU_MCXA346VLQ) || defined(CPU_MCXA346VPN)) kFRO_LF_DIV_to_LPUART1, #else kFRO12M_to_LPUART1, #endif - kFRO12M_to_LPUART1, kCLOCK_GateLPUART1, kCLOCK_DivLPUART1, "uart1", @@ -182,7 +182,7 @@ static int mcx_getc(struct rt_serial_device *serial) { struct mcx_uart *uart = (struct mcx_uart *)serial->parent.user_data; - if (kLPUART_RxDataRegFullInterruptEnable & LPUART_GetStatusFlags(uart->uart_base)) + if (kLPUART_RxDataRegFullFlag & LPUART_GetStatusFlags(uart->uart_base)) { return LPUART_ReadByte(uart->uart_base); }