Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
lpc32xx_hs.c File Reference
#include <linux/module.h>
#include <linux/ioport.h>
#include <linux/init.h>
#include <linux/console.h>
#include <linux/sysrq.h>
#include <linux/tty.h>
#include <linux/tty_flip.h>
#include <linux/serial_core.h>
#include <linux/serial.h>
#include <linux/platform_device.h>
#include <linux/delay.h>
#include <linux/nmi.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/gpio.h>
#include <linux/of.h>
#include <mach/platform.h>
#include <mach/hardware.h>

Go to the source code of this file.

Data Structures

struct  lpc32xx_hsuart_port
 

Macros

#define LPC32XX_HSUART_FIFO(x)   ((x) + 0x00)
 
#define LPC32XX_HSUART_LEVEL(x)   ((x) + 0x04)
 
#define LPC32XX_HSUART_IIR(x)   ((x) + 0x08)
 
#define LPC32XX_HSUART_CTRL(x)   ((x) + 0x0C)
 
#define LPC32XX_HSUART_RATE(x)   ((x) + 0x10)
 
#define LPC32XX_HSU_BREAK_DATA   (1 << 10)
 
#define LPC32XX_HSU_ERROR_DATA   (1 << 9)
 
#define LPC32XX_HSU_RX_EMPTY   (1 << 8)
 
#define LPC32XX_HSU_TX_LEV(n)   (((n) >> 8) & 0xFF)
 
#define LPC32XX_HSU_RX_LEV(n)   ((n) & 0xFF)
 
#define LPC32XX_HSU_TX_INT_SET   (1 << 6)
 
#define LPC32XX_HSU_RX_OE_INT   (1 << 5)
 
#define LPC32XX_HSU_BRK_INT   (1 << 4)
 
#define LPC32XX_HSU_FE_INT   (1 << 3)
 
#define LPC32XX_HSU_RX_TIMEOUT_INT   (1 << 2)
 
#define LPC32XX_HSU_RX_TRIG_INT   (1 << 1)
 
#define LPC32XX_HSU_TX_INT   (1 << 0)
 
#define LPC32XX_HSU_HRTS_INV   (1 << 21)
 
#define LPC32XX_HSU_HRTS_TRIG_8B   (0x0 << 19)
 
#define LPC32XX_HSU_HRTS_TRIG_16B   (0x1 << 19)
 
#define LPC32XX_HSU_HRTS_TRIG_32B   (0x2 << 19)
 
#define LPC32XX_HSU_HRTS_TRIG_48B   (0x3 << 19)
 
#define LPC32XX_HSU_HRTS_EN   (1 << 18)
 
#define LPC32XX_HSU_TMO_DISABLED   (0x0 << 16)
 
#define LPC32XX_HSU_TMO_INACT_4B   (0x1 << 16)
 
#define LPC32XX_HSU_TMO_INACT_8B   (0x2 << 16)
 
#define LPC32XX_HSU_TMO_INACT_16B   (0x3 << 16)
 
#define LPC32XX_HSU_HCTS_INV   (1 << 15)
 
#define LPC32XX_HSU_HCTS_EN   (1 << 14)
 
#define LPC32XX_HSU_OFFSET(n)   ((n) << 9)
 
#define LPC32XX_HSU_BREAK   (1 << 8)
 
#define LPC32XX_HSU_ERR_INT_EN   (1 << 7)
 
#define LPC32XX_HSU_RX_INT_EN   (1 << 6)
 
#define LPC32XX_HSU_TX_INT_EN   (1 << 5)
 
#define LPC32XX_HSU_RX_TL1B   (0x0 << 2)
 
#define LPC32XX_HSU_RX_TL4B   (0x1 << 2)
 
#define LPC32XX_HSU_RX_TL8B   (0x2 << 2)
 
#define LPC32XX_HSU_RX_TL16B   (0x3 << 2)
 
#define LPC32XX_HSU_RX_TL32B   (0x4 << 2)
 
#define LPC32XX_HSU_RX_TL48B   (0x5 << 2)
 
#define LPC32XX_HSU_TX_TLEMPTY   (0x0 << 0)
 
#define LPC32XX_HSU_TX_TL0B   (0x0 << 0)
 
#define LPC32XX_HSU_TX_TL4B   (0x1 << 0)
 
