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.  */
67extern 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.  */
71void v850e_uart_configure (unsigned chan, unsigned cflags, unsigned baud);
72
73#endif /* !__ASSEMBLY__ */
74
75
76#endif /* __V850_V850E_UART_H__ */
77