From: Biju Das <biju.das.jz@bp.renesas.com>
The RZ/G3E RSCI IP has 32-stage FIFO compared to 16-stage FIFO on RZ/T2H.
Add RSCI_PORT_SCIF32 port ID to differentiate it from RZ/T2H RSCI and
update sci_is_rsci_type() and sci_is_fifo_type()
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v3->v4:
* Dropped enum RSCI_PORT_SCI
* Replaced the enum RSCI_PORT_SCIF->RSCI_PORT_SCIF32
* Moved rx_trigger update to later patch.
v2->v3:
* No change.
v1->v2:
* No change.
---
drivers/tty/serial/sh-sci-common.h | 1 +
drivers/tty/serial/sh-sci.c | 5 +++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/serial/sh-sci-common.h b/drivers/tty/serial/sh-sci-common.h
index 1b9480c7f4cb..abcd5bcc7c36 100644
--- a/drivers/tty/serial/sh-sci-common.h
+++ b/drivers/tty/serial/sh-sci-common.h
@@ -8,6 +8,7 @@
/* Private port IDs */
enum SCI_PORT_TYPE {
RSCI_PORT_SCIF16 = BIT(7) | 0,
+ RSCI_PORT_SCIF32 = BIT(7) | 1,
};
enum SCI_CLKS {
diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
index 08a1898f14ea..9afc3b8aae91 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -1184,7 +1184,7 @@ static int sci_handle_errors(struct uart_port *port)
static bool sci_is_rsci_type(u8 type)
{
- return (type == RSCI_PORT_SCIF16);
+ return (type == RSCI_PORT_SCIF16 || type == RSCI_PORT_SCIF32);
}
static int sci_handle_fifo_overrun(struct uart_port *port)
@@ -3548,7 +3548,8 @@ static struct uart_driver sci_uart_driver = {
static bool sci_is_fifo_type(u8 type)
{
return (type == PORT_SCIFA || type == PORT_SCIFB ||
- type == PORT_HSCIF || type == RSCI_PORT_SCIF16);
+ type == PORT_HSCIF || type == RSCI_PORT_SCIF16 ||
+ type == RSCI_PORT_SCIF32);
}
static void sci_remove(struct platform_device *dev)
--
2.43.0