Commit 20a875e2 authored by Heikki Krogerus's avatar Heikki Krogerus Committed by Rafael J. Wysocki

serial: 8250_dw: Add quirk for APM X-Gene SoC

The APM X-Gene SoC UART is the only board that still needs
the hard-coded values, so handle it separately in
dw8250_quirks(). The other ACPI platforms are able to
provide the values with device properties.
Signed-off-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent a5565cf2
...@@ -298,13 +298,18 @@ static void dw8250_quirks(struct uart_port *p, struct dw8250_data *data) ...@@ -298,13 +298,18 @@ static void dw8250_quirks(struct uart_port *p, struct dw8250_data *data)
p->serial_out = dw8250_serial_out32be; p->serial_out = dw8250_serial_out32be;
} }
} else if (has_acpi_companion(p->dev)) { } else if (has_acpi_companion(p->dev)) {
const struct acpi_device_id *id;
id = acpi_match_device(p->dev->driver->acpi_match_table,
p->dev);
if (id && !strcmp(id->id, "APMC0D08")) {
p->iotype = UPIO_MEM32; p->iotype = UPIO_MEM32;
p->regshift = 2; p->regshift = 2;
p->serial_in = dw8250_serial_in32; p->serial_in = dw8250_serial_in32;
p->set_termios = dw8250_set_termios;
/* So far none of there implement the Busy Functionality */
data->uart_16550_compatible = true; data->uart_16550_compatible = true;
} }
p->set_termios = dw8250_set_termios;
}
/* Platforms with iDMA */ /* Platforms with iDMA */
if (platform_get_resource_byname(to_platform_device(p->dev), if (platform_get_resource_byname(to_platform_device(p->dev),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment