PageRenderTime 41ms CodeModel.GetById 32ms app.highlight 6ms RepoModel.GetById 0ms app.codeStats 0ms

/drivers/staging/et131x/et131x_defs.h

https://bitbucket.org/wisechild/galaxy-nexus
C++ Header | 127 lines | 44 code | 16 blank | 67 comment | 0 complexity | 446e4304db8d853828a778931d6ebb2d MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.0, AGPL-1.0
  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__ */