Hi Laurent,
On Fri, Jan 6, 2017 at 12:52 PM, Laurent Pinchart
<[email protected]> wrote:
> Even though most of its registers are 8-bit wide, the IRDA has two
> 16-bit registers that make it a 16-bit peripheral and not a 8-bit
> peripheral with addresses shifted by one. Fix the registers offset in
> the driver and the platform data regshift value.
>
> Signed-off-by: Laurent Pinchart <[email protected]>
> --- a/drivers/tty/serial/sh-sci.c
> +++ b/drivers/tty/serial/sh-sci.c
> @@ -193,18 +193,17 @@ static const struct plat_sci_reg
> sci_regmap[SCIx_NR_REGTYPES][SCIx_NR_REGS] = {
> },
>
> /*
> - * Common definitions for legacy IrDA ports, dependent on
> - * regshift value.
> + * Common definitions for legacy IrDA ports.
> */
> [SCIx_IRDA_REGTYPE] = {
> [SCSMR] = { 0x00, 8 },
> - [SCBRR] = { 0x01, 8 },
> - [SCSCR] = { 0x02, 8 },
> - [SCxTDR] = { 0x03, 8 },
> - [SCxSR] = { 0x04, 8 },
> - [SCxRDR] = { 0x05, 8 },
> - [SCFCR] = { 0x06, 8 },
> - [SCFDR] = { 0x07, 16 },
> + [SCBRR] = { 0x02, 8 },
> + [SCSCR] = { 0x04, 8 },
> + [SCxTDR] = { 0x06, 8 },
> + [SCxSR] = { 0x08, 8 },
SCSCR is a 16-bit register. You did have that correct in v1 of patch 19.
If you fix that:
Reviewed-by: Geert Uytterhoeven <[email protected]>
> + [SCxRDR] = { 0x0a, 8 },
> + [SCFCR] = { 0x0c, 8 },
> + [SCFDR] = { 0x0e, 16 },
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds