Commit afefc415 authored by Andrew Victor's avatar Andrew Victor Committed by Russell King

[ARM] 3592/1: AT91RM9200 Serial driver update

Patch from Andrew Victor

This patch includes a number of updates to the AT91RM9200 serial driver.

Changes include:
1. Conversion to a platform_driver.  [Ivan Kokshaysky]
2. Replaced all references to AT91RM9200 with AT91.  This driver can now
also be used for the AT91SAM9216.
3. Allow TIOCM_LOOP to configure local loopback mode.
4. Cleaned up the 'read_status_mask' usage and interrupt handler code.
[Chip Coldwell]
5. Suspend/resume support.  [David Brownell]

There are a few 'unused variable' warning when compiling this - I
removed the new DMA support to keep this first patch simpler.
Signed-off-by: default avatarAndrew Victor <andrew@sanpeople.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 82dc0772
...@@ -300,21 +300,22 @@ config SERIAL_AMBA_PL011_CONSOLE ...@@ -300,21 +300,22 @@ config SERIAL_AMBA_PL011_CONSOLE
kernel at boot time.) kernel at boot time.)
config SERIAL_AT91 config SERIAL_AT91
bool "AT91RM9200 serial port support" bool "AT91RM9200 / AT91SAM9261 serial port support"
depends on ARM && ARCH_AT91RM9200 depends on ARM && (ARCH_AT91RM9200 || ARCH_AT91SAM9261)
select SERIAL_CORE select SERIAL_CORE
help help
This enables the driver for the on-chip UARTs of the AT91RM9200 This enables the driver for the on-chip UARTs of the Atmel
processor. AT91RM9200 and AT91SAM926 processor.
config SERIAL_AT91_CONSOLE config SERIAL_AT91_CONSOLE
bool "Support for console on AT91RM9200 serial port" bool "Support for console on AT91RM9200 / AT91SAM9261 serial port"
depends on SERIAL_AT91=y depends on SERIAL_AT91=y
select SERIAL_CORE_CONSOLE select SERIAL_CORE_CONSOLE
help help
Say Y here if you wish to use a UART on the AT91RM9200 as the system Say Y here if you wish to use a UART on the Atmel AT91RM9200 or
console (the system console is the device which receives all kernel AT91SAM9261 as the system console (the system console is the device
messages and warnings and which allows logins in single user mode). which receives all kernel messages and warnings and which allows
logins in single user mode).
config SERIAL_AT91_TTYAT config SERIAL_AT91_TTYAT
bool "Install as device ttyAT0-4 instead of ttyS0-4" bool "Install as device ttyAT0-4 instead of ttyS0-4"
......
This diff is collapsed.
/* /*
* linux/include/asm-arm/mach/serial_at91rm9200.h * linux/include/asm-arm/mach/serial_at91.h
* *
* Based on serial_sa1100.h by Nicolas Pitre * Based on serial_sa1100.h by Nicolas Pitre
* *
...@@ -15,7 +15,7 @@ struct uart_port; ...@@ -15,7 +15,7 @@ struct uart_port;
* This is a temporary structure for registering these * This is a temporary structure for registering these
* functions; it is intended to be discarded after boot. * functions; it is intended to be discarded after boot.
*/ */
struct at91rm9200_port_fns { struct at91_port_fns {
void (*set_mctrl)(struct uart_port *, u_int); void (*set_mctrl)(struct uart_port *, u_int);
u_int (*get_mctrl)(struct uart_port *); u_int (*get_mctrl)(struct uart_port *);
void (*enable_ms)(struct uart_port *); void (*enable_ms)(struct uart_port *);
...@@ -26,11 +26,9 @@ struct at91rm9200_port_fns { ...@@ -26,11 +26,9 @@ struct at91rm9200_port_fns {
}; };
#if defined(CONFIG_SERIAL_AT91) #if defined(CONFIG_SERIAL_AT91)
void at91_register_uart_fns(struct at91rm9200_port_fns *fns); void at91_register_uart_fns(struct at91_port_fns *fns);
void at91_register_uart(int idx, int port);
#else #else
#define at91_register_uart_fns(fns) do { } while (0) #define at91_register_uart_fns(fns) do { } while (0)
#define at91_register_uart(idx,port) do { } while (0)
#endif #endif
...@@ -67,8 +67,8 @@ ...@@ -67,8 +67,8 @@
/* Parisc type numbers. */ /* Parisc type numbers. */
#define PORT_MUX 48 #define PORT_MUX 48
/* Atmel AT91RM9200 SoC */ /* Atmel AT91xxx SoC */
#define PORT_AT91RM9200 49 #define PORT_AT91 49
/* Macintosh Zilog type numbers */ /* Macintosh Zilog type numbers */
#define PORT_MAC_ZILOG 50 /* m68k : not yet implemented */ #define PORT_MAC_ZILOG 50 /* m68k : not yet implemented */
......
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