serial.h 2.0 KB
Newer Older
1
/*
2 3 4 5
 * arch/arm/plat-omap/include/mach/serial.h
 *
 * Copyright (C) 2009 Texas Instruments
 * Addded OMAP4 support- Santosh Shilimkar <santosh.shilimkar@ti.com>
6 7 8 9 10 11 12 13 14 15
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 */

#ifndef __ASM_ARCH_SERIAL_H
#define __ASM_ARCH_SERIAL_H

16 17
#include <linux/init.h>

18
/* OMAP1 serial ports */
19 20 21 22
#define OMAP1_UART1_BASE	0xfffb0000
#define OMAP1_UART2_BASE	0xfffb0800
#define OMAP1_UART3_BASE	0xfffb9800

23
/* OMAP2 serial ports */
24 25 26 27
#define OMAP2_UART1_BASE	0x4806a000
#define OMAP2_UART2_BASE	0x4806c000
#define OMAP2_UART3_BASE	0x4806e000

28
/* OMAP3 serial ports */
29 30 31 32 33
#define OMAP3_UART1_BASE	0x4806a000
#define OMAP3_UART2_BASE	0x4806c000
#define OMAP3_UART3_BASE	0x49020000
#define OMAP3_UART4_BASE	0x49042000	/* Only on 36xx */

34
/* OMAP4 serial ports */
35 36 37 38 39 40 41
#define OMAP4_UART1_BASE	0x4806a000
#define OMAP4_UART2_BASE	0x4806c000
#define OMAP4_UART3_BASE	0x48020000
#define OMAP4_UART4_BASE	0x4806e000

#define OMAP_PORT_SHIFT		2
#define OMAP7XX_PORT_SHIFT	0
42 43 44

#define OMAP1510_BASE_BAUD	(12000000/16)
#define OMAP16XX_BASE_BAUD	(48000000/16)
45
#define OMAP24XX_BASE_BAUD	(48000000/16)
46

47
/* This is only used by 8250.c for omap1510 */
48
#define is_omap_port(pt)	({int __ret = 0;			\
49 50 51
			if ((pt)->port.mapbase == OMAP1_UART1_BASE ||	\
			    (pt)->port.mapbase == OMAP1_UART2_BASE ||	\
			    (pt)->port.mapbase == OMAP1_UART3_BASE)	\
52 53
				__ret = 1;				\
			__ret;						\
54 55
			})

56
#ifndef __ASSEMBLER__
57
extern void __init omap_serial_early_init(void);
58
extern void omap_serial_init(void);
59
extern void omap_serial_init_port(int port);
60 61 62 63 64
extern int omap_uart_can_sleep(void);
extern void omap_uart_check_wakeup(void);
extern void omap_uart_prepare_suspend(void);
extern void omap_uart_prepare_idle(int num);
extern void omap_uart_resume_idle(int num);
65
extern void omap_uart_enable_irqs(int enable);
66 67
#endif

68
#endif