Commit fcbee4d4 authored by Simon Horman's avatar Simon Horman Committed by Greg Kroah-Hartman

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: default avatarSimon Horman <horms+renesas@verge.net.au>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c439c33d
...@@ -12,6 +12,7 @@ Required properties: ...@@ -12,6 +12,7 @@ Required properties:
- "renesas,scifa-r8a7791" for R8A7791 (R-Car M2) SCIFA compatible UART. - "renesas,scifa-r8a7791" for R8A7791 (R-Car M2) SCIFA compatible UART.
- "renesas,scifb-r8a7791" for R8A7791 (R-Car M2) SCIFB 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,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,scif" for generic SCIF compatible UART.
- "renesas,scifa" for generic SCIFA compatible UART. - "renesas,scifa" for generic SCIFA compatible UART.
- "renesas,scifb" for generic SCIFB compatible UART. - "renesas,scifb" for generic SCIFB compatible UART.
......
...@@ -2419,6 +2419,7 @@ static int sci_remove(struct platform_device *dev) ...@@ -2419,6 +2419,7 @@ static int sci_remove(struct platform_device *dev)
struct sci_port_info { struct sci_port_info {
unsigned int type; unsigned int type;
unsigned int regtype; unsigned int regtype;
unsigned int scscr_extra;
}; };
static const struct of_device_id of_sci_match[] = { static const struct of_device_id of_sci_match[] = {
...@@ -2428,6 +2429,13 @@ static const struct of_device_id of_sci_match[] = { ...@@ -2428,6 +2429,13 @@ static const struct of_device_id of_sci_match[] = {
.type = PORT_SCIF, .type = PORT_SCIF,
.regtype = SCIx_SH4_SCIF_REGTYPE, .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", .compatible = "renesas,scifa",
.data = &(const struct sci_port_info) { .data = &(const struct sci_port_info) {
...@@ -2488,7 +2496,7 @@ sci_parse_dt(struct platform_device *pdev, unsigned int *dev_id) ...@@ -2488,7 +2496,7 @@ sci_parse_dt(struct platform_device *pdev, unsigned int *dev_id)
p->flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF; p->flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF;
p->type = info->type; p->type = info->type;
p->regtype = info->regtype; p->regtype = info->regtype;
p->scscr = SCSCR_RE | SCSCR_TE; p->scscr = SCSCR_RE | SCSCR_TE | info->scscr_extra;
return p; return p;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment