Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[linux-2.6] / arch / ppc / platforms / gemini_serial.h
1 #ifdef __KERNEL__
2 #ifndef __ASMPPC_GEMINI_SERIAL_H
3 #define __ASMPPC_GEMINI_SERIAL_H
4
5 #include <linux/config.h>
6 #include <platforms/gemini.h>
7
8 #ifdef CONFIG_SERIAL_MANY_PORTS
9 #define RS_TABLE_SIZE  64
10 #else
11 #define RS_TABLE_SIZE  4
12 #endif
13
14 /* Rate for the 24.576 Mhz clock for the onboard serial chip */
15 #define BASE_BAUD  (24576000 / 16)
16
17 #ifdef CONFIG_SERIAL_DETECT_IRQ
18 #define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF|ASYNC_SKIP_TEST|ASYNC_AUTO_IRQ)
19 #define STD_COM4_FLAGS (ASYNC_BOOT_AUTOCONF|ASYNC_AUTO_IRQ)
20 #else
21 #define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF|ASYNC_SKIP_TEST)
22 #define STD_COM4_FLAGS (ASYNC_BOOT_AUTOCONF)
23 #endif
24
25 #define STD_SERIAL_PORT_DEFNS \
26         { 0, BASE_BAUD, GEMINI_SERIAL_A, 15, STD_COM_FLAGS }, /* ttyS0 */ \
27         { 0, BASE_BAUD, GEMINI_SERIAL_B, 14, STD_COM_FLAGS }, /* ttyS1 */ \
28
29 #ifdef CONFIG_GEMINI_PU32
30 #define PU32_SERIAL_PORT_DEFNS \
31         { 0, BASE_BAUD, NULL, 0, STD_COM_FLAGS },
32 #else
33 #define PU32_SERIAL_PORT_DEFNS
34 #endif
35
36 #define SERIAL_PORT_DFNS \
37         STD_SERIAL_PORT_DEFNS \
38         PU32_SERIAL_PORT_DEFNS
39
40 #endif
41 #endif /* __KERNEL__ */