Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
sccnxp.c File Reference
#include <linux/module.h>
#include <linux/device.h>
#include <linux/console.h>
#include <linux/serial_core.h>
#include <linux/serial.h>
#include <linux/io.h>
#include <linux/tty.h>
#include <linux/tty_flip.h>
#include <linux/platform_device.h>
#include <linux/platform_data/sccnxp.h>

Go to the source code of this file.

Data Structures

struct  sccnxp_port
 
struct  baud_table
 

Macros

#define SCCNXP_NAME   "uart-sccnxp"
 
#define SCCNXP_MAJOR   204
 
#define SCCNXP_MINOR   205
 
#define SCCNXP_MR_REG   (0x00)
 
#define MR0_BAUD_NORMAL   (0 << 0)
 
#define MR0_BAUD_EXT1   (1 << 0)
 
#define MR0_BAUD_EXT2   (5 << 0)
 
#define MR0_FIFO   (1 << 3)
 
#define MR0_TXLVL   (1 << 4)
 
#define MR1_BITS_5   (0 << 0)
 
#define MR1_BITS_6   (1 << 0)
 
#define MR1_BITS_7   (2 << 0)
 
#define MR1_BITS_8   (3 << 0)
 
#define MR1_PAR_EVN   (0 << 2)
 
#define MR1_PAR_ODD   (1 << 2)
 
#define MR1_PAR_NO   (4 << 2)
 
#define MR2_STOP1   (7 << 0)
 
#define MR2_STOP2   (0xf << 0)
 
#define SCCNXP_SR_REG   (0x01)
 
#define SCCNXP_CSR_REG   SCCNXP_SR_REG
 
#define SR_RXRDY   (1 << 0)
 
#define SR_FULL   (1 << 1)
 
#define SR_TXRDY   (1 << 2)
 
#define SR_TXEMT   (1 << 3)
 
#define SR_OVR   (1 << 4)
 
#define SR_PE   (1 << 5)
 
#define SR_FE   (1 << 6)
 
#define SR_BRK   (1 << 7)
 
#define SCCNXP_CR_REG   (0x02)
 
#define CR_RX_ENABLE   (1 << 0)
 
#define CR_RX_DISABLE   (1 << 1)
 
#define CR_TX_ENABLE   (1 << 2)
 
#define CR_TX_DISABLE   (1 << 3)
 
#define CR_CMD_MRPTR1   (0x01 << 4)
 
#define CR_CMD_RX_RESET   (0x02 << 4)
 
#define CR_CMD_TX_RESET   (0x03 << 4)
 
#define CR_CMD_STATUS_RESET   (0x04 << 4)
 
#define CR_CMD_BREAK_RESET   (0x05 << 4)
 
#define CR_CMD_START_BREAK   (0x06 << 4)
 
#define CR_CMD_STOP_BREAK   (0x07 << 4)
 
#define CR_CMD_MRPTR0   (0x0b << 4)
 
#define SCCNXP_RHR_REG   (0x03)
 
#define SCCNXP_THR_REG   SCCNXP_RHR_REG
 
#define SCCNXP_IPCR_REG   (0x04)
 
#define SCCNXP_ACR_REG   SCCNXP_IPCR_REG
 
#define ACR_BAUD0   (0 << 7)
 
#define ACR_BAUD1   (1 << 7)
 
#define ACR_TIMER_MODE   (6 << 4)
 
#define SCCNXP_ISR_REG   (0x05)
 
#define SCCNXP_IMR_REG   SCCNXP_ISR_REG
 
#define IMR_TXRDY   (1 << 0)
 
#define IMR_RXRDY   (1 << 1)
 
#define ISR_TXRDY(x)   (1 << ((x * 4) + 0))
 
#define ISR_RXRDY(x)   (1 << ((x * 4) + 1))
 
#define SCCNXP_IPR_REG   (0x0d)
 
#define SCCNXP_OPCR_REG   SCCNXP_IPR_REG
 
#define SCCNXP_SOP_REG   (0x0e)
 
#define SCCNXP_ROP_REG   (0x0f)
 
#define MCTRL_MASK(sig)   (0xf << (sig))
 
#define MCTRL_IBIT(cfg, sig)   ((((cfg) >> (sig)) & 0xf) - LINE_IP0)
 
#define MCTRL_OBIT(cfg, sig)   ((((cfg) >> (sig)) & 0xf) - LINE_OP0)
 
#define SCCNXP_HAVE_IO   0x00000001
 
#define SCCNXP_HAVE_MR0   0x00000002
 

Enumerations

enum  {
  SCCNXP_TYPE_SC2681 = 2681, SCCNXP_TYPE_SC2691 = 2691, SCCNXP_TYPE_SC2692 = 2692, SCCNXP_TYPE_SC2891 = 2891,
  SCCNXP_TYPE_SC2892 = 2892, SCCNXP_TYPE_SC28202 = 28202, SCCNXP_TYPE_SC68681 = 68681, SCCNXP_TYPE_SC68692 = 68692
}
 

Functions

 MODULE_DEVICE_TABLE (platform, sccnxp_id_table)
 
 module_platform_driver (sccnxp_uart_driver)
 
 MODULE_LICENSE ("GPL v2")
 
 MODULE_AUTHOR ("Alexander Shiyan <[email protected]>")
 
 MODULE_DESCRIPTION ("SCCNXP serial driver")
 

Variables

struct baud_table baud_std []
 

Macro Definition Documentation

#define ACR_BAUD0   (0 << 7)

Definition at line 75 of file sccnxp.c.

#define ACR_BAUD1   (1 << 7)

Definition at line 76 of file sccnxp.c.

#define ACR_TIMER_MODE   (6 << 4)

Definition at line 77 of file sccnxp.c.

#define CR_CMD_BREAK_RESET   (0x05 << 4)

Definition at line 67 of file sccnxp.c.

#define CR_CMD_MRPTR0   (0x0b << 4)

Definition at line 70 of file sccnxp.c.

#define CR_CMD_MRPTR1   (0x01 << 4)

Definition at line 63 of file sccnxp.c.

#define CR_CMD_RX_RESET   (0x02 << 4)

Definition at line 64 of file sccnxp.c.

#define CR_CMD_START_BREAK   (0x06 << 4)

Definition at line 68 of file sccnxp.c.

#define CR_CMD_STATUS_RESET   (0x04 << 4)

Definition at line 66 of file sccnxp.c.

#define CR_CMD_STOP_BREAK   (0x07 << 4)

Definition at line 69 of file sccnxp.c.

#define CR_CMD_TX_RESET   (0x03 << 4)

Definition at line 65 of file sccnxp.c.

#define CR_RX_DISABLE   (1 << 1)

Definition at line 60 of file sccnxp.c.

#define CR_RX_ENABLE   (1 << 0)

Definition at line 59 of file sccnxp.c.

#define CR_TX_DISABLE   (1 << 3)

Definition at line 62 of file sccnxp.c.

#define CR_TX_ENABLE   (1 << 2)

Definition at line 61 of file sccnxp.c.

#define IMR_RXRDY   (1 << 1)

Definition at line 81 of file sccnxp.c.

#define IMR_TXRDY   (1 << 0)

Definition at line 80 of file sccnxp.c.

#define ISR_RXRDY (   x)    (1 << ((x * 4) + 1))

Definition at line 83 of file sccnxp.c.

#define ISR_TXRDY (   x)    (1 << ((x * 4) + 0))

Definition at line 82 of file sccnxp.c.

#define MCTRL_IBIT (   cfg,
  sig 
)    ((((cfg) >> (sig)) & 0xf) - LINE_IP0)

Definition at line 91 of file sccnxp.c.

#define MCTRL_MASK (   sig)    (0xf << (sig))

Definition at line 90 of file sccnxp.c.

#define MCTRL_OBIT (   cfg,
  sig 
)    ((((cfg) >> (sig)) & 0xf) - LINE_OP0)

Definition at line 92 of file sccnxp.c.

#define MR0_BAUD_EXT1   (1 << 0)

Definition at line 35 of file sccnxp.c.

#define MR0_BAUD_EXT2   (5 << 0)

Definition at line 36 of file sccnxp.c.

#define MR0_BAUD_NORMAL   (0 << 0)

Definition at line 34 of file sccnxp.c.

#define MR0_FIFO   (1 << 3)

Definition at line 37 of file sccnxp.c.

#define MR0_TXLVL   (1 << 4)

Definition at line 38 of file sccnxp.c.

#define MR1_BITS_5   (0 << 0)

Definition at line 39 of file sccnxp.c.

#define MR1_BITS_6   (1 << 0)

Definition at line 40 of file sccnxp.c.

#define MR1_BITS_7   (2 << 0)

Definition at line 41 of file sccnxp.c.

#define MR1_BITS_8   (3 << 0)

Definition at line 42 of file sccnxp.c.

#define MR1_PAR_EVN   (0 << 2)

Definition at line 43 of file sccnxp.c.

#define MR1_PAR_NO   (4 << 2)

Definition at line 45 of file sccnxp.c.

#define MR1_PAR_ODD   (1 << 2)

Definition at line 44 of file sccnxp.c.

#define MR2_STOP1   (7 << 0)

Definition at line 46 of file sccnxp.c.

#define MR2_STOP2   (0xf << 0)

Definition at line 47 of file sccnxp.c.

#define SCCNXP_ACR_REG   SCCNXP_IPCR_REG

Definition at line 74 of file sccnxp.c.

#define SCCNXP_CR_REG   (0x02)

Definition at line 58 of file sccnxp.c.

#define SCCNXP_CSR_REG   SCCNXP_SR_REG

Definition at line 49 of file sccnxp.c.

#define SCCNXP_HAVE_IO   0x00000001

Definition at line 118 of file sccnxp.c.

#define SCCNXP_HAVE_MR0   0x00000002

Definition at line 119 of file sccnxp.c.

#define SCCNXP_IMR_REG   SCCNXP_ISR_REG

Definition at line 79 of file sccnxp.c.

#define SCCNXP_IPCR_REG   (0x04)

Definition at line 73 of file sccnxp.c.

#define SCCNXP_IPR_REG   (0x0d)

Definition at line 84 of file sccnxp.c.

#define SCCNXP_ISR_REG   (0x05)

Definition at line 78 of file sccnxp.c.

#define SCCNXP_MAJOR   204

Definition at line 30 of file sccnxp.c.

#define SCCNXP_MINOR   205

Definition at line 31 of file sccnxp.c.

#define SCCNXP_MR_REG   (0x00)

Definition at line 33 of file sccnxp.c.

#define SCCNXP_NAME   "uart-sccnxp"

Definition at line 29 of file sccnxp.c.

#define SCCNXP_OPCR_REG   SCCNXP_IPR_REG

Definition at line 85 of file sccnxp.c.

#define SCCNXP_RHR_REG   (0x03)

Definition at line 71 of file sccnxp.c.

#define SCCNXP_ROP_REG   (0x0f)

Definition at line 87 of file sccnxp.c.

#define SCCNXP_SOP_REG   (0x0e)

Definition at line 86 of file sccnxp.c.

#define SCCNXP_SR_REG   (0x01)

Definition at line 48 of file sccnxp.c.

#define SCCNXP_THR_REG   SCCNXP_RHR_REG

Definition at line 72 of file sccnxp.c.

#define SR_BRK   (1 << 7)

Definition at line 57 of file sccnxp.c.

#define SR_FE   (1 << 6)

Definition at line 56 of file sccnxp.c.

#define SR_FULL   (1 << 1)

Definition at line 51 of file sccnxp.c.

#define SR_OVR   (1 << 4)

Definition at line 54 of file sccnxp.c.

#define SR_PE   (1 << 5)

Definition at line 55 of file sccnxp.c.

#define SR_RXRDY   (1 << 0)

Definition at line 50 of file sccnxp.c.

#define SR_TXEMT   (1 << 3)

Definition at line 53 of file sccnxp.c.

#define SR_TXRDY   (1 << 2)

Definition at line 52 of file sccnxp.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
SCCNXP_TYPE_SC2681 
SCCNXP_TYPE_SC2691 
SCCNXP_TYPE_SC2692 
SCCNXP_TYPE_SC2891 
SCCNXP_TYPE_SC2892 
SCCNXP_TYPE_SC28202 
SCCNXP_TYPE_SC68681 
SCCNXP_TYPE_SC68692 

Definition at line 95 of file sccnxp.c.

Function Documentation

MODULE_AUTHOR ( "Alexander Shiyan <[email protected]>"  )
MODULE_DESCRIPTION ( "SCCNXP serial driver )
MODULE_DEVICE_TABLE ( platform  ,
sccnxp_id_table   
)
MODULE_LICENSE ( "GPL v2 )
module_platform_driver ( sccnxp_uart_driver  )

Variable Documentation

struct baud_table baud_std[]

Definition at line 184 of file sccnxp.c.