Linux Kernel
3.7.1
|
#include <linux/serial_core.h>
#include <linux/spinlock.h>
#include <mach/anomaly.h>
#include <mach/bfin_serial.h>
Go to the source code of this file.
Data Structures | |
struct | bfin_serial_port |
struct | bfin_uart_regs |
Macros | |
#define | WLS(x) (((x)-5) & 0x03) /* Word Length Select */ |
#define | WLS_MASK 0x03 /* Word length Select Mask */ |
#define | WLS_OFFSET 0 /* Word length Select Offset */ |
#define | STB 0x04 /* Stop Bits */ |
#define | PEN 0x08 /* Parity Enable */ |
#define | EPS 0x10 /* Even Parity Select */ |
#define | STP 0x20 /* Stick Parity */ |
#define | SB 0x40 /* Set Break */ |
#define | DLAB 0x80 /* Divisor Latch Access */ |
#define | LCR_MASK (SB | STP | EPS | PEN | STB | WLS_MASK) |
#define | DR 0x01 /* Data Ready */ |
#define | OE 0x02 /* Overrun Error */ |
#define | PE 0x04 /* Parity Error */ |
#define | FE 0x08 /* Framing Error */ |
#define | BI 0x10 /* Break Interrupt */ |
#define | THRE 0x20 /* THR Empty */ |
#define | TEMT 0x40 /* TSR and UART_THR Empty */ |
#define | TFI 0x80 /* Transmission Finished Indicator */ |
#define | XOFF 0x01 /* Transmitter Off */ |
#define | MRTS 0x02 /* Manual Request To Send */ |
#define | RFIT 0x04 /* Receive FIFO IRQ Threshold */ |
#define | RFRT 0x08 /* Receive FIFO RTS Threshold */ |
#define | LOOP_ENA 0x10 /* Loopback Mode Enable */ |
#define | FCPOL 0x20 /* Flow Control Pin Polarity */ |
#define | ARTS 0x40 /* Automatic Request To Send */ |
#define | ACTS 0x80 /* Automatic Clear To Send */ |
#define | SCTS 0x01 /* Sticky CTS */ |
#define | CTS 0x10 /* Clear To Send */ |
#define | RFCS 0x20 /* Receive FIFO Count Status */ |
#define | UCEN 0x01 /* Enable UARTx Clocks */ |
#define | UMOD_IRDA 0x02 /* Enable IrDA Mode */ |
#define | UMOD_MASK 0x02 /* Uart Mode Mask */ |
#define | TPOLC 0x04 /* IrDA TX Polarity Change */ |
#define | RPOLC 0x08 /* IrDA RX Polarity Change */ |
#define | FPE 0x10 /* Force Parity Error On Transmit */ |
#define | FFE 0x20 /* Force Framing Error On Transmit */ |
#define | ERBFI 0x01 /* Enable Receive Buffer Full Interrupt */ |
#define | ETBEI 0x02 /* Enable Transmit Buffer Empty Interrupt */ |
#define | ELSI 0x04 /* Enable RX Status Interrupt */ |
#define | EDSSI 0x08 /* Enable Modem Status Interrupt */ |
#define | EDTPTI 0x10 /* Enable DMA Transmit PIRQ Interrupt */ |
#define | ETFI 0x20 /* Enable Transmission Finished Interrupt */ |
#define | ERFCI 0x40 /* Enable Receive FIFO Count Interrupt */ |
#define | OFFSET_THR 0x00 /* Transmit Holding register */ |
#define | OFFSET_RBR 0x00 /* Receive Buffer register */ |
#define | OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ |
#define | OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ |
#define | OFFSET_IER 0x04 /* Interrupt Enable Register */ |
#define | OFFSET_IIR 0x08 /* Interrupt Identification Register */ |
#define | OFFSET_LCR 0x0C /* Line Control Register */ |
#define | OFFSET_MCR 0x10 /* Modem Control Register */ |
#define | OFFSET_LSR 0x14 /* Line Status Register */ |
#define | OFFSET_MSR 0x18 /* Modem Status Register */ |
#define | OFFSET_SCR 0x1C /* SCR Scratch Register */ |
#define | OFFSET_GCTL 0x24 /* Global Control Register */ |
#define | __BFP(m) u16 m; u16 __pad_##m |
#define | port_membase(uart) (((struct bfin_serial_port *)(uart))->port.membase) |
#define | UART_GET_CHAR(p) bfin_read16(port_membase(p) + OFFSET_RBR) |
#define | UART_GET_DLL(p) bfin_read16(port_membase(p) + OFFSET_DLL) |
#define | UART_GET_DLH(p) bfin_read16(port_membase(p) + OFFSET_DLH) |
#define | UART_GET_CLK(p) ((UART_GET_DLH(p) << 8) | UART_GET_DLL(p)) |
#define | UART_GET_GCTL(p) bfin_read16(port_membase(p) + OFFSET_GCTL) |
#define | UART_GET_LCR(p) bfin_read16(port_membase(p) + OFFSET_LCR) |
#define | UART_GET_MCR(p) bfin_read16(port_membase(p) + OFFSET_MCR) |
#define | UART_GET_MSR(p) bfin_read16(port_membase(p) + OFFSET_MSR) |
#define | UART_PUT_CHAR(p, v) bfin_write16(port_membase(p) + OFFSET_THR, v) |
#define | UART_PUT_DLL(p, v) bfin_write16(port_membase(p) + OFFSET_DLL, v) |
#define | UART_PUT_DLH(p, v) bfin_write16(port_membase(p) + OFFSET_DLH, v) |
#define | UART_PUT_CLK(p, v) |
#define | UART_PUT_GCTL(p, v) bfin_write16(port_membase(p) + OFFSET_GCTL, v) |
#define | UART_PUT_LCR(p, v) bfin_write16(port_membase(p) + OFFSET_LCR, v) |
#define | UART_PUT_MCR(p, v) bfin_write16(port_membase(p) + OFFSET_MCR, v) |
#define | UART_CLEAR_IER(p, v) UART_PUT_IER(p, UART_GET_IER(p) & ~(v)) |
#define | UART_GET_IER(p) bfin_read16(port_membase(p) + OFFSET_IER) |
#define | UART_PUT_IER(p, v) bfin_write16(port_membase(p) + OFFSET_IER, v) |
#define | UART_SET_IER(p, v) UART_PUT_IER(p, UART_GET_IER(p) | (v)) |
#define | UART_CLEAR_DLAB(p) do { UART_PUT_LCR(p, UART_GET_LCR(p) & ~DLAB); SSYNC(); } while (0) |
#define | UART_SET_DLAB(p) do { UART_PUT_LCR(p, UART_GET_LCR(p) | DLAB); SSYNC(); } while (0) |
#define | get_lsr_cache(uart) (((struct bfin_serial_port *)(uart))->lsr) |
#define | put_lsr_cache(uart, v) (((struct bfin_serial_port *)(uart))->lsr = (v)) |
#define | UART_GET_CTS(x) gpio_get_value((x)->cts_pin) |
#define | UART_DISABLE_RTS(x) gpio_set_value((x)->rts_pin, 1) |
#define | UART_ENABLE_RTS(x) gpio_set_value((x)->rts_pin, 0) |
#define | UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v) |
#define | UART_DISABLE_INTS(x) UART_PUT_IER(x, 0) |
#define | BFIN_UART_TX_FIFO_SIZE 2 |
#define ACTS 0x80 /* Automatic Clear To Send */ |
Definition at line 143 of file bfin_serial.h.
#define ARTS 0x40 /* Automatic Request To Send */ |
Definition at line 142 of file bfin_serial.h.
#define BFIN_UART_TX_FIFO_SIZE 2 |
Definition at line 427 of file bfin_serial.h.
#define BI 0x10 /* Break Interrupt */ |
Definition at line 130 of file bfin_serial.h.
#define CTS 0x10 /* Clear To Send */ |
Definition at line 147 of file bfin_serial.h.
#define DLAB 0x80 /* Divisor Latch Access */ |
Definition at line 122 of file bfin_serial.h.
#define DR 0x01 /* Data Ready */ |
Definition at line 126 of file bfin_serial.h.
#define EDSSI 0x08 /* Enable Modem Status Interrupt */ |
Definition at line 165 of file bfin_serial.h.
#define EDTPTI 0x10 /* Enable DMA Transmit PIRQ Interrupt */ |
Definition at line 166 of file bfin_serial.h.
#define ELSI 0x04 /* Enable RX Status Interrupt */ |
Definition at line 164 of file bfin_serial.h.
#define EPS 0x10 /* Even Parity Select */ |
Definition at line 119 of file bfin_serial.h.
#define ERBFI 0x01 /* Enable Receive Buffer Full Interrupt */ |
Definition at line 162 of file bfin_serial.h.
#define ERFCI 0x40 /* Enable Receive FIFO Count Interrupt */ |
Definition at line 168 of file bfin_serial.h.
#define ETBEI 0x02 /* Enable Transmit Buffer Empty Interrupt */ |
Definition at line 163 of file bfin_serial.h.
#define ETFI 0x20 /* Enable Transmission Finished Interrupt */ |
Definition at line 167 of file bfin_serial.h.
#define FCPOL 0x20 /* Flow Control Pin Polarity */ |
Definition at line 141 of file bfin_serial.h.
#define FE 0x08 /* Framing Error */ |
Definition at line 129 of file bfin_serial.h.
#define FFE 0x20 /* Force Framing Error On Transmit */ |
Definition at line 157 of file bfin_serial.h.
#define FPE 0x10 /* Force Parity Error On Transmit */ |
Definition at line 156 of file bfin_serial.h.
#define get_lsr_cache | ( | uart | ) | (((struct bfin_serial_port *)(uart))->lsr) |
Definition at line 383 of file bfin_serial.h.
Definition at line 123 of file bfin_serial.h.
#define LOOP_ENA 0x10 /* Loopback Mode Enable */ |
Definition at line 140 of file bfin_serial.h.
#define MRTS 0x02 /* Manual Request To Send */ |
Definition at line 137 of file bfin_serial.h.
#define OE 0x02 /* Overrun Error */ |
Definition at line 127 of file bfin_serial.h.
#define OFFSET_DLH 0x04 /* Divisor Latch (High-Byte) */ |
Definition at line 198 of file bfin_serial.h.
#define OFFSET_DLL 0x00 /* Divisor Latch (Low-Byte) */ |
Definition at line 197 of file bfin_serial.h.
#define OFFSET_GCTL 0x24 /* Global Control Register */ |
Definition at line 206 of file bfin_serial.h.
#define OFFSET_IER 0x04 /* Interrupt Enable Register */ |
Definition at line 199 of file bfin_serial.h.
#define OFFSET_IIR 0x08 /* Interrupt Identification Register */ |
Definition at line 200 of file bfin_serial.h.
#define OFFSET_LCR 0x0C /* Line Control Register */ |
Definition at line 201 of file bfin_serial.h.
#define OFFSET_LSR 0x14 /* Line Status Register */ |
Definition at line 203 of file bfin_serial.h.
#define OFFSET_MCR 0x10 /* Modem Control Register */ |
Definition at line 202 of file bfin_serial.h.
#define OFFSET_MSR 0x18 /* Modem Status Register */ |
Definition at line 204 of file bfin_serial.h.
#define OFFSET_RBR 0x00 /* Receive Buffer register */ |
Definition at line 196 of file bfin_serial.h.
#define OFFSET_SCR 0x1C /* SCR Scratch Register */ |
Definition at line 205 of file bfin_serial.h.
#define OFFSET_THR 0x00 /* Transmit Holding register */ |
Definition at line 195 of file bfin_serial.h.
#define PE 0x04 /* Parity Error */ |
Definition at line 128 of file bfin_serial.h.
#define PEN 0x08 /* Parity Enable */ |
Definition at line 118 of file bfin_serial.h.
#define port_membase | ( | uart | ) | (((struct bfin_serial_port *)(uart))->port.membase) |
Definition at line 270 of file bfin_serial.h.
Definition at line 384 of file bfin_serial.h.
#define RFCS 0x20 /* Receive FIFO Count Status */ |
Definition at line 148 of file bfin_serial.h.
#define RFIT 0x04 /* Receive FIFO IRQ Threshold */ |
Definition at line 138 of file bfin_serial.h.
#define RFRT 0x08 /* Receive FIFO RTS Threshold */ |
Definition at line 139 of file bfin_serial.h.
#define RPOLC 0x08 /* IrDA RX Polarity Change */ |
Definition at line 155 of file bfin_serial.h.
#define SB 0x40 /* Set Break */ |
Definition at line 121 of file bfin_serial.h.
#define SCTS 0x01 /* Sticky CTS */ |
Definition at line 146 of file bfin_serial.h.
#define STB 0x04 /* Stop Bits */ |
Definition at line 117 of file bfin_serial.h.
#define STP 0x20 /* Stick Parity */ |
Definition at line 120 of file bfin_serial.h.
#define TEMT 0x40 /* TSR and UART_THR Empty */ |
Definition at line 132 of file bfin_serial.h.
#define TFI 0x80 /* Transmission Finished Indicator */ |
Definition at line 133 of file bfin_serial.h.
#define THRE 0x20 /* THR Empty */ |
Definition at line 131 of file bfin_serial.h.
#define TPOLC 0x04 /* IrDA TX Polarity Change */ |
Definition at line 154 of file bfin_serial.h.
#define UART_CLEAR_DLAB | ( | p | ) | do { UART_PUT_LCR(p, UART_GET_LCR(p) & ~DLAB); SSYNC(); } while (0) |
Definition at line 380 of file bfin_serial.h.
#define UART_CLEAR_IER | ( | p, | |
v | |||
) | UART_PUT_IER(p, UART_GET_IER(p) & ~(v)) |
Definition at line 375 of file bfin_serial.h.
#define UART_DISABLE_INTS | ( | x | ) | UART_PUT_IER(x, 0) |
Definition at line 420 of file bfin_serial.h.
#define UART_DISABLE_RTS | ( | x | ) | gpio_set_value((x)->rts_pin, 1) |
Definition at line 417 of file bfin_serial.h.
#define UART_ENABLE_INTS | ( | x, | |
v | |||
) | UART_PUT_IER(x, v) |
Definition at line 419 of file bfin_serial.h.
#define UART_ENABLE_RTS | ( | x | ) | gpio_set_value((x)->rts_pin, 0) |
Definition at line 418 of file bfin_serial.h.
#define UART_GET_CHAR | ( | p | ) | bfin_read16(port_membase(p) + OFFSET_RBR) |
Definition at line 330 of file bfin_serial.h.
#define UART_GET_CLK | ( | p | ) | ((UART_GET_DLH(p) << 8) | UART_GET_DLL(p)) |
Definition at line 333 of file bfin_serial.h.
#define UART_GET_CTS | ( | x | ) | gpio_get_value((x)->cts_pin) |
Definition at line 416 of file bfin_serial.h.
#define UART_GET_DLH | ( | p | ) | bfin_read16(port_membase(p) + OFFSET_DLH) |
Definition at line 332 of file bfin_serial.h.
#define UART_GET_DLL | ( | p | ) | bfin_read16(port_membase(p) + OFFSET_DLL) |
Definition at line 331 of file bfin_serial.h.
#define UART_GET_GCTL | ( | p | ) | bfin_read16(port_membase(p) + OFFSET_GCTL) |
Definition at line 334 of file bfin_serial.h.
#define UART_GET_IER | ( | p | ) | bfin_read16(port_membase(p) + OFFSET_IER) |
Definition at line 376 of file bfin_serial.h.
#define UART_GET_LCR | ( | p | ) | bfin_read16(port_membase(p) + OFFSET_LCR) |
Definition at line 335 of file bfin_serial.h.
#define UART_GET_MCR | ( | p | ) | bfin_read16(port_membase(p) + OFFSET_MCR) |
Definition at line 336 of file bfin_serial.h.
#define UART_GET_MSR | ( | p | ) | bfin_read16(port_membase(p) + OFFSET_MSR) |
Definition at line 337 of file bfin_serial.h.
#define UART_PUT_CHAR | ( | p, | |
v | |||
) | bfin_write16(port_membase(p) + OFFSET_THR, v) |
Definition at line 339 of file bfin_serial.h.
#define UART_PUT_DLH | ( | p, | |
v | |||
) | bfin_write16(port_membase(p) + OFFSET_DLH, v) |
Definition at line 341 of file bfin_serial.h.
#define UART_PUT_DLL | ( | p, | |
v | |||
) | bfin_write16(port_membase(p) + OFFSET_DLL, v) |
Definition at line 340 of file bfin_serial.h.
#define UART_PUT_GCTL | ( | p, | |
v | |||
) | bfin_write16(port_membase(p) + OFFSET_GCTL, v) |
Definition at line 347 of file bfin_serial.h.
#define UART_PUT_IER | ( | p, | |
v | |||
) | bfin_write16(port_membase(p) + OFFSET_IER, v) |
Definition at line 377 of file bfin_serial.h.
#define UART_PUT_LCR | ( | p, | |
v | |||
) | bfin_write16(port_membase(p) + OFFSET_LCR, v) |
Definition at line 348 of file bfin_serial.h.
#define UART_PUT_MCR | ( | p, | |
v | |||
) | bfin_write16(port_membase(p) + OFFSET_MCR, v) |
Definition at line 349 of file bfin_serial.h.
#define UART_SET_DLAB | ( | p | ) | do { UART_PUT_LCR(p, UART_GET_LCR(p) | DLAB); SSYNC(); } while (0) |
Definition at line 381 of file bfin_serial.h.
#define UART_SET_IER | ( | p, | |
v | |||
) | UART_PUT_IER(p, UART_GET_IER(p) | (v)) |
Definition at line 378 of file bfin_serial.h.
#define UCEN 0x01 /* Enable UARTx Clocks */ |
Definition at line 151 of file bfin_serial.h.
#define UMOD_IRDA 0x02 /* Enable IrDA Mode */ |
Definition at line 152 of file bfin_serial.h.
#define UMOD_MASK 0x02 /* Uart Mode Mask */ |
Definition at line 153 of file bfin_serial.h.
Definition at line 114 of file bfin_serial.h.
#define WLS_MASK 0x03 /* Word length Select Mask */ |
Definition at line 115 of file bfin_serial.h.
#define WLS_OFFSET 0 /* Word length Select Offset */ |
Definition at line 116 of file bfin_serial.h.
#define XOFF 0x01 /* Transmitter Off */ |
Definition at line 136 of file bfin_serial.h.