Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6] / include / asm-v850 / v850e_uart.h
1 /*
2  * include/asm-v850/v850e_uart.h -- common V850E on-chip UART driver
3  *
4  *  Copyright (C) 2001,02,03  NEC Electronics Corporation
5  *  Copyright (C) 2001,02,03  Miles Bader <miles@gnu.org>
6  *
7  * This file is subject to the terms and conditions of the GNU General
8  * Public License.  See the file COPYING in the main directory of this
9  * archive for more details.
10  *
11  * Written by Miles Bader <miles@gnu.org>
12  */
13
14 /* There's not actually a single UART implementation used by V850E CPUs,
15    but rather a series of implementations that are all `close' to one
16    another.  This file corresponds to the single driver which handles all
17    of them.  */
18
19 #ifndef __V850_V850E_UART_H__
20 #define __V850_V850E_UART_H__
21
22 #include <linux/termios.h>
23
24 #include <asm/v850e_utils.h>
25 #include <asm/types.h>
26 #include <asm/machdep.h>        /* Pick up chip-specific defs.  */
27
28
29 /* Include model-specific definitions.  */
30 #ifdef CONFIG_V850E_UART
31 # ifdef CONFIG_V850E_UARTB
32 #  include <asm-v850/v850e_uartb.h>
33 # else
34 #  include <asm-v850/v850e_uarta.h> /* original V850E UART */
35 # endif
36 #endif
37
38
39 /* Optional capabilities some hardware provides.  */
40
41 /* This UART doesn't implement RTS/CTS by default, but some platforms
42    implement them externally, so check to see if <asm/machdep.h> defined
43    anything.  */
44 #ifdef V850E_UART_CTS
45 #define v850e_uart_cts(n)               V850E_UART_CTS(n)
46 #else
47 #define v850e_uart_cts(n)               (1)
48 #endif
49
50 /* Do the same for RTS.  */
51 #ifdef V850E_UART_SET_RTS
52 #define v850e_uart_set_rts(n,v)         V850E_UART_SET_RTS(n,v)
53 #else
54 #define v850e_uart_set_rts(n,v)         ((void)0)
55 #endif
56
57
58 /* This is the serial channel to use for the boot console (if desired).  */
59 #ifndef V850E_UART_CONSOLE_CHANNEL
60 # define V850E_UART_CONSOLE_CHANNEL 0
61 #endif
62
63
64 #ifndef __ASSEMBLY__
65
66 /* Setup a console using channel 0 of the builtin uart.  */
67 extern void v850e_uart_cons_init (unsigned chan);
68
69 /* Configure and turn on uart channel CHAN, using the termios `control
70    modes' bits in CFLAGS, and a baud-rate of BAUD.  */
71 void v850e_uart_configure (unsigned chan, unsigned cflags, unsigned baud);
72
73 #endif /* !__ASSEMBLY__ */
74
75
76 #endif /* __V850_V850E_UART_H__ */