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__ */ 128