diff --git a/bsp/ls2kdev/Kconfig b/bsp/ls2kdev/Kconfig index 5cfb6892ff666db2b9c73598f0dce0e8fdaf47de..fc2dfe1328d737567872f1a19da4e0e70d259286 100644 --- a/bsp/ls2kdev/Kconfig +++ b/bsp/ls2kdev/Kconfig @@ -29,4 +29,13 @@ config SOC_LS2K1000 select RT_USING_USER_MAIN select RT_USING_DEVICE default y - \ No newline at end of file + +if RT_USING_SERIAL +config RT_USING_UART0 + bool "Using RT_USING_UART0" + default y + +config RT_USING_UART4 + bool "Using RT_USING_UART4" + default y +endif diff --git a/bsp/ls2kdev/drivers/drv_uart.c b/bsp/ls2kdev/drivers/drv_uart.c index 9421078769fb93619ac262143b868206cd7060b3..5b5c39c595d02393543e93312fdd245ca51ba5e7 100644 --- a/bsp/ls2kdev/drivers/drv_uart.c +++ b/bsp/ls2kdev/drivers/drv_uart.c @@ -156,26 +156,32 @@ struct rt_serial_device serial, serial4; void rt_hw_uart_init(void) { - struct rt_uart_ls2k *uart, *uart4; struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT; - uart = &uart_dev0; - uart4 = &uart_dev4; +#ifdef RT_USING_UART0 + struct rt_uart_ls2k *uart0; + uart0 = &uart_dev0; serial.ops = &ls2k_uart_ops; serial.config = config_uart0; - serial4.ops = &ls2k_uart_ops; - serial4.config = config; - rt_hw_interrupt_install(uart->IRQ, uart_irq_handler, &serial, "UART0"); - rt_hw_interrupt_install(uart4->IRQ, uart_irq_handler, &serial4, "UART4"); + rt_hw_interrupt_install(uart0->IRQ, uart_irq_handler, &serial, "UART0"); /* register UART device */ rt_hw_serial_register(&serial, "uart0", RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX, - uart); + uart0); +#endif + +#ifdef RT_USING_UART4 + struct rt_uart_ls2k *uart4; + uart4 = &uart_dev4; + serial4.ops = &ls2k_uart_ops; + serial4.config = config; + rt_hw_interrupt_install(uart4->IRQ, uart_irq_handler, &serial4, "UART4"); rt_hw_serial_register(&serial4, "uart4", RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX, &uart_dev4); +#endif } /*@}*/ diff --git a/bsp/ls2kdev/rtconfig.h b/bsp/ls2kdev/rtconfig.h index dfaa45a009a3df64c8e85b9e9d77af05ae7a767d..0b15f1f420d664f28b5e5cecaad3bb83e5f41f3e 100644 --- a/bsp/ls2kdev/rtconfig.h +++ b/bsp/ls2kdev/rtconfig.h @@ -235,5 +235,7 @@ /* games: games run on RT-Thread console */ #define SOC_LS2K1000 +#define RT_USING_UART0 +#define RT_USING_UART4 #endif