Message ID | 4FC1EEA7.2060109@antcom.de |
---|---|
State | New |
Headers | show |
On Sunday 27 May 2012, Roland Stigge wrote: > I did it via the following modification in of_serial.c: > > --- a/drivers/tty/serial/of_serial.c > +++ b/drivers/tty/serial/of_serial.c > @@ -179,6 +179,7 @@ static struct of_device_id __devinitdata of_platform_serial_table[] = { > { .compatible = "ns16450", .data = (void *)PORT_16450, }, > { .compatible = "ns16550a", .data = (void *)PORT_16550A, }, > { .compatible = "ns16550", .data = (void *)PORT_16550, }, > + { .compatible = "ns16654", .data = (void *)PORT_16654, }, > { .compatible = "ns16750", .data = (void *)PORT_16750, }, > { .compatible = "ns16850", .data = (void *)PORT_16850, }, > { .compatible = "nvidia,tegra20-uart", .data = (void *)PORT_TEGRA, }, > > Works for now, will need to test more thoroughly with LPC32xx (note that > the manual explicitly mentions "downwards compatible with the INS16Cx50" > and "Register locations conform to ‘550 industry standard" but nothing > about an EFR register which 16654 is configured for in 8250.c). > > The patch should be useful in of_serial anyway (even without the LPC32xx > case). > > Wondering if it should rather be .compatible = "st16654"? > Will prepare a patch with adjustment of Documentation/.../of-serial.txt when > we agree on sth. I think st16654 would be better than ns16654 here, yes. Actually some of the other entries are wrong, too. The ns8250 entry should be i8250, and I guess the 16750 and 16850 were also not made by national. Arnd
Hi, On 27/05/12 12:23, Arnd Bergmann wrote: >> --- a/drivers/tty/serial/of_serial.c >> +++ b/drivers/tty/serial/of_serial.c >> @@ -179,6 +179,7 @@ static struct of_device_id __devinitdata of_platform_serial_table[] = { >> { .compatible = "ns16450", .data = (void *)PORT_16450, }, >> { .compatible = "ns16550a", .data = (void *)PORT_16550A, }, >> { .compatible = "ns16550", .data = (void *)PORT_16550, }, >> + { .compatible = "ns16654", .data = (void *)PORT_16654, }, >> { .compatible = "ns16750", .data = (void *)PORT_16750, }, >> { .compatible = "ns16850", .data = (void *)PORT_16850, }, >> { .compatible = "nvidia,tegra20-uart", .data = (void *)PORT_TEGRA, }, >> >> Wondering if it should rather be .compatible = "st16654"? >> Will prepare a patch with adjustment of Documentation/.../of-serial.txt when >> we agree on sth. > > I think st16654 would be better than ns16654 here, yes. OK, will provide a patch accordingly. > Actually some of the other entries are wrong, too. The ns8250 entry should > be i8250, and I guess the 16750 and 16850 were also not made by national. But maybe we should keep the existing compatible strings because existing boards/bootloaders are providing them already? Roland
On Sunday 27 May 2012, Roland Stigge wrote: > > Actually some of the other entries are wrong, too. The ns8250 entry should > > be i8250, and I guess the 16750 and 16850 were also not made by national. > > But maybe we should keep the existing compatible strings because > existing boards/bootloaders are providing them already? Right, we should only add to the list. Any entry that's already used potentially needs to stay in there as you say. Arnd
--- a/drivers/tty/serial/of_serial.c +++ b/drivers/tty/serial/of_serial.c @@ -179,6 +179,7 @@ static struct of_device_id __devinitdata of_platform_serial_table[] = { { .compatible = "ns16450", .data = (void *)PORT_16450, }, { .compatible = "ns16550a", .data = (void *)PORT_16550A, }, { .compatible = "ns16550", .data = (void *)PORT_16550, }, + { .compatible = "ns16654", .data = (void *)PORT_16654, }, { .compatible = "ns16750", .data = (void *)PORT_16750, }, { .compatible = "ns16850", .data = (void *)PORT_16850, }, { .compatible = "nvidia,tegra20-uart", .data = (void *)PORT_TEGRA, },