aboutsummaryrefslogtreecommitdiff
path: root/drivers/tty/serial/sh-sci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/tty/serial/sh-sci.c')
-rw-r--r--drivers/tty/serial/sh-sci.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
index 88236da0ddf..3b5d2f67994 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -2419,6 +2419,7 @@ static int sci_remove(struct platform_device *dev)
struct sci_port_info {
unsigned int type;
unsigned int regtype;
+ unsigned int scscr_extra;
};
static const struct of_device_id of_sci_match[] = {
@@ -2429,6 +2430,13 @@ static const struct of_device_id of_sci_match[] = {
.regtype = SCIx_SH4_SCIF_REGTYPE,
},
}, {
+ .compatible = "renesas,scif-r8a7779",
+ .data = (void *)&(const struct sci_port_info) {
+ .type = PORT_SCIF,
+ .regtype = SCIx_SH4_SCIF_REGTYPE,
+ .scscr_extra = SCSCR_CKE1,
+ },
+ }, {
.compatible = "renesas,scifa",
.data = &(const struct sci_port_info) {
.type = PORT_SCIFA,
@@ -2488,7 +2496,7 @@ sci_parse_dt(struct platform_device *pdev, unsigned int *dev_id)
p->flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF;
p->type = info->type;
p->regtype = info->regtype;
- p->scscr = SCSCR_RE | SCSCR_TE;
+ p->scscr = SCSCR_RE | SCSCR_TE | info->scscr_extra;
return p;
}