[bsp][nxp][mcxa153] add more UART channels (#9635)
* [bsp][nxp][mcxa153] add more UART channels
This commit is contained in:
parent
f0934630c4
commit
be0161ec62
|
@ -6,6 +6,7 @@
|
|||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2024-02-06 yandld The first version for MCX
|
||||
* 2024-11-11 hywing add more UART channels
|
||||
*/
|
||||
#include <rtdevice.h>
|
||||
#include "drv_uart.h"
|
||||
|
@ -35,6 +36,22 @@ void LPUART0_IRQHandler(void)
|
|||
uart_isr(&serial0);
|
||||
}
|
||||
#endif
|
||||
#if defined(BSP_USING_UART1)
|
||||
struct rt_serial_device serial1;
|
||||
|
||||
void LPUART1_IRQHandler(void)
|
||||
{
|
||||
uart_isr(&serial1);
|
||||
}
|
||||
#endif
|
||||
#if defined(BSP_USING_UART2)
|
||||
struct rt_serial_device serial2;
|
||||
|
||||
void LPUART2_IRQHandler(void)
|
||||
{
|
||||
uart_isr(&serial2);
|
||||
}
|
||||
#endif
|
||||
|
||||
static const struct mcx_uart uarts[] =
|
||||
{
|
||||
|
@ -50,6 +67,30 @@ static const struct mcx_uart uarts[] =
|
|||
"uart0",
|
||||
},
|
||||
#endif
|
||||
#ifdef BSP_USING_UART1
|
||||
{
|
||||
&serial1,
|
||||
LPUART1,
|
||||
LPUART1_IRQn,
|
||||
kCLOCK_Fro12M,
|
||||
kFRO12M_to_LPUART1,
|
||||
kCLOCK_GateLPUART1,
|
||||
kCLOCK_DivLPUART1,
|
||||
"uart1",
|
||||
},
|
||||
#endif
|
||||
#ifdef BSP_USING_UART2
|
||||
{
|
||||
&serial2,
|
||||
LPUART2,
|
||||
LPUART2_IRQn,
|
||||
kCLOCK_Fro12M,
|
||||
kFRO12M_to_LPUART2,
|
||||
kCLOCK_GateLPUART2,
|
||||
kCLOCK_DivLPUART2,
|
||||
"uart2",
|
||||
},
|
||||
#endif
|
||||
};
|
||||
|
||||
static rt_err_t mcx_configure(struct rt_serial_device *serial, struct serial_configure *cfg)
|
||||
|
|
|
@ -27,8 +27,14 @@ menu "On-chip Peripheral Drivers"
|
|||
|
||||
if BSP_USING_UART
|
||||
config BSP_USING_UART0
|
||||
bool "Enable LPUART as UART"
|
||||
bool "Enable LPUART as UART0"
|
||||
default y
|
||||
config BSP_USING_UART1
|
||||
bool "Enable LPUART as UART1"
|
||||
default n
|
||||
config BSP_USING_UART2
|
||||
bool "Enable LPUART as UART2"
|
||||
default n
|
||||
endif
|
||||
|
||||
menuconfig BSP_USING_I2C
|
||||
|
|
|
@ -117,6 +117,109 @@ void BOARD_InitPins(void)
|
|||
/* PORT0_3 (pin 52) is configured as LPUART0_TXD */
|
||||
PORT_SetPinConfig(PORT0, 3U, &port0_3_pin52_config);
|
||||
|
||||
#ifdef BSP_USING_UART1
|
||||
const port_pin_config_t port1_8_pin2_config = {/* Internal pull-up resistor is enabled */
|
||||
kPORT_PullUp,
|
||||
/* Low internal pull resistor value is selected. */
|
||||
kPORT_LowPullResistor,
|
||||
/* Fast slew rate is configured */
|
||||
kPORT_FastSlewRate,
|
||||
/* Passive input filter is disabled */
|
||||
kPORT_PassiveFilterDisable,
|
||||
/* Open drain output is disabled */
|
||||
kPORT_OpenDrainDisable,
|
||||
/* Low drive strength is configured */
|
||||
kPORT_LowDriveStrength,
|
||||
/* Normal drive strength is configured */
|
||||
kPORT_NormalDriveStrength,
|
||||
/* Pin is configured as LPUART1_RXD */
|
||||
kPORT_MuxAlt2,
|
||||
/* Digital input enabled */
|
||||
kPORT_InputBufferEnable,
|
||||
/* Digital input is not inverted */
|
||||
kPORT_InputNormal,
|
||||
/* Pin Control Register fields [15:0] are not locked */
|
||||
kPORT_UnlockRegister};
|
||||
/* PORT1_8 (pin 2) is configured as LPUART1_RXD */
|
||||
PORT_SetPinConfig(PORT1, 8U, &port1_8_pin2_config);
|
||||
|
||||
const port_pin_config_t port1_9_pin3_config = {/* Internal pull-up resistor is enabled */
|
||||
kPORT_PullUp,
|
||||
/* Low internal pull resistor value is selected. */
|
||||
kPORT_LowPullResistor,
|
||||
/* Fast slew rate is configured */
|
||||
kPORT_FastSlewRate,
|
||||
/* Passive input filter is disabled */
|
||||
kPORT_PassiveFilterDisable,
|
||||
/* Open drain output is disabled */
|
||||
kPORT_OpenDrainDisable,
|
||||
/* Low drive strength is configured */
|
||||
kPORT_LowDriveStrength,
|
||||
/* Normal drive strength is configured */
|
||||
kPORT_NormalDriveStrength,
|
||||
/* Pin is configured as LPUART1_TXD */
|
||||
kPORT_MuxAlt2,
|
||||
/* Digital input enabled */
|
||||
kPORT_InputBufferEnable,
|
||||
/* Digital input is not inverted */
|
||||
kPORT_InputNormal,
|
||||
/* Pin Control Register fields [15:0] are not locked */
|
||||
kPORT_UnlockRegister};
|
||||
/* PORT1_9 (pin 3) is configured as LPUART1_TXD */
|
||||
PORT_SetPinConfig(PORT1, 9U, &port1_9_pin3_config);
|
||||
#endif
|
||||
#ifdef BSP_USING_UART2
|
||||
const port_pin_config_t port3_14_pin36_config = {/* Internal pull-up resistor is enabled */
|
||||
kPORT_PullUp,
|
||||
/* Low internal pull resistor value is selected. */
|
||||
kPORT_LowPullResistor,
|
||||
/* Fast slew rate is configured */
|
||||
kPORT_FastSlewRate,
|
||||
/* Passive input filter is disabled */
|
||||
kPORT_PassiveFilterDisable,
|
||||
/* Open drain output is disabled */
|
||||
kPORT_OpenDrainDisable,
|
||||
/* Low drive strength is configured */
|
||||
kPORT_LowDriveStrength,
|
||||
/* Normal drive strength is configured */
|
||||
kPORT_NormalDriveStrength,
|
||||
/* Pin is configured as LPUART2_RXD */
|
||||
kPORT_MuxAlt2,
|
||||
/* Digital input enabled */
|
||||
kPORT_InputBufferEnable,
|
||||
/* Digital input is not inverted */
|
||||
kPORT_InputNormal,
|
||||
/* Pin Control Register fields [15:0] are not locked */
|
||||
kPORT_UnlockRegister};
|
||||
/* PORT3_14 (pin 36) is configured as LPUART2_RXD */
|
||||
PORT_SetPinConfig(PORT3, 14U, &port3_14_pin36_config);
|
||||
|
||||
const port_pin_config_t port3_15_pin35_config = {/* Internal pull-up resistor is enabled */
|
||||
kPORT_PullUp,
|
||||
/* Low internal pull resistor value is selected. */
|
||||
kPORT_LowPullResistor,
|
||||
/* Fast slew rate is configured */
|
||||
kPORT_FastSlewRate,
|
||||
/* Passive input filter is disabled */
|
||||
kPORT_PassiveFilterDisable,
|
||||
/* Open drain output is disabled */
|
||||
kPORT_OpenDrainDisable,
|
||||
/* Low drive strength is configured */
|
||||
kPORT_LowDriveStrength,
|
||||
/* Normal drive strength is configured */
|
||||
kPORT_NormalDriveStrength,
|
||||
/* Pin is configured as LPUART2_TXD */
|
||||
kPORT_MuxAlt2,
|
||||
/* Digital input enabled */
|
||||
kPORT_InputBufferEnable,
|
||||
/* Digital input is not inverted */
|
||||
kPORT_InputNormal,
|
||||
/* Pin Control Register fields [15:0] are not locked */
|
||||
kPORT_UnlockRegister};
|
||||
/* PORT3_15 (pin 35) is configured as LPUART2_TXD */
|
||||
PORT_SetPinConfig(PORT3, 15U, &port3_15_pin35_config);
|
||||
#endif
|
||||
|
||||
#ifdef BSP_USING_PWM0
|
||||
ctimer_config_t config;
|
||||
CTIMER_Init(CTIMER1, &config);
|
||||
|
|
Loading…
Reference in New Issue