Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -300,21 +300,22 @@ config SERIAL_AMBA_PL011_CONSOLE
	  kernel at boot time.)

config SERIAL_AT91
	bool "AT91RM9200 serial port support"
	depends on ARM && ARCH_AT91RM9200
	bool "AT91RM9200 / AT91SAM9261 serial port support"
	depends on ARM && (ARCH_AT91RM9200 || ARCH_AT91SAM9261)
	select SERIAL_CORE
	help
	  This enables the driver for the on-chip UARTs of the AT91RM9200
	  processor.
	  This enables the driver for the on-chip UARTs of the Atmel
	  AT91RM9200 and AT91SAM926 processor.

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
	select SERIAL_CORE_CONSOLE
	help
	  Say Y here if you wish to use a UART on the AT91RM9200 as the system
	  console (the system console is the device which receives all kernel
	  messages and warnings and which allows logins in single user mode).
	  Say Y here if you wish to use a UART on the Atmel AT91RM9200 or
	  AT91SAM9261 as the system console (the system console is the device
	  which receives all kernel messages and warnings and which allows
	  logins in single user mode).

config SERIAL_AT91_TTYAT
	bool "Install as device ttyAT0-4 instead of ttyS0-4"
+280 −183

File changed.

Preview size limit exceeded, changes collapsed.

+3 −5
Original line number Diff line number Diff line
/*
 *  linux/include/asm-arm/mach/serial_at91rm9200.h
 *  linux/include/asm-arm/mach/serial_at91.h
 *
 *  Based on serial_sa1100.h  by Nicolas Pitre
 *
@@ -15,7 +15,7 @@ struct uart_port;
 * This is a temporary structure for registering these
 * 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);
	u_int	(*get_mctrl)(struct uart_port *);
	void	(*enable_ms)(struct uart_port *);
@@ -26,11 +26,9 @@ struct at91rm9200_port_fns {
};

#if defined(CONFIG_SERIAL_AT91)
void at91_register_uart_fns(struct at91rm9200_port_fns *fns);
void at91_register_uart(int idx, int port);
void at91_register_uart_fns(struct at91_port_fns *fns);
#else
#define at91_register_uart_fns(fns) do { } while (0)
#define at91_register_uart(idx,port) do { } while (0)
#endif

+2 −2
Original line number Diff line number Diff line
@@ -67,8 +67,8 @@
/* Parisc type numbers. */
#define PORT_MUX	48

/* Atmel AT91RM9200 SoC */
#define PORT_AT91RM9200 49
/* Atmel AT91xxx SoC */
#define PORT_AT91	49

/* Macintosh Zilog type numbers */
#define PORT_MAC_ZILOG	50	/* m68k : not yet implemented */