ixp12x0_comvar.h revision 1.1 1 1.1 ichiro /* $NetBSD: ixp12x0_comvar.h,v 1.1 2002/07/15 16:27:17 ichiro Exp $ */
2 1.1 ichiro /*-
3 1.1 ichiro * Copyright (c) 2001, The NetBSD Foundation, Inc. All rights reserved.
4 1.1 ichiro *
5 1.1 ichiro * This code is derived from software contributed to The NetBSD Foundation
6 1.1 ichiro * by IWAMOTO Toshihiro and Ichiro FUKUHARA.
7 1.1 ichiro *
8 1.1 ichiro * Redistribution and use in source and binary forms, with or without
9 1.1 ichiro * modification, are permitted provided that the following conditions
10 1.1 ichiro * are met:
11 1.1 ichiro * 1. Redistributions of source code must retain the above copyright
12 1.1 ichiro * notice, this list of conditions and the following disclaimer.
13 1.1 ichiro * 2. Redistributions in binary form must reproduce the above copyright
14 1.1 ichiro * notice, this list of conditions and the following disclaimer in the
15 1.1 ichiro * documentation and/or other materials provided with the distribution.
16 1.1 ichiro * 3. All advertising materials mentioning features or use of this software
17 1.1 ichiro * must display the following acknowledgement:
18 1.1 ichiro * This product includes software developed by the NetBSD
19 1.1 ichiro * Foundation, Inc. and its contributors.
20 1.1 ichiro * 4. Neither the name of The NetBSD Foundation nor the names of its
21 1.1 ichiro * contributors may be used to endorse or promote products derived
22 1.1 ichiro * from this software without specific prior written permission.
23 1.1 ichiro * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24 1.1 ichiro * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 1.1 ichiro * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 1.1 ichiro * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27 1.1 ichiro * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 1.1 ichiro * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 1.1 ichiro * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 1.1 ichiro * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 1.1 ichiro * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 1.1 ichiro * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 1.1 ichiro * SUCH DAMAGE.
34 1.1 ichiro *
35 1.1 ichiro */
36 1.1 ichiro
37 1.1 ichiro #ifndef _IXP12X0_COMVAR_H_
38 1.1 ichiro #define _IXP12X0_COMVAR_H_
39 1.1 ichiro
40 1.1 ichiro /* Hardware flag masks */
41 1.1 ichiro #define COM_HW_NOIEN 0x01
42 1.1 ichiro #define COM_HW_DEV_OK 0x20
43 1.1 ichiro #define COM_HW_CONSOLE 0x40
44 1.1 ichiro #define COM_HW_KGDB 0x80
45 1.1 ichiro
46 1.1 ichiro #define RX_TTY_BLOCKED 0x01
47 1.1 ichiro #define RX_TTY_OVERFLOWED 0x02
48 1.1 ichiro #define RX_IBUF_BLOCKED 0x04
49 1.1 ichiro #define RX_IBUF_OVERFLOWED 0x08
50 1.1 ichiro #define RX_ANY_BLOCK 0x0f
51 1.1 ichiro
52 1.1 ichiro #define IXPCOM_RING_SIZE 2048
53 1.1 ichiro
54 1.1 ichiro struct ixpcom_softc {
55 1.1 ichiro struct device sc_dev;
56 1.1 ichiro bus_addr_t sc_baseaddr;
57 1.1 ichiro bus_space_tag_t sc_iot;
58 1.1 ichiro bus_space_handle_t sc_ioh;
59 1.1 ichiro
60 1.1 ichiro #ifdef __HAVE_GENERIC_SOFT_INTERRUPTS
61 1.1 ichiro void *sc_si;
62 1.1 ichiro #endif
63 1.1 ichiro struct tty *sc_tty;
64 1.1 ichiro
65 1.1 ichiro
66 1.1 ichiro u_char *sc_rbuf, *sc_ebuf;
67 1.1 ichiro
68 1.1 ichiro u_char *sc_tba;
69 1.1 ichiro u_int sc_tbc, sc_heldtbc;
70 1.1 ichiro
71 1.1 ichiro u_char *volatile sc_rbget,
72 1.1 ichiro *volatile sc_rbput;
73 1.1 ichiro volatile u_int sc_rbavail;
74 1.1 ichiro
75 1.1 ichiro /* status flags */
76 1.1 ichiro int sc_hwflags, sc_swflags;
77 1.1 ichiro
78 1.1 ichiro volatile u_int sc_rx_flags,
79 1.1 ichiro sc_tx_busy,
80 1.1 ichiro sc_tx_done,
81 1.1 ichiro sc_tx_stopped,
82 1.1 ichiro sc_st_check,
83 1.1 ichiro sc_rx_ready;
84 1.1 ichiro volatile int sc_heldchange;
85 1.1 ichiro
86 1.1 ichiro /* control registers */
87 1.1 ichiro u_int sc_xie;
88 1.1 ichiro u_int sc_rie;
89 1.1 ichiro u_int sc_speed;
90 1.1 ichiro
91 1.1 ichiro /* power management hooks */
92 1.1 ichiro int (*enable)(struct ixpcom_softc *);
93 1.1 ichiro int (*disable)(struct ixpcom_softc *);
94 1.1 ichiro
95 1.1 ichiro int enabled;
96 1.1 ichiro };
97 1.1 ichiro
98 1.1 ichiro extern struct bus_space ixpcom_bs_tag;
99 1.1 ichiro
100 1.1 ichiro int ixpcomcnattach(bus_space_tag_t, bus_addr_t, int, tcflag_t);
101 1.1 ichiro
102 1.1 ichiro #endif /* _IXP12X0_COMVAR_H_ */
103