Skip to content

Commit

Permalink
[PATCH] atmel_serial: Support AVR32
Browse files Browse the repository at this point in the history
Make CONFIG_SERIAL_ATMEL selectable on AVR32 and #ifdef out some ARM-
specific code in the driver.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Haavard Skinnemoen authored and Linus Torvalds committed Oct 4, 2006
1 parent 75d3521 commit acca9b8
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 12 deletions.
24 changes: 12 additions & 12 deletions drivers/serial/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -301,31 +301,31 @@ config SERIAL_AMBA_PL011_CONSOLE

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

config SERIAL_ATMEL_CONSOLE
bool "Support for console on AT91 / AT32 serial port"
depends on SERIAL_ATMEL=y
select SERIAL_CORE_CONSOLE
help
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).
Say Y here if you wish to use an on-chip UART on a Atmel
AT91 or AT32 processor 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_ATMEL_TTYAT
bool "Install as device ttyAT0-4 instead of ttyS0-4"
bool "Install as device ttyATn instead of ttySn"
depends on SERIAL_ATMEL=y
help
Say Y here if you wish to have the five internal AT91RM9200 UARTs
appear as /dev/ttyAT0-4 (major 204, minor 154-158) instead of the
normal /dev/ttyS0-4 (major 4, minor 64-68). This is necessary if
you also want other UARTs, such as external 8250/16C550 compatible
UARTs.
Say Y here if you wish to have the internal AT91 / AT32 UARTs
appear as /dev/ttyATn (major 204, minor starting at 154)
instead of the normal /dev/ttySn (major 4, minor starting at
64). This is necessary if you also want other UARTs, such as
external 8250/16C550 compatible UARTs.
The ttySn nodes are legally reserved for the 8250 serial driver
but are often misused by other serial drivers.

Expand Down
4 changes: 4 additions & 0 deletions drivers/serial/atmel_serial.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,10 @@
#include <asm/arch/at91rm9200_pdc.h>
#include <asm/mach/serial_at91.h>
#include <asm/arch/board.h>
#ifdef CONFIG_ARM
#include <asm/arch/system.h>
#include <asm/arch/gpio.h>
#endif

#include "atmel_serial.h"

Expand Down Expand Up @@ -135,6 +137,7 @@ static void atmel_set_mctrl(struct uart_port *port, u_int mctrl)
unsigned int control = 0;
unsigned int mode;

#ifdef CONFIG_ARM
if (arch_identify() == ARCH_ID_AT91RM9200) {
/*
* AT91RM9200 Errata #39: RTS0 is not internally connected to PA21.
Expand All @@ -147,6 +150,7 @@ static void atmel_set_mctrl(struct uart_port *port, u_int mctrl)
at91_set_gpio_value(AT91_PIN_PA21, 1);
}
}
#endif

if (mctrl & TIOCM_RTS)
control |= ATMEL_US_RTSEN;
Expand Down

0 comments on commit acca9b8

Please sign in to comment.