2 * Copyright (c) 2009 Wind River Systems, Inc.
3 * Tom Rix <Tom.Rix@windriver.com>
5 * SPDX-License-Identifier: GPL-2.0+
11 #include <linux/stringify.h>
13 extern int zoom2_debug_board_connected (void);
15 #define SERIAL_TL16CP754C_BASE 0x10000000 /* Zoom2 Serial chip address */
17 #define QUAD_BASE_0 SERIAL_TL16CP754C_BASE
18 #define QUAD_BASE_1 (SERIAL_TL16CP754C_BASE + 0x100)
19 #define QUAD_BASE_2 (SERIAL_TL16CP754C_BASE + 0x200)
20 #define QUAD_BASE_3 (SERIAL_TL16CP754C_BASE + 0x300)
22 #define QUAD_INIT(n) \
23 int quad_init_##n(void) \
25 return quad_init_dev(QUAD_BASE_##n); \
27 void quad_setbrg_##n(void) \
29 quad_setbrg_dev(QUAD_BASE_##n); \
31 void quad_putc_##n(const char c) \
33 quad_putc_dev(QUAD_BASE_##n, c); \
35 void quad_puts_##n(const char *s) \
37 quad_puts_dev(QUAD_BASE_##n, s); \
39 int quad_getc_##n(void) \
41 return quad_getc_dev(QUAD_BASE_##n); \
43 int quad_tstc_##n(void) \
45 return quad_tstc_dev(QUAD_BASE_##n); \
47 struct serial_device zoom2_serial_device##n = \
49 .name = __stringify(n), \
50 .start = quad_init_##n, \
52 .setbrg = quad_setbrg_##n, \
53 .getc = quad_getc_##n, \
54 .tstc = quad_tstc_##n, \
55 .putc = quad_putc_##n, \
56 .puts = quad_puts_##n, \
59 #endif /* ZOOM2_SERIAL_H */