/*
* 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@globallogic.com>
* Copyright (C) 2014, Globallogic.
{
SCIF_PORT,
SCIFA_PORT,
+ HSCIF_PORT,
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)
{
{ .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 */ },
};