upload tizen1.0 source
[kernel/linux-2.6.36.git] / drivers / staging / et131x / et131x_defs.h
1 /*
2  * Agere Systems Inc.
3  * 10/100/1000 Base-T Ethernet Driver for the ET1301 and ET131x series MACs
4  *
5  * Copyright © 2005 Agere Systems Inc.
6  * All rights reserved.
7  *   http://www.agere.com
8  *
9  *------------------------------------------------------------------------------
10  *
11  * et131x_defs.h - Defines, structs, enums, prototypes, etc. to assist with OS
12  *                 compatibility
13  *
14  *------------------------------------------------------------------------------
15  *
16  * SOFTWARE LICENSE
17  *
18  * This software is provided subject to the following terms and conditions,
19  * which you should read carefully before using the software.  Using this
20  * software indicates your acceptance of these terms and conditions.  If you do
21  * not agree with these terms and conditions, do not use the software.
22  *
23  * Copyright © 2005 Agere Systems Inc.
24  * All rights reserved.
25  *
26  * Redistribution and use in source or binary forms, with or without
27  * modifications, are permitted provided that the following conditions are met:
28  *
29  * . Redistributions of source code must retain the above copyright notice, this
30  *    list of conditions and the following Disclaimer as comments in the code as
31  *    well as in the documentation and/or other materials provided with the
32  *    distribution.
33  *
34  * . Redistributions in binary form must reproduce the above copyright notice,
35  *    this list of conditions and the following Disclaimer in the documentation
36  *    and/or other materials provided with the distribution.
37  *
38  * . Neither the name of Agere Systems Inc. nor the names of the contributors
39  *    may be used to endorse or promote products derived from this software
40  *    without specific prior written permission.
41  *
42  * Disclaimer
43  *
44  * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
45  * INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
46  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  ANY
47  * USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
48  * RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
49  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
50  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
51  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
52  * ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT
53  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
54  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
55  * DAMAGE.
56  *
57  */
58
59 #ifndef __ET131X_DEFS_H__
60 #define __ET131X_DEFS_H__
61
62 /* Packet and header sizes */
63 #define NIC_MIN_PACKET_SIZE     60
64
65 /* Multicast list size */
66 #define NIC_MAX_MCAST_LIST      128
67
68 /* Supported Filters */
69 #define ET131X_PACKET_TYPE_DIRECTED             0x0001
70 #define ET131X_PACKET_TYPE_MULTICAST            0x0002
71 #define ET131X_PACKET_TYPE_BROADCAST            0x0004
72 #define ET131X_PACKET_TYPE_PROMISCUOUS          0x0008
73 #define ET131X_PACKET_TYPE_ALL_MULTICAST        0x0010
74
75 /* Tx Timeout */
76 #define ET131X_TX_TIMEOUT       (1 * HZ)
77 #define NIC_SEND_HANG_THRESHOLD 0
78
79 /* MP_TCB flags */
80 #define fMP_DEST_MULTI                  0x00000001
81 #define fMP_DEST_BROAD                  0x00000002
82
83 /* MP_ADAPTER flags */
84 #define fMP_ADAPTER_RECV_LOOKASIDE      0x00000004
85 #define fMP_ADAPTER_INTERRUPT_IN_USE    0x00000008
86 #define fMP_ADAPTER_SECONDARY           0x00000010
87
88 /* MP_SHARED flags */
89 #define fMP_ADAPTER_SHUTDOWN            0x00100000
90 #define fMP_ADAPTER_LOWER_POWER         0x00200000
91
92 #define fMP_ADAPTER_NON_RECOVER_ERROR   0x00800000
93 #define fMP_ADAPTER_RESET_IN_PROGRESS   0x01000000
94 #define fMP_ADAPTER_NO_CABLE            0x02000000
95 #define fMP_ADAPTER_HARDWARE_ERROR      0x04000000
96 #define fMP_ADAPTER_REMOVE_IN_PROGRESS  0x08000000
97 #define fMP_ADAPTER_HALT_IN_PROGRESS    0x10000000
98 #define fMP_ADAPTER_LINK_DETECTION      0x20000000
99
100 #define fMP_ADAPTER_FAIL_SEND_MASK      0x3ff00000
101 #define fMP_ADAPTER_NOT_READY_MASK      0x3ff00000
102
103 /* Some offsets in PCI config space that are actually used. */
104 #define ET1310_PCI_MAX_PYLD             0x4C
105 #define ET1310_PCI_MAC_ADDRESS          0xA4
106 #define ET1310_PCI_EEPROM_STATUS        0xB2
107 #define ET1310_PCI_ACK_NACK             0xC0
108 #define ET1310_PCI_REPLAY               0xC2
109 #define ET1310_PCI_L0L1LATENCY          0xCF
110
111 /* PCI Vendor/Product IDs */
112 #define ET131X_PCI_VENDOR_ID            0x11C1  /* Agere Systems */
113 #define ET131X_PCI_DEVICE_ID_GIG        0xED00  /* ET1310 1000 Base-T 8 */
114 #define ET131X_PCI_DEVICE_ID_FAST       0xED01  /* ET1310 100  Base-T */
115
116 /* Define order of magnitude converter */
117 #define NANO_IN_A_MICRO 1000
118
119 #define PARM_RX_NUM_BUFS_DEF    4
120 #define PARM_RX_TIME_INT_DEF    10
121 #define PARM_RX_MEM_END_DEF     0x2bc
122 #define PARM_TX_TIME_INT_DEF    40
123 #define PARM_TX_NUM_BUFS_DEF    4
124 #define PARM_DMA_CACHE_DEF      0
125
126
127 #endif /* __ET131X_DEFS_H__ */