mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-02-21 00:27:19 +08:00
bsp:ls2k: make uart init more flexible
This commit is contained in:
parent
242530ae70
commit
4de8848a8c
@ -29,4 +29,13 @@ config SOC_LS2K1000
|
|||||||
select RT_USING_USER_MAIN
|
select RT_USING_USER_MAIN
|
||||||
select RT_USING_DEVICE
|
select RT_USING_DEVICE
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
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
|
||||||
|
@ -156,26 +156,32 @@ struct rt_serial_device serial, serial4;
|
|||||||
|
|
||||||
void rt_hw_uart_init(void)
|
void rt_hw_uart_init(void)
|
||||||
{
|
{
|
||||||
struct rt_uart_ls2k *uart, *uart4;
|
|
||||||
struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT;
|
struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT;
|
||||||
|
|
||||||
uart = &uart_dev0;
|
#ifdef RT_USING_UART0
|
||||||
uart4 = &uart_dev4;
|
struct rt_uart_ls2k *uart0;
|
||||||
|
uart0 = &uart_dev0;
|
||||||
serial.ops = &ls2k_uart_ops;
|
serial.ops = &ls2k_uart_ops;
|
||||||
serial.config = config_uart0;
|
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(uart0->IRQ, uart_irq_handler, &serial, "UART0");
|
||||||
rt_hw_interrupt_install(uart4->IRQ, uart_irq_handler, &serial4, "UART4");
|
|
||||||
/* register UART device */
|
/* register UART device */
|
||||||
rt_hw_serial_register(&serial,
|
rt_hw_serial_register(&serial,
|
||||||
"uart0",
|
"uart0",
|
||||||
RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX,
|
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,
|
rt_hw_serial_register(&serial4,
|
||||||
"uart4",
|
"uart4",
|
||||||
RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX,
|
RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX,
|
||||||
&uart_dev4);
|
&uart_dev4);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/*@}*/
|
/*@}*/
|
||||||
|
@ -235,5 +235,7 @@
|
|||||||
/* games: games run on RT-Thread console */
|
/* games: games run on RT-Thread console */
|
||||||
|
|
||||||
#define SOC_LS2K1000
|
#define SOC_LS2K1000
|
||||||
|
#define RT_USING_UART0
|
||||||
|
#define RT_USING_UART4
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user