#define LPC32XX_HSU_TX_TL8B   (0x2 << 0)
 
#define LPC32XX_HSU_TX_TL16B   (0x3 << 0)
 
#define MODNAME   "lpc32xx_hsuart"
 
#define FIFO_READ_LIMIT   128
 
#define MAX_PORTS   3
 
#define LPC32XX_TTY_NAME   "ttyTX"
 
#define LPC32XX_HSUART_CONSOLE   NULL
 
#define serial_hs_lpc32xx_suspend   NULL
 
#define serial_hs_lpc32xx_resume   NULL
 

Functions

 MODULE_DEVICE_TABLE (of, serial_hs_lpc32xx_dt_ids)
 
 module_init (lpc32xx_hsuart_init)
 
 module_exit (lpc32xx_hsuart_exit)
 
 MODULE_AUTHOR ("Kevin Wells <[email protected]>")
 
 MODULE_AUTHOR ("Roland Stigge <[email protected]>")
 
 MODULE_DESCRIPTION ("NXP LPC32XX High Speed UART driver")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define FIFO_READ_LIMIT   128

Definition at line 99 of file lpc32xx_hs.c.

#define LPC32XX_HSU_BREAK   (1 << 8)

Definition at line 77 of file lpc32xx_hs.c.

#define LPC32XX_HSU_BREAK_DATA   (1 << 10)

Definition at line 49 of file lpc32xx_hs.c.

#define LPC32XX_HSU_BRK_INT   (1 << 4)

Definition at line 58 of file lpc32xx_hs.c.

#define LPC32XX_HSU_ERR_INT_EN   (1 << 7)

Definition at line 78 of file lpc32xx_hs.c.

#define LPC32XX_HSU_ERROR_DATA   (1 << 9)

Definition at line 50 of file lpc32xx_hs.c.

#define LPC32XX_HSU_FE_INT   (1 << 3)

Definition at line 59 of file lpc32xx_hs.c.

#define LPC32XX_HSU_HCTS_EN   (1 << 14)

Definition at line 75 of file lpc32xx_hs.c.

#define LPC32XX_HSU_HCTS_INV   (1 << 15)

Definition at line 74 of file lpc32xx_hs.c.

#define LPC32XX_HSU_HRTS_EN   (1 << 18)

Definition at line 69 of file lpc32xx_hs.c.

#define LPC32XX_HSU_HRTS_INV   (1 << 21)

Definition at line 64 of file lpc32xx_hs.c.

#define LPC32XX_HSU_HRTS_TRIG_16B   (0x1 << 19)

Definition at line 66 of file lpc32xx_hs.c.

#define LPC32XX_HSU_HRTS_TRIG_32B   (0x2 << 19)

Definition at line 67 of file lpc32xx_hs.c.

#define LPC32XX_HSU_HRTS_TRIG_48B   (0x3 << 19)

Definition at line 68 of file lpc32xx_hs.c.

#define LPC32XX_HSU_HRTS_TRIG_8B   (0x0 << 19)

Definition at line 65 of file lpc32xx_hs.c.

#define LPC32XX_HSU_OFFSET (   n)    ((n) << 9)

Definition at line 76 of file lpc32xx_hs.c.

#define LPC32XX_HSU_RX_EMPTY   (1 << 8)

Definition at line 51 of file lpc32xx_hs.c.

#define LPC32XX_HSU_RX_INT_EN   (1 << 6)

Definition at line 79 of file lpc32xx_hs.c.

#define LPC32XX_HSU_RX_LEV (   n)    ((n) & 0xFF)

Definition at line 54 of file lpc32xx_hs.c.

#define LPC32XX_HSU_RX_OE_INT   (1 << 5)

Definition at line 57 of file lpc32xx_hs.c.

#define LPC32XX_HSU_RX_TIMEOUT_INT   (1 << 2)

Definition at line 60 of file lpc32xx_hs.c.

#define LPC32XX_HSU_RX_TL16B   (0x3 << 2)

Definition at line 84 of file lpc32xx_hs.c.

#define LPC32XX_HSU_RX_TL1B   (0x0 << 2)

Definition at line 81 of file lpc32xx_hs.c.

#define LPC32XX_HSU_RX_TL32B   (0x4 << 2)

Definition at line 85 of file lpc32xx_hs.c.

