Merge branch 'topic/azt3328' into for-linus
[pandora-kernel.git] / arch / arm / plat-omap / include / mach / serial.h
1 /*
2  * arch/arm/plat-omap/include/mach/serial.h
3  *
4  * Copyright (C) 2009 Texas Instruments
5  * Addded OMAP4 support- Santosh Shilimkar <santosh.shilimkar@ti.com>
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  */
12
13 #ifndef __ASM_ARCH_SERIAL_H
14 #define __ASM_ARCH_SERIAL_H
15
16 #if defined(CONFIG_ARCH_OMAP1)
17 /* OMAP1 serial ports */
18 #define OMAP_UART1_BASE         0xfffb0000
19 #define OMAP_UART2_BASE         0xfffb0800
20 #define OMAP_UART3_BASE         0xfffb9800
21 #define OMAP_MAX_NR_PORTS       3
22 #elif defined(CONFIG_ARCH_OMAP2)
23 /* OMAP2 serial ports */
24 #define OMAP_UART1_BASE         0x4806a000
25 #define OMAP_UART2_BASE         0x4806c000
26 #define OMAP_UART3_BASE         0x4806e000
27 #define OMAP_MAX_NR_PORTS       3
28 #elif defined(CONFIG_ARCH_OMAP3)
29 /* OMAP3 serial ports */
30 #define OMAP_UART1_BASE         0x4806a000
31 #define OMAP_UART2_BASE         0x4806c000
32 #define OMAP_UART3_BASE         0x49020000
33 #define OMAP_MAX_NR_PORTS       3
34 #elif defined(CONFIG_ARCH_OMAP4)
35 /* OMAP4 serial ports */
36 #define OMAP_UART1_BASE         0x4806a000
37 #define OMAP_UART2_BASE         0x4806c000
38 #define OMAP_UART3_BASE         0x48020000
39 #define OMAP_UART4_BASE         0x4806e000
40 #define OMAP_MAX_NR_PORTS       4
41 #endif
42
43 #define OMAP1510_BASE_BAUD      (12000000/16)
44 #define OMAP16XX_BASE_BAUD      (48000000/16)
45 #define OMAP24XX_BASE_BAUD      (48000000/16)
46
47 #define is_omap_port(pt)        ({int __ret = 0;                        \
48                         if ((pt)->port.mapbase == OMAP_UART1_BASE ||    \
49                             (pt)->port.mapbase == OMAP_UART2_BASE ||    \
50                             (pt)->port.mapbase == OMAP_UART3_BASE)      \
51                                 __ret = 1;                              \
52                         __ret;                                          \
53                         })
54
55 #ifndef __ASSEMBLER__
56 extern void omap_serial_init(void);
57 extern int omap_uart_can_sleep(void);
58 extern void omap_uart_check_wakeup(void);
59 extern void omap_uart_prepare_suspend(void);
60 extern void omap_uart_prepare_idle(int num);
61 extern void omap_uart_resume_idle(int num);
62 extern void omap_uart_enable_irqs(int enable);
63 #endif
64
65 #endif