Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
atmel_serial.c File Reference
#include <linux/module.h>
#include <linux/tty.h>
#include <linux/ioport.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/serial.h>
#include <linux/clk.h>
#include <linux/console.h>
#include <linux/sysrq.h>
#include <linux/tty_flip.h>
#include <linux/platform_device.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/dma-mapping.h>
#include <linux/atmel_pdc.h>
#include <linux/atmel_serial.h>
#include <linux/uaccess.h>
#include <asm/io.h>
#include <asm/ioctls.h>
#include <asm/mach/serial_at91.h>
#include <mach/board.h>
#include <linux/serial_core.h>

Go to the source code of this file.

Data Structures

struct  atmel_dma_buffer
 
struct  atmel_uart_char
 
struct  atmel_uart_port
 

Macros

#define PDC_BUFFER_SIZE   512
 
#define PDC_RX_TIMEOUT   (3 * 10) /* 3 bytes */
 
#define SERIAL_ATMEL_MAJOR   TTY_MAJOR
 
#define MINOR_START   64
 
#define ATMEL_DEVICENAME   "ttyS"
 
#define ATMEL_ISR_PASS_LIMIT   256
 
#define UART_PUT_CR(port, v)   __raw_writel(v, (port)->membase + ATMEL_US_CR)
 
#define UART_GET_MR(port)   __raw_readl((port)->membase + ATMEL_US_MR)
 
#define UART_PUT_MR(port, v)   __raw_writel(v, (port)->membase + ATMEL_US_MR)
 
#define UART_PUT_IER(port, v)   __raw_writel(v, (port)->membase + ATMEL_US_IER)
 
#define UART_PUT_IDR(port, v)   __raw_writel(v, (port)->membase + ATMEL_US_IDR)
 
#define UART_GET_IMR(port)   __raw_readl((port)->membase + ATMEL_US_IMR)
 
#define UART_GET_CSR(port)   __raw_readl((port)->membase + ATMEL_US_CSR)
 
#define UART_GET_CHAR(port)   __raw_readl((port)->membase + ATMEL_US_RHR)
 
#define UART_PUT_CHAR(port, v)   __raw_writel(v, (port)->membase + ATMEL_US_THR)
 
#define UART_GET_BRGR(port)   __raw_readl((port)->membase + ATMEL_US_BRGR)
 
#define UART_PUT_BRGR(port, v)   __raw_writel(v, (port)->membase + ATMEL_US_BRGR)
 
#define UART_PUT_RTOR(port, v)   __raw_writel(v, (port)->membase + ATMEL_US_RTOR)
 
#define UART_PUT_TTGR(port, v)   __raw_writel(v, (port)->membase + ATMEL_US_TTGR)
 
#define UART_PUT_PTCR(port, v)   __raw_writel(v, (port)->membase + ATMEL_PDC_PTCR)
 
#define UART_GET_PTSR(port)   __raw_readl((port)->membase + ATMEL_PDC_PTSR)
 
#define UART_PUT_RPR(port, v)   __raw_writel(v, (port)->membase + ATMEL_PDC_RPR)
 
#define UART_GET_RPR(port)   __raw_readl((port)->membase + ATMEL_PDC_RPR)
 
#define UART_PUT_RCR(port, v)   __raw_writel(v, (port)->membase + ATMEL_PDC_RCR)
 
#define UART_PUT_RNPR(port, v)   __raw_writel(v, (port)->membase + ATMEL_PDC_RNPR)
 
#define UART_PUT_RNCR(port, v)   __raw_writel(v, (port)->membase + ATMEL_PDC_RNCR)
 
#define UART_PUT_TPR(port, v)   __raw_writel(v, (port)->membase + ATMEL_PDC_TPR)
 
#define UART_PUT_TCR(port, v)   __raw_writel(v, (port)->membase + ATMEL_PDC_TCR)
 
#define UART_GET_TCR(port)   __raw_readl((port)->membase + ATMEL_PDC_TCR)
 
#define ATMEL_SERIAL_RINGSIZE   1024
 
#define ATMEL_CONSOLE_DEVICE   NULL
 
#define atmel_serial_suspend   NULL
 
#define atmel_serial_resume   NULL
 

Functions

void atmel_config_rs485 (struct uart_port *port, struct serial_rs485 *rs485conf)
 
void __init atmel_register_uart_fns (struct atmel_port_fns *fns)
 
 module_init (atmel_serial_init)
 
 module_exit (atmel_serial_exit)
 
 MODULE_AUTHOR ("Rick Bronson")
 
 MODULE_DESCRIPTION ("Atmel AT91 / AT32 serial port driver")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_ALIAS ("platform:atmel_usart")
 

Variables

struct platform_deviceatmel_default_console_device
 

Macro Definition Documentation

