Deleted Added
full compact
e1000_defines.h (194865) e1000_defines.h (200243)
1/******************************************************************************
2
3 Copyright (c) 2001-2009, Intel Corporation
4 All rights reserved.
5
6 Redistribution and use in source and binary forms, with or without
7 modification, are permitted provided that the following conditions are met:
8

--- 16 unchanged lines hidden (view full) ---

25 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 POSSIBILITY OF SUCH DAMAGE.
31
32******************************************************************************/
1/******************************************************************************
2
3 Copyright (c) 2001-2009, Intel Corporation
4 All rights reserved.
5
6 Redistribution and use in source and binary forms, with or without
7 modification, are permitted provided that the following conditions are met:
8

--- 16 unchanged lines hidden (view full) ---

25 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 POSSIBILITY OF SUCH DAMAGE.
31
32******************************************************************************/
33/*$FreeBSD: head/sys/dev/e1000/e1000_defines.h 194865 2009-06-24 17:41:29Z jfv $*/
33/*$FreeBSD: head/sys/dev/e1000/e1000_defines.h 200243 2009-12-08 01:07:44Z jfv $*/
34
35#ifndef _E1000_DEFINES_H_
36#define _E1000_DEFINES_H_
37
38/* Number of Transmit and Receive Descriptors must be a multiple of 8 */
39#define REQ_TX_DESCRIPTOR_MULTIPLE 8
40#define REQ_RX_DESCRIPTOR_MULTIPLE 8
41

--- 99 unchanged lines hidden (view full) ---

141#define E1000_CTRL_EXT_PHYINT_EN E1000_CTRL_EXT_GPI1_EN
142#define E1000_CTRL_EXT_GPI2_EN 0x00000004 /* Maps SDP6 to GPI2 */
143#define E1000_CTRL_EXT_GPI3_EN 0x00000008 /* Maps SDP7 to GPI3 */
144/* Reserved (bits 4,5) in >= 82575 */
145#define E1000_CTRL_EXT_SDP4_DATA 0x00000010 /* Value of SW Definable Pin 4 */
146#define E1000_CTRL_EXT_SDP5_DATA 0x00000020 /* Value of SW Definable Pin 5 */
147#define E1000_CTRL_EXT_PHY_INT E1000_CTRL_EXT_SDP5_DATA
148#define E1000_CTRL_EXT_SDP6_DATA 0x00000040 /* Value of SW Definable Pin 6 */
34
35#ifndef _E1000_DEFINES_H_
36#define _E1000_DEFINES_H_
37
38/* Number of Transmit and Receive Descriptors must be a multiple of 8 */
39#define REQ_TX_DESCRIPTOR_MULTIPLE 8
40#define REQ_RX_DESCRIPTOR_MULTIPLE 8
41

--- 99 unchanged lines hidden (view full) ---

141#define E1000_CTRL_EXT_PHYINT_EN E1000_CTRL_EXT_GPI1_EN
142#define E1000_CTRL_EXT_GPI2_EN 0x00000004 /* Maps SDP6 to GPI2 */
143#define E1000_CTRL_EXT_GPI3_EN 0x00000008 /* Maps SDP7 to GPI3 */
144/* Reserved (bits 4,5) in >= 82575 */
145#define E1000_CTRL_EXT_SDP4_DATA 0x00000010 /* Value of SW Definable Pin 4 */
146#define E1000_CTRL_EXT_SDP5_DATA 0x00000020 /* Value of SW Definable Pin 5 */
147#define E1000_CTRL_EXT_PHY_INT E1000_CTRL_EXT_SDP5_DATA
148#define E1000_CTRL_EXT_SDP6_DATA 0x00000040 /* Value of SW Definable Pin 6 */
149#define E1000_CTRL_EXT_SDP7_DATA 0x00000080 /* Value of SW Definable Pin 7 */
149#define E1000_CTRL_EXT_SDP3_DATA 0x00000080 /* Value of SW Definable Pin 3 */
150/* SDP 4/5 (bits 8,9) are reserved in >= 82575 */
151#define E1000_CTRL_EXT_SDP4_DIR 0x00000100 /* Direction of SDP4 0=in 1=out */
152#define E1000_CTRL_EXT_SDP5_DIR 0x00000200 /* Direction of SDP5 0=in 1=out */
153#define E1000_CTRL_EXT_SDP6_DIR 0x00000400 /* Direction of SDP6 0=in 1=out */
150/* SDP 4/5 (bits 8,9) are reserved in >= 82575 */
151#define E1000_CTRL_EXT_SDP4_DIR 0x00000100 /* Direction of SDP4 0=in 1=out */
152#define E1000_CTRL_EXT_SDP5_DIR 0x00000200 /* Direction of SDP5 0=in 1=out */
153#define E1000_CTRL_EXT_SDP6_DIR 0x00000400 /* Direction of SDP6 0=in 1=out */
154#define E1000_CTRL_EXT_SDP7_DIR 0x00000800 /* Direction of SDP7 0=in 1=out */
154#define E1000_CTRL_EXT_SDP3_DIR 0x00000800 /* Direction of SDP3 0=in 1=out */
155#define E1000_CTRL_EXT_ASDCHK 0x00001000 /* Initiate an ASD sequence */
156#define E1000_CTRL_EXT_EE_RST 0x00002000 /* Reinitialize from EEPROM */
157#define E1000_CTRL_EXT_IPS 0x00004000 /* Invert Power State */
158/* Physical Func Reset Done Indication */
159#define E1000_CTRL_EXT_PFRSTD 0x00004000
160#define E1000_CTRL_EXT_SPD_BYPS 0x00008000 /* Speed Select Bypass */
161#define E1000_CTRL_EXT_RO_DIS 0x00020000 /* Relaxed Ordering disable */
162#define E1000_CTRL_EXT_DMA_DYN_CLK_EN 0x00080000 /* DMA Dynamic Clock Gating */
163#define E1000_CTRL_EXT_LINK_MODE_MASK 0x00C00000
155#define E1000_CTRL_EXT_ASDCHK 0x00001000 /* Initiate an ASD sequence */
156#define E1000_CTRL_EXT_EE_RST 0x00002000 /* Reinitialize from EEPROM */
157#define E1000_CTRL_EXT_IPS 0x00004000 /* Invert Power State */
158/* Physical Func Reset Done Indication */
159#define E1000_CTRL_EXT_PFRSTD 0x00004000
160#define E1000_CTRL_EXT_SPD_BYPS 0x00008000 /* Speed Select Bypass */
161#define E1000_CTRL_EXT_RO_DIS 0x00020000 /* Relaxed Ordering disable */
162#define E1000_CTRL_EXT_DMA_DYN_CLK_EN 0x00080000 /* DMA Dynamic Clock Gating */
163#define E1000_CTRL_EXT_LINK_MODE_MASK 0x00C00000
164#define E1000_CTRL_EXT_LINK_MODE_82580_MASK 0x01C00000 /*82580 bit 24:22*/
165#define E1000_CTRL_EXT_LINK_MODE_1000BASE_KX 0x00400000
164#define E1000_CTRL_EXT_LINK_MODE_GMII 0x00000000
165#define E1000_CTRL_EXT_LINK_MODE_TBI 0x00C00000
166#define E1000_CTRL_EXT_LINK_MODE_KMRN 0x00000000
167#define E1000_CTRL_EXT_LINK_MODE_PCIE_SERDES 0x00C00000
168#define E1000_CTRL_EXT_LINK_MODE_PCIX_SERDES 0x00800000
169#define E1000_CTRL_EXT_LINK_MODE_SGMII 0x00800000
170#define E1000_CTRL_EXT_EIAME 0x01000000
171#define E1000_CTRL_EXT_IRCA 0x00000001

