serial: atmel: add support for new UART version

Starting with sama5d2, the new UART revision has an hardware timer. So, add it
to the IP detection code and set the "has_hw_timer" property for it.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Reported-by: David Mosberger <davidm@egauge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Nicolas Ferre 2016-01-26 11:26:15 +01:00 committed by Greg Kroah-Hartman
parent 4b769371fe
commit 1d673fb971
1 changed files with 4 additions and 3 deletions

View File

@ -1710,15 +1710,16 @@ static void atmel_get_ip_name(struct uart_port *port)
struct atmel_uart_port *atmel_port = to_atmel_uart_port(port);
int name = atmel_uart_readl(port, ATMEL_US_NAME);
u32 version;
u32 usart, dbgu_uart;
u32 usart, dbgu_uart, new_uart;
/* ASCII decoding for IP version */
usart = 0x55534152; /* USAR(T) */
dbgu_uart = 0x44424755; /* DBGU */
new_uart = 0x55415254; /* UART */
atmel_port->has_hw_timer = false;
if (name == usart) {
dev_dbg(port->dev, "Usart with hw timer\n");
if (name == usart || name == new_uart) {
dev_dbg(port->dev, "Usart or uart with hw timer\n");
atmel_port->has_hw_timer = true;
} else if (name == dbgu_uart) {
dev_dbg(port->dev, "Dbgu or uart without hw timer\n");