#define LPC32XX_HSU_RX_TL48B   (0x5 << 2)

Definition at line 86 of file lpc32xx_hs.c.

#define LPC32XX_HSU_RX_TL4B   (0x1 << 2)

Definition at line 82 of file lpc32xx_hs.c.

#define LPC32XX_HSU_RX_TL8B   (0x2 << 2)

Definition at line 83 of file lpc32xx_hs.c.

#define LPC32XX_HSU_RX_TRIG_INT   (1 << 1)

Definition at line 61 of file lpc32xx_hs.c.

#define LPC32XX_HSU_TMO_DISABLED   (0x0 << 16)

Definition at line 70 of file lpc32xx_hs.c.

#define LPC32XX_HSU_TMO_INACT_16B   (0x3 << 16)

Definition at line 73 of file lpc32xx_hs.c.

#define LPC32XX_HSU_TMO_INACT_4B   (0x1 << 16)

Definition at line 71 of file lpc32xx_hs.c.

#define LPC32XX_HSU_TMO_INACT_8B   (0x2 << 16)

Definition at line 72 of file lpc32xx_hs.c.

#define LPC32XX_HSU_TX_INT   (1 << 0)

Definition at line 62 of file lpc32xx_hs.c.

#define LPC32XX_HSU_TX_INT_EN   (1 << 5)

Definition at line 80 of file lpc32xx_hs.c.

#define LPC32XX_HSU_TX_INT_SET   (1 << 6)

Definition at line 56 of file lpc32xx_hs.c.

#define LPC32XX_HSU_TX_LEV (   n)    (((n) >> 8) & 0xFF)

Definition at line 53 of file lpc32xx_hs.c.

#define LPC32XX_HSU_TX_TL0B   (0x0 << 0)

Definition at line 88 of file lpc32xx_hs.c.

#define LPC32XX_HSU_TX_TL16B   (0x3 << 0)

Definition at line 91 of file lpc32xx_hs.c.

#define LPC32XX_HSU_TX_TL4B   (0x1 << 0)

Definition at line 89 of file lpc32xx_hs.c.

#define LPC32XX_HSU_TX_TL8B   (0x2 << 0)

Definition at line 90 of file lpc32xx_hs.c.

#define LPC32XX_HSU_TX_TLEMPTY   (0x0 << 0)

Definition at line 87 of file lpc32xx_hs.c.

#define LPC32XX_HSUART_CONSOLE   NULL

Definition at line 205 of file lpc32xx_hs.c.

#define LPC32XX_HSUART_CTRL (   x)    ((x) + 0x0C)

Definition at line 46 of file lpc32xx_hs.c.

#define LPC32XX_HSUART_FIFO (   x)    ((x) + 0x00)

Definition at line 43 of file lpc32xx_hs.c.

#define LPC32XX_HSUART_IIR (   x)    ((x) + 0x08)

Definition at line 45 of file lpc32xx_hs.c.

#define LPC32XX_HSUART_LEVEL (   x)    ((x) + 0x04)

Definition at line 44 of file lpc32xx_hs.c.

#define LPC32XX_HSUART_RATE (   x)    ((x) + 0x10)

Definition at line 47 of file lpc32xx_hs.c.

#define LPC32XX_TTY_NAME   "ttyTX"

Definition at line 101 of file lpc32xx_hs.c.

#define MAX_PORTS   3

Definition at line 100 of file lpc32xx_hs.c.

#define MODNAME   "lpc32xx_hsuart"

Definition at line 93 of file lpc32xx_hs.c.

#define serial_hs_lpc32xx_resume   NULL

Definition at line 774 of file lpc32xx_hs.c.

#define serial_hs_lpc32xx_suspend   NULL

Definition at line 773 of file lpc32xx_hs.c.

Function Documentation

MODULE_AUTHOR ( "Kevin Wells <[email protected]>"  )
MODULE_AUTHOR ( "Roland Stigge <[email protected]>"  )
MODULE_DESCRIPTION ( "NXP LPC32XX High Speed UART driver )
MODULE_DEVICE_TABLE ( of  ,
serial_hs_lpc32xx_dt_ids   
)
module_exit ( lpc32xx_hsuart_exit  )
module_init ( lpc32xx_hsuart_init  )
MODULE_LICENSE ( "GPL"  )