As of commit eedacbf0, drivers/serial/of_serial.c forces the serial core to recognize the xps-uart16550-2.00.b as an NS16550 (which had no FIFO). Prior to this commit, the kernel's auto-configuration logic would correctly recognize the UART as NS16550A (with 16-byte FIFO).
The following patch corrects the issue in what I believe to be the correct way: --- Xilinx 16550 UART is actually 16550A-compatible diff --git a/drivers/serial/of_serial.c b/drivers/serial/of_serial.c index 02406ba..78267af 100644 --- a/drivers/serial/of_serial.c +++ b/drivers/serial/of_serial.c @@ -161,7 +161,7 @@ static int of_platform_serial_remove(struct of_device *ofdev) static struct of_device_id __devinitdata of_platform_serial_table[] = { { .type = "serial", .compatible = "ns8250", .data = (void *)PORT_8250, }, { .type = "serial", .compatible = "ns16450", .data = (void *)PORT_16450, }, - { .type = "serial", .compatible = "ns16550", .data = (void *)PORT_16550, }, + { .type = "serial", .compatible = "ns16550", .data = (void *)PORT_16550A, }, { .type = "serial", .compatible = "ns16750", .data = (void *)PORT_16750, }, { .type = "serial", .compatible = "ns16850", .data = (void *)PORT_16850, }, #ifdef CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL ********************************************************************************************** IMPORTANT: The contents of this email and any attachments are confidential. They are intended for the named recipient(s) only. If you have received this email in error, please notify the system manager or the sender immediately and do not disclose the contents to anyone or make copies thereof.
03-of_serial-16550A.patch
Description: 03-of_serial-16550A.patch
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev