[PATCH] lib: utils/serial: Support Synopsys DesignWare APB UART

Bin Meng bmeng.cn at gmail.com
Fri May 14 02:27:48 BST 2021


On Fri, May 14, 2021 at 9:19 AM Jessica Clarke <jrtc27 at jrtc27.com> wrote:
>
> On 14 May 2021, at 02:16, Bin Meng <bmeng.cn at gmail.com> wrote:
> >
> > Synopsys DesignWare APB UART is seen on the StarFive JH7100 SoC.
> > Its programming interface is compatible with the existing 8250
> > UART driver. Simply add its compatible string to the driver makes
> > it work with the StarFive JH7100 SoC on a BeagleV board.
> >
> > With this patch, the generic platform firmware can be used out of
> > the box on the BeagleV board.
> >
> > Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
> > ---
> >
> > lib/utils/serial/fdt_serial_uart8250.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/lib/utils/serial/fdt_serial_uart8250.c b/lib/utils/serial/fdt_serial_uart8250.c
> > index 918193a..36f364c 100644
> > --- a/lib/utils/serial/fdt_serial_uart8250.c
> > +++ b/lib/utils/serial/fdt_serial_uart8250.c
> > @@ -28,6 +28,7 @@ static int serial_uart8250_init(void *fdt, int nodeoff,
> > static const struct fdt_match serial_uart8250_match[] = {
> >       { .compatible = "ns16550" },
> >       { .compatible = "ns16550a" },
> > +     { .compatible = "snps,dw-apb-uart" },
>
> If it’s compatible, why does it not use
>
>   compatible = “snps,dw-apb-uart”, “ns16550”;
>
> or similar in its FDT?

Good question. By looking at the Linux kernel driver, it is supported
as a variant of 8250 (drivers/tty/serial/8250/8250_dw.c).

I have not looked into details, but I suspect there are some minor
oddities which matter for the kernel. The existing driver is enough to
make OpenSBI happy.

Regards,
Bin



More information about the opensbi mailing list