/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

  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. #ifndef __ET131X_DEFS_H__
  59. #define __ET131X_DEFS_H__
  60. /* Packet and header sizes */
  61. #define NIC_MIN_PACKET_SIZE 60
  62. /* Multicast list size */
  63. #define NIC_MAX_MCAST_LIST 128
  64. /* Supported Filters */
  65. #define ET131X_PACKET_TYPE_DIRECTED 0x0001
  66. #define ET131X_PACKET_TYPE_MULTICAST 0x0002
  67. #define ET131X_PACKET_TYPE_BROADCAST 0x0004
  68. #define ET131X_PACKET_TYPE_PROMISCUOUS 0x0008
  69. #define ET131X_PACKET_TYPE_ALL_MULTICAST 0x0010
  70. /* Tx Timeout */
  71. #define ET131X_TX_TIMEOUT (1 * HZ)
  72. #define NIC_SEND_HANG_THRESHOLD 0
  73. /* MP_TCB flags */
  74. #define fMP_DEST_MULTI 0x00000001
  75. #define fMP_DEST_BROAD 0x00000002
  76. /* MP_ADAPTER flags */
  77. #define fMP_ADAPTER_RECV_LOOKASIDE 0x00000004
  78. #define fMP_ADAPTER_INTERRUPT_IN_USE 0x00000008
  79. #define fMP_ADAPTER_SECONDARY 0x00000010
  80. /* MP_SHARED flags */
  81. #define fMP_ADAPTER_SHUTDOWN 0x00100000
  82. #define fMP_ADAPTER_LOWER_POWER 0x00200000
  83. #define fMP_ADAPTER_NON_RECOVER_ERROR 0x00800000
  84. #define fMP_ADAPTER_RESET_IN_PROGRESS 0x01000000
  85. #define fMP_ADAPTER_NO_CABLE 0x02000000
  86. #define fMP_ADAPTER_HARDWARE_ERROR 0x04000000
  87. #define fMP_ADAPTER_REMOVE_IN_PROGRESS 0x08000000
  88. #define fMP_ADAPTER_HALT_IN_PROGRESS 0x10000000
  89. #define fMP_ADAPTER_LINK_DETECTION 0x20000000
  90. #define fMP_ADAPTER_FAIL_SEND_MASK 0x3ff00000
  91. #define fMP_ADAPTER_NOT_READY_MASK 0x3ff00000
  92. /* Some offsets in PCI config space that are actually used. */
  93. #define ET1310_PCI_MAX_PYLD 0x4C
  94. #define ET1310_PCI_MAC_ADDRESS 0xA4
  95. #define ET1310_PCI_EEPROM_STATUS 0xB2
  96. #define ET1310_PCI_ACK_NACK 0xC0
  97. #define ET1310_PCI_REPLAY 0xC2
  98. #define ET1310_PCI_L0L1LATENCY 0xCF
  99. /* PCI Vendor/Product IDs */
  100. #define ET131X_PCI_VENDOR_ID 0x11C1 /* Agere Systems */
  101. #define ET131X_PCI_DEVICE_ID_GIG 0xED00 /* ET1310 1000 Base-T 8 */
  102. #define ET131X_PCI_DEVICE_ID_FAST 0xED01 /* ET1310 100 Base-T */
  103. /* Define order of magnitude converter */
  104. #define NANO_IN_A_MICRO 1000
  105. #define PARM_RX_NUM_BUFS_DEF 4
  106. #define PARM_RX_TIME_INT_DEF 10
  107. #define PARM_RX_MEM_END_DEF 0x2bc
  108. #define PARM_TX_TIME_INT_DEF 40
  109. #define PARM_TX_NUM_BUFS_DEF 4
  110. #define PARM_DMA_CACHE_DEF 0
  111. #endif /* __ET131X_DEFS_H__ */