blob: 69855aeec88861cc363cb1ab0f015a9072e7db00 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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__ */