drivers: serial: uart_sifive: convert to new DT API
Use the new devicetree.h API instead of the legacy macros. Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
parent
ffcf7cad6a
commit
8f84520130
1 changed files with 14 additions and 12 deletions
|
@ -8,6 +8,8 @@
|
||||||
* @brief UART driver for the SiFive Freedom Processor
|
* @brief UART driver for the SiFive Freedom Processor
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define DT_DRV_COMPAT sifive_uart0
|
||||||
|
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
#include <drivers/uart.h>
|
#include <drivers/uart.h>
|
||||||
|
@ -381,9 +383,9 @@ static void uart_sifive_irq_cfg_func_0(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const struct uart_sifive_device_config uart_sifive_dev_cfg_0 = {
|
static const struct uart_sifive_device_config uart_sifive_dev_cfg_0 = {
|
||||||
.port = DT_INST_0_SIFIVE_UART0_BASE_ADDRESS,
|
.port = DT_INST_REG_ADDR(0),
|
||||||
.sys_clk_freq = DT_INST_0_SIFIVE_UART0_CLOCK_FREQUENCY,
|
.sys_clk_freq = DT_INST_PROP(0, clock_frequency),
|
||||||
.baud_rate = DT_INST_0_SIFIVE_UART0_CURRENT_SPEED,
|
.baud_rate = DT_INST_PROP(0, current_speed),
|
||||||
.rxcnt_irq = CONFIG_UART_SIFIVE_PORT_0_RXCNT_IRQ,
|
.rxcnt_irq = CONFIG_UART_SIFIVE_PORT_0_RXCNT_IRQ,
|
||||||
.txcnt_irq = CONFIG_UART_SIFIVE_PORT_0_TXCNT_IRQ,
|
.txcnt_irq = CONFIG_UART_SIFIVE_PORT_0_TXCNT_IRQ,
|
||||||
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
|
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
|
||||||
|
@ -391,7 +393,7 @@ static const struct uart_sifive_device_config uart_sifive_dev_cfg_0 = {
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
DEVICE_AND_API_INIT(uart_sifive_0, DT_INST_0_SIFIVE_UART0_LABEL,
|
DEVICE_AND_API_INIT(uart_sifive_0, DT_INST_PROP(0, label),
|
||||||
uart_sifive_init,
|
uart_sifive_init,
|
||||||
&uart_sifive_data_0, &uart_sifive_dev_cfg_0,
|
&uart_sifive_data_0, &uart_sifive_dev_cfg_0,
|
||||||
PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEVICE,
|
PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEVICE,
|
||||||
|
@ -400,12 +402,12 @@ DEVICE_AND_API_INIT(uart_sifive_0, DT_INST_0_SIFIVE_UART0_LABEL,
|
||||||
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
|
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
|
||||||
static void uart_sifive_irq_cfg_func_0(void)
|
static void uart_sifive_irq_cfg_func_0(void)
|
||||||
{
|
{
|
||||||
IRQ_CONNECT(DT_INST_0_SIFIVE_UART0_IRQ_0,
|
IRQ_CONNECT(DT_INST_IRQN(0),
|
||||||
CONFIG_UART_SIFIVE_PORT_0_IRQ_PRIORITY,
|
CONFIG_UART_SIFIVE_PORT_0_IRQ_PRIORITY,
|
||||||
uart_sifive_irq_handler, DEVICE_GET(uart_sifive_0),
|
uart_sifive_irq_handler, DEVICE_GET(uart_sifive_0),
|
||||||
0);
|
0);
|
||||||
|
|
||||||
irq_enable(DT_INST_0_SIFIVE_UART0_IRQ_0);
|
irq_enable(DT_INST_IRQN(0));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -420,9 +422,9 @@ static void uart_sifive_irq_cfg_func_1(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const struct uart_sifive_device_config uart_sifive_dev_cfg_1 = {
|
static const struct uart_sifive_device_config uart_sifive_dev_cfg_1 = {
|
||||||
.port = DT_INST_1_SIFIVE_UART0_BASE_ADDRESS,
|
.port = DT_INST_REG_ADDR(1),
|
||||||
.sys_clk_freq = DT_INST_1_SIFIVE_UART0_CLOCK_FREQUENCY,
|
.sys_clk_freq = DT_INST_PROP(1, clock_frequency),
|
||||||
.baud_rate = DT_INST_1_SIFIVE_UART0_CURRENT_SPEED,
|
.baud_rate = DT_INST_PROP(1, current_speed),
|
||||||
.rxcnt_irq = CONFIG_UART_SIFIVE_PORT_1_RXCNT_IRQ,
|
.rxcnt_irq = CONFIG_UART_SIFIVE_PORT_1_RXCNT_IRQ,
|
||||||
.txcnt_irq = CONFIG_UART_SIFIVE_PORT_1_TXCNT_IRQ,
|
.txcnt_irq = CONFIG_UART_SIFIVE_PORT_1_TXCNT_IRQ,
|
||||||
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
|
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
|
||||||
|
@ -430,7 +432,7 @@ static const struct uart_sifive_device_config uart_sifive_dev_cfg_1 = {
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
DEVICE_AND_API_INIT(uart_sifive_1, DT_INST_1_SIFIVE_UART0_LABEL,
|
DEVICE_AND_API_INIT(uart_sifive_1, DT_INST_PROP(1, label),
|
||||||
uart_sifive_init,
|
uart_sifive_init,
|
||||||
&uart_sifive_data_1, &uart_sifive_dev_cfg_1,
|
&uart_sifive_data_1, &uart_sifive_dev_cfg_1,
|
||||||
PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEVICE,
|
PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEVICE,
|
||||||
|
@ -439,12 +441,12 @@ DEVICE_AND_API_INIT(uart_sifive_1, DT_INST_1_SIFIVE_UART0_LABEL,
|
||||||
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
|
#ifdef CONFIG_UART_INTERRUPT_DRIVEN
|
||||||
static void uart_sifive_irq_cfg_func_1(void)
|
static void uart_sifive_irq_cfg_func_1(void)
|
||||||
{
|
{
|
||||||
IRQ_CONNECT(DT_INST_1_SIFIVE_UART0_IRQ_0,
|
IRQ_CONNECT(DT_INST_IRQN(1),
|
||||||
CONFIG_UART_SIFIVE_PORT_1_IRQ_PRIORITY,
|
CONFIG_UART_SIFIVE_PORT_1_IRQ_PRIORITY,
|
||||||
uart_sifive_irq_handler, DEVICE_GET(uart_sifive_1),
|
uart_sifive_irq_handler, DEVICE_GET(uart_sifive_1),
|
||||||
0);
|
0);
|
||||||
|
|
||||||
irq_enable(DT_INST_1_SIFIVE_UART0_IRQ_0);
|
irq_enable(DT_INST_IRQN(1));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue