Annotation of sys/dev/pci/if_art.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: if_art.h,v 1.5 2005/10/26 09:26:56 claudio Exp $ */
2:
3: /*
4: * Copyright (c) 2005 Internet Business Solutions AG, Zurich, Switzerland
5: * Written by: Claudio Jeker <jeker@accoom.net>
6: *
7: * Permission to use, copy, modify, and distribute this software for any
8: * purpose with or without fee is hereby granted, provided that the above
9: * copyright notice and this permission notice appear in all copies.
10: *
11: * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15: * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16: * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17: * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18: */
19:
20: #ifndef __IF_ART_H__
21: #define __IF_ART_H__
22:
23: #define MUSYCC_FRAMER_BT8370 0x8370
24:
25: enum art_sbi_type {
26: ART_SBI_SINGLE,
27: ART_SBI_MASTER,
28: ART_SBI_SLAVE
29: };
30:
31: struct art_softc {
32: struct device art_dev; /* generic device structures */
33: struct ebus_dev art_ebus; /* ebus attachement */
34: struct ifmedia art_ifm; /* interface media descriptor */
35: struct timeout art_onesec; /* onesec timeout */
36: struct musycc_softc *art_parent; /* parent hdlc controller */
37: struct channel_softc *art_channel; /* channel config */
38: void *art_linkstatehook;
39:
40: u_int art_media; /* if_media media */
41: enum art_sbi_type art_type; /* System Bus Type */
42: u_int8_t art_gnum; /* group number */
43: u_int8_t art_port; /* port number */
44: char art_slot; /* TDM slot */
45: };
46:
47: enum art_sbi_mode {
48: SBI_MODE_1536 = 1, /* 24TS */
49: SBI_MODE_1544, /* 24TS + F bit */
50: SBI_MODE_2048, /* 32TS */
51: SBI_MODE_4096_A, /* lower 32TS */
52: SBI_MODE_4096_B, /* upper 32TS */
53: SBI_MODE_8192_A, /* first 32TS */
54: SBI_MODE_8192_B, /* second 32TS */
55: SBI_MODE_8192_C, /* third 32TS */
56: SBI_MODE_8192_D /* last 32TS */
57: };
58:
59: enum art_linecode {
60: ART_LIU_AMI, /* Alternate Mark Inversion */
61: ART_LIU_B8ZS, /* Bipolar 8-zero Substitution */
62: ART_LIU_HDB3 /* High Density Bipolar 3 */
63: };
64:
65: enum art_loopback {
66: ART_NOLOOP, /* All Loopback disabled */
67: ART_RLOOP_PAYLOAD, /* Remote Payload Loopback */
68: ART_RLOOP_LINE, /* Remote Line Loopback */
69: ART_LLOOP_PAYLOAD, /* Local Payload Loopback */
70: ART_LLOOP_LINE /* Local Line Loopback */
71: };
72:
73: #define ART_DL1_BOP 1
74: #define ART_BOP_ESF 1
75:
76: int bt8370_reset(struct art_softc *);
77: int bt8370_set_frame_mode(struct art_softc *, enum art_sbi_type, u_int,
78: u_int);
79: void bt8370_intr_enable(struct art_softc *, int);
80: void bt8370_intr(struct art_softc *);
81: int bt8370_link_status(struct art_softc *);
82:
83: #endif
CVSweb