blob: ac56bcca7ed8049ab199cdeb30d73a7308ec6af2 [file] [log] [blame]
From 79ee30c3c8fa546e755482f15daf95639e4b8fb3 Mon Sep 17 00:00:00 2001
From: Simon Horman <horms+renesas@verge.net.au>
Date: Thu, 24 Apr 2014 15:54:44 +0900
Subject: serial: sh-sci: Add device tree support for r8a7779
According to the platform data for the legacy-C initialisation of sh-sci
for the r8a7779 SoC and my own testing the SCIx_SH4_SCIF_REGTYPE bit of
scscr needs to be set.
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit fcbee4d49f30eb0eaa83a62e6a3cab5a892ed93f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
Documentation/devicetree/bindings/serial/renesas,sci-serial.txt | 1 +
drivers/tty/serial/sh-sci.c | 10 +++++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
--- a/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt
+++ b/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt
@@ -12,6 +12,7 @@ Required properties:
- "renesas,scifa-r8a7791" for R8A7791 (R-Car M2) SCIFA compatible UART.
- "renesas,scifb-r8a7791" for R8A7791 (R-Car M2) SCIFB compatible UART.
- "renesas,hscif-r8a7791" for R8A7791 (R-Car M2) HSCIF compatible UART.
+ - "renesas,scif-r8a7779" for R8A7779 (R-Car H1) SCIF compatible UART.
- "renesas,scif" for generic SCIF compatible UART.
- "renesas,scifa" for generic SCIFA compatible UART.
- "renesas,scifb" for generic SCIFB compatible UART.
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -2390,6 +2390,7 @@ static int sci_remove(struct platform_de
struct sci_port_info {
unsigned int type;
unsigned int regtype;
+ unsigned int scscr_extra;
};
static const struct of_device_id of_sci_match[] = {
@@ -2400,6 +2401,13 @@ static const struct of_device_id of_sci_
.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,
@@ -2459,7 +2467,7 @@ sci_parse_dt(struct platform_device *pde
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;
}