--- 209 unchanged lines hidden (view full) ---

381#define E1000_PSRCTL_BSIZE2_SHIFT 6 /* Shift _left_ 6 */
382#define E1000_PSRCTL_BSIZE3_SHIFT 14 /* Shift _left_ 14 */
383
384/* SWFW_SYNC Definitions */
385#define E1000_SWFW_EEP_SM 0x01
386#define E1000_SWFW_PHY0_SM 0x02
387#define E1000_SWFW_PHY1_SM 0x04
388#define E1000_SWFW_CSR_SM 0x08
166#define E1000_CTRL_EXT_LINK_MODE_GMII 0x00000000
167#define E1000_CTRL_EXT_LINK_MODE_TBI 0x00C00000
168#define E1000_CTRL_EXT_LINK_MODE_KMRN 0x00000000
169#define E1000_CTRL_EXT_LINK_MODE_PCIE_SERDES 0x00C00000
170#define E1000_CTRL_EXT_LINK_MODE_PCIX_SERDES 0x00800000
171#define E1000_CTRL_EXT_LINK_MODE_SGMII 0x00800000
172#define E1000_CTRL_EXT_EIAME 0x01000000
173#define E1000_CTRL_EXT_IRCA 0x00000001

--- 209 unchanged lines hidden (view full) ---

383#define E1000_PSRCTL_BSIZE2_SHIFT 6 /* Shift _left_ 6 */
384#define E1000_PSRCTL_BSIZE3_SHIFT 14 /* Shift _left_ 14 */
385
386/* SWFW_SYNC Definitions */
387#define E1000_SWFW_EEP_SM 0x01
388#define E1000_SWFW_PHY0_SM 0x02
389#define E1000_SWFW_PHY1_SM 0x04
390#define E1000_SWFW_CSR_SM 0x08
391#define E1000_SWFW_PHY2_SM 0x20
392#define E1000_SWFW_PHY3_SM 0x40
389
390/* FACTPS Definitions */
391#define E1000_FACTPS_LFS 0x40000000 /* LAN Function Select */
392/* Device Control */
393#define E1000_CTRL_FD 0x00000001 /* Full duplex.0=half; 1=full */
394#define E1000_CTRL_BEM 0x00000002 /* Endian Mode.0=little,1=big */
395#define E1000_CTRL_PRIOR 0x00000004 /* Priority on PCI. 0=rx,1=fair */
396#define E1000_CTRL_GIO_MASTER_DISABLE 0x00000004 /*Blocks new Master reqs */

--- 295 unchanged lines hidden (view full) ---

692#define ETHERNET_IEEE_VLAN_TYPE 0x8100 /* 802.3ac packet */
693
694#define ETHERNET_FCS_SIZE 4
695#define MAX_JUMBO_FRAME_SIZE 0x3F00
696
697/* Extended Configuration Control and Size */
698#define E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP 0x00000020
699#define E1000_EXTCNF_CTRL_LCD_WRITE_ENABLE 0x00000001
393
394/* FACTPS Definitions */
395#define E1000_FACTPS_LFS 0x40000000 /* LAN Function Select */
396/* Device Control */
397#define E1000_CTRL_FD 0x00000001 /* Full duplex.0=half; 1=full */
398#define E1000_CTRL_BEM 0x00000002 /* Endian Mode.0=little,1=big */
399#define E1000_CTRL_PRIOR 0x00000004 /* Priority on PCI. 0=rx,1=fair */
400#define E1000_CTRL_GIO_MASTER_DISABLE 0x00000004 /*Blocks new Master reqs */

--- 295 unchanged lines hidden (view full) ---

696#define ETHERNET_IEEE_VLAN_TYPE 0x8100 /* 802.3ac packet */
697
698#define ETHERNET_FCS_SIZE 4
699#define MAX_JUMBO_FRAME_SIZE 0x3F00
700
701/* Extended Configuration Control and Size */
702#define E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP 0x00000020
703#define E1000_EXTCNF_CTRL_LCD_WRITE_ENABLE 0x00000001
704#define E1000_EXTCNF_CTRL_OEM_WRITE_ENABLE 0x00000008
700#define E1000_EXTCNF_CTRL_SWFLAG 0x00000020
701#define E1000_EXTCNF_SIZE_EXT_PCIE_LENGTH_MASK 0x00FF0000
702#define E1000_EXTCNF_SIZE_EXT_PCIE_LENGTH_SHIFT 16
703#define E1000_EXTCNF_CTRL_EXT_CNF_POINTER_MASK 0x0FFF0000
704#define E1000_EXTCNF_CTRL_EXT_CNF_POINTER_SHIFT 16
705
706#define E1000_PHY_CTRL_SPD_EN 0x00000001
707#define E1000_PHY_CTRL_D0A_LPLU 0x00000002

--- 56 unchanged lines hidden (view full) ---

764#define E1000_ICR_GPI_EN1 0x00001000 /* GP Int 1 */
765#define E1000_ICR_GPI_EN2 0x00002000 /* GP Int 2 */
766#define E1000_ICR_GPI_EN3 0x00004000 /* GP Int 3 */
767#define E1000_ICR_TXD_LOW 0x00008000
768#define E1000_ICR_SRPD 0x00010000
769#define E1000_ICR_ACK 0x00020000 /* Receive Ack frame */
770#define E1000_ICR_MNG 0x00040000 /* Manageability event */
771#define E1000_ICR_DOCK 0x00080000 /* Dock/Undock */
705#define E1000_EXTCNF_CTRL_SWFLAG 0x00000020
706#define E1000_EXTCNF_SIZE_EXT_PCIE_LENGTH_MASK 0x00FF0000
707#define E1000_EXTCNF_SIZE_EXT_PCIE_LENGTH_SHIFT 16
708#define E1000_EXTCNF_CTRL_EXT_CNF_POINTER_MASK 0x0FFF0000
709#define E1000_EXTCNF_CTRL_EXT_CNF_POINTER_SHIFT 16
710
711#define E1000_PHY_CTRL_SPD_EN 0x00000001
712#define E1000_PHY_CTRL_D0A_LPLU 0x00000002

--- 56 unchanged lines hidden (view full) ---

769#define E1000_ICR_GPI_EN1 0x00001000 /* GP Int 1 */
770#define E1000_ICR_GPI_EN2 0x00002000 /* GP Int 2 */
771#define E1000_ICR_GPI_EN3 0x00004000 /* GP Int 3 */
772#define E1000_ICR_TXD_LOW 0x00008000
773#define E1000_ICR_SRPD 0x00010000
774#define E1000_ICR_ACK 0x00020000 /* Receive Ack frame */
775#define E1000_ICR_MNG 0x00040000 /* Manageability event */
776#define E1000_ICR_DOCK 0x00080000 /* Dock/Undock */
777#define E1000_ICR_DRSTA 0x40000000 /* Device Reset Asserted */
772#define E1000_ICR_INT_ASSERTED 0x80000000 /* If this bit asserted, the driver
773 * should claim the interrupt */
774#define E1000_ICR_RXD_FIFO_PAR0 0x00100000 /* Q0 Rx desc FIFO parity error */
775#define E1000_ICR_TXD_FIFO_PAR0 0x00200000 /* Q0 Tx desc FIFO parity error */
776#define E1000_ICR_HOST_ARB_PAR 0x00400000 /* host arb read buffer parity err */
777#define E1000_ICR_PB_PAR 0x00800000 /* packet buffer parity error */
778#define E1000_ICR_RXD_FIFO_PAR1 0x01000000 /* Q1 Rx desc FIFO parity error */
779#define E1000_ICR_TXD_FIFO_PAR1 0x02000000 /* Q1 Tx desc FIFO parity error */

--- 4 unchanged lines hidden (view full) ---

784 * an interrupt */
785#define E1000_ICR_DOUTSYNC 0x10000000 /* NIC DMA out of sync */
786#define E1000_ICR_EPRST 0x00100000 /* ME hardware reset occurs */
787#define E1000_ICR_RXQ0 0x00100000 /* Rx Queue 0 Interrupt */
788#define E1000_ICR_RXQ1 0x00200000 /* Rx Queue 1 Interrupt */
789#define E1000_ICR_TXQ0 0x00400000 /* Tx Queue 0 Interrupt */
790#define E1000_ICR_TXQ1 0x00800000 /* Tx Queue 1 Interrupt */
791#define E1000_ICR_OTHER 0x01000000 /* Other Interrupts */
778#define E1000_ICR_INT_ASSERTED 0x80000000 /* If this bit asserted, the driver
779 * should claim the interrupt */
780#define E1000_ICR_RXD_FIFO_PAR0 0x00100000 /* Q0 Rx desc FIFO parity error */
781#define E1000_ICR_TXD_FIFO_PAR0 0x00200000 /* Q0 Tx desc FIFO parity error */
782#define E1000_ICR_HOST_ARB_PAR 0x00400000 /* host arb read buffer parity err */
783#define E1000_ICR_PB_PAR 0x00800000 /* packet buffer parity error */
784#define E1000_ICR_RXD_FIFO_PAR1 0x01000000 /* Q1 Rx desc FIFO parity error */
785#define E1000_ICR_TXD_FIFO_PAR1 0x02000000 /* Q1 Tx desc FIFO parity error */

--- 4 unchanged lines hidden (view full) ---

790 * an interrupt */
791#define E1000_ICR_DOUTSYNC 0x10000000 /* NIC DMA out of sync */
792#define E1000_ICR_EPRST 0x00100000 /* ME hardware reset occurs */
793#define E1000_ICR_RXQ0 0x00100000 /* Rx Queue 0 Interrupt */
794#define E1000_ICR_RXQ1 0x00200000 /* Rx Queue 1 Interrupt */
795#define E1000_ICR_TXQ0 0x00400000 /* Tx Queue 0 Interrupt */
796#define E1000_ICR_TXQ1 0x00800000 /* Tx Queue 1 Interrupt */
797#define E1000_ICR_OTHER 0x01000000 /* Other Interrupts */
798#define E1000_ICR_FER 0x00400000 /* Fatal Error */
792
793/* PBA ECC Register */
794#define E1000_PBA_ECC_COUNTER_MASK 0xFFF00000 /* ECC counter mask */
795#define E1000_PBA_ECC_COUNTER_SHIFT 20 /* ECC counter shift value */
796#define E1000_PBA_ECC_CORR_EN 0x00000001 /* Enable ECC error correction */
797#define E1000_PBA_ECC_STAT_CLR 0x00000002 /* Clear ECC error counter */
798#define E1000_PBA_ECC_INT_EN 0x00000004 /* Enable ICR bit 5 on ECC error */
799

--- 55 unchanged lines hidden (view full) ---

855#define E1000_IMS_GPI_EN1 E1000_ICR_GPI_EN1 /* GP Int 1 */
856#define E1000_IMS_GPI_EN2 E1000_ICR_GPI_EN2 /* GP Int 2 */
857#define E1000_IMS_GPI_EN3 E1000_ICR_GPI_EN3 /* GP Int 3 */
858#define E1000_IMS_TXD_LOW E1000_ICR_TXD_LOW
859#define E1000_IMS_SRPD E1000_ICR_SRPD
860#define E1000_IMS_ACK E1000_ICR_ACK /* Receive Ack frame */
861#define E1000_IMS_MNG E1000_ICR_MNG /* Manageability event */
862#define E1000_IMS_DOCK E1000_ICR_DOCK /* Dock/Undock */
799
800/* PBA ECC Register */
801#define E1000_PBA_ECC_COUNTER_MASK 0xFFF00000 /* ECC counter mask */
802#define E1000_PBA_ECC_COUNTER_SHIFT 20 /* ECC counter shift value */
803#define E1000_PBA_ECC_CORR_EN 0x00000001 /* Enable ECC error correction */
804#define E1000_PBA_ECC_STAT_CLR 0x00000002 /* Clear ECC error counter */
805#define E1000_PBA_ECC_INT_EN 0x00000004 /* Enable ICR bit 5 on ECC error */
806

--- 55 unchanged lines hidden (view full) ---

862#define E1000_IMS_GPI_EN1 E1000_ICR_GPI_EN1 /* GP Int 1 */
863#define E1000_IMS_GPI_EN2 E1000_ICR_GPI_EN2 /* GP Int 2 */
864#define E1000_IMS_GPI_EN3 E1000_ICR_GPI_EN3 /* GP Int 3 */
865#define E1000_IMS_TXD_LOW E1000_ICR_TXD_LOW
866#define E1000_IMS_SRPD E1000_ICR_SRPD
867#define E1000_IMS_ACK E1000_ICR_ACK /* Receive Ack frame */
868#define E1000_IMS_MNG E1000_ICR_MNG /* Manageability event */
869#define E1000_IMS_DOCK E1000_ICR_DOCK /* Dock/Undock */
870#define E1000_IMS_DRSTA E1000_ICR_DRSTA /* Device Reset Asserted */
863#define E1000_IMS_RXD_FIFO_PAR0 E1000_ICR_RXD_FIFO_PAR0 /* Q0 Rx desc FIFO
864 * parity error */
865#define E1000_IMS_TXD_FIFO_PAR0 E1000_ICR_TXD_FIFO_PAR0 /* Q0 Tx desc FIFO
866 * parity error */
867#define E1000_IMS_HOST_ARB_PAR E1000_ICR_HOST_ARB_PAR /* host arb read buffer
868 * parity error */
869#define E1000_IMS_PB_PAR E1000_ICR_PB_PAR /* packet buffer parity
870 * error */

--- 5 unchanged lines hidden (view full) ---

876#define E1000_IMS_PHYINT E1000_ICR_PHYINT
877#define E1000_IMS_DOUTSYNC E1000_ICR_DOUTSYNC /* NIC DMA out of sync */
878#define E1000_IMS_EPRST E1000_ICR_EPRST
879#define E1000_IMS_RXQ0 E1000_ICR_RXQ0 /* Rx Queue 0 Interrupt */
880#define E1000_IMS_RXQ1 E1000_ICR_RXQ1 /* Rx Queue 1 Interrupt */
881#define E1000_IMS_TXQ0 E1000_ICR_TXQ0 /* Tx Queue 0 Interrupt */
882#define E1000_IMS_TXQ1 E1000_ICR_TXQ1 /* Tx Queue 1 Interrupt */
883#define E1000_IMS_OTHER E1000_ICR_OTHER /* Other Interrupts */
871#define E1000_IMS_RXD_FIFO_PAR0 E1000_ICR_RXD_FIFO_PAR0 /* Q0 Rx desc FIFO
872 * parity error */
873#define E1000_IMS_TXD_FIFO_PAR0 E1000_ICR_TXD_FIFO_PAR0 /* Q0 Tx desc FIFO
874 * parity error */
875#define E1000_IMS_HOST_ARB_PAR E1000_ICR_HOST_ARB_PAR /* host arb read buffer
876 * parity error */
877#define E1000_IMS_PB_PAR E1000_ICR_PB_PAR /* packet buffer parity
878 * error */

--- 5 unchanged lines hidden (view full) ---

884#define E1000_IMS_PHYINT E1000_ICR_PHYINT
885#define E1000_IMS_DOUTSYNC E1000_ICR_DOUTSYNC /* NIC DMA out of sync */
886#define E1000_IMS_EPRST E1000_ICR_EPRST
887#define E1000_IMS_RXQ0 E1000_ICR_RXQ0 /* Rx Queue 0 Interrupt */
888#define E1000_IMS_RXQ1 E1000_ICR_RXQ1 /* Rx Queue 1 Interrupt */
889#define E1000_IMS_TXQ0 E1000_ICR_TXQ0 /* Tx Queue 0 Interrupt */
890#define E1000_IMS_TXQ1 E1000_ICR_TXQ1 /* Tx Queue 1 Interrupt */
891#define E1000_IMS_OTHER E1000_ICR_OTHER /* Other Interrupts */
892#define E1000_IMS_FER E1000_ICR_FER /* Fatal Error */
884
885/* Extended Interrupt Mask Set */
886#define E1000_EIMS_RX_QUEUE0 E1000_EICR_RX_QUEUE0 /* Rx Queue 0 Interrupt */
887#define E1000_EIMS_RX_QUEUE1 E1000_EICR_RX_QUEUE1 /* Rx Queue 1 Interrupt */
888#define E1000_EIMS_RX_QUEUE2 E1000_EICR_RX_QUEUE2 /* Rx Queue 2 Interrupt */
889#define E1000_EIMS_RX_QUEUE3 E1000_EICR_RX_QUEUE3 /* Rx Queue 3 Interrupt */
890#define E1000_EIMS_TX_QUEUE0 E1000_EICR_TX_QUEUE0 /* Tx Queue 0 Interrupt */
891#define E1000_EIMS_TX_QUEUE1 E1000_EICR_TX_QUEUE1 /* Tx Queue 1 Interrupt */

--- 16 unchanged lines hidden (view full) ---

908#define E1000_ICS_GPI_EN1 E1000_ICR_GPI_EN1 /* GP Int 1 */
909#define E1000_ICS_GPI_EN2 E1000_ICR_GPI_EN2 /* GP Int 2 */
910#define E1000_ICS_GPI_EN3 E1000_ICR_GPI_EN3 /* GP Int 3 */
911#define E1000_ICS_TXD_LOW E1000_ICR_TXD_LOW
912#define E1000_ICS_SRPD E1000_ICR_SRPD
913#define E1000_ICS_ACK E1000_ICR_ACK /* Receive Ack frame */
914#define E1000_ICS_MNG E1000_ICR_MNG /* Manageability event */
915#define E1000_ICS_DOCK E1000_ICR_DOCK /* Dock/Undock */
893
894/* Extended Interrupt Mask Set */
895#define E1000_EIMS_RX_QUEUE0 E1000_EICR_RX_QUEUE0 /* Rx Queue 0 Interrupt */
896#define E1000_EIMS_RX_QUEUE1 E1000_EICR_RX_QUEUE1 /* Rx Queue 1 Interrupt */
897#define E1000_EIMS_RX_QUEUE2 E1000_EICR_RX_QUEUE2 /* Rx Queue 2 Interrupt */
898#define E1000_EIMS_RX_QUEUE3 E1000_EICR_RX_QUEUE3 /* Rx Queue 3 Interrupt */
899#define E1000_EIMS_TX_QUEUE0 E1000_EICR_TX_QUEUE0 /* Tx Queue 0 Interrupt */
900#define E1000_EIMS_TX_QUEUE1 E1000_EICR_TX_QUEUE1 /* Tx Queue 1 Interrupt */

--- 16 unchanged lines hidden (view full) ---

917#define E1000_ICS_GPI_EN1 E1000_ICR_GPI_EN1 /* GP Int 1 */
918#define E1000_ICS_GPI_EN2 E1000_ICR_GPI_EN2 /* GP Int 2 */
919#define E1000_ICS_GPI_EN3 E1000_ICR_GPI_EN3 /* GP Int 3 */
920#define E1000_ICS_TXD_LOW E1000_ICR_TXD_LOW
921#define E1000_ICS_SRPD E1000_ICR_SRPD
922#define E1000_ICS_ACK E1000_ICR_ACK /* Receive Ack frame */
923#define E1000_ICS_MNG E1000_ICR_MNG /* Manageability event */
924#define E1000_ICS_DOCK E1000_ICR_DOCK /* Dock/Undock */
925#define E1000_ICS_DRSTA E1000_ICR_DRSTA /* Device Reset Aserted */
916#define E1000_ICS_RXD_FIFO_PAR0 E1000_ICR_RXD_FIFO_PAR0 /* Q0 Rx desc FIFO
917 * parity error */
918#define E1000_ICS_TXD_FIFO_PAR0 E1000_ICR_TXD_FIFO_PAR0 /* Q0 Tx desc FIFO
919 * parity error */
920#define E1000_ICS_HOST_ARB_PAR E1000_ICR_HOST_ARB_PAR /* host arb read buffer
921 * parity error */
922#define E1000_ICS_PB_PAR E1000_ICR_PB_PAR /* packet buffer parity
923 * error */

--- 65 unchanged lines hidden (view full) ---

989#define E1000_ERR_PHY_TYPE 6
990#define E1000_ERR_RESET 9
991#define E1000_ERR_MASTER_REQUESTS_PENDING 10
992#define E1000_ERR_HOST_INTERFACE_COMMAND 11
993#define E1000_BLK_PHY_RESET 12
994#define E1000_ERR_SWFW_SYNC 13
995#define E1000_NOT_IMPLEMENTED 14
996#define E1000_ERR_MBX 15
926#define E1000_ICS_RXD_FIFO_PAR0 E1000_ICR_RXD_FIFO_PAR0 /* Q0 Rx desc FIFO
927 * parity error */
928#define E1000_ICS_TXD_FIFO_PAR0 E1000_ICR_TXD_FIFO_PAR0 /* Q0 Tx desc FIFO
929 * parity error */
930#define E1000_ICS_HOST_ARB_PAR E1000_ICR_HOST_ARB_PAR /* host arb read buffer
931 * parity error */
932#define E1000_ICS_PB_PAR E1000_ICR_PB_PAR /* packet buffer parity
933 * error */

--- 65 unchanged lines hidden (view full) ---

999#define E1000_ERR_PHY_TYPE 6
1000#define E1000_ERR_RESET 9
1001#define E1000_ERR_MASTER_REQUESTS_PENDING 10
1002#define E1000_ERR_HOST_INTERFACE_COMMAND 11
1003#define E1000_BLK_PHY_RESET 12
1004#define E1000_ERR_SWFW_SYNC 13
1005#define E1000_NOT_IMPLEMENTED 14
1006#define E1000_ERR_MBX 15
1007#define E1000_ERFUSE_FAILURE 16
997
998/* Loop limit on how long we wait for auto-negotiation to complete */
999#define FIBER_LINK_UP_LIMIT 50
1000#define COPPER_LINK_UP_LIMIT 10
1001#define PHY_AUTO_NEG_LIMIT 45
1002#define PHY_FORCE_LIMIT 20
1003/* Number of 100 microseconds we wait for PCI Express master disable */
1004#define MASTER_DISABLE_TIMEOUT 800

--- 26 unchanged lines hidden (view full) ---

1031#define E1000_RXCW_CW 0x0000ffff /* RxConfigWord mask */
1032#define E1000_RXCW_NC 0x04000000 /* Receive config no carrier */
1033#define E1000_RXCW_IV 0x08000000 /* Receive config invalid */
1034#define E1000_RXCW_CC 0x10000000 /* Receive config change */
1035#define E1000_RXCW_C 0x20000000 /* Receive config */
1036#define E1000_RXCW_SYNCH 0x40000000 /* Receive config synch */
1037#define E1000_RXCW_ANC 0x80000000 /* Auto-neg complete */
1038
1008
1009/* Loop limit on how long we wait for auto-negotiation to complete */
1010#define FIBER_LINK_UP_LIMIT 50
1011#define COPPER_LINK_UP_LIMIT 10
1012#define PHY_AUTO_NEG_LIMIT 45
1013#define PHY_FORCE_LIMIT 20
1014/* Number of 100 microseconds we wait for PCI Express master disable */
1015#define MASTER_DISABLE_TIMEOUT 800

--- 26 unchanged lines hidden (view full) ---

1042#define E1000_RXCW_CW 0x0000ffff /* RxConfigWord mask */
1043#define E1000_RXCW_NC 0x04000000 /* Receive config no carrier */
1044#define E1000_RXCW_IV 0x08000000 /* Receive config invalid */
1045#define E1000_RXCW_CC 0x10000000 /* Receive config change */
1046#define E1000_RXCW_C 0x20000000 /* Receive config */
1047#define E1000_RXCW_SYNCH 0x40000000 /* Receive config synch */
1048#define E1000_RXCW_ANC 0x80000000 /* Auto-neg complete */
1049
1050#define E1000_TSYNCTXCTL_VALID 0x00000001 /* tx timestamp valid */
1051#define E1000_TSYNCTXCTL_ENABLED 0x00000010 /* enable tx timestampping */
1039
1052
1053#define E1000_TSYNCRXCTL_VALID 0x00000001 /* rx timestamp valid */
1054#define E1000_TSYNCRXCTL_TYPE_MASK 0x0000000E /* rx type mask */
1055#define E1000_TSYNCRXCTL_TYPE_L2_V2 0x00
1056#define E1000_TSYNCRXCTL_TYPE_L4_V1 0x02
1057#define E1000_TSYNCRXCTL_TYPE_L2_L4_V2 0x04
1058#define E1000_TSYNCRXCTL_TYPE_ALL 0x08
1059#define E1000_TSYNCRXCTL_TYPE_EVENT_V2 0x0A
1060#define E1000_TSYNCRXCTL_ENABLED 0x00000010 /* enable rx timestampping */
1061
1062#define E1000_TSYNCRXCFG_PTP_V1_CTRLT_MASK 0x000000FF
1063#define E1000_TSYNCRXCFG_PTP_V1_SYNC_MESSAGE 0x00
1064#define E1000_TSYNCRXCFG_PTP_V1_DELAY_REQ_MESSAGE 0x01
1065#define E1000_TSYNCRXCFG_PTP_V1_FOLLOWUP_MESSAGE 0x02
1066#define E1000_TSYNCRXCFG_PTP_V1_DELAY_RESP_MESSAGE 0x03
1067#define E1000_TSYNCRXCFG_PTP_V1_MANAGEMENT_MESSAGE 0x04
1068
1069#define E1000_TSYNCRXCFG_PTP_V2_MSGID_MASK 0x00000F00
1070#define E1000_TSYNCRXCFG_PTP_V2_SYNC_MESSAGE 0x0000
1071#define E1000_TSYNCRXCFG_PTP_V2_DELAY_REQ_MESSAGE 0x0100
1072#define E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_REQ_MESSAGE 0x0200
1073#define E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_RESP_MESSAGE 0x0300
1074#define E1000_TSYNCRXCFG_PTP_V2_FOLLOWUP_MESSAGE 0x0800
1075#define E1000_TSYNCRXCFG_PTP_V2_DELAY_RESP_MESSAGE 0x0900
1076#define E1000_TSYNCRXCFG_PTP_V2_PATH_DELAY_FOLLOWUP_MESSAGE 0x0A00
1077#define E1000_TSYNCRXCFG_PTP_V2_ANNOUNCE_MESSAGE 0x0B00
1078#define E1000_TSYNCRXCFG_PTP_V2_SIGNALLING_MESSAGE 0x0C00
1079#define E1000_TSYNCRXCFG_PTP_V2_MANAGEMENT_MESSAGE 0x0D00
1080
1081#define E1000_TIMINCA_16NS_SHIFT 24
1082/* TUPLE Filtering Configuration */
1083#define E1000_TTQF_DISABLE_MASK 0xF0008000 /* TTQF Disable Mask */
1084#define E1000_TTQF_QUEUE_ENABLE 0x100 /* TTQF Queue Enable Bit */
1085#define E1000_TTQF_PROTOCOL_MASK 0xFF /* TTQF Protocol Mask */
1086/* TTQF TCP Bit, shift with E1000_TTQF_PROTOCOL SHIFT */
1087#define E1000_TTQF_PROTOCOL_TCP 0x0
1088/* TTQF UDP Bit, shift with E1000_TTQF_PROTOCOL_SHIFT */
1089#define E1000_TTQF_PROTOCOL_UDP 0x1
1090/* TTQF SCTP Bit, shift with E1000_TTQF_PROTOCOL_SHIFT */
1091#define E1000_TTQF_PROTOCOL_SCTP 0x2
1092#define E1000_TTQF_PROTOCOL_SHIFT 5 /* TTQF Protocol Shift */
1093#define E1000_TTQF_QUEUE_SHIFT 16 /* TTQF Queue Shfit */
1094#define E1000_TTQF_RX_QUEUE_MASK 0x70000 /* TTQF Queue Mask */
1095#define E1000_TTQF_MASK_ENABLE 0x10000000 /* TTQF Mask Enable Bit */
1096#define E1000_IMIR_CLEAR_MASK 0xF001FFFF /* IMIR Reg Clear Mask */
1097#define E1000_IMIR_PORT_BYPASS 0x20000 /* IMIR Port Bypass Bit */
1098#define E1000_IMIR_PRIORITY_SHIFT 29 /* IMIR Priority Shift */
1099#define E1000_IMIREXT_CLEAR_MASK 0x7FFFF /* IMIREXT Reg Clear Mask */
1100
1040/* PCI Express Control */
1041#define E1000_GCR_RXD_NO_SNOOP 0x00000001
1042#define E1000_GCR_RXDSCW_NO_SNOOP 0x00000002
1043#define E1000_GCR_RXDSCR_NO_SNOOP 0x00000004
1044#define E1000_GCR_TXD_NO_SNOOP 0x00000008
1045#define E1000_GCR_TXDSCW_NO_SNOOP 0x00000010
1046#define E1000_GCR_TXDSCR_NO_SNOOP 0x00000020
1047#define E1000_GCR_CMPL_TMOUT_MASK 0x0000F000

--- 174 unchanged lines hidden (view full) ---

1222#define NVM_INIT_CONTROL3_PORT_A 0x0024
1223#define NVM_CFG 0x0012
1224#define NVM_FLASH_VERSION 0x0032
1225#define NVM_ALT_MAC_ADDR_PTR 0x0037
1226#define NVM_CHECKSUM_REG 0x003F
1227
1228#define E1000_NVM_CFG_DONE_PORT_0 0x040000 /* MNG config cycle done */
1229#define E1000_NVM_CFG_DONE_PORT_1 0x080000 /* ...for second port */
1101/* PCI Express Control */
1102#define E1000_GCR_RXD_NO_SNOOP 0x00000001
1103#define E1000_GCR_RXDSCW_NO_SNOOP 0x00000002
1104#define E1000_GCR_RXDSCR_NO_SNOOP 0x00000004
1105#define E1000_GCR_TXD_NO_SNOOP 0x00000008
1106#define E1000_GCR_TXDSCW_NO_SNOOP 0x00000010
1107#define E1000_GCR_TXDSCR_NO_SNOOP 0x00000020
1108#define E1000_GCR_CMPL_TMOUT_MASK 0x0000F000

--- 174 unchanged lines hidden (view full) ---

1283#define NVM_INIT_CONTROL3_PORT_A 0x0024
1284#define NVM_CFG 0x0012
1285#define NVM_FLASH_VERSION 0x0032
1286#define NVM_ALT_MAC_ADDR_PTR 0x0037
1287#define NVM_CHECKSUM_REG 0x003F
1288
1289#define E1000_NVM_CFG_DONE_PORT_0 0x040000 /* MNG config cycle done */
1290#define E1000_NVM_CFG_DONE_PORT_1 0x080000 /* ...for second port */
1291#define E1000_NVM_CFG_DONE_PORT_2 0x100000 /* ...for third port */
1292#define E1000_NVM_CFG_DONE_PORT_3 0x200000 /* ...for fourth port */
1230
1293
1294#define NVM_82580_LAN_FUNC_OFFSET(a) (a ? (0x40 + (0x40 * a)) : 0)
1295
1231/* Mask bits for fields in Word 0x0f of the NVM */
1232#define NVM_WORD0F_PAUSE_MASK 0x3000
1233#define NVM_WORD0F_PAUSE 0x1000
1234#define NVM_WORD0F_ASM_DIR 0x2000
1235#define NVM_WORD0F_ANE 0x0800
1236#define NVM_WORD0F_SWPDIO_EXT_MASK 0x00F0
1237#define NVM_WORD0F_LPLU 0x0001
1238

--- 102 unchanged lines hidden (view full) ---

1341#define IGP03E1000_E_PHY_ID 0x02A80390
1342#define IFE_E_PHY_ID 0x02A80330
1343#define IFE_PLUS_E_PHY_ID 0x02A80320
1344#define IFE_C_E_PHY_ID 0x02A80310
1345#define BME1000_E_PHY_ID 0x01410CB0
1346#define BME1000_E_PHY_ID_R2 0x01410CB1
1347#define I82577_E_PHY_ID 0x01540050
1348#define I82578_E_PHY_ID 0x004DD040
1296/* Mask bits for fields in Word 0x0f of the NVM */
1297#define NVM_WORD0F_PAUSE_MASK 0x3000
1298#define NVM_WORD0F_PAUSE 0x1000
1299#define NVM_WORD0F_ASM_DIR 0x2000
1300#define NVM_WORD0F_ANE 0x0800
1301#define NVM_WORD0F_SWPDIO_EXT_MASK 0x00F0
1302#define NVM_WORD0F_LPLU 0x0001
1303

--- 102 unchanged lines hidden (view full) ---

1406#define IGP03E1000_E_PHY_ID 0x02A80390
1407#define IFE_E_PHY_ID 0x02A80330
1408#define IFE_PLUS_E_PHY_ID 0x02A80320
1409#define IFE_C_E_PHY_ID 0x02A80310
1410#define BME1000_E_PHY_ID 0x01410CB0
1411#define BME1000_E_PHY_ID_R2 0x01410CB1
1412#define I82577_E_PHY_ID 0x01540050
1413#define I82578_E_PHY_ID 0x004DD040
1414#define I82580_I_PHY_ID 0x015403A0
1349#define IGP04E1000_E_PHY_ID 0x02A80391
1350#define M88_VENDOR 0x0141
1351
1352/* M88E1000 Specific Registers */
1353#define M88E1000_PHY_SPEC_CTRL 0x10 /* PHY Specific Control Register */
1354#define M88E1000_PHY_SPEC_STATUS 0x11 /* PHY Specific Status Register */
1355#define M88E1000_INT_ENABLE 0x12 /* Interrupt Enable Register */
1356#define M88E1000_INT_STATUS 0x13 /* Interrupt Status Register */

--- 213 unchanged lines hidden (view full) ---

1570#define E1000_LSECRXCTRL_CHECK 0x1
1571#define E1000_LSECRXCTRL_STRICT 0x2
1572#define E1000_LSECRXCTRL_DROP 0x3
1573#define E1000_LSECRXCTRL_PLSH 0x00000040
1574#define E1000_LSECRXCTRL_RP 0x00000080
1575#define E1000_LSECRXCTRL_RSV_MASK 0xFFFFFF33
1576
1577
1415#define IGP04E1000_E_PHY_ID 0x02A80391
1416#define M88_VENDOR 0x0141
1417
1418/* M88E1000 Specific Registers */
1419#define M88E1000_PHY_SPEC_CTRL 0x10 /* PHY Specific Control Register */
1420#define M88E1000_PHY_SPEC_STATUS 0x11 /* PHY Specific Status Register */
1421#define M88E1000_INT_ENABLE 0x12 /* Interrupt Enable Register */
1422#define M88E1000_INT_STATUS 0x13 /* Interrupt Status Register */

--- 213 unchanged lines hidden (view full) ---

1636#define E1000_LSECRXCTRL_CHECK 0x1
1637#define E1000_LSECRXCTRL_STRICT 0x2
1638#define E1000_LSECRXCTRL_DROP 0x3
1639#define E1000_LSECRXCTRL_PLSH 0x00000040
1640#define E1000_LSECRXCTRL_RP 0x00000080
1641#define E1000_LSECRXCTRL_RSV_MASK 0xFFFFFF33
1642
1643
1644/* DMA Coalescing register fields */
1645#define E1000_DMACR_DMACWT_MASK 0x00003FFF /* DMA Coalescing
1646 * Watchdog Timer */
1647#define E1000_DMACR_DMACTHR_MASK 0x00FF0000 /* DMA Coalescing Receive
1648 * Threshold */
1649#define E1000_DMACR_DMACTHR_SHIFT 16
1650#define E1000_DMACR_DMAC_LX_MASK 0x30000000 /* Lx when no PCIe
1651 * transactions */
1652#define E1000_DMACR_DMAC_LX_SHIFT 28
1653#define E1000_DMACR_DMAC_EN 0x80000000 /* Enable DMA Coalescing */
1578
1654
1655#define E1000_DMCTXTH_DMCTTHR_MASK 0x00000FFF /* DMA Coalescing Transmit
1656 * Threshold */
1657
1658#define E1000_DMCTLX_TTLX_MASK 0x00000FFF /* Time to LX request */
1659
1660#define E1000_DMCRTRH_UTRESH_MASK 0x0007FFFF /* Receive Traffic Rate
1661 * Threshold */
1662#define E1000_DMCRTRH_LRPRCW 0x80000000 /* Rcv packet rate in
1663 * current window */
1664
1665#define E1000_DMCCNT_CCOUNT_MASK 0x01FFFFFF /* DMA Coal Rcv Traffic
1666 * Current Cnt */
1667
1668#define E1000_FCRTC_RTH_COAL_MASK 0x0003FFF0 /* Flow ctrl Rcv Threshold
1669 * High val */
1670#define E1000_FCRTC_RTH_COAL_SHIFT 4
1671#define E1000_PCIEMISC_LX_DECISION 0x00000080 /* Lx power decision based
1672 on DMA coal */
1673
1579#endif /* _E1000_DEFINES_H_ */
1674#endif /* _E1000_DEFINES_H_ */