Hi Biju, On Mon, Mar 20, 2023 at 11:53 AM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote: > SCI IP on RZ/G2L alike SoCs do not need regshift compared to other SCI > IPs on the SH platform. Currently, it does regshift and configuring Rx > wrongly. Drop adding regshift for RZ/G2L alike SoCs. > > Fixes: f9a2adcc9e90 ("arm64: dts: renesas: r9a07g044: Add SCI[0-1] nodes") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > --- > v3: > * New patch. Thanks for your patch! > --- a/drivers/tty/serial/sh-sci.c > +++ b/drivers/tty/serial/sh-sci.c > @@ -158,6 +158,7 @@ struct sci_port { > > bool has_rtscts; > bool autorts; > + bool is_rz_sci; > }; > > #define SCI_NPORTS CONFIG_SERIAL_SH_SCI_NR_UARTS > @@ -2937,7 +2938,7 @@ static int sci_init_single(struct platform_device *dev, > port->flags = UPF_FIXED_PORT | UPF_BOOT_AUTOCONF | p->flags; > port->fifosize = sci_port->params->fifosize; > > - if (port->type == PORT_SCI) { > + if (port->type == PORT_SCI && !sci_port->is_rz_sci) { Perhaps check for !dev->dev.of_node instead? Values of 1 or 2 for regshift are only needed for sh770x/sh7750/sh7760, which don't use DT yet. When they are converted to DT, we can extend the driver to support the more-or-less standard "reg-shift" DT property. > if (sci_port->reg_size >= 0x20) > port->regshift = 2; > else > @@ -3353,6 +3354,11 @@ static int sci_probe(struct platform_device *dev) > sp = &sci_ports[dev_id]; > platform_set_drvdata(dev, sp); > > + if (of_device_is_compatible(dev->dev.of_node, "renesas,r9a07g043-sci") || > + of_device_is_compatible(dev->dev.of_node, "renesas,r9a07g044-sci") || > + of_device_is_compatible(dev->dev.of_node, "renesas,r9a07g054-sci")) Please, no of_device_is_compatible() checks in a driver that uses proper DT matching. > + sp->is_rz_sci = 1; > + > ret = sci_probe_single(dev, dev_id, p, sp); > if (ret) > return ret; Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx 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