Module Name: src
Committed By: msaitoh
Date: Fri Aug 29 12:14:30 UTC 2014
Modified Files:
src/sys/dev/pci: if_wm.c if_wmreg.h
Log Message:
No binary change:
- Move some NVM related macros fromk if_wm.c to if_wmreg.h.
- Rename some macros for consistency.
To generate a diff of this commit:
cvs rdiff -u -r1.292 -r1.293 src/sys/dev/pci/if_wm.c
cvs rdiff -u -r1.60 -r1.61 src/sys/dev/pci/if_wmreg.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/if_wm.c
diff -u src/sys/dev/pci/if_wm.c:1.292 src/sys/dev/pci/if_wm.c:1.293
--- src/sys/dev/pci/if_wm.c:1.292 Thu Aug 28 16:22:59 2014
+++ src/sys/dev/pci/if_wm.c Fri Aug 29 12:14:29 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: if_wm.c,v 1.292 2014/08/28 16:22:59 msaitoh Exp $ */
+/* $NetBSD: if_wm.c,v 1.293 2014/08/29 12:14:29 msaitoh Exp $ */
/*
* Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc.
@@ -82,7 +82,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.292 2014/08/28 16:22:59 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.293 2014/08/29 12:14:29 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -1856,7 +1856,7 @@ wm_attach(device_t parent, device_t self
KASSERT(prop_object_type(pn) == PROP_TYPE_NUMBER);
cfg1 = (uint16_t) prop_number_integer_value(pn);
} else {
- if (wm_nvm_read(sc, EEPROM_OFF_CFG1, 1, &cfg1)) {
+ if (wm_nvm_read(sc, NVM_OFF_CFG1, 1, &cfg1)) {
aprint_error_dev(sc->sc_dev, "unable to read CFG1\n");
goto fail_5;
}
@@ -1867,7 +1867,7 @@ wm_attach(device_t parent, device_t self
KASSERT(prop_object_type(pn) == PROP_TYPE_NUMBER);
cfg2 = (uint16_t) prop_number_integer_value(pn);
} else {
- if (wm_nvm_read(sc, EEPROM_OFF_CFG2, 1, &cfg2)) {
+ if (wm_nvm_read(sc, NVM_OFF_CFG2, 1, &cfg2)) {
aprint_error_dev(sc->sc_dev, "unable to read CFG2\n");
goto fail_5;
}
@@ -1880,10 +1880,10 @@ wm_attach(device_t parent, device_t self
case WM_T_82543:
/* dummy? */
eeprom_data = 0;
- apme_mask = EEPROM_CFG3_APME;
+ apme_mask = NVM_CFG3_APME;
break;
case WM_T_82544:
- apme_mask = EEPROM_CFG2_82544_APM_EN;
+ apme_mask = NVM_CFG2_82544_APM_EN;
eeprom_data = cfg2;
break;
case WM_T_82546:
@@ -1895,9 +1895,9 @@ wm_attach(device_t parent, device_t self
case WM_T_82583:
case WM_T_80003:
default:
- apme_mask = EEPROM_CFG3_APME;
- wm_nvm_read(sc, (sc->sc_funcid == 1) ? EEPROM_OFF_CFG3_PORTB
- : EEPROM_OFF_CFG3_PORTA, 1, &eeprom_data);
+ apme_mask = NVM_CFG3_APME;
+ wm_nvm_read(sc, (sc->sc_funcid == 1) ? NVM_OFF_CFG3_PORTB
+ : NVM_OFF_CFG3_PORTA, 1, &eeprom_data);
break;
case WM_T_82575:
case WM_T_82576:
@@ -1936,7 +1936,7 @@ wm_attach(device_t parent, device_t self
KASSERT(prop_object_type(pn) == PROP_TYPE_NUMBER);
swdpin = (uint16_t) prop_number_integer_value(pn);
} else {
- if (wm_nvm_read(sc, EEPROM_OFF_SWDPIN, 1, &swdpin)) {
+ if (wm_nvm_read(sc, NVM_OFF_SWDPIN, 1, &swdpin)) {
aprint_error_dev(sc->sc_dev,
"unable to read SWDPIN\n");
goto fail_5;
@@ -1944,36 +1944,36 @@ wm_attach(device_t parent, device_t self
}
}
- if (cfg1 & EEPROM_CFG1_ILOS)
+ if (cfg1 & NVM_CFG1_ILOS)
sc->sc_ctrl |= CTRL_ILOS;
if (sc->sc_type >= WM_T_82544) {
sc->sc_ctrl |=
- ((swdpin >> EEPROM_SWDPIN_SWDPIO_SHIFT) & 0xf) <<
+ ((swdpin >> NVM_SWDPIN_SWDPIO_SHIFT) & 0xf) <<
CTRL_SWDPIO_SHIFT;
sc->sc_ctrl |=
- ((swdpin >> EEPROM_SWDPIN_SWDPIN_SHIFT) & 0xf) <<
+ ((swdpin >> NVM_SWDPIN_SWDPIN_SHIFT) & 0xf) <<
CTRL_SWDPINS_SHIFT;
} else {
sc->sc_ctrl |=
- ((cfg1 >> EEPROM_CFG1_SWDPIO_SHIFT) & 0xf) <<
+ ((cfg1 >> NVM_CFG1_SWDPIO_SHIFT) & 0xf) <<
CTRL_SWDPIO_SHIFT;
}
#if 0
if (sc->sc_type >= WM_T_82544) {
- if (cfg1 & EEPROM_CFG1_IPS0)
+ if (cfg1 & NVM_CFG1_IPS0)
sc->sc_ctrl_ext |= CTRL_EXT_IPS;
- if (cfg1 & EEPROM_CFG1_IPS1)
+ if (cfg1 & NVM_CFG1_IPS1)
sc->sc_ctrl_ext |= CTRL_EXT_IPS1;
sc->sc_ctrl_ext |=
- ((swdpin >> (EEPROM_SWDPIN_SWDPIO_SHIFT + 4)) & 0xd) <<
+ ((swdpin >> (NVM_SWDPIN_SWDPIO_SHIFT + 4)) & 0xd) <<
CTRL_EXT_SWDPIO_SHIFT;
sc->sc_ctrl_ext |=
- ((swdpin >> (EEPROM_SWDPIN_SWDPIN_SHIFT + 4)) & 0xd) <<
+ ((swdpin >> (NVM_SWDPIN_SWDPIN_SHIFT + 4)) & 0xd) <<
CTRL_EXT_SWDPINS_SHIFT;
} else {
sc->sc_ctrl_ext |=
- ((cfg2 >> EEPROM_CFG2_SWDPIO_SHIFT) & 0xf) <<
+ ((cfg2 >> NVM_CFG2_SWDPIO_SHIFT) & 0xf) <<
CTRL_EXT_SWDPIO_SHIFT;
}
#endif
@@ -1999,9 +1999,9 @@ wm_attach(device_t parent, device_t self
uint16_t val;
/* Save the NVM K1 bit setting */
- wm_nvm_read(sc, EEPROM_OFF_K1_CONFIG, 1, &val);
+ wm_nvm_read(sc, NVM_OFF_K1_CONFIG, 1, &val);
- if ((val & EEPROM_K1_CONFIG_ENABLE) != 0)
+ if ((val & NVM_K1_CONFIG_ENABLE) != 0)
sc->sc_nvm_k1_enabled = 1;
else
sc->sc_nvm_k1_enabled = 0;
@@ -2134,8 +2134,8 @@ wm_attach(device_t parent, device_t self
switch (sc->sc_type) {
case WM_T_82573:
/* XXX limited to 9234 if ASPM is disabled */
- wm_nvm_read(sc, EEPROM_INIT_3GIO_3, 1, &io3);
- if ((io3 & EEPROM_3GIO_3_ASPM_MASK) != 0)
+ wm_nvm_read(sc, NVM_OFF_INIT_3GIO_3, 1, &io3);
+ if ((io3 & NVM_3GIO_3_ASPM_MASK) != 0)
sc->sc_ethercom.ec_capabilities |= ETHERCAP_JUMBO_MTU;
break;
case WM_T_82571:
@@ -2674,10 +2674,10 @@ static int
wm_check_alt_mac_addr(struct wm_softc *sc)
{
uint16_t myea[ETHER_ADDR_LEN / 2];
- uint16_t offset = EEPROM_OFF_MACADDR;
+ uint16_t offset = NVM_OFF_MACADDR;
/* Try to read alternative MAC address pointer */
- if (wm_nvm_read(sc, EEPROM_ALT_MAC_ADDR_PTR, 1, &offset) != 0)
+ if (wm_nvm_read(sc, NVM_OFF_ALT_MAC_ADDR_PTR, 1, &offset) != 0)
return -1;
/* Check pointer */
@@ -2703,7 +2703,7 @@ static int
wm_read_mac_addr(struct wm_softc *sc, uint8_t *enaddr)
{
uint16_t myea[ETHER_ADDR_LEN / 2];
- uint16_t offset = EEPROM_OFF_MACADDR;
+ uint16_t offset = NVM_OFF_MACADDR;
int do_invert = 0;
switch (sc->sc_type) {
@@ -2713,16 +2713,16 @@ wm_read_mac_addr(struct wm_softc *sc, ui
case WM_T_I354:
switch (sc->sc_funcid) {
case 0:
- /* default value (== EEPROM_OFF_MACADDR) */
+ /* default value (== NVM_OFF_MACADDR) */
break;
case 1:
- offset = EEPROM_OFF_LAN1;
+ offset = NVM_OFF_LAN1;
break;
case 2:
- offset = EEPROM_OFF_LAN2;
+ offset = NVM_OFF_LAN2;
break;
case 3:
- offset = EEPROM_OFF_LAN3;
+ offset = NVM_OFF_LAN3;
break;
default:
goto bad;
@@ -2738,7 +2738,7 @@ wm_read_mac_addr(struct wm_softc *sc, ui
case WM_T_I211:
if (wm_check_alt_mac_addr(sc) != 0) {
/* reset the offset to LAN0 */
- offset = EEPROM_OFF_MACADDR;
+ offset = NVM_OFF_MACADDR;
if ((sc->sc_funcid & 0x01) == 1)
do_invert = 1;
goto do_read;
@@ -2746,18 +2746,18 @@ wm_read_mac_addr(struct wm_softc *sc, ui
switch (sc->sc_funcid) {
case 0:
/*
- * The offset is the value in EEPROM_ALT_MAC_ADDR_PTR
+ * The offset is the value in NVM_OFF_ALT_MAC_ADDR_PTR
* itself.
*/
break;
case 1:
- offset += EEPROM_OFF_MACADDR_LAN1;
+ offset += NVM_OFF_MACADDR_LAN1;
break;
case 2:
- offset += EEPROM_OFF_MACADDR_LAN2;
+ offset += NVM_OFF_MACADDR_LAN2;
break;
case 3:
- offset += EEPROM_OFF_MACADDR_LAN3;
+ offset += NVM_OFF_MACADDR_LAN3;
break;
default:
goto bad;
@@ -8260,13 +8260,6 @@ wm_nvm_is_onboard_eeprom(struct wm_softc
return 1;
}
-#define NVM_CHECKSUM 0xBABA
-#define EEPROM_SIZE 0x0040
-#define NVM_COMPAT 0x0003
-#define NVM_COMPAT_VALID_CHECKSUM 0x0001
-#define NVM_FUTURE_INIT_WORD1 0x0019
-#define NVM_FUTURE_INIT_WORD1_VALID_CHECKSUM 0x0040
-
/*
* wm_nvm_validate_checksum
*
@@ -8290,10 +8283,10 @@ wm_nvm_validate_checksum(struct wm_softc
#ifdef WM_DEBUG
if (sc->sc_type == WM_T_PCH_LPT) {
- csum_wordaddr = NVM_COMPAT;
+ csum_wordaddr = NVM_OFF_COMPAT;
valid_checksum = NVM_COMPAT_VALID_CHECKSUM;
} else {
- csum_wordaddr = NVM_FUTURE_INIT_WORD1;
+ csum_wordaddr = NVM_OFF_FUTURE_INIT_WORD1;
valid_checksum = NVM_FUTURE_INIT_WORD1_VALID_CHECKSUM;
}
@@ -8312,7 +8305,7 @@ wm_nvm_validate_checksum(struct wm_softc
if ((wm_debug & WM_DEBUG_NVM) != 0) {
printf("%s: NVM dump:\n", device_xname(sc->sc_dev));
- for (i = 0; i < EEPROM_SIZE; i++) {
+ for (i = 0; i < NVM_SIZE; i++) {
if (wm_nvm_read(sc, i, 1, &eeprom_data))
printf("XX ");
else
@@ -8324,7 +8317,7 @@ wm_nvm_validate_checksum(struct wm_softc
#endif /* WM_DEBUG */
- for (i = 0; i < EEPROM_SIZE; i++) {
+ for (i = 0; i < NVM_SIZE; i++) {
if (wm_nvm_read(sc, i, 1, &eeprom_data))
return 1;
checksum += eeprom_data;
@@ -8609,9 +8602,9 @@ wm_check_mng_mode_82574(struct wm_softc
{
uint16_t data;
- wm_nvm_read(sc, EEPROM_OFF_CFG2, 1, &data);
+ wm_nvm_read(sc, NVM_OFF_CFG2, 1, &data);
- if ((data & EEPROM_CFG2_MNGM_MASK) != 0)
+ if ((data & NVM_CFG2_MNGM_MASK) != 0)
return 1;
return 0;
@@ -8656,12 +8649,12 @@ wm_enable_mng_pass_thru(struct wm_softc
uint16_t data;
factps = CSR_READ(sc, WMREG_FACTPS);
- wm_nvm_read(sc, EEPROM_OFF_CFG2, 1, &data);
+ wm_nvm_read(sc, NVM_OFF_CFG2, 1, &data);
DPRINTF(WM_DEBUG_MANAGE, ("%s: FACTPS = %08x, CFG2=%04x\n",
device_xname(sc->sc_dev), factps, data));
if (((factps & FACTPS_MNGCG) == 0)
- && ((data & EEPROM_CFG2_MNGM_MASK)
- == (EEPROM_CFG2_MNGM_PT << EEPROM_CFG2_MNGM_SHIFT)))
+ && ((data & NVM_CFG2_MNGM_MASK)
+ == (NVM_CFG2_MNGM_PT << NVM_CFG2_MNGM_SHIFT)))
return 1;
} else if (((manc & MANC_SMBUS_EN) != 0)
&& ((manc & MANC_ASF_EN) == 0))
Index: src/sys/dev/pci/if_wmreg.h
diff -u src/sys/dev/pci/if_wmreg.h:1.60 src/sys/dev/pci/if_wmreg.h:1.61
--- src/sys/dev/pci/if_wmreg.h:1.60 Thu Jul 31 03:50:09 2014
+++ src/sys/dev/pci/if_wmreg.h Fri Aug 29 12:14:29 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: if_wmreg.h,v 1.60 2014/07/31 03:50:09 msaitoh Exp $ */
+/* $NetBSD: if_wmreg.h,v 1.61 2014/08/29 12:14:29 msaitoh Exp $ */
/*
* Copyright (c) 2001 Wasabi Systems, Inc.
@@ -898,73 +898,82 @@ struct livengood_tcpip_ctxdesc {
#define SPI_SR_BP1 0x08
#define SPI_SR_WPEN 0x80
-#define EEPROM_OFF_MACADDR 0x00 /* MAC address offset */
-#define EEPROM_OFF_CFG1 0x0a /* config word 1 */
-#define EEPROM_OFF_CFG2 0x0f /* config word 2 */
-#define EEPROM_OFF_CFG3_PORTB 0x14 /* config word 3 */
-#define EEPROM_INIT_3GIO_3 0x1a /* PCIe Initial Configuration Word 3 */
-#define EEPROM_OFF_K1_CONFIG 0x1b /* NVM K1 Config */
-#define EEPROM_OFF_SWDPIN 0x20 /* SWD Pins (Cordova) */
-#define EEPROM_OFF_CFG3_PORTA 0x24 /* config word 3 */
-#define EEPROM_ALT_MAC_ADDR_PTR 0x37 /* to the alternative MAC addresses */
-
-#define EEPROM_CFG1_LVDID (1U << 0)
-#define EEPROM_CFG1_LSSID (1U << 1)
-#define EEPROM_CFG1_PME_CLOCK (1U << 2)
-#define EEPROM_CFG1_PM (1U << 3)
-#define EEPROM_CFG1_ILOS (1U << 4)
-#define EEPROM_CFG1_SWDPIO_SHIFT 5
-#define EEPROM_CFG1_SWDPIO_MASK (0xf << EEPROM_CFG1_SWDPIO_SHIFT)
-#define EEPROM_CFG1_IPS1 (1U << 8)
-#define EEPROM_CFG1_LRST (1U << 9)
-#define EEPROM_CFG1_FD (1U << 10)
-#define EEPROM_CFG1_FRCSPD (1U << 11)
-#define EEPROM_CFG1_IPS0 (1U << 12)
-#define EEPROM_CFG1_64_32_BAR (1U << 13)
-
-#define EEPROM_CFG2_CSR_RD_SPLIT (1U << 1)
-#define EEPROM_CFG2_82544_APM_EN (1U << 2)
-#define EEPROM_CFG2_64_BIT (1U << 3)
-#define EEPROM_CFG2_MAX_READ (1U << 4)
-#define EEPROM_CFG2_DMCR_MAP (1U << 5)
-#define EEPROM_CFG2_133_CAP (1U << 6)
-#define EEPROM_CFG2_MSI_DIS (1U << 7)
-#define EEPROM_CFG2_FLASH_DIS (1U << 8)
-#define EEPROM_CFG2_FLASH_SIZE(x) (((x) & 3) >> 9)
-#define EEPROM_CFG2_APM_EN (1U << 10)
-#define EEPROM_CFG2_ANE (1U << 11)
-#define EEPROM_CFG2_PAUSE(x) (((x) & 3) >> 12)
-#define EEPROM_CFG2_ASDE (1U << 14)
-#define EEPROM_CFG2_APM_PME (1U << 15)
-#define EEPROM_CFG2_SWDPIO_SHIFT 4
-#define EEPROM_CFG2_SWDPIO_MASK (0xf << EEPROM_CFG2_SWDPIO_SHIFT)
-#define EEPROM_CFG2_MNGM_SHIFT 13 /* Manageability Operation mode */
-#define EEPROM_CFG2_MNGM_MASK (3U << EEPROM_CFG2_MNGM_SHIFT)
-#define EEPROM_CFG2_MNGM_DIS 0
-#define EEPROM_CFG2_MNGM_NCSI 1
-#define EEPROM_CFG2_MNGM_PT 2
-
-#define EEPROM_K1_CONFIG_ENABLE 0x01
-
-#define EEPROM_SWDPIN_MASK 0xdf
-#define EEPROM_SWDPIN_SWDPIN_SHIFT 0
-#define EEPROM_SWDPIN_SWDPIO_SHIFT 8
-
-#define EEPROM_3GIO_3_ASPM_MASK (0x3 << 2) /* Active State PM Support */
-
-#define EEPROM_CFG3_APME (1U << 10)
-
-#define EEPROM_OFF_MACADDR_LAN1 3 /* macaddr offset from PTR (port 1) */
-#define EEPROM_OFF_MACADDR_LAN2 6 /* macaddr offset from PTR (port 2) */
-#define EEPROM_OFF_MACADDR_LAN3 9 /* macaddr offset from PTR (port 3) */
+#define NVM_CHECKSUM 0xBABA
+#define NVM_SIZE 0x0040
+
+#define NVM_OFF_MACADDR 0x0000 /* MAC address offset */
+#define NVM_OFF_COMPAT 0x0003
+#define NVM_OFF_CFG1 0x000a /* config word 1 */
+#define NVM_OFF_CFG2 0x000f /* config word 2 */
+#define NVM_OFF_CFG3_PORTB 0x0014 /* config word 3 */
+#define NVM_OFF_FUTURE_INIT_WORD1 0x0019
+#define NVM_OFF_INIT_3GIO_3 0x001a /* PCIe Initial Configuration Word 3 */
+#define NVM_OFF_K1_CONFIG 0x001b /* NVM K1 Config */
+#define NVM_OFF_SWDPIN 0x0020 /* SWD Pins (Cordova) */
+#define NVM_OFF_CFG3_PORTA 0x0024 /* config word 3 */
+#define NVM_OFF_ALT_MAC_ADDR_PTR 0x0037 /* to the alternative MAC addresses */
+
+#define NVM_COMPAT_VALID_CHECKSUM 0x0001
+
+#define NVM_CFG1_LVDID (1U << 0)
+#define NVM_CFG1_LSSID (1U << 1)
+#define NVM_CFG1_PME_CLOCK (1U << 2)
+#define NVM_CFG1_PM (1U << 3)
+#define NVM_CFG1_ILOS (1U << 4)
+#define NVM_CFG1_SWDPIO_SHIFT 5
+#define NVM_CFG1_SWDPIO_MASK (0xf << NVM_CFG1_SWDPIO_SHIFT)
+#define NVM_CFG1_IPS1 (1U << 8)
+#define NVM_CFG1_LRST (1U << 9)
+#define NVM_CFG1_FD (1U << 10)
+#define NVM_CFG1_FRCSPD (1U << 11)
+#define NVM_CFG1_IPS0 (1U << 12)
+#define NVM_CFG1_64_32_BAR (1U << 13)
+
+#define NVM_CFG2_CSR_RD_SPLIT (1U << 1)
+#define NVM_CFG2_82544_APM_EN (1U << 2)
+#define NVM_CFG2_64_BIT (1U << 3)
+#define NVM_CFG2_MAX_READ (1U << 4)
+#define NVM_CFG2_DMCR_MAP (1U << 5)
+#define NVM_CFG2_133_CAP (1U << 6)
+#define NVM_CFG2_MSI_DIS (1U << 7)
+#define NVM_CFG2_FLASH_DIS (1U << 8)
+#define NVM_CFG2_FLASH_SIZE(x) (((x) & 3) >> 9)
+#define NVM_CFG2_APM_EN (1U << 10)
+#define NVM_CFG2_ANE (1U << 11)
+#define NVM_CFG2_PAUSE(x) (((x) & 3) >> 12)
+#define NVM_CFG2_ASDE (1U << 14)
+#define NVM_CFG2_APM_PME (1U << 15)
+#define NVM_CFG2_SWDPIO_SHIFT 4
+#define NVM_CFG2_SWDPIO_MASK (0xf << NVM_CFG2_SWDPIO_SHIFT)
+#define NVM_CFG2_MNGM_SHIFT 13 /* Manageability Operation mode */
+#define NVM_CFG2_MNGM_MASK (3U << NVM_CFG2_MNGM_SHIFT)
+#define NVM_CFG2_MNGM_DIS 0
+#define NVM_CFG2_MNGM_NCSI 1
+#define NVM_CFG2_MNGM_PT 2
+
+#define NVM_FUTURE_INIT_WORD1_VALID_CHECKSUM 0x0040
+
+#define NVM_K1_CONFIG_ENABLE 0x01
+
+#define NVM_SWDPIN_MASK 0xdf
+#define NVM_SWDPIN_SWDPIN_SHIFT 0
+#define NVM_SWDPIN_SWDPIO_SHIFT 8
+
+#define NVM_3GIO_3_ASPM_MASK (0x3 << 2) /* Active State PM Support */
+
+#define NVM_CFG3_APME (1U << 10)
+
+#define NVM_OFF_MACADDR_LAN1 3 /* macaddr offset from PTR (port 1) */
+#define NVM_OFF_MACADDR_LAN2 6 /* macaddr offset from PTR (port 2) */
+#define NVM_OFF_MACADDR_LAN3 9 /* macaddr offset from PTR (port 3) */
/*
* EEPROM Partitioning. See Table 6-1, "EEPROM Top Level Partitioning"
* in 82580's datasheet.
*/
-#define EEPROM_OFF_LAN1 0x0080 /* Offset for LAN1 (82580)*/
-#define EEPROM_OFF_LAN2 0x00c0 /* Offset for LAN2 (82580)*/
-#define EEPROM_OFF_LAN3 0x0100 /* Offset for LAN3 (82580)*/
+#define NVM_OFF_LAN1 0x0080 /* Offset for LAN1 (82580)*/
+#define NVM_OFF_LAN2 0x00c0 /* Offset for LAN2 (82580)*/
+#define NVM_OFF_LAN3 0x0100 /* Offset for LAN3 (82580)*/
/* ich8 flash control */
#define ICH_FLASH_COMMAND_TIMEOUT 5000 /* 5000 uSecs - adjusted */