[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] xen/serial: scif: add support for HSCIF
commit 87319afb96973213ec0a76270d93696f3b8d6743 Author: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx> AuthorDate: Tue Feb 8 11:23:55 2022 +0000 Commit: Julien Grall <jgrall@xxxxxxxxxx> CommitDate: Wed Feb 9 12:24:49 2022 +0000 xen/serial: scif: add support for HSCIF HSCIF is a high-speed variant of Renesas SCIF serial interface. From Xen point of view, they almost the same, only difference is in FIFO size. Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@xxxxxxxx> Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx> Acked-by: Julien Grall <jgrall@xxxxxxxxxx> --- xen/drivers/char/scif-uart.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/xen/drivers/char/scif-uart.c b/xen/drivers/char/scif-uart.c index ee204a11a4..2fccafe340 100644 --- a/xen/drivers/char/scif-uart.c +++ b/xen/drivers/char/scif-uart.c @@ -1,8 +1,8 @@ /* * xen/drivers/char/scif-uart.c * - * Driver for SCIF(A) (Serial communication interface with FIFO (A)) - * compatible UART. + * Driver for (H)SCIF(A) ((High-speed) Serial communication interface + * with FIFO (A)) compatible UART. * * Oleksandr Tyshchenko <oleksandr.tyshchenko@xxxxxxxxxxxxxxx> * Copyright (C) 2014, Globallogic. @@ -47,6 +47,7 @@ enum port_types { SCIF_PORT, SCIFA_PORT, + HSCIF_PORT, NR_PORTS, }; @@ -88,6 +89,17 @@ static const struct port_params port_params[NR_PORTS] = SCASCR_BRIE, .fifo_size = 64, }, + [HSCIF_PORT] = + { + .status_reg = SCIF_SCFSR, + .tx_fifo_reg = SCIF_SCFTDR, + .rx_fifo_reg = SCIF_SCFRDR, + .overrun_reg = SCIF_SCLSR, + .overrun_mask = SCLSR_ORER, + .error_mask = SCFSR_PER | SCFSR_FER | SCFSR_BRK | SCFSR_ER, + .irq_flags = SCSCR_RIE | SCSCR_TIE | SCSCR_REIE, + .fifo_size = 128, + }, }; static void scif_uart_interrupt(int irq, void *data, struct cpu_user_regs *regs) @@ -288,6 +300,7 @@ static const struct dt_device_match scif_uart_dt_match[] __initconst = { { .compatible = "renesas,scif", .data = &port_params[SCIF_PORT] }, { .compatible = "renesas,scifa", .data = &port_params[SCIFA_PORT] }, + { .compatible = "renesas,hscif", .data = &port_params[HSCIF_PORT] }, { /* sentinel */ }, }; -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |