Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 | ||
1da177e4 LT |
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__ */ |