]> git.karo-electronics.de Git - karo-tx-uboot.git/blob - board/logicpd/zoom2/zoom2_serial.h
serial: drop useless ctlr field
[karo-tx-uboot.git] / board / logicpd / zoom2 / zoom2_serial.h
1 /*
2  * Copyright (c) 2009 Wind River Systems, Inc.
3  * Tom Rix <Tom.Rix@windriver.com>
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License as
7  * published by the Free Software Foundation; either version 2 of
8  * the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
18  * MA 02111-1307 USA
19  *
20  */
21
22 #ifndef ZOOM2_SERIAL_H
23 #define ZOOM2_SERIAL_H
24
25 extern int zoom2_debug_board_connected (void);
26
27 #define SERIAL_TL16CP754C_BASE  0x10000000      /* Zoom2 Serial chip address */
28
29 #define QUAD_BASE_0     SERIAL_TL16CP754C_BASE
30 #define QUAD_BASE_1     (SERIAL_TL16CP754C_BASE + 0x100)
31 #define QUAD_BASE_2     (SERIAL_TL16CP754C_BASE + 0x200)
32 #define QUAD_BASE_3     (SERIAL_TL16CP754C_BASE + 0x300)
33
34 #define S(a) #a
35 #define N(a) S(quad##a)
36
37 #define QUAD_INIT(n)                            \
38 int quad_init_##n(void)                         \
39 {                                               \
40         return quad_init_dev(QUAD_BASE_##n);    \
41 }                                               \
42 void quad_setbrg_##n(void)                      \
43 {                                               \
44         quad_setbrg_dev(QUAD_BASE_##n);         \
45 }                                               \
46 void quad_putc_##n(const char c)                \
47 {                                               \
48         quad_putc_dev(QUAD_BASE_##n, c);        \
49 }                                               \
50 void quad_puts_##n(const char *s)               \
51 {                                               \
52         quad_puts_dev(QUAD_BASE_##n, s);        \
53 }                                               \
54 int quad_getc_##n(void)                         \
55 {                                               \
56         return quad_getc_dev(QUAD_BASE_##n);    \
57 }                                               \
58 int quad_tstc_##n(void)                         \
59 {                                               \
60         return quad_tstc_dev(QUAD_BASE_##n);    \
61 }                                               \
62 struct serial_device zoom2_serial_device##n =   \
63 {                                               \
64         N(n),                                   \
65         quad_init_##n,                          \
66         NULL,                                   \
67         quad_setbrg_##n,                        \
68         quad_getc_##n,                          \
69         quad_tstc_##n,                          \
70         quad_putc_##n,                          \
71         quad_puts_##n,                          \
72 };
73
74 #endif /* ZOOM2_SERIAL_H */