FreeBSD/Linux Kernel Cross Reference
sys/dev/ic/daicreg.h
1 /* $NetBSD: daicreg.h,v 1.4 2003/12/04 13:57:30 keihan Exp $ */
2
3 /*-
4 * Copyright (c) 2002 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Martin Husemann <martin@NetBSD.org>.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 * 3. All advertising materials mentioning features or use of this software
19 * must display the following acknowledgement:
20 * This product includes software developed by the NetBSD
21 * Foundation, Inc. and its contributors.
22 * 4. Neither the name of The NetBSD Foundation nor the names of its
23 * contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
25 *
26 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
27 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
28 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
30 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 * POSSIBILITY OF SUCH DAMAGE.
37 */
38
39 /*
40 * Shared memory definitions for Diehl activ isdn adapters.
41 */
42
43 /*
44 * Values after reset, before isdn support is downloaded
45 */
46 #define DAIC_BOOT_CTRL 0 /* byte */
47 #define DAIC_BOOT_CARD 1 /* byte */
48 #define DAIC_BOOT_MSIZE 2 /* byte */
49 #define DAIC_BOOT_EBIT 4 /* 2 byte */
50 #define DAIC_BOOT_ELOC 6 /* 4 byte */
51 #define DAIC_BOOT_SIGNATURE 30 /* 2 byte */
52 #define DAIC_BOOT_BUF 256 /* 256 bytes */
53
54 #define DAIC_SERNO 1008
55 #define DAIC_SWID 1016
56 #define DAIC_DOSIO 0x3e8
57 #define DAIC_MEMFREE 0x3f4
58 #define DAIC_SET_CARD 0x3fc
59 #define DAIC_IRQ 0x3fe
60
61 #define DAIC_BOOT_START 0
62 #define DAIC_BOOT_CODE 0x200
63 #define DAIC_BOOT_END 0x3ff
64 #define DAIC_BOOT_SET_RESET 0x400 /* byte */
65 #define DAIC_BOOT_CLR_RESET 0x401 /* byte */
66
67 /*
68 * Parameters for the microcode
69 */
70 #define DAIC_BOOT_TEI 8
71 #define DAIC_BOOT_NT2 9
72 #define DAIC_BOOT_ZERO 10
73 #define DAIC_BOOT_WATCHDOG 11
74 #define DAIC_BOOT_PERMANENT 12
75 #define DAIC_BOOT_XINTERFACE 13
76
77 /*
78 * Response from microcode
79 */
80 #define DAIC_SIGNATURE_VALUE 0x4447
81
82 /*
83 * Diagnostic interface
84 */
85 #define DAIC_DIAG_REQ 0x380 /* byte */
86 #define DAIC_DIAG_RC 0x381 /* byte */
87 #define DAIC_DIAG_MEM 0x382 /* 4 byte */
88 #define DAIC_DIAG_LENGTH 0x386 /* 2 byte */
89 #define DAIC_DIAG_PORT 0x388 /* 2 byte */
90 #define DAIC_DIAG_DATA 0x390 /* 48 byte */
91 #define DAIC_DIAG_DATA_SIZE 48
92 #define DAIC_DIAG_MAXCMD 14
93
94 /*
95 * Values after download, with software running on card
96 */
97 #define DAIC_COM_REQ 0 /* byte */
98 #define DAIC_COM_REQID 1 /* byte */
99 #define DAIC_COM_RC 2 /* byte */
100 #define DAIC_COM_RCID 3 /* byte */
101 #define DAIC_COM_IND 4 /* byte */
102 #define DAIC_COM_INDID 5 /* byte */
103 #define DAIC_COM_IMASK 6 /* byte */
104 #define DAIC_COM_RNR 7 /* byte */
105 #define DAIC_COM_XLOCK 8 /* byte */
106 #define DAIC_COM_INTERRUPT 9 /* byte */
107 #define DAIC_COM_REQCH 10 /* byte */
108 #define DAIC_COM_RCCH 11 /* byte */
109 #define DAIC_COM_INDCH 12 /* byte */
110 #define DAIC_COM_MIND 13 /* byte */
111 #define DAIC_COM_MLENGTH 14 /* 2 byte */
112 #define DAIC_COM_SIGNATURE 30 /* 2 byte */
113 #define DAIC_COM_XBUFFER 32 /* 272 byte */
114 #define DAIC_COM_RBUFFER 304 /* 272 byte */
115
116 /*
117 * Diagnostic commands/results
118 */
119 #define DAIC_TEST_RDY 0
120 #define DAIC_TEST_MEM 1
121 #define DAIC_TEST_SKIP 2
122 #define DAIC_TEST_BUSY 3
123
124 /*
125 * ID's of global instances on the card
126 */
127 #define DAIC_GLOBALID_DCHAN 0
128 #define DAIC_GLOBALID_ISO3 0x20
129 #define DAIC_GLOBALID_ISO2 0x60
130 #define DAIC_GLOBALID_TASKS 0x80
131 #define DAIC_GLOBALID_TIMER 0xa0
132 #define DAIC_GLOBALID_PHONE 0xc0
133
134 /*
135 * REQUEST codes
136 */
137 #define DAIC_REQ_ASSIGN 0x01
138 #define DAIC_REQ_INDICATE 0x0a
139 #define DAIC_REQ_CALL 0x01
140
141 /*
142 * INDICATION codes
143 */
144 #define DAIC_IND_HANGUP 0x03
145 #define DAIC_IND_INDICATE 0x0a
146 #define DAIC_IND_INFO 0x0d
147
148 /*
149 * return codes
150 */
151 #define DAIC_RC_UNKNOWN_COMMAND 0x01
152 #define DAIC_RC_WRONG_COMMAND 0x02
153 #define DAIC_RC_WRONG_ID 0x03
154 #define DAIC_RC_WRONG_CH 0x04
155 #define DAIC_RC_UNKNOWN_IE 0x05
156 #define DAIC_RC_WRONG_IE 0x06
157 #define DAIC_RC_OUT_OF_RESRCS 0x07
158 #define DAIC_RC_ASSIGN_RC 0xe0
159 #define DAIC_RC_ASSIGN_MASK 0xf0
160 #define DAIC_RC_ERRMASK 0x0f
161 #define DAIC_RC_ASSIGN_OK 0xef
162 #define DAIC_RC_TIMER_INT 0xfe
163 #define DAIC_RC_OK 0xff
Cache object: a49277653cf36372cfa38a7675571d74
|