Commit c420811f authored by John Crispin's avatar John Crispin Committed by Greg Kroah-Hartman

serial: ralink: adds support for the serial core found on ralink wisoc

The MIPS based Ralink WiSoC platform has 1 or more 8250 compatible serial cores.
To make them work we require the same quirks that are used by AU1x00.
Signed-off-by: default avatarJohn Crispin <blogic@openwrt.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9fe8074b
...@@ -317,9 +317,9 @@ static void default_serial_dl_write(struct uart_8250_port *up, int value) ...@@ -317,9 +317,9 @@ static void default_serial_dl_write(struct uart_8250_port *up, int value)
serial_out(up, UART_DLM, value >> 8 & 0xff); serial_out(up, UART_DLM, value >> 8 & 0xff);
} }
#ifdef CONFIG_MIPS_ALCHEMY #if defined(CONFIG_MIPS_ALCHEMY) || defined(CONFIG_SERIAL_8250_RT288X)
/* Au1x00 UART hardware has a weird register layout */ /* Au1x00/RT288x UART hardware has a weird register layout */
static const u8 au_io_in_map[] = { static const u8 au_io_in_map[] = {
[UART_RX] = 0, [UART_RX] = 0,
[UART_IER] = 2, [UART_IER] = 2,
...@@ -440,7 +440,7 @@ static void set_io_from_upio(struct uart_port *p) ...@@ -440,7 +440,7 @@ static void set_io_from_upio(struct uart_port *p)
p->serial_out = mem32_serial_out; p->serial_out = mem32_serial_out;
break; break;
#ifdef CONFIG_MIPS_ALCHEMY #if defined(CONFIG_MIPS_ALCHEMY) || defined(CONFIG_SERIAL_8250_RT288X)
case UPIO_AU: case UPIO_AU:
p->serial_in = au_serial_in; p->serial_in = au_serial_in;
p->serial_out = au_serial_out; p->serial_out = au_serial_out;
......
...@@ -276,3 +276,11 @@ config SERIAL_8250_EM ...@@ -276,3 +276,11 @@ config SERIAL_8250_EM
Selecting this option will add support for the integrated serial Selecting this option will add support for the integrated serial
port hardware found on the Emma Mobile line of processors. port hardware found on the Emma Mobile line of processors.
If unsure, say N. If unsure, say N.
config SERIAL_8250_RT288X
bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support"
depends on SERIAL_8250 && (SOC_RT288X || SOC_RT305X || SOC_RT3883)
help
If you have a Ralink RT288x/RT305x SoC based board and want to use the
serial port, say Y to this option. The driver can handle up to 2 serial
ports. If unsure, say N.
...@@ -134,7 +134,7 @@ struct uart_port { ...@@ -134,7 +134,7 @@ struct uart_port {
#define UPIO_HUB6 (1) #define UPIO_HUB6 (1)
#define UPIO_MEM (2) #define UPIO_MEM (2)
#define UPIO_MEM32 (3) #define UPIO_MEM32 (3)
#define UPIO_AU (4) /* Au1x00 type IO */ #define UPIO_AU (4) /* Au1x00 and RT288x type IO */
#define UPIO_TSI (5) /* Tsi108/109 type IO */ #define UPIO_TSI (5) /* Tsi108/109 type IO */
unsigned int read_status_mask; /* driver specific */ unsigned int read_status_mask; /* driver specific */
......
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