ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-arm / arch-omap / serial.h
1 /*
2  * linux/include/asm-arm/arch-omap/serial.h
3  *
4  * BRIEF MODULE DESCRIPTION
5  * serial definitions
6  *
7  */
8
9 #ifndef __ASM_ARCH_SERIAL_H
10 #define __ASM_ARCH_SERIAL_H
11
12 #define OMAP_UART1_BASE         (unsigned char *)0xfffb0000
13 #define OMAP_UART2_BASE         (unsigned char *)0xfffb0800
14 #define OMAP_UART3_BASE         (unsigned char *)0xfffb9800
15
16 #ifndef __ASSEMBLY__
17
18 #include <asm/arch/hardware.h>
19 #include <asm/irq.h>
20
21 #define OMAP1510_BASE_BAUD      (12000000/16)
22 #define OMAP1610_BASE_BAUD      (48000000/16)
23
24 /* OMAP FCR trigger  redefinitions */
25 #define UART_FCR_R_TRIGGER_8    0x00    /* Mask for receive trigger set at 8 */
26 #define UART_FCR_R_TRIGGER_16   0x40    /* Mask for receive trigger set at 16 */
27 #define UART_FCR_R_TRIGGER_56   0x80    /* Mask for receive trigger set at 56 */
28 #define UART_FCR_R_TRIGGER_60   0xC0    /* Mask for receive trigger set at 60 */
29
30 /* There is an error in the description of the transmit trigger levels of
31    OMAP5910 TRM from January 2003. The transmit trigger level 56 is not
32    56 but 32, the transmit trigger level 60 is not 60 but 56!
33    Additionally, the descritption of these trigger levels is
34    a little bit unclear. The trigger level define the number of EMPTY
35    entries in the FIFO. Thus, if TRIGGER_8 is used, an interrupt is requested
36    if 8 FIFO entries are empty (and 56 entries are still filled [the FIFO
37    size is 64]). Or: If TRIGGER_56 is selected, everytime there are less than
38    8 characters in the FIFO, an interrrupt is spawned. In other words: The
39    trigger number is equal the number of characters which can be
40    written without FIFO overrun */
41
42 #define UART_FCR_T_TRIGGER_8    0x00    /* Mask for transmit trigger set at 8 */
43 #define UART_FCR_T_TRIGGER_16   0x10    /* Mask for transmit trigger set at 16 */
44 #define UART_FCR_T_TRIGGER_32   0x20    /* Mask for transmit trigger set at 32 */
45 #define UART_FCR_T_TRIGGER_56   0x30    /* Mask for transmit trigger set at 56 */
46
47 #define STD_SERIAL_PORT_DEFNS
48 #define EXTRA_SERIAL_PORT_DEFNS
49 #define BASE_BAUD 0
50
51 #endif  /* __ASSEMBLY__ */
52 #endif  /* __ASM_ARCH_SERIAL_H */