#define ATMEL_CONSOLE_DEVICE   NULL

Definition at line 1704 of file atmel_serial.c.

#define ATMEL_DEVICENAME   "ttyS"

Definition at line 82 of file atmel_serial.c.

#define ATMEL_ISR_PASS_LIMIT   256

Definition at line 86 of file atmel_serial.c.

#define atmel_serial_resume   NULL

Definition at line 1766 of file atmel_serial.c.

#define ATMEL_SERIAL_RINGSIZE   1024

Definition at line 132 of file atmel_serial.c.

#define atmel_serial_suspend   NULL

Definition at line 1765 of file atmel_serial.c.

#define MINOR_START   64

Definition at line 81 of file atmel_serial.c.

#define PDC_BUFFER_SIZE   512

Definition at line 54 of file atmel_serial.c.

#define PDC_RX_TIMEOUT   (3 * 10) /* 3 bytes */

Definition at line 56 of file atmel_serial.c.

#define SERIAL_ATMEL_MAJOR   TTY_MAJOR

Definition at line 80 of file atmel_serial.c.

#define UART_GET_BRGR (   port)    __raw_readl((port)->membase + ATMEL_US_BRGR)

Definition at line 98 of file atmel_serial.c.

#define UART_GET_CHAR (   port)    __raw_readl((port)->membase + ATMEL_US_RHR)

Definition at line 96 of file atmel_serial.c.

#define UART_GET_CSR (   port)    __raw_readl((port)->membase + ATMEL_US_CSR)

Definition at line 95 of file atmel_serial.c.

#define UART_GET_IMR (   port)    __raw_readl((port)->membase + ATMEL_US_IMR)

Definition at line 94 of file atmel_serial.c.

#define UART_GET_MR (   port)    __raw_readl((port)->membase + ATMEL_US_MR)

Definition at line 90 of file atmel_serial.c.

#define UART_GET_PTSR (   port)    __raw_readl((port)->membase + ATMEL_PDC_PTSR)

Definition at line 105 of file atmel_serial.c.

#define UART_GET_RPR (   port)    __raw_readl((port)->membase + ATMEL_PDC_RPR)

Definition at line 108 of file atmel_serial.c.

#define UART_GET_TCR (   port)    __raw_readl((port)->membase + ATMEL_PDC_TCR)

Definition at line 115 of file atmel_serial.c.

#define UART_PUT_BRGR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_US_BRGR)

Definition at line 99 of file atmel_serial.c.

#define UART_PUT_CHAR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_US_THR)

Definition at line 97 of file atmel_serial.c.

#define UART_PUT_CR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_US_CR)

Definition at line 89 of file atmel_serial.c.

#define UART_PUT_IDR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_US_IDR)

Definition at line 93 of file atmel_serial.c.

#define UART_PUT_IER (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_US_IER)

Definition at line 92 of file atmel_serial.c.

#define UART_PUT_MR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_US_MR)

Definition at line 91 of file atmel_serial.c.

#define UART_PUT_PTCR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_PDC_PTCR)

Definition at line 104 of file atmel_serial.c.

#define UART_PUT_RCR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_PDC_RCR)

Definition at line 109 of file atmel_serial.c.

#define UART_PUT_RNCR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_PDC_RNCR)

Definition at line 111 of file atmel_serial.c.

#define UART_PUT_RNPR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_PDC_RNPR)

Definition at line 110 of file atmel_serial.c.

#define UART_PUT_RPR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_PDC_RPR)

Definition at line 107 of file atmel_serial.c.

#define UART_PUT_RTOR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_US_RTOR)

Definition at line 100 of file atmel_serial.c.

#define UART_PUT_TCR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_PDC_TCR)

Definition at line 114 of file atmel_serial.c.

#define UART_PUT_TPR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_PDC_TPR)

Definition at line 113 of file atmel_serial.c.

#define UART_PUT_TTGR (   port,
  v 
)    __raw_writel(v, (port)->membase + ATMEL_US_TTGR)

Definition at line 101 of file atmel_serial.c.

Function Documentation

void atmel_config_rs485 ( struct uart_port port,
struct serial_rs485 rs485conf 
)

Definition at line 211 of file atmel_serial.c.

void __init atmel_register_uart_fns ( struct atmel_port_fns fns)

Definition at line 1519 of file atmel_serial.c.

MODULE_ALIAS ( "platform:atmel_usart"  )
MODULE_AUTHOR ( "Rick Bronson"  )
MODULE_DESCRIPTION ( "Atmel AT91 / AT32 serial port driver )
module_exit ( atmel_serial_exit  )
module_init ( atmel_serial_init  )
MODULE_LICENSE ( "GPL"  )

Variable Documentation

struct platform_device* atmel_default_console_device

Definition at line 1533 of file atmel_serial.c.