igb_defines.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 FILE_LICENCE ( GPL2_ONLY );
00029
00030 #ifndef _IGB_DEFINES_H_
00031 #define _IGB_DEFINES_H_
00032
00033
00034 #define REQ_TX_DESCRIPTOR_MULTIPLE 8
00035 #define REQ_RX_DESCRIPTOR_MULTIPLE 8
00036
00037
00038
00039 #define E1000_WUC_APME 0x00000001
00040 #define E1000_WUC_PME_EN 0x00000002
00041 #define E1000_WUC_PME_STATUS 0x00000004
00042 #define E1000_WUC_APMPME 0x00000008
00043 #define E1000_WUC_LSCWE 0x00000010
00044 #define E1000_WUC_LSCWO 0x00000020
00045 #define E1000_WUC_SPM 0x80000000
00046 #define E1000_WUC_PHY_WAKE 0x00000100
00047
00048
00049 #define E1000_WUFC_LNKC 0x00000001
00050 #define E1000_WUFC_MAG 0x00000002
00051 #define E1000_WUFC_EX 0x00000004
00052 #define E1000_WUFC_MC 0x00000008
00053 #define E1000_WUFC_BC 0x00000010
00054 #define E1000_WUFC_ARP 0x00000020
00055 #define E1000_WUFC_IPV4 0x00000040
00056 #define E1000_WUFC_IPV6 0x00000080
00057 #define E1000_WUFC_IGNORE_TCO 0x00008000
00058 #define E1000_WUFC_FLX0 0x00010000
00059 #define E1000_WUFC_FLX1 0x00020000
00060 #define E1000_WUFC_FLX2 0x00040000
00061 #define E1000_WUFC_FLX3 0x00080000
00062 #define E1000_WUFC_FLX4 0x00100000
00063 #define E1000_WUFC_FLX5 0x00200000
00064 #define E1000_WUFC_ALL_FILTERS 0x000F00FF
00065 #define E1000_WUFC_FLX_OFFSET 16
00066 #define E1000_WUFC_FLX_FILTERS 0x000F0000
00067
00068
00069
00070
00071 #define E1000_WUFC_EXT_FLX_FILTERS 0x00300000
00072
00073
00074 #define E1000_WUS_LNKC E1000_WUFC_LNKC
00075 #define E1000_WUS_MAG E1000_WUFC_MAG
00076 #define E1000_WUS_EX E1000_WUFC_EX
00077 #define E1000_WUS_MC E1000_WUFC_MC
00078 #define E1000_WUS_BC E1000_WUFC_BC
00079 #define E1000_WUS_ARP E1000_WUFC_ARP
00080 #define E1000_WUS_IPV4 E1000_WUFC_IPV4
00081 #define E1000_WUS_IPV6 E1000_WUFC_IPV6
00082 #define E1000_WUS_FLX0 E1000_WUFC_FLX0
00083 #define E1000_WUS_FLX1 E1000_WUFC_FLX1
00084 #define E1000_WUS_FLX2 E1000_WUFC_FLX2
00085 #define E1000_WUS_FLX3 E1000_WUFC_FLX3
00086 #define E1000_WUS_FLX_FILTERS E1000_WUFC_FLX_FILTERS
00087
00088
00089 #define E1000_WUPL_LENGTH_MASK 0x0FFF
00090
00091
00092 #define E1000_FLEXIBLE_FILTER_COUNT_MAX 4
00093
00094 #define E1000_EXT_FLEXIBLE_FILTER_COUNT_MAX 2
00095 #define E1000_FHFT_LENGTH_OFFSET 0xFC
00096 #define E1000_FHFT_LENGTH_MASK 0x0FF
00097
00098
00099 #define E1000_FLEXIBLE_FILTER_SIZE_MAX 128
00100
00101 #define E1000_FFLT_SIZE E1000_FLEXIBLE_FILTER_COUNT_MAX
00102 #define E1000_FFMT_SIZE E1000_FLEXIBLE_FILTER_SIZE_MAX
00103 #define E1000_FFVT_SIZE E1000_FLEXIBLE_FILTER_SIZE_MAX
00104
00105
00106 #define E1000_CTRL_EXT_GPI0_EN 0x00000001
00107 #define E1000_CTRL_EXT_GPI1_EN 0x00000002
00108 #define E1000_CTRL_EXT_PHYINT_EN E1000_CTRL_EXT_GPI1_EN
00109 #define E1000_CTRL_EXT_GPI2_EN 0x00000004
00110 #define E1000_CTRL_EXT_GPI3_EN 0x00000008
00111
00112 #define E1000_CTRL_EXT_SDP4_DATA 0x00000010
00113 #define E1000_CTRL_EXT_SDP5_DATA 0x00000020
00114 #define E1000_CTRL_EXT_PHY_INT E1000_CTRL_EXT_SDP5_DATA
00115 #define E1000_CTRL_EXT_SDP6_DATA 0x00000040
00116 #define E1000_CTRL_EXT_SDP3_DATA 0x00000080
00117
00118 #define E1000_CTRL_EXT_SDP4_DIR 0x00000100
00119 #define E1000_CTRL_EXT_SDP5_DIR 0x00000200
00120 #define E1000_CTRL_EXT_SDP6_DIR 0x00000400
00121 #define E1000_CTRL_EXT_SDP3_DIR 0x00000800
00122 #define E1000_CTRL_EXT_ASDCHK 0x00001000
00123 #define E1000_CTRL_EXT_EE_RST 0x00002000
00124 #define E1000_CTRL_EXT_IPS 0x00004000
00125
00126 #define E1000_CTRL_EXT_PFRSTD 0x00004000
00127 #define E1000_CTRL_EXT_SPD_BYPS 0x00008000
00128 #define E1000_CTRL_EXT_RO_DIS 0x00020000
00129 #define E1000_CTRL_EXT_DMA_DYN_CLK_EN 0x00080000
00130 #define E1000_CTRL_EXT_LINK_MODE_MASK 0x00C00000
00131 #define E1000_CTRL_EXT_LINK_MODE_GMII 0x00000000
00132 #define E1000_CTRL_EXT_LINK_MODE_TBI 0x00C00000
00133 #define E1000_CTRL_EXT_LINK_MODE_KMRN 0x00000000
00134 #define E1000_CTRL_EXT_LINK_MODE_PCIE_SERDES 0x00C00000
00135 #define E1000_CTRL_EXT_LINK_MODE_PCIX_SERDES 0x00800000
00136 #define E1000_CTRL_EXT_LINK_MODE_SGMII 0x00800000
00137 #define E1000_CTRL_EXT_EIAME 0x01000000
00138 #define E1000_CTRL_EXT_IRCA 0x00000001
00139 #define E1000_CTRL_EXT_WR_WMARK_MASK 0x03000000
00140 #define E1000_CTRL_EXT_WR_WMARK_256 0x00000000
00141 #define E1000_CTRL_EXT_WR_WMARK_320 0x01000000
00142 #define E1000_CTRL_EXT_WR_WMARK_384 0x02000000
00143 #define E1000_CTRL_EXT_WR_WMARK_448 0x03000000
00144 #define E1000_CTRL_EXT_CANC 0x04000000
00145 #define E1000_CTRL_EXT_DRV_LOAD 0x10000000
00146
00147 #define E1000_CTRL_EXT_IAME 0x08000000
00148 #define E1000_CRTL_EXT_PB_PAREN 0x01000000
00149
00150 #define E1000_CTRL_EXT_DF_PAREN 0x02000000
00151
00152 #define E1000_CTRL_EXT_GHOST_PAREN 0x40000000
00153 #define E1000_CTRL_EXT_PBA_CLR 0x80000000
00154 #define E1000_I2CCMD_REG_ADDR_SHIFT 16
00155 #define E1000_I2CCMD_REG_ADDR 0x00FF0000
00156 #define E1000_I2CCMD_PHY_ADDR_SHIFT 24
00157 #define E1000_I2CCMD_PHY_ADDR 0x07000000
00158 #define E1000_I2CCMD_OPCODE_READ 0x08000000
00159 #define E1000_I2CCMD_OPCODE_WRITE 0x00000000
00160 #define E1000_I2CCMD_RESET 0x10000000
00161 #define E1000_I2CCMD_READY 0x20000000
00162 #define E1000_I2CCMD_INTERRUPT_ENA 0x40000000
00163 #define E1000_I2CCMD_ERROR 0x80000000
00164 #define E1000_MAX_SGMII_PHY_REG_ADDR 255
00165 #define E1000_I2CCMD_PHY_TIMEOUT 200
00166 #define E1000_IVAR_VALID 0x80
00167 #define E1000_GPIE_NSICR 0x00000001
00168 #define E1000_GPIE_MSIX_MODE 0x00000010
00169 #define E1000_GPIE_EIAME 0x40000000
00170 #define E1000_GPIE_PBA 0x80000000
00171
00172
00173 #define E1000_RXD_STAT_DD 0x01
00174 #define E1000_RXD_STAT_EOP 0x02
00175 #define E1000_RXD_STAT_IXSM 0x04
00176 #define E1000_RXD_STAT_VP 0x08
00177 #define E1000_RXD_STAT_UDPCS 0x10
00178 #define E1000_RXD_STAT_TCPCS 0x20
00179 #define E1000_RXD_STAT_IPCS 0x40
00180 #define E1000_RXD_STAT_PIF 0x80
00181 #define E1000_RXD_STAT_CRCV 0x100
00182 #define E1000_RXD_STAT_IPIDV 0x200
00183 #define E1000_RXD_STAT_UDPV 0x400
00184 #define E1000_RXD_STAT_DYNINT 0x800
00185 #define E1000_RXD_STAT_ACK 0x8000
00186 #define E1000_RXD_ERR_CE 0x01
00187 #define E1000_RXD_ERR_SE 0x02
00188 #define E1000_RXD_ERR_SEQ 0x04
00189 #define E1000_RXD_ERR_CXE 0x10
00190 #define E1000_RXD_ERR_TCPE 0x20
00191 #define E1000_RXD_ERR_IPE 0x40
00192 #define E1000_RXD_ERR_RXE 0x80
00193 #define E1000_RXD_SPC_VLAN_MASK 0x0FFF
00194 #define E1000_RXD_SPC_PRI_MASK 0xE000
00195 #define E1000_RXD_SPC_PRI_SHIFT 13
00196 #define E1000_RXD_SPC_CFI_MASK 0x1000
00197 #define E1000_RXD_SPC_CFI_SHIFT 12
00198
00199 #define E1000_RXDEXT_STATERR_CE 0x01000000
00200 #define E1000_RXDEXT_STATERR_SE 0x02000000
00201 #define E1000_RXDEXT_STATERR_SEQ 0x04000000
00202 #define E1000_RXDEXT_STATERR_CXE 0x10000000
00203 #define E1000_RXDEXT_STATERR_TCPE 0x20000000
00204 #define E1000_RXDEXT_STATERR_IPE 0x40000000
00205 #define E1000_RXDEXT_STATERR_RXE 0x80000000
00206
00207
00208 #define E1000_RXD_ERR_FRAME_ERR_MASK ( \
00209 E1000_RXD_ERR_CE | \
00210 E1000_RXD_ERR_SE | \
00211 E1000_RXD_ERR_SEQ | \
00212 E1000_RXD_ERR_CXE | \
00213 E1000_RXD_ERR_RXE)
00214
00215
00216 #define E1000_RXDEXT_ERR_FRAME_ERR_MASK ( \
00217 E1000_RXDEXT_STATERR_CE | \
00218 E1000_RXDEXT_STATERR_SE | \
00219 E1000_RXDEXT_STATERR_SEQ | \
00220 E1000_RXDEXT_STATERR_CXE | \
00221 E1000_RXDEXT_STATERR_RXE)
00222
00223 #define E1000_MRQC_ENABLE_MASK 0x00000007
00224 #define E1000_MRQC_ENABLE_RSS_2Q 0x00000001
00225 #define E1000_MRQC_ENABLE_RSS_INT 0x00000004
00226 #define E1000_MRQC_RSS_FIELD_MASK 0xFFFF0000
00227 #define E1000_MRQC_RSS_FIELD_IPV4_TCP 0x00010000
00228 #define E1000_MRQC_RSS_FIELD_IPV4 0x00020000
00229 #define E1000_MRQC_RSS_FIELD_IPV6_TCP_EX 0x00040000
00230 #define E1000_MRQC_RSS_FIELD_IPV6_EX 0x00080000
00231 #define E1000_MRQC_RSS_FIELD_IPV6 0x00100000
00232 #define E1000_MRQC_RSS_FIELD_IPV6_TCP 0x00200000
00233
00234 #define E1000_RXDPS_HDRSTAT_HDRSP 0x00008000
00235 #define E1000_RXDPS_HDRSTAT_HDRLEN_MASK 0x000003FF
00236
00237
00238 #define E1000_MANC_SMBUS_EN 0x00000001
00239 #define E1000_MANC_ASF_EN 0x00000002
00240 #define E1000_MANC_R_ON_FORCE 0x00000004
00241 #define E1000_MANC_RMCP_EN 0x00000100
00242 #define E1000_MANC_0298_EN 0x00000200
00243 #define E1000_MANC_IPV4_EN 0x00000400
00244 #define E1000_MANC_IPV6_EN 0x00000800
00245 #define E1000_MANC_SNAP_EN 0x00001000
00246 #define E1000_MANC_ARP_EN 0x00002000
00247
00248 #define E1000_MANC_NEIGHBOR_EN 0x00004000
00249 #define E1000_MANC_ARP_RES_EN 0x00008000
00250 #define E1000_MANC_TCO_RESET 0x00010000
00251 #define E1000_MANC_RCV_TCO_EN 0x00020000
00252 #define E1000_MANC_REPORT_STATUS 0x00040000
00253 #define E1000_MANC_RCV_ALL 0x00080000
00254 #define E1000_MANC_BLK_PHY_RST_ON_IDE 0x00040000
00255
00256 #define E1000_MANC_EN_MAC_ADDR_FILTER 0x00100000
00257
00258 #define E1000_MANC_EN_MNG2HOST 0x00200000
00259
00260 #define E1000_MANC_EN_IP_ADDR_FILTER 0x00400000
00261 #define E1000_MANC_EN_XSUM_FILTER 0x00800000
00262 #define E1000_MANC_BR_EN 0x01000000
00263 #define E1000_MANC_SMB_REQ 0x01000000
00264 #define E1000_MANC_SMB_GNT 0x02000000
00265 #define E1000_MANC_SMB_CLK_IN 0x04000000
00266 #define E1000_MANC_SMB_DATA_IN 0x08000000
00267 #define E1000_MANC_SMB_DATA_OUT 0x10000000
00268 #define E1000_MANC_SMB_CLK_OUT 0x20000000
00269
00270 #define E1000_MANC_SMB_DATA_OUT_SHIFT 28
00271 #define E1000_MANC_SMB_CLK_OUT_SHIFT 29
00272
00273
00274 #define E1000_RCTL_RST 0x00000001
00275 #define E1000_RCTL_EN 0x00000002
00276 #define E1000_RCTL_SBP 0x00000004
00277 #define E1000_RCTL_UPE 0x00000008
00278 #define E1000_RCTL_MPE 0x00000010
00279 #define E1000_RCTL_LPE 0x00000020
00280 #define E1000_RCTL_LBM_NO 0x00000000
00281 #define E1000_RCTL_LBM_MAC 0x00000040
00282 #define E1000_RCTL_LBM_SLP 0x00000080
00283 #define E1000_RCTL_LBM_TCVR 0x000000C0
00284 #define E1000_RCTL_DTYP_MASK 0x00000C00
00285 #define E1000_RCTL_DTYP_PS 0x00000400
00286 #define E1000_RCTL_RDMTS_HALF 0x00000000
00287 #define E1000_RCTL_RDMTS_QUAT 0x00000100
00288 #define E1000_RCTL_RDMTS_EIGTH 0x00000200
00289 #define E1000_RCTL_MO_SHIFT 12
00290 #define E1000_RCTL_MO_0 0x00000000
00291 #define E1000_RCTL_MO_1 0x00001000
00292 #define E1000_RCTL_MO_2 0x00002000
00293 #define E1000_RCTL_MO_3 0x00003000
00294 #define E1000_RCTL_MDR 0x00004000
00295 #define E1000_RCTL_BAM 0x00008000
00296
00297 #define E1000_RCTL_SZ_2048 0x00000000
00298 #define E1000_RCTL_SZ_1024 0x00010000
00299 #define E1000_RCTL_SZ_512 0x00020000
00300 #define E1000_RCTL_SZ_256 0x00030000
00301
00302 #define E1000_RCTL_SZ_16384 0x00010000
00303 #define E1000_RCTL_SZ_8192 0x00020000
00304 #define E1000_RCTL_SZ_4096 0x00030000
00305 #define E1000_RCTL_VFE 0x00040000
00306 #define E1000_RCTL_CFIEN 0x00080000
00307 #define E1000_RCTL_CFI 0x00100000
00308 #define E1000_RCTL_DPF 0x00400000
00309 #define E1000_RCTL_PMCF 0x00800000
00310 #define E1000_RCTL_BSEX 0x02000000
00311 #define E1000_RCTL_SECRC 0x04000000
00312 #define E1000_RCTL_FLXBUF_MASK 0x78000000
00313 #define E1000_RCTL_FLXBUF_SHIFT 27
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332 #define E1000_PSRCTL_BSIZE0_MASK 0x0000007F
00333 #define E1000_PSRCTL_BSIZE1_MASK 0x00003F00
00334 #define E1000_PSRCTL_BSIZE2_MASK 0x003F0000
00335 #define E1000_PSRCTL_BSIZE3_MASK 0x3F000000
00336
00337 #define E1000_PSRCTL_BSIZE0_SHIFT 7
00338 #define E1000_PSRCTL_BSIZE1_SHIFT 2
00339 #define E1000_PSRCTL_BSIZE2_SHIFT 6
00340 #define E1000_PSRCTL_BSIZE3_SHIFT 14
00341
00342
00343 #define E1000_SWFW_EEP_SM 0x01
00344 #define E1000_SWFW_PHY0_SM 0x02
00345 #define E1000_SWFW_PHY1_SM 0x04
00346 #define E1000_SWFW_CSR_SM 0x08
00347
00348
00349 #define E1000_FACTPS_LFS 0x40000000
00350
00351 #define E1000_CTRL_FD 0x00000001
00352 #define E1000_CTRL_BEM 0x00000002
00353 #define E1000_CTRL_PRIOR 0x00000004
00354 #define E1000_CTRL_GIO_MASTER_DISABLE 0x00000004
00355 #define E1000_CTRL_LRST 0x00000008
00356 #define E1000_CTRL_TME 0x00000010
00357 #define E1000_CTRL_SLE 0x00000020
00358 #define E1000_CTRL_ASDE 0x00000020
00359 #define E1000_CTRL_SLU 0x00000040
00360 #define E1000_CTRL_ILOS 0x00000080
00361 #define E1000_CTRL_SPD_SEL 0x00000300
00362 #define E1000_CTRL_SPD_10 0x00000000
00363 #define E1000_CTRL_SPD_100 0x00000100
00364 #define E1000_CTRL_SPD_1000 0x00000200
00365 #define E1000_CTRL_BEM32 0x00000400
00366 #define E1000_CTRL_FRCSPD 0x00000800
00367 #define E1000_CTRL_FRCDPX 0x00001000
00368 #define E1000_CTRL_D_UD_EN 0x00002000
00369 #define E1000_CTRL_D_UD_POLARITY 0x00004000
00370
00371 #define E1000_CTRL_FORCE_PHY_RESET 0x00008000
00372
00373 #define E1000_CTRL_EXT_LINK_EN 0x00010000
00374
00375 #define E1000_CTRL_SWDPIN0 0x00040000
00376 #define E1000_CTRL_SWDPIN1 0x00080000
00377 #define E1000_CTRL_SWDPIN2 0x00100000
00378 #define E1000_CTRL_ADVD3WUC 0x00100000
00379 #define E1000_CTRL_SWDPIN3 0x00200000
00380 #define E1000_CTRL_SWDPIO0 0x00400000
00381 #define E1000_CTRL_SWDPIO1 0x00800000
00382 #define E1000_CTRL_SWDPIO2 0x01000000
00383 #define E1000_CTRL_SWDPIO3 0x02000000
00384 #define E1000_CTRL_RST 0x04000000
00385 #define E1000_CTRL_RFCE 0x08000000
00386 #define E1000_CTRL_TFCE 0x10000000
00387 #define E1000_CTRL_RTE 0x20000000
00388 #define E1000_CTRL_VME 0x40000000
00389 #define E1000_CTRL_PHY_RST 0x80000000
00390 #define E1000_CTRL_SW2FW_INT 0x02000000
00391 #define E1000_CTRL_I2C_ENA 0x02000000
00392
00393
00394
00395
00396
00397 #define E1000_CTRL_PHY_RESET_DIR E1000_CTRL_SWDPIO0
00398 #define E1000_CTRL_PHY_RESET E1000_CTRL_SWDPIN0
00399 #define E1000_CTRL_MDIO_DIR E1000_CTRL_SWDPIO2
00400 #define E1000_CTRL_MDIO E1000_CTRL_SWDPIN2
00401 #define E1000_CTRL_MDC_DIR E1000_CTRL_SWDPIO3
00402 #define E1000_CTRL_MDC E1000_CTRL_SWDPIN3
00403 #define E1000_CTRL_PHY_RESET_DIR4 E1000_CTRL_EXT_SDP4_DIR
00404 #define E1000_CTRL_PHY_RESET4 E1000_CTRL_EXT_SDP4_DATA
00405
00406 #define E1000_CONNSW_ENRGSRC 0x4
00407 #define E1000_PCS_CFG_PCS_EN 8
00408 #define E1000_PCS_LCTL_FLV_LINK_UP 1
00409 #define E1000_PCS_LCTL_FSV_10 0
00410 #define E1000_PCS_LCTL_FSV_100 2
00411 #define E1000_PCS_LCTL_FSV_1000 4
00412 #define E1000_PCS_LCTL_FDV_FULL 8
00413 #define E1000_PCS_LCTL_FSD 0x10
00414 #define E1000_PCS_LCTL_FORCE_LINK 0x20
00415 #define E1000_PCS_LCTL_LOW_LINK_LATCH 0x40
00416 #define E1000_PCS_LCTL_FORCE_FCTRL 0x80
00417 #define E1000_PCS_LCTL_AN_ENABLE 0x10000
00418 #define E1000_PCS_LCTL_AN_RESTART 0x20000
00419 #define E1000_PCS_LCTL_AN_TIMEOUT 0x40000
00420 #define E1000_PCS_LCTL_AN_SGMII_BYPASS 0x80000
00421 #define E1000_PCS_LCTL_AN_SGMII_TRIGGER 0x100000
00422 #define E1000_PCS_LCTL_FAST_LINK_TIMER 0x1000000
00423 #define E1000_PCS_LCTL_LINK_OK_FIX 0x2000000
00424 #define E1000_PCS_LCTL_CRS_ON_NI 0x4000000
00425 #define E1000_ENABLE_SERDES_LOOPBACK 0x0410
00426
00427 #define E1000_PCS_LSTS_LINK_OK 1
00428 #define E1000_PCS_LSTS_SPEED_10 0
00429 #define E1000_PCS_LSTS_SPEED_100 2
00430 #define E1000_PCS_LSTS_SPEED_1000 4
00431 #define E1000_PCS_LSTS_DUPLEX_FULL 8
00432 #define E1000_PCS_LSTS_SYNK_OK 0x10
00433 #define E1000_PCS_LSTS_AN_COMPLETE 0x10000
00434 #define E1000_PCS_LSTS_AN_PAGE_RX 0x20000
00435 #define E1000_PCS_LSTS_AN_TIMED_OUT 0x40000
00436 #define E1000_PCS_LSTS_AN_REMOTE_FAULT 0x80000
00437 #define E1000_PCS_LSTS_AN_ERROR_RWS 0x100000
00438
00439
00440 #define E1000_STATUS_FD 0x00000001
00441 #define E1000_STATUS_LU 0x00000002
00442 #define E1000_STATUS_FUNC_MASK 0x0000000C
00443 #define E1000_STATUS_FUNC_SHIFT 2
00444 #define E1000_STATUS_FUNC_0 0x00000000
00445 #define E1000_STATUS_FUNC_1 0x00000004
00446 #define E1000_STATUS_TXOFF 0x00000010
00447 #define E1000_STATUS_TBIMODE 0x00000020
00448 #define E1000_STATUS_SPEED_MASK 0x000000C0
00449 #define E1000_STATUS_SPEED_10 0x00000000
00450 #define E1000_STATUS_SPEED_100 0x00000040
00451 #define E1000_STATUS_SPEED_1000 0x00000080
00452 #define E1000_STATUS_LAN_INIT_DONE 0x00000200
00453 #define E1000_STATUS_ASDV 0x00000300
00454 #define E1000_STATUS_PHYRA 0x00000400
00455 #define E1000_STATUS_DOCK_CI 0x00000800
00456
00457 #define E1000_STATUS_GIO_MASTER_ENABLE 0x00080000
00458 #define E1000_STATUS_MTXCKOK 0x00000400
00459 #define E1000_STATUS_PCI66 0x00000800
00460 #define E1000_STATUS_BUS64 0x00001000
00461 #define E1000_STATUS_PCIX_MODE 0x00002000
00462 #define E1000_STATUS_PCIX_SPEED 0x0000C000
00463 #define E1000_STATUS_BMC_SKU_0 0x00100000
00464 #define E1000_STATUS_BMC_SKU_1 0x00200000
00465 #define E1000_STATUS_BMC_SKU_2 0x00400000
00466 #define E1000_STATUS_BMC_CRYPTO 0x00800000
00467 #define E1000_STATUS_BMC_LITE 0x01000000
00468
00469 #define E1000_STATUS_RGMII_ENABLE 0x02000000
00470 #define E1000_STATUS_FUSE_8 0x04000000
00471 #define E1000_STATUS_FUSE_9 0x08000000
00472 #define E1000_STATUS_SERDES0_DIS 0x10000000
00473 #define E1000_STATUS_SERDES1_DIS 0x20000000
00474
00475
00476 #define E1000_STATUS_PCIX_SPEED_66 0x00000000
00477 #define E1000_STATUS_PCIX_SPEED_100 0x00004000
00478 #define E1000_STATUS_PCIX_SPEED_133 0x00008000
00479
00480 #define SPEED_10 10
00481 #define SPEED_100 100
00482 #define SPEED_1000 1000
00483 #define HALF_DUPLEX 1
00484 #define FULL_DUPLEX 2
00485
00486 #define PHY_FORCE_TIME 20
00487
00488 #define ADVERTISE_10_HALF 0x0001
00489 #define ADVERTISE_10_FULL 0x0002
00490 #define ADVERTISE_100_HALF 0x0004
00491 #define ADVERTISE_100_FULL 0x0008
00492 #define ADVERTISE_1000_HALF 0x0010
00493 #define ADVERTISE_1000_FULL 0x0020
00494
00495
00496 #define E1000_ALL_SPEED_DUPLEX (ADVERTISE_10_HALF | ADVERTISE_10_FULL | \
00497 ADVERTISE_100_HALF | ADVERTISE_100_FULL | \
00498 ADVERTISE_1000_FULL)
00499 #define E1000_ALL_NOT_GIG (ADVERTISE_10_HALF | ADVERTISE_10_FULL | \
00500 ADVERTISE_100_HALF | ADVERTISE_100_FULL)
00501 #define E1000_ALL_100_SPEED (ADVERTISE_100_HALF | ADVERTISE_100_FULL)
00502 #define E1000_ALL_10_SPEED (ADVERTISE_10_HALF | ADVERTISE_10_FULL)
00503 #define E1000_ALL_FULL_DUPLEX (ADVERTISE_10_FULL | ADVERTISE_100_FULL | \
00504 ADVERTISE_1000_FULL)
00505 #define E1000_ALL_HALF_DUPLEX (ADVERTISE_10_HALF | ADVERTISE_100_HALF)
00506
00507 #define AUTONEG_ADVERTISE_SPEED_DEFAULT E1000_ALL_SPEED_DUPLEX
00508
00509
00510 #define E1000_LEDCTL_LED0_MODE_MASK 0x0000000F
00511 #define E1000_LEDCTL_LED0_MODE_SHIFT 0
00512 #define E1000_LEDCTL_LED0_BLINK_RATE 0x00000020
00513 #define E1000_LEDCTL_LED0_IVRT 0x00000040
00514 #define E1000_LEDCTL_LED0_BLINK 0x00000080
00515 #define E1000_LEDCTL_LED1_MODE_MASK 0x00000F00
00516 #define E1000_LEDCTL_LED1_MODE_SHIFT 8
00517 #define E1000_LEDCTL_LED1_BLINK_RATE 0x00002000
00518 #define E1000_LEDCTL_LED1_IVRT 0x00004000
00519 #define E1000_LEDCTL_LED1_BLINK 0x00008000
00520 #define E1000_LEDCTL_LED2_MODE_MASK 0x000F0000
00521 #define E1000_LEDCTL_LED2_MODE_SHIFT 16
00522 #define E1000_LEDCTL_LED2_BLINK_RATE 0x00200000
00523 #define E1000_LEDCTL_LED2_IVRT 0x00400000
00524 #define E1000_LEDCTL_LED2_BLINK 0x00800000
00525 #define E1000_LEDCTL_LED3_MODE_MASK 0x0F000000
00526 #define E1000_LEDCTL_LED3_MODE_SHIFT 24
00527 #define E1000_LEDCTL_LED3_BLINK_RATE 0x20000000
00528 #define E1000_LEDCTL_LED3_IVRT 0x40000000
00529 #define E1000_LEDCTL_LED3_BLINK 0x80000000
00530
00531 #define E1000_LEDCTL_MODE_LINK_10_1000 0x0
00532 #define E1000_LEDCTL_MODE_LINK_100_1000 0x1
00533 #define E1000_LEDCTL_MODE_LINK_UP 0x2
00534 #define E1000_LEDCTL_MODE_ACTIVITY 0x3
00535 #define E1000_LEDCTL_MODE_LINK_ACTIVITY 0x4
00536 #define E1000_LEDCTL_MODE_LINK_10 0x5
00537 #define E1000_LEDCTL_MODE_LINK_100 0x6
00538 #define E1000_LEDCTL_MODE_LINK_1000 0x7
00539 #define E1000_LEDCTL_MODE_PCIX_MODE 0x8
00540 #define E1000_LEDCTL_MODE_FULL_DUPLEX 0x9
00541 #define E1000_LEDCTL_MODE_COLLISION 0xA
00542 #define E1000_LEDCTL_MODE_BUS_SPEED 0xB
00543 #define E1000_LEDCTL_MODE_BUS_SIZE 0xC
00544 #define E1000_LEDCTL_MODE_PAUSED 0xD
00545 #define E1000_LEDCTL_MODE_LED_ON 0xE
00546 #define E1000_LEDCTL_MODE_LED_OFF 0xF
00547
00548
00549 #define E1000_TXD_DTYP_D 0x00100000
00550 #define E1000_TXD_DTYP_C 0x00000000
00551 #define E1000_TXD_POPTS_SHIFT 8
00552 #define E1000_TXD_POPTS_IXSM 0x01
00553 #define E1000_TXD_POPTS_TXSM 0x02
00554 #define E1000_TXD_CMD_EOP 0x01000000
00555 #define E1000_TXD_CMD_IFCS 0x02000000
00556 #define E1000_TXD_CMD_IC 0x04000000
00557 #define E1000_TXD_CMD_RS 0x08000000
00558 #define E1000_TXD_CMD_RPS 0x10000000
00559 #define E1000_TXD_CMD_DEXT 0x20000000
00560 #define E1000_TXD_CMD_VLE 0x40000000
00561 #define E1000_TXD_CMD_IDE 0x80000000
00562 #define E1000_TXD_STAT_DD 0x00000001
00563 #define E1000_TXD_STAT_EC 0x00000002
00564 #define E1000_TXD_STAT_LC 0x00000004
00565 #define E1000_TXD_STAT_TU 0x00000008
00566 #define E1000_TXD_CMD_TCP 0x01000000
00567 #define E1000_TXD_CMD_IP 0x02000000
00568 #define E1000_TXD_CMD_TSE 0x04000000
00569 #define E1000_TXD_STAT_TC 0x00000004
00570
00571
00572
00573 #define E1000_TCTL_RST 0x00000001
00574 #define E1000_TCTL_EN 0x00000002
00575 #define E1000_TCTL_BCE 0x00000004
00576 #define E1000_TCTL_PSP 0x00000008
00577 #define E1000_TCTL_CT 0x00000ff0
00578 #define E1000_TCTL_COLD 0x003ff000
00579 #define E1000_TCTL_SWXOFF 0x00400000
00580 #define E1000_TCTL_PBE 0x00800000
00581 #define E1000_TCTL_RTLC 0x01000000
00582 #define E1000_TCTL_NRTU 0x02000000
00583 #define E1000_TCTL_MULR 0x10000000
00584
00585
00586 #define E1000_TARC0_ENABLE 0x00000400
00587
00588
00589 #define E1000_SCTL_DISABLE_SERDES_LOOPBACK 0x0400
00590
00591
00592 #define E1000_RXCSUM_PCSS_MASK 0x000000FF
00593 #define E1000_RXCSUM_IPOFL 0x00000100
00594 #define E1000_RXCSUM_TUOFL 0x00000200
00595 #define E1000_RXCSUM_IPV6OFL 0x00000400
00596 #define E1000_RXCSUM_CRCOFL 0x00000800
00597 #define E1000_RXCSUM_IPPCSE 0x00001000
00598 #define E1000_RXCSUM_PCSD 0x00002000
00599
00600
00601 #define E1000_RFCTL_ISCSI_DIS 0x00000001
00602 #define E1000_RFCTL_ISCSI_DWC_MASK 0x0000003E
00603 #define E1000_RFCTL_ISCSI_DWC_SHIFT 1
00604 #define E1000_RFCTL_NFSW_DIS 0x00000040
00605 #define E1000_RFCTL_NFSR_DIS 0x00000080
00606 #define E1000_RFCTL_NFS_VER_MASK 0x00000300
00607 #define E1000_RFCTL_NFS_VER_SHIFT 8
00608 #define E1000_RFCTL_IPV6_DIS 0x00000400
00609 #define E1000_RFCTL_IPV6_XSUM_DIS 0x00000800
00610 #define E1000_RFCTL_ACK_DIS 0x00001000
00611 #define E1000_RFCTL_ACKD_DIS 0x00002000
00612 #define E1000_RFCTL_IPFRSP_DIS 0x00004000
00613 #define E1000_RFCTL_EXTEN 0x00008000
00614 #define E1000_RFCTL_IPV6_EX_DIS 0x00010000
00615 #define E1000_RFCTL_NEW_IPV6_EXT_DIS 0x00020000
00616 #define E1000_RFCTL_LEF 0x00040000
00617
00618
00619 #define E1000_COLLISION_THRESHOLD 15
00620 #define E1000_CT_SHIFT 4
00621 #define E1000_COLLISION_DISTANCE 63
00622 #define E1000_COLD_SHIFT 12
00623
00624
00625 #define DEFAULT_82543_TIPG_IPGT_FIBER 9
00626 #define DEFAULT_82543_TIPG_IPGT_COPPER 8
00627
00628 #define E1000_TIPG_IPGT_MASK 0x000003FF
00629 #define E1000_TIPG_IPGR1_MASK 0x000FFC00
00630 #define E1000_TIPG_IPGR2_MASK 0x3FF00000
00631
00632 #define DEFAULT_82543_TIPG_IPGR1 8
00633 #define E1000_TIPG_IPGR1_SHIFT 10
00634
00635 #define DEFAULT_82543_TIPG_IPGR2 6
00636 #define DEFAULT_80003ES2LAN_TIPG_IPGR2 7
00637 #define E1000_TIPG_IPGR2_SHIFT 20
00638
00639
00640 #define ETHERNET_IEEE_VLAN_TYPE 0x8100
00641
00642 #define ETHERNET_FCS_SIZE 4
00643 #define MAX_JUMBO_FRAME_SIZE 0x3F00
00644
00645
00646 #define E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP 0x00000020
00647 #define E1000_EXTCNF_CTRL_LCD_WRITE_ENABLE 0x00000001
00648 #define E1000_EXTCNF_CTRL_OEM_WRITE_ENABLE 0x00000008
00649 #define E1000_EXTCNF_CTRL_SWFLAG 0x00000020
00650 #define E1000_EXTCNF_SIZE_EXT_PCIE_LENGTH_MASK 0x00FF0000
00651 #define E1000_EXTCNF_SIZE_EXT_PCIE_LENGTH_SHIFT 16
00652 #define E1000_EXTCNF_CTRL_EXT_CNF_POINTER_MASK 0x0FFF0000
00653 #define E1000_EXTCNF_CTRL_EXT_CNF_POINTER_SHIFT 16
00654
00655 #define E1000_PHY_CTRL_SPD_EN 0x00000001
00656 #define E1000_PHY_CTRL_D0A_LPLU 0x00000002
00657 #define E1000_PHY_CTRL_NOND0A_LPLU 0x00000004
00658 #define E1000_PHY_CTRL_NOND0A_GBE_DISABLE 0x00000008
00659 #define E1000_PHY_CTRL_GBE_DISABLE 0x00000040
00660
00661 #define E1000_KABGTXD_BGSQLBIAS 0x00050000
00662
00663
00664 #define E1000_PBA_6K 0x0006
00665 #define E1000_PBA_8K 0x0008
00666 #define E1000_PBA_10K 0x000A
00667 #define E1000_PBA_12K 0x000C
00668 #define E1000_PBA_14K 0x000E
00669 #define E1000_PBA_16K 0x0010
00670 #define E1000_PBA_18K 0x0012
00671 #define E1000_PBA_20K 0x0014
00672 #define E1000_PBA_22K 0x0016
00673 #define E1000_PBA_24K 0x0018
00674 #define E1000_PBA_26K 0x001A
00675 #define E1000_PBA_30K 0x001E
00676 #define E1000_PBA_32K 0x0020
00677 #define E1000_PBA_34K 0x0022
00678 #define E1000_PBA_35K 0x0023
00679 #define E1000_PBA_38K 0x0026
00680 #define E1000_PBA_40K 0x0028
00681 #define E1000_PBA_48K 0x0030
00682 #define E1000_PBA_64K 0x0040
00683
00684 #define E1000_PBS_16K E1000_PBA_16K
00685 #define E1000_PBS_24K E1000_PBA_24K
00686
00687 #define IFS_MAX 80
00688 #define IFS_MIN 40
00689 #define IFS_RATIO 4
00690 #define IFS_STEP 10
00691 #define MIN_NUM_XMITS 1000
00692
00693
00694 #define E1000_SWSM_SMBI 0x00000001
00695 #define E1000_SWSM_SWESMBI 0x00000002
00696 #define E1000_SWSM_WMNG 0x00000004
00697 #define E1000_SWSM_DRV_LOAD 0x00000008
00698
00699 #define E1000_SWSM2_LOCK 0x00000002
00700
00701
00702 #define E1000_ICR_TXDW 0x00000001
00703 #define E1000_ICR_TXQE 0x00000002
00704 #define E1000_ICR_LSC 0x00000004
00705 #define E1000_ICR_RXSEQ 0x00000008
00706 #define E1000_ICR_RXDMT0 0x00000010
00707 #define E1000_ICR_RXO 0x00000040
00708 #define E1000_ICR_RXT0 0x00000080
00709 #define E1000_ICR_VMMB 0x00000100
00710 #define E1000_ICR_MDAC 0x00000200
00711 #define E1000_ICR_RXCFG 0x00000400
00712 #define E1000_ICR_GPI_EN0 0x00000800
00713 #define E1000_ICR_GPI_EN1 0x00001000
00714 #define E1000_ICR_GPI_EN2 0x00002000
00715 #define E1000_ICR_GPI_EN3 0x00004000
00716 #define E1000_ICR_TXD_LOW 0x00008000
00717 #define E1000_ICR_SRPD 0x00010000
00718 #define E1000_ICR_ACK 0x00020000
00719 #define E1000_ICR_MNG 0x00040000
00720 #define E1000_ICR_DOCK 0x00080000
00721 #define E1000_ICR_INT_ASSERTED 0x80000000
00722
00723 #define E1000_ICR_RXD_FIFO_PAR0 0x00100000
00724 #define E1000_ICR_TXD_FIFO_PAR0 0x00200000
00725 #define E1000_ICR_HOST_ARB_PAR 0x00400000
00726 #define E1000_ICR_PB_PAR 0x00800000
00727 #define E1000_ICR_RXD_FIFO_PAR1 0x01000000
00728 #define E1000_ICR_TXD_FIFO_PAR1 0x02000000
00729 #define E1000_ICR_ALL_PARITY 0x03F00000
00730 #define E1000_ICR_DSW 0x00000020
00731
00732 #define E1000_ICR_PHYINT 0x00001000
00733
00734 #define E1000_ICR_DOUTSYNC 0x10000000
00735 #define E1000_ICR_EPRST 0x00100000
00736
00737
00738
00739 #define E1000_EICR_RX_QUEUE0 0x00000001
00740 #define E1000_EICR_RX_QUEUE1 0x00000002
00741 #define E1000_EICR_RX_QUEUE2 0x00000004
00742 #define E1000_EICR_RX_QUEUE3 0x00000008
00743 #define E1000_EICR_TX_QUEUE0 0x00000100
00744 #define E1000_EICR_TX_QUEUE1 0x00000200
00745 #define E1000_EICR_TX_QUEUE2 0x00000400
00746 #define E1000_EICR_TX_QUEUE3 0x00000800
00747 #define E1000_EICR_TCP_TIMER 0x40000000
00748 #define E1000_EICR_OTHER 0x80000000
00749
00750 #define E1000_TCPTIMER_KS 0x00000100
00751 #define E1000_TCPTIMER_COUNT_ENABLE 0x00000200
00752 #define E1000_TCPTIMER_COUNT_FINISH 0x00000400
00753 #define E1000_TCPTIMER_LOOP 0x00000800
00754
00755
00756
00757
00758
00759
00760
00761 #define POLL_IMS_ENABLE_MASK ( \
00762 E1000_IMS_RXDMT0 | \
00763 E1000_IMS_RXSEQ)
00764
00765
00766
00767
00768
00769
00770
00771
00772
00773
00774 #define IMS_ENABLE_MASK ( \
00775 E1000_IMS_RXT0 | \
00776 E1000_IMS_TXDW | \
00777 E1000_IMS_RXDMT0 | \
00778 E1000_IMS_RXSEQ | \
00779 E1000_IMS_LSC)
00780
00781
00782 #define E1000_IMS_TXDW E1000_ICR_TXDW
00783 #define E1000_IMS_TXQE E1000_ICR_TXQE
00784 #define E1000_IMS_LSC E1000_ICR_LSC
00785 #define E1000_IMS_VMMB E1000_ICR_VMMB
00786 #define E1000_IMS_RXSEQ E1000_ICR_RXSEQ
00787 #define E1000_IMS_RXDMT0 E1000_ICR_RXDMT0
00788 #define E1000_IMS_RXO E1000_ICR_RXO
00789 #define E1000_IMS_RXT0 E1000_ICR_RXT0
00790 #define E1000_IMS_MDAC E1000_ICR_MDAC
00791 #define E1000_IMS_RXCFG E1000_ICR_RXCFG
00792 #define E1000_IMS_GPI_EN0 E1000_ICR_GPI_EN0
00793 #define E1000_IMS_GPI_EN1 E1000_ICR_GPI_EN1
00794 #define E1000_IMS_GPI_EN2 E1000_ICR_GPI_EN2
00795 #define E1000_IMS_GPI_EN3 E1000_ICR_GPI_EN3
00796 #define E1000_IMS_TXD_LOW E1000_ICR_TXD_LOW
00797 #define E1000_IMS_SRPD E1000_ICR_SRPD
00798 #define E1000_IMS_ACK E1000_ICR_ACK
00799 #define E1000_IMS_MNG E1000_ICR_MNG
00800 #define E1000_IMS_DOCK E1000_ICR_DOCK
00801 #define E1000_IMS_RXD_FIFO_PAR0 E1000_ICR_RXD_FIFO_PAR0
00802
00803 #define E1000_IMS_TXD_FIFO_PAR0 E1000_ICR_TXD_FIFO_PAR0
00804
00805 #define E1000_IMS_HOST_ARB_PAR E1000_ICR_HOST_ARB_PAR
00806
00807 #define E1000_IMS_PB_PAR E1000_ICR_PB_PAR
00808
00809 #define E1000_IMS_RXD_FIFO_PAR1 E1000_ICR_RXD_FIFO_PAR1
00810
00811 #define E1000_IMS_TXD_FIFO_PAR1 E1000_ICR_TXD_FIFO_PAR1
00812
00813 #define E1000_IMS_DSW E1000_ICR_DSW
00814 #define E1000_IMS_PHYINT E1000_ICR_PHYINT
00815 #define E1000_IMS_DOUTSYNC E1000_ICR_DOUTSYNC
00816 #define E1000_IMS_EPRST E1000_ICR_EPRST
00817
00818
00819 #define E1000_EIMS_RX_QUEUE0 E1000_EICR_RX_QUEUE0
00820 #define E1000_EIMS_RX_QUEUE1 E1000_EICR_RX_QUEUE1
00821 #define E1000_EIMS_RX_QUEUE2 E1000_EICR_RX_QUEUE2
00822 #define E1000_EIMS_RX_QUEUE3 E1000_EICR_RX_QUEUE3
00823 #define E1000_EIMS_TX_QUEUE0 E1000_EICR_TX_QUEUE0
00824 #define E1000_EIMS_TX_QUEUE1 E1000_EICR_TX_QUEUE1
00825 #define E1000_EIMS_TX_QUEUE2 E1000_EICR_TX_QUEUE2
00826 #define E1000_EIMS_TX_QUEUE3 E1000_EICR_TX_QUEUE3
00827 #define E1000_EIMS_TCP_TIMER E1000_EICR_TCP_TIMER
00828 #define E1000_EIMS_OTHER E1000_EICR_OTHER
00829
00830
00831 #define E1000_ICS_TXDW E1000_ICR_TXDW
00832 #define E1000_ICS_TXQE E1000_ICR_TXQE
00833 #define E1000_ICS_LSC E1000_ICR_LSC
00834 #define E1000_ICS_RXSEQ E1000_ICR_RXSEQ
00835 #define E1000_ICS_RXDMT0 E1000_ICR_RXDMT0
00836 #define E1000_ICS_RXO E1000_ICR_RXO
00837 #define E1000_ICS_RXT0 E1000_ICR_RXT0
00838 #define E1000_ICS_MDAC E1000_ICR_MDAC
00839 #define E1000_ICS_RXCFG E1000_ICR_RXCFG
00840 #define E1000_ICS_GPI_EN0 E1000_ICR_GPI_EN0
00841 #define E1000_ICS_GPI_EN1 E1000_ICR_GPI_EN1
00842 #define E1000_ICS_GPI_EN2 E1000_ICR_GPI_EN2
00843 #define E1000_ICS_GPI_EN3 E1000_ICR_GPI_EN3
00844 #define E1000_ICS_TXD_LOW E1000_ICR_TXD_LOW
00845 #define E1000_ICS_SRPD E1000_ICR_SRPD
00846 #define E1000_ICS_ACK E1000_ICR_ACK
00847 #define E1000_ICS_MNG E1000_ICR_MNG
00848 #define E1000_ICS_DOCK E1000_ICR_DOCK
00849 #define E1000_ICS_RXD_FIFO_PAR0 E1000_ICR_RXD_FIFO_PAR0
00850
00851 #define E1000_ICS_TXD_FIFO_PAR0 E1000_ICR_TXD_FIFO_PAR0
00852
00853 #define E1000_ICS_HOST_ARB_PAR E1000_ICR_HOST_ARB_PAR
00854
00855 #define E1000_ICS_PB_PAR E1000_ICR_PB_PAR
00856
00857 #define E1000_ICS_RXD_FIFO_PAR1 E1000_ICR_RXD_FIFO_PAR1
00858
00859 #define E1000_ICS_TXD_FIFO_PAR1 E1000_ICR_TXD_FIFO_PAR1
00860
00861 #define E1000_ICS_DSW E1000_ICR_DSW
00862 #define E1000_ICS_DOUTSYNC E1000_ICR_DOUTSYNC
00863 #define E1000_ICS_PHYINT E1000_ICR_PHYINT
00864 #define E1000_ICS_EPRST E1000_ICR_EPRST
00865
00866
00867 #define E1000_EICS_RX_QUEUE0 E1000_EICR_RX_QUEUE0
00868 #define E1000_EICS_RX_QUEUE1 E1000_EICR_RX_QUEUE1
00869 #define E1000_EICS_RX_QUEUE2 E1000_EICR_RX_QUEUE2
00870 #define E1000_EICS_RX_QUEUE3 E1000_EICR_RX_QUEUE3
00871 #define E1000_EICS_TX_QUEUE0 E1000_EICR_TX_QUEUE0
00872 #define E1000_EICS_TX_QUEUE1 E1000_EICR_TX_QUEUE1
00873 #define E1000_EICS_TX_QUEUE2 E1000_EICR_TX_QUEUE2
00874 #define E1000_EICS_TX_QUEUE3 E1000_EICR_TX_QUEUE3
00875 #define E1000_EICS_TCP_TIMER E1000_EICR_TCP_TIMER
00876 #define E1000_EICS_OTHER E1000_EICR_OTHER
00877
00878 #define E1000_EITR_ITR_INT_MASK 0x0000FFFF
00879
00880
00881 #define E1000_TXDCTL_PTHRESH 0x0000003F
00882 #define E1000_TXDCTL_HTHRESH 0x00003F00
00883 #define E1000_TXDCTL_WTHRESH 0x003F0000
00884 #define E1000_TXDCTL_GRAN 0x01000000
00885 #define E1000_TXDCTL_LWTHRESH 0xFE000000
00886 #define E1000_TXDCTL_FULL_TX_DESC_WB 0x01010000
00887 #define E1000_TXDCTL_MAX_TX_DESC_PREFETCH 0x0100001F
00888
00889 #define E1000_TXDCTL_COUNT_DESC 0x00400000
00890
00891
00892 #define FLOW_CONTROL_ADDRESS_LOW 0x00C28001
00893 #define FLOW_CONTROL_ADDRESS_HIGH 0x00000100
00894 #define FLOW_CONTROL_TYPE 0x8808
00895
00896
00897 #define VLAN_TAG_SIZE 4
00898 #define E1000_VLAN_FILTER_TBL_SIZE 128
00899
00900
00901
00902
00903
00904
00905
00906
00907
00908 #define E1000_RAR_ENTRIES 15
00909 #define E1000_RAH_AV 0x80000000
00910 #define E1000_RAL_MAC_ADDR_LEN 4
00911 #define E1000_RAH_MAC_ADDR_LEN 2
00912 #define E1000_RAH_POOL_MASK 0x03FC0000
00913 #define E1000_RAH_POOL_1 0x00040000
00914
00915
00916 #define E1000_SUCCESS 0
00917 #define E1000_ERR_NVM 1
00918 #define E1000_ERR_PHY 2
00919 #define E1000_ERR_CONFIG 3
00920 #define E1000_ERR_PARAM 4
00921 #define E1000_ERR_MAC_INIT 5
00922 #define E1000_ERR_PHY_TYPE 6
00923 #define E1000_ERR_RESET 9
00924 #define E1000_ERR_MASTER_REQUESTS_PENDING 10
00925 #define E1000_ERR_HOST_INTERFACE_COMMAND 11
00926 #define E1000_BLK_PHY_RESET 12
00927 #define E1000_ERR_SWFW_SYNC 13
00928 #define E1000_NOT_IMPLEMENTED 14
00929 #define E1000_ERR_MBX 15
00930
00931
00932 #define FIBER_LINK_UP_LIMIT 50
00933 #define COPPER_LINK_UP_LIMIT 10
00934 #define PHY_AUTO_NEG_LIMIT 45
00935 #define PHY_FORCE_LIMIT 20
00936
00937 #define MASTER_DISABLE_TIMEOUT 800
00938
00939 #define PHY_CFG_TIMEOUT 100
00940
00941 #define MDIO_OWNERSHIP_TIMEOUT 10
00942
00943 #define AUTO_READ_DONE_TIMEOUT 10
00944
00945
00946 #define E1000_FCRTH_RTH 0x0000FFF8
00947 #define E1000_FCRTH_XFCE 0x80000000
00948 #define E1000_FCRTL_RTL 0x0000FFF8
00949 #define E1000_FCRTL_XONE 0x80000000
00950
00951
00952 #define E1000_TXCW_FD 0x00000020
00953 #define E1000_TXCW_HD 0x00000040
00954 #define E1000_TXCW_PAUSE 0x00000080
00955 #define E1000_TXCW_ASM_DIR 0x00000100
00956 #define E1000_TXCW_PAUSE_MASK 0x00000180
00957 #define E1000_TXCW_RF 0x00003000
00958 #define E1000_TXCW_NP 0x00008000
00959 #define E1000_TXCW_CW 0x0000ffff
00960 #define E1000_TXCW_TXC 0x40000000
00961 #define E1000_TXCW_ANE 0x80000000
00962
00963
00964 #define E1000_RXCW_CW 0x0000ffff
00965 #define E1000_RXCW_NC 0x04000000
00966 #define E1000_RXCW_IV 0x08000000
00967 #define E1000_RXCW_CC 0x10000000
00968 #define E1000_RXCW_C 0x20000000
00969 #define E1000_RXCW_SYNCH 0x40000000
00970 #define E1000_RXCW_ANC 0x80000000
00971
00972 #define E1000_TSYNCTXCTL_VALID 0x00000001
00973 #define E1000_TSYNCTXCTL_ENABLED 0x00000010
00974
00975 #define E1000_TSYNCRXCTL_VALID 0x00000001
00976 #define E1000_TSYNCRXCTL_TYPE_MASK 0x0000000E
00977 #define E1000_TSYNCRXCTL_TYPE_L2_V2 0x00
00978 #define E1000_TSYNCRXCTL_TYPE_L4_V1 0x02
00979 #define E1000_TSYNCRXCTL_TYPE_L2_L4_V2 0x04
00980 #define E1000_TSYNCRXCTL_TYPE_ALL 0x08
00981 #define E1000_TSYNCRXCTL_TYPE_EVENT_V2 0x0A
00982 #define E1000_TSYNCRXCTL_ENABLED 0x00000010
00983
00984 #define E1000_TSYNCRXCFG_PTP_V1_CTRLT_MASK 0x000000FF
00985 #define E1000_TSYNCRXCFG_PTP_V1_SYNC_MESSAGE 0x00
00986 #define E1000_TSYNCRXCFG_PTP_V1_DELAY_REQ_MESSAGE 0x01
00987 #define E1000_TSYNCRXCFG_PTP_V1_FOLLOWUP_MESSAGE 0x02
00988 #define E1000_TSYNCRXCFG_PTP_V1_DELAY_RESP_MESSAGE 0x03
00989 #define E1000_TSYNCRXCFG_PTP_V1_MANAGEMENT_MESSAGE 0x04
00990
00991 #define E1000_TSYNCRXCFG_PTP_V2_MSGID_MASK 0x00000F00
00992 #define E1000_TSYNCRXCFG_PTP_V2_SYNC_MESSAGE 0x0000
00993 #define E1000_TSYNCRXCFG_PTP_V2_DELAY_REQ_MESSAGE 0x0100
00994 #define E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_REQ_MESSAGE 0x0200
00995 #define E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_RESP_MESSAGE 0x0300
00996 #define E1000_TSYNCRXCFG_PTP_V2_FOLLOWUP_MESSAGE 0x0800
00997 #define E1000_TSYNCRXCFG_PTP_V2_DELAY_RESP_MESSAGE 0x0900
00998 #define E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_FOLLOWUP_MESSAGE 0x0A00
00999 #define E1000_TSYNCRXCFG_PTP_V2_ANNOUNCE_MESSAGE 0x0B00
01000 #define E1000_TSYNCRXCFG_PTP_V2_SIGNALLING_MESSAGE 0x0C00
01001 #define E1000_TSYNCRXCFG_PTP_V2_MANAGEMENT_MESSAGE 0x0D00
01002
01003 #define E1000_TIMINCA_16NS_SHIFT 24
01004
01005
01006 #define E1000_GCR_RXD_NO_SNOOP 0x00000001
01007 #define E1000_GCR_RXDSCW_NO_SNOOP 0x00000002
01008 #define E1000_GCR_RXDSCR_NO_SNOOP 0x00000004
01009 #define E1000_GCR_TXD_NO_SNOOP 0x00000008
01010 #define E1000_GCR_TXDSCW_NO_SNOOP 0x00000010
01011 #define E1000_GCR_TXDSCR_NO_SNOOP 0x00000020
01012 #define E1000_GCR_CMPL_TMOUT_MASK 0x0000F000
01013 #define E1000_GCR_CMPL_TMOUT_10ms 0x00001000
01014 #define E1000_GCR_CMPL_TMOUT_RESEND 0x00010000
01015 #define E1000_GCR_CAP_VER2 0x00040000
01016
01017 #define PCIE_NO_SNOOP_ALL (E1000_GCR_RXD_NO_SNOOP | \
01018 E1000_GCR_RXDSCW_NO_SNOOP | \
01019 E1000_GCR_RXDSCR_NO_SNOOP | \
01020 E1000_GCR_TXD_NO_SNOOP | \
01021 E1000_GCR_TXDSCW_NO_SNOOP | \
01022 E1000_GCR_TXDSCR_NO_SNOOP)
01023
01024
01025 #define MII_CR_SPEED_SELECT_MSB 0x0040
01026 #define MII_CR_COLL_TEST_ENABLE 0x0080
01027 #define MII_CR_FULL_DUPLEX 0x0100
01028 #define MII_CR_RESTART_AUTO_NEG 0x0200
01029 #define MII_CR_ISOLATE 0x0400
01030 #define MII_CR_POWER_DOWN 0x0800
01031 #define MII_CR_AUTO_NEG_EN 0x1000
01032 #define MII_CR_SPEED_SELECT_LSB 0x2000
01033 #define MII_CR_LOOPBACK 0x4000
01034 #define MII_CR_RESET 0x8000
01035 #define MII_CR_SPEED_1000 0x0040
01036 #define MII_CR_SPEED_100 0x2000
01037 #define MII_CR_SPEED_10 0x0000
01038
01039
01040 #define MII_SR_EXTENDED_CAPS 0x0001
01041 #define MII_SR_JABBER_DETECT 0x0002
01042 #define MII_SR_LINK_STATUS 0x0004
01043 #define MII_SR_AUTONEG_CAPS 0x0008
01044 #define MII_SR_REMOTE_FAULT 0x0010
01045 #define MII_SR_AUTONEG_COMPLETE 0x0020
01046 #define MII_SR_PREAMBLE_SUPPRESS 0x0040
01047 #define MII_SR_EXTENDED_STATUS 0x0100
01048 #define MII_SR_100T2_HD_CAPS 0x0200
01049 #define MII_SR_100T2_FD_CAPS 0x0400
01050 #define MII_SR_10T_HD_CAPS 0x0800
01051 #define MII_SR_10T_FD_CAPS 0x1000
01052 #define MII_SR_100X_HD_CAPS 0x2000
01053 #define MII_SR_100X_FD_CAPS 0x4000
01054 #define MII_SR_100T4_CAPS 0x8000
01055
01056
01057 #define NWAY_AR_SELECTOR_FIELD 0x0001
01058 #define NWAY_AR_10T_HD_CAPS 0x0020
01059 #define NWAY_AR_10T_FD_CAPS 0x0040
01060 #define NWAY_AR_100TX_HD_CAPS 0x0080
01061 #define NWAY_AR_100TX_FD_CAPS 0x0100
01062 #define NWAY_AR_100T4_CAPS 0x0200
01063 #define NWAY_AR_PAUSE 0x0400
01064 #define NWAY_AR_ASM_DIR 0x0800
01065 #define NWAY_AR_REMOTE_FAULT 0x2000
01066 #define NWAY_AR_NEXT_PAGE 0x8000
01067
01068
01069 #define NWAY_LPAR_SELECTOR_FIELD 0x0000
01070 #define NWAY_LPAR_10T_HD_CAPS 0x0020
01071 #define NWAY_LPAR_10T_FD_CAPS 0x0040
01072 #define NWAY_LPAR_100TX_HD_CAPS 0x0080
01073 #define NWAY_LPAR_100TX_FD_CAPS 0x0100
01074 #define NWAY_LPAR_100T4_CAPS 0x0200
01075 #define NWAY_LPAR_PAUSE 0x0400
01076 #define NWAY_LPAR_ASM_DIR 0x0800
01077 #define NWAY_LPAR_REMOTE_FAULT 0x2000
01078 #define NWAY_LPAR_ACKNOWLEDGE 0x4000
01079 #define NWAY_LPAR_NEXT_PAGE 0x8000
01080
01081
01082 #define NWAY_ER_LP_NWAY_CAPS 0x0001
01083 #define NWAY_ER_PAGE_RXD 0x0002
01084 #define NWAY_ER_NEXT_PAGE_CAPS 0x0004
01085 #define NWAY_ER_LP_NEXT_PAGE_CAPS 0x0008
01086 #define NWAY_ER_PAR_DETECT_FAULT 0x0010
01087
01088
01089 #define CR_1000T_ASYM_PAUSE 0x0080
01090 #define CR_1000T_HD_CAPS 0x0100
01091 #define CR_1000T_FD_CAPS 0x0200
01092 #define CR_1000T_REPEATER_DTE 0x0400
01093
01094 #define CR_1000T_MS_VALUE 0x0800
01095
01096 #define CR_1000T_MS_ENABLE 0x1000
01097
01098 #define CR_1000T_TEST_MODE_NORMAL 0x0000
01099 #define CR_1000T_TEST_MODE_1 0x2000
01100 #define CR_1000T_TEST_MODE_2 0x4000
01101 #define CR_1000T_TEST_MODE_3 0x6000
01102 #define CR_1000T_TEST_MODE_4 0x8000
01103
01104
01105 #define SR_1000T_IDLE_ERROR_CNT 0x00FF
01106 #define SR_1000T_ASYM_PAUSE_DIR 0x0100
01107 #define SR_1000T_LP_HD_CAPS 0x0400
01108 #define SR_1000T_LP_FD_CAPS 0x0800
01109 #define SR_1000T_REMOTE_RX_STATUS 0x1000
01110 #define SR_1000T_LOCAL_RX_STATUS 0x2000
01111 #define SR_1000T_MS_CONFIG_RES 0x4000
01112 #define SR_1000T_MS_CONFIG_FAULT 0x8000
01113
01114 #define SR_1000T_PHY_EXCESSIVE_IDLE_ERR_COUNT 5
01115
01116
01117
01118 #define PHY_CONTROL 0x00
01119 #define PHY_STATUS 0x01
01120 #define PHY_ID1 0x02
01121 #define PHY_ID2 0x03
01122 #define PHY_AUTONEG_ADV 0x04
01123 #define PHY_LP_ABILITY 0x05
01124 #define PHY_AUTONEG_EXP 0x06
01125 #define PHY_NEXT_PAGE_TX 0x07
01126 #define PHY_LP_NEXT_PAGE 0x08
01127 #define PHY_1000T_CTRL 0x09
01128 #define PHY_1000T_STATUS 0x0A
01129 #define PHY_EXT_STATUS 0x0F
01130
01131 #define PHY_CONTROL_LB 0x4000
01132
01133
01134 #define E1000_EECD_SK 0x00000001
01135 #define E1000_EECD_CS 0x00000002
01136 #define E1000_EECD_DI 0x00000004
01137 #define E1000_EECD_DO 0x00000008
01138 #define E1000_EECD_FWE_MASK 0x00000030
01139 #define E1000_EECD_FWE_DIS 0x00000010
01140 #define E1000_EECD_FWE_EN 0x00000020
01141 #define E1000_EECD_FWE_SHIFT 4
01142 #define E1000_EECD_REQ 0x00000040
01143 #define E1000_EECD_GNT 0x00000080
01144 #define E1000_EECD_PRES 0x00000100
01145 #define E1000_EECD_SIZE 0x00000200
01146
01147 #define E1000_EECD_ADDR_BITS 0x00000400
01148 #define E1000_EECD_TYPE 0x00002000
01149 #define E1000_NVM_GRANT_ATTEMPTS 1000
01150 #define E1000_EECD_AUTO_RD 0x00000200
01151 #define E1000_EECD_SIZE_EX_MASK 0x00007800
01152 #define E1000_EECD_SIZE_EX_SHIFT 11
01153 #define E1000_EECD_NVADDS 0x00018000
01154 #define E1000_EECD_SELSHAD 0x00020000
01155 #define E1000_EECD_INITSRAM 0x00040000
01156 #define E1000_EECD_FLUPD 0x00080000
01157 #define E1000_EECD_AUPDEN 0x00100000
01158 #define E1000_EECD_SHADV 0x00200000
01159 #define E1000_EECD_SEC1VAL 0x00400000
01160 #define E1000_EECD_SECVAL_SHIFT 22
01161 #define E1000_EECD_SEC1VAL_VALID_MASK (E1000_EECD_AUTO_RD | E1000_EECD_PRES)
01162
01163 #define E1000_NVM_SWDPIN0 0x0001
01164 #define E1000_NVM_LED_LOGIC 0x0020
01165 #define E1000_NVM_RW_REG_DATA 16
01166 #define E1000_NVM_RW_REG_DONE 2
01167 #define E1000_NVM_RW_REG_START 1
01168 #define E1000_NVM_RW_ADDR_SHIFT 2
01169 #define E1000_NVM_POLL_WRITE 1
01170 #define E1000_NVM_POLL_READ 0
01171 #define E1000_FLASH_UPDATES 2000
01172
01173
01174 #define NVM_COMPAT 0x0003
01175 #define NVM_ID_LED_SETTINGS 0x0004
01176 #define NVM_VERSION 0x0005
01177 #define NVM_SERDES_AMPLITUDE 0x0006
01178 #define NVM_PHY_CLASS_WORD 0x0007
01179 #define NVM_INIT_CONTROL1_REG 0x000A
01180 #define NVM_INIT_CONTROL2_REG 0x000F
01181 #define NVM_SWDEF_PINS_CTRL_PORT_1 0x0010
01182 #define NVM_INIT_CONTROL3_PORT_B 0x0014
01183 #define NVM_INIT_3GIO_3 0x001A
01184 #define NVM_SWDEF_PINS_CTRL_PORT_0 0x0020
01185 #define NVM_INIT_CONTROL3_PORT_A 0x0024
01186 #define NVM_CFG 0x0012
01187 #define NVM_FLASH_VERSION 0x0032
01188 #define NVM_ALT_MAC_ADDR_PTR 0x0037
01189 #define NVM_CHECKSUM_REG 0x003F
01190
01191 #define E1000_NVM_CFG_DONE_PORT_0 0x040000
01192 #define E1000_NVM_CFG_DONE_PORT_1 0x080000
01193
01194
01195 #define NVM_WORD0F_PAUSE_MASK 0x3000
01196 #define NVM_WORD0F_PAUSE 0x1000
01197 #define NVM_WORD0F_ASM_DIR 0x2000
01198 #define NVM_WORD0F_ANE 0x0800
01199 #define NVM_WORD0F_SWPDIO_EXT_MASK 0x00F0
01200 #define NVM_WORD0F_LPLU 0x0001
01201
01202
01203 #define NVM_WORD1A_ASPM_MASK 0x000C
01204
01205
01206 #define NVM_SUM 0xBABA
01207
01208 #define NVM_MAC_ADDR_OFFSET 0
01209 #define NVM_PBA_OFFSET_0 8
01210 #define NVM_PBA_OFFSET_1 9
01211 #define NVM_RESERVED_WORD 0xFFFF
01212 #define NVM_PHY_CLASS_A 0x8000
01213 #define NVM_SERDES_AMPLITUDE_MASK 0x000F
01214 #define NVM_SIZE_MASK 0x1C00
01215 #define NVM_SIZE_SHIFT 10
01216 #define NVM_WORD_SIZE_BASE_SHIFT 6
01217 #define NVM_SWDPIO_EXT_SHIFT 4
01218
01219
01220 #define NVM_MAX_RETRY_SPI 5000
01221 #define NVM_READ_OPCODE_SPI 0x03
01222 #define NVM_WRITE_OPCODE_SPI 0x02
01223 #define NVM_A8_OPCODE_SPI 0x08
01224 #define NVM_WREN_OPCODE_SPI 0x06
01225 #define NVM_WRDI_OPCODE_SPI 0x04
01226 #define NVM_RDSR_OPCODE_SPI 0x05
01227 #define NVM_WRSR_OPCODE_SPI 0x01
01228
01229
01230 #define NVM_STATUS_RDY_SPI 0x01
01231 #define NVM_STATUS_WEN_SPI 0x02
01232 #define NVM_STATUS_BP0_SPI 0x04
01233 #define NVM_STATUS_BP1_SPI 0x08
01234 #define NVM_STATUS_WPEN_SPI 0x80
01235
01236
01237 #define ID_LED_RESERVED_0000 0x0000
01238 #define ID_LED_RESERVED_FFFF 0xFFFF
01239 #define ID_LED_DEFAULT ((ID_LED_OFF1_ON2 << 12) | \
01240 (ID_LED_OFF1_OFF2 << 8) | \
01241 (ID_LED_DEF1_DEF2 << 4) | \
01242 (ID_LED_DEF1_DEF2))
01243 #define ID_LED_DEF1_DEF2 0x1
01244 #define ID_LED_DEF1_ON2 0x2
01245 #define ID_LED_DEF1_OFF2 0x3
01246 #define ID_LED_ON1_DEF2 0x4
01247 #define ID_LED_ON1_ON2 0x5
01248 #define ID_LED_ON1_OFF2 0x6
01249 #define ID_LED_OFF1_DEF2 0x7
01250 #define ID_LED_OFF1_ON2 0x8
01251 #define ID_LED_OFF1_OFF2 0x9
01252
01253 #define IGP_ACTIVITY_LED_MASK 0xFFFFF0FF
01254 #define IGP_ACTIVITY_LED_ENABLE 0x0300
01255 #define IGP_LED3_MODE 0x07000000
01256
01257
01258 #define PCI_HEADER_TYPE_REGISTER 0x0E
01259 #define PCIE_LINK_STATUS 0x12
01260 #define PCIE_DEVICE_CONTROL2 0x28
01261
01262 #define PCI_HEADER_TYPE_MULTIFUNC 0x80
01263 #define PCIE_LINK_WIDTH_MASK 0x3F0
01264 #define PCIE_LINK_WIDTH_SHIFT 4
01265 #define PCIE_DEVICE_CONTROL2_16ms 0x0005
01266
01267 #ifndef ETH_ADDR_LEN
01268 #define ETH_ADDR_LEN 6
01269 #endif
01270
01271 #define PHY_REVISION_MASK 0xFFFFFFF0
01272 #define MAX_PHY_REG_ADDRESS 0x1F
01273 #define MAX_PHY_MULTI_PAGE_REG 0xF
01274
01275
01276
01277
01278
01279
01280 #define M88E1000_E_PHY_ID 0x01410C50
01281 #define M88E1000_I_PHY_ID 0x01410C30
01282 #define M88E1011_I_PHY_ID 0x01410C20
01283 #define IGP01E1000_I_PHY_ID 0x02A80380
01284 #define M88E1011_I_REV_4 0x04
01285 #define M88E1111_I_PHY_ID 0x01410CC0
01286 #define GG82563_E_PHY_ID 0x01410CA0
01287 #define IGP03E1000_E_PHY_ID 0x02A80390
01288 #define IFE_E_PHY_ID 0x02A80330
01289 #define IFE_PLUS_E_PHY_ID 0x02A80320
01290 #define IFE_C_E_PHY_ID 0x02A80310
01291 #define IGP04E1000_E_PHY_ID 0x02A80391
01292 #define M88_VENDOR 0x0141
01293
01294
01295 #define M88E1000_PHY_SPEC_CTRL 0x10
01296 #define M88E1000_PHY_SPEC_STATUS 0x11
01297 #define M88E1000_INT_ENABLE 0x12
01298 #define M88E1000_INT_STATUS 0x13
01299 #define M88E1000_EXT_PHY_SPEC_CTRL 0x14
01300 #define M88E1000_RX_ERR_CNTR 0x15
01301
01302 #define M88E1000_PHY_EXT_CTRL 0x1A
01303 #define M88E1000_PHY_PAGE_SELECT 0x1D
01304 #define M88E1000_PHY_GEN_CONTROL 0x1E
01305 #define M88E1000_PHY_VCO_REG_BIT8 0x100
01306 #define M88E1000_PHY_VCO_REG_BIT11 0x800
01307
01308
01309 #define M88E1000_PSCR_JABBER_DISABLE 0x0001
01310 #define M88E1000_PSCR_POLARITY_REVERSAL 0x0002
01311 #define M88E1000_PSCR_SQE_TEST 0x0004
01312
01313 #define M88E1000_PSCR_CLK125_DISABLE 0x0010
01314 #define M88E1000_PSCR_MDI_MANUAL_MODE 0x0000
01315
01316 #define M88E1000_PSCR_MDIX_MANUAL_MODE 0x0020
01317
01318 #define M88E1000_PSCR_AUTO_X_1000T 0x0040
01319
01320 #define M88E1000_PSCR_AUTO_X_MODE 0x0060
01321
01322
01323
01324
01325 #define M88E1000_PSCR_EN_10BT_EXT_DIST 0x0080
01326
01327 #define M88E1000_PSCR_MII_5BIT_ENABLE 0x0100
01328 #define M88E1000_PSCR_SCRAMBLER_DISABLE 0x0200
01329 #define M88E1000_PSCR_FORCE_LINK_GOOD 0x0400
01330 #define M88E1000_PSCR_ASSERT_CRS_ON_TX 0x0800
01331
01332
01333 #define M88E1000_PSSR_JABBER 0x0001
01334 #define M88E1000_PSSR_REV_POLARITY 0x0002
01335 #define M88E1000_PSSR_DOWNSHIFT 0x0020
01336 #define M88E1000_PSSR_MDIX 0x0040
01337
01338
01339
01340
01341
01342
01343
01344 #define M88E1000_PSSR_CABLE_LENGTH 0x0380
01345 #define M88E1000_PSSR_LINK 0x0400
01346 #define M88E1000_PSSR_SPD_DPLX_RESOLVED 0x0800
01347 #define M88E1000_PSSR_PAGE_RCVD 0x1000
01348 #define M88E1000_PSSR_DPLX 0x2000
01349 #define M88E1000_PSSR_SPEED 0xC000
01350 #define M88E1000_PSSR_10MBS 0x0000
01351 #define M88E1000_PSSR_100MBS 0x4000
01352 #define M88E1000_PSSR_1000MBS 0x8000
01353
01354 #define M88E1000_PSSR_CABLE_LENGTH_SHIFT 7
01355
01356
01357 #define M88E1000_EPSCR_FIBER_LOOPBACK 0x4000
01358
01359
01360
01361
01362
01363
01364 #define M88E1000_EPSCR_DOWN_NO_IDLE 0x8000
01365
01366
01367
01368
01369 #define M88E1000_EPSCR_MASTER_DOWNSHIFT_MASK 0x0C00
01370 #define M88E1000_EPSCR_MASTER_DOWNSHIFT_1X 0x0000
01371 #define M88E1000_EPSCR_MASTER_DOWNSHIFT_2X 0x0400
01372 #define M88E1000_EPSCR_MASTER_DOWNSHIFT_3X 0x0800
01373 #define M88E1000_EPSCR_MASTER_DOWNSHIFT_4X 0x0C00
01374
01375
01376
01377
01378 #define M88E1000_EPSCR_SLAVE_DOWNSHIFT_MASK 0x0300
01379 #define M88E1000_EPSCR_SLAVE_DOWNSHIFT_DIS 0x0000
01380 #define M88E1000_EPSCR_SLAVE_DOWNSHIFT_1X 0x0100
01381 #define M88E1000_EPSCR_SLAVE_DOWNSHIFT_2X 0x0200
01382 #define M88E1000_EPSCR_SLAVE_DOWNSHIFT_3X 0x0300
01383 #define M88E1000_EPSCR_TX_CLK_2_5 0x0060
01384 #define M88E1000_EPSCR_TX_CLK_25 0x0070
01385 #define M88E1000_EPSCR_TX_CLK_0 0x0000
01386
01387
01388 #define M88EC018_EPSCR_DOWNSHIFT_COUNTER_MASK 0x0E00
01389 #define M88EC018_EPSCR_DOWNSHIFT_COUNTER_1X 0x0000
01390 #define M88EC018_EPSCR_DOWNSHIFT_COUNTER_2X 0x0200
01391 #define M88EC018_EPSCR_DOWNSHIFT_COUNTER_3X 0x0400
01392 #define M88EC018_EPSCR_DOWNSHIFT_COUNTER_4X 0x0600
01393 #define M88EC018_EPSCR_DOWNSHIFT_COUNTER_5X 0x0800
01394 #define M88EC018_EPSCR_DOWNSHIFT_COUNTER_6X 0x0A00
01395 #define M88EC018_EPSCR_DOWNSHIFT_COUNTER_7X 0x0C00
01396 #define M88EC018_EPSCR_DOWNSHIFT_COUNTER_8X 0x0E00
01397
01398
01399
01400
01401
01402
01403 #define GG82563_PAGE_SHIFT 5
01404 #define GG82563_REG(page, reg) \
01405 (((page) << GG82563_PAGE_SHIFT) | ((reg) & MAX_PHY_REG_ADDRESS))
01406 #define GG82563_MIN_ALT_REG 30
01407
01408
01409 #define GG82563_PHY_SPEC_CTRL \
01410 GG82563_REG(0, 16)
01411 #define GG82563_PHY_SPEC_STATUS \
01412 GG82563_REG(0, 17)
01413 #define GG82563_PHY_INT_ENABLE \
01414 GG82563_REG(0, 18)
01415 #define GG82563_PHY_SPEC_STATUS_2 \
01416 GG82563_REG(0, 19)
01417 #define GG82563_PHY_RX_ERR_CNTR \
01418 GG82563_REG(0, 21)
01419 #define GG82563_PHY_PAGE_SELECT \
01420 GG82563_REG(0, 22)
01421 #define GG82563_PHY_SPEC_CTRL_2 \
01422 GG82563_REG(0, 26)
01423 #define GG82563_PHY_PAGE_SELECT_ALT \
01424 GG82563_REG(0, 29)
01425 #define GG82563_PHY_TEST_CLK_CTRL \
01426 GG82563_REG(0, 30)
01427
01428 #define GG82563_PHY_MAC_SPEC_CTRL \
01429 GG82563_REG(2, 21)
01430 #define GG82563_PHY_MAC_SPEC_CTRL_2 \
01431 GG82563_REG(2, 26)
01432
01433 #define GG82563_PHY_DSP_DISTANCE \
01434 GG82563_REG(5, 26)
01435
01436
01437 #define GG82563_PHY_KMRN_MODE_CTRL \
01438 GG82563_REG(193, 16)
01439 #define GG82563_PHY_PORT_RESET \
01440 GG82563_REG(193, 17)
01441 #define GG82563_PHY_REVISION_ID \
01442 GG82563_REG(193, 18)
01443 #define GG82563_PHY_DEVICE_ID \
01444 GG82563_REG(193, 19)
01445 #define GG82563_PHY_PWR_MGMT_CTRL \
01446 GG82563_REG(193, 20)
01447 #define GG82563_PHY_RATE_ADAPT_CTRL \
01448 GG82563_REG(193, 25)
01449
01450
01451 #define GG82563_PHY_KMRN_FIFO_CTRL_STAT \
01452 GG82563_REG(194, 16)
01453 #define GG82563_PHY_KMRN_CTRL \
01454 GG82563_REG(194, 17)
01455 #define GG82563_PHY_INBAND_CTRL \
01456 GG82563_REG(194, 18)
01457 #define GG82563_PHY_KMRN_DIAGNOSTIC \
01458 GG82563_REG(194, 19)
01459 #define GG82563_PHY_ACK_TIMEOUTS \
01460 GG82563_REG(194, 20)
01461 #define GG82563_PHY_ADV_ABILITY \
01462 GG82563_REG(194, 21)
01463 #define GG82563_PHY_LINK_PARTNER_ADV_ABILITY \
01464 GG82563_REG(194, 23)
01465 #define GG82563_PHY_ADV_NEXT_PAGE \
01466 GG82563_REG(194, 24)
01467 #define GG82563_PHY_LINK_PARTNER_ADV_NEXT_PAGE \
01468 GG82563_REG(194, 25)
01469 #define GG82563_PHY_KMRN_MISC \
01470 GG82563_REG(194, 26)
01471
01472
01473 #define E1000_MDIC_DATA_MASK 0x0000FFFF
01474 #define E1000_MDIC_REG_MASK 0x001F0000
01475 #define E1000_MDIC_REG_SHIFT 16
01476 #define E1000_MDIC_PHY_MASK 0x03E00000
01477 #define E1000_MDIC_PHY_SHIFT 21
01478 #define E1000_MDIC_OP_WRITE 0x04000000
01479 #define E1000_MDIC_OP_READ 0x08000000
01480 #define E1000_MDIC_READY 0x10000000
01481 #define E1000_MDIC_INT_EN 0x20000000
01482 #define E1000_MDIC_ERROR 0x40000000
01483
01484
01485 #define E1000_GEN_CTL_READY 0x80000000
01486 #define E1000_GEN_CTL_ADDRESS_SHIFT 8
01487 #define E1000_GEN_POLL_TIMEOUT 640
01488
01489
01490 #define E1000_LSECTXCAP_SUM_MASK 0x00FF0000
01491 #define E1000_LSECTXCAP_SUM_SHIFT 16
01492 #define E1000_LSECRXCAP_SUM_MASK 0x00FF0000
01493 #define E1000_LSECRXCAP_SUM_SHIFT 16
01494
01495 #define E1000_LSECTXCTRL_EN_MASK 0x00000003
01496 #define E1000_LSECTXCTRL_DISABLE 0x0
01497 #define E1000_LSECTXCTRL_AUTH 0x1
01498 #define E1000_LSECTXCTRL_AUTH_ENCRYPT 0x2
01499 #define E1000_LSECTXCTRL_AISCI 0x00000020
01500 #define E1000_LSECTXCTRL_PNTHRSH_MASK 0xFFFFFF00
01501 #define E1000_LSECTXCTRL_RSV_MASK 0x000000D8
01502
01503 #define E1000_LSECRXCTRL_EN_MASK 0x0000000C
01504 #define E1000_LSECRXCTRL_EN_SHIFT 2
01505 #define E1000_LSECRXCTRL_DISABLE 0x0
01506 #define E1000_LSECRXCTRL_CHECK 0x1
01507 #define E1000_LSECRXCTRL_STRICT 0x2
01508 #define E1000_LSECRXCTRL_DROP 0x3
01509 #define E1000_LSECRXCTRL_PLSH 0x00000040
01510 #define E1000_LSECRXCTRL_RP 0x00000080
01511 #define E1000_LSECRXCTRL_RSV_MASK 0xFFFFFF33
01512
01513
01514
01515 #endif