289 lines
6.9 KiB
Plaintext
289 lines
6.9 KiB
Plaintext
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
#
|
|
# Datasheets:
|
|
#
|
|
# https://cdrdv2.intel.com/v1/dl/getContent/613456
|
|
|
|
# The datasheet says that this spec covers the following pci ids:
|
|
# 8086:1502 - Intel 82579LM gigabit ethernet controller
|
|
# 8086:1503 - Intel 82579V gigabit ethernet controller
|
|
|
|
# Naming convention
|
|
# * Word groups separated by a blank line
|
|
# * Word groups with known meaning given a prefix
|
|
# * prefix will be defined in comment before group
|
|
# * Variable names to be named using a prefix, descriptive name and bit offset
|
|
# within the word, separated by an underscore.
|
|
# * Example: "prefix_description_0"
|
|
# * Unidentified reserved word groups will be named reserved and LAN Word
|
|
# * EXCEPTION: Word 0x24, Word 0x25, Word 0x26 also include bit offset
|
|
# within the word
|
|
# Offset hex address, separated by an underscore.
|
|
# * Example: "reserved_x03"
|
|
# * Nonprefixed names will be named reserved and LAN Word Offset hex address,
|
|
# separated by an underscore.
|
|
# * Example: "imageversioninfo_x05"
|
|
# * Unspecified words are prefixed with "offset_"
|
|
|
|
# GbE values for 82579LM
|
|
{
|
|
# This example sets MAC address to 00:DE:AD:C0:FF:EE
|
|
# USE YOUR DEVICES MAC ADDRESS!!
|
|
# prefix: "mac_"
|
|
"mac_address_0" = 0x00,
|
|
"mac_address_1" = 0xDE,
|
|
"mac_address_2" = 0xAD,
|
|
"mac_address_3" = 0xC0,
|
|
"mac_address_4" = 0xFF,
|
|
"mac_address_5" = 0xEE,
|
|
|
|
# Reserved (Word 0x3)
|
|
"reserved_x03" = 0x0800,
|
|
|
|
# Reserved (Word 0x04)
|
|
"reserved_x04" = 0xffff,
|
|
|
|
# Image Version Information (Word 0x05)
|
|
"imageversioninfo_x05" = 0x00D3,
|
|
|
|
"reserved_x06" = 0xffff,
|
|
"reserved_x07" = 0xffff,
|
|
|
|
# PBA Low and PBA High (Words 0x08 and 0x09)
|
|
# prefix: "pba_"
|
|
"pba_low_x08" = 0xffff,
|
|
"pba_high_x09" = 0xffff,
|
|
|
|
# PCI Init Control Word (Word 0x0A)
|
|
# prefix: "pci_"
|
|
"pci_loaddeviceid_0" = 1,
|
|
"pci_loadsubsystemid_1" = 1,
|
|
"pci_reserved_2" = 0,
|
|
"pci_reserved_3" = 0x0,
|
|
"pci_pmenable_6" = 1,
|
|
"pci_auxpwr_7" = 1,
|
|
"pci_reserved_8" = 0x10,
|
|
|
|
# ************* Configurable PCI IDs ****************
|
|
# TODO: make command line switch for these
|
|
# Subsystem ID (Word 0x0B)
|
|
"subsystemid_x0B" = 0,
|
|
# Subsystem Vendor ID (Word 0x0C)
|
|
"subsystemvendorid_x0C" = 0x8086,
|
|
# Device ID (Word 0x0D)
|
|
# TODO: 82579V uses "deviceid_x0D" = 0x1503,
|
|
"deviceid_x0D" = 0x1502,
|
|
# ************* END Configurable PCI IDs ****************
|
|
|
|
# Words 0x0E and 0x0F Are Reserved
|
|
"reserved_x0E" = 0x0,
|
|
"reserved_x0F" = 0x0,
|
|
|
|
# LAN Power Consumption (Word 0x10)
|
|
# prefix: "lanpwr_"
|
|
"lanpwr_d3pwr_0" = 0x2,
|
|
"lanpwr_reserved_5" = 0,
|
|
"lanpwr_d0pwr_8" = 0x7,
|
|
|
|
# Word 0x12 and Word 0x11 Are Reserved
|
|
"reserved_x11" = 0x0000,
|
|
"reserved_x12" = 0x0000,
|
|
|
|
# Shared Init Control Word (Word 0x13)
|
|
# prefix: "sicw_"
|
|
"sicw_dynamicclock_0" = 1,
|
|
"sicw_clkcnt_1" = 0,
|
|
"sicw_reserved_2" = 1,
|
|
"sicw_fullduplex_3" = 0,
|
|
"sicw_forcespeed_4" = 0,
|
|
"sicw_reserved_5" = 0,
|
|
"sicw_phydeviceype_6" = 0,
|
|
"sicw_reserved_8" = 1,
|
|
"sicw_phy_enpwrdown_9" = 0,
|
|
"sicw_reserved_10" = 1,
|
|
"sicw_macsecdisable_13" = 1,
|
|
"sicw_sign_14" = 0x2,
|
|
|
|
# Extended Configuration Word 1 (Word 0x14)
|
|
# prefix: "ecw1_"
|
|
"ecw1_extcfgptr_0" = 0x0028,
|
|
"ecw1_oemload_12" = 1,
|
|
"ecw1_phyload_13" = 1,
|
|
"ecw1_reserved_14" = 0,
|
|
|
|
# Extended Configuration Word 2 (Word 0x15)
|
|
# prefix: "ecw2_"
|
|
"ecw2_reserved_0" = 0x00,
|
|
"ecw2_extphylen_8" = 0x12,
|
|
|
|
# Extended Configuration Word 3 (Word 0x16)
|
|
# prefix: "ecw3_"
|
|
"ecw3_extcfg1_0" = 0x00,
|
|
|
|
# OEM Configuration Defaults (Word 0x17)
|
|
# prefix: "oem_"
|
|
"oem_reserved_0" = 0x000,
|
|
"oem_lpluenind0a_9" = 0,
|
|
"oem_lplueninnond0a_10" = 1,
|
|
"oem_gbedisinnond0a_11" = 1,
|
|
"oem_reserved_12" = 0,
|
|
"oem_gbedis_14" = 0,
|
|
"oem_reserved_15" = 0,
|
|
|
|
# LED 0 - 2 Configuration Defaults (Word 0x18)
|
|
# prefix: "l02_"
|
|
# Lenovo default values
|
|
"l02_led0mode_0" = 0x4,
|
|
"l02_led0invert_3" = 0,
|
|
"l02_led0blink_4" = 0,
|
|
"l02_led1mode_5" = 0x3,
|
|
"l02_led1invert_8" = 0,
|
|
"l02_led1blink_9" = 1,
|
|
"l02_led2mode_10" = 0x2,
|
|
"l02_led2invert_13" = 1,
|
|
"l02_led2blink_14" = 0,
|
|
"l02_blinkrate_15" = 0,
|
|
|
|
# Intel default Values
|
|
#"l02_led0mode_0" = 0x4,
|
|
#"l02_led0invert_3" = 0,
|
|
#"l02_led0blink_4" = 1,
|
|
#"l02_led1mode_5" = 0x7,
|
|
#"l02_led1invert_8" = 0,
|
|
#"l02_led1blink_9" = 0,
|
|
#"l02_led2mode_10" = 0x6,
|
|
#"l02_led2invert_13" = 0,
|
|
#"l02_led2blink_14" = 0,
|
|
#"l02_blinkrate_15" = 0,
|
|
|
|
|
|
# Reserved (Word 0x19)
|
|
# NOTE: bit 6 must be 1 for validation. See datasheet.
|
|
"reserved_x19" = 0x2B40,
|
|
|
|
# Reserved (Word 0x1A)
|
|
# Advanced Power Management Wake Up Enable
|
|
# prefix: "amp_"
|
|
"amp_enable_0" = 1,
|
|
"amp_reserved_1" = 0x0421,
|
|
|
|
# Reserved (Word 0x1B)
|
|
"reserved_x1B" = 0x0113,
|
|
|
|
# Reserved (Word 0x1C)
|
|
"reserved_x1C" = 0x1502,
|
|
|
|
# Reserved (Word 0x1D)
|
|
"reserved_x1D" = 0xBAAD,
|
|
|
|
# Reserved (Word 0x1E)
|
|
"reserved_x1E" = 0x1502,
|
|
|
|
# Reserved (Word 0x1F)
|
|
"reserved_x1F" = 0x1503,
|
|
|
|
# Reserved (Word 0x20)
|
|
"reserved_x20" = 0xBAAD,
|
|
|
|
# Reserved (Word 0x21)
|
|
"reserved_x21" = 0xBAAD,
|
|
|
|
# Reserved (Word 0x22)
|
|
"reserved_x22" = 0xBAAD,
|
|
|
|
# Reserved (Word 0x23)
|
|
"reserved_x23" = 0x1502,
|
|
|
|
# Reserved (Word 0x24)
|
|
"reserved_x24_0" = 0x0000,
|
|
"reserved_x24_14" = 0,
|
|
"reserved_x24_15" = 1,
|
|
|
|
# Reserved (Word 0x25)
|
|
"reserved_x25_0" = 0x0000,
|
|
"reserved_x25_4" = 1,
|
|
"reserved_x25_5" = 0,
|
|
"reserved_x25_7" = 1,
|
|
"reserved_x25_8" = 0x00,
|
|
"reserved_x25_15" = 1,
|
|
|
|
# Reserved (Word 0x26)
|
|
"reserved_x26_0" = 0x00,
|
|
"reserved_x26_9" = 1,
|
|
"reserved_x26_10" = 1,
|
|
"reserved_x26_11" = 1,
|
|
"reserved_x26_12" = 0,
|
|
"reserved_x26_14" = 1,
|
|
"reserved_x26_15" = 0,
|
|
|
|
# Reserved (Word 0x27)
|
|
"reserved_x27" = 0x80,
|
|
|
|
# Offsets 0x28-0x2F
|
|
"offset_x28" = 0x0000,
|
|
"offset_x29" = 0x0000,
|
|
"offset_x2A" = 0x0000,
|
|
"offset_x2B" = 0x0000,
|
|
"offset_x2C" = 0x0000,
|
|
"offset_x2D" = 0x0000,
|
|
"offset_x2E" = 0x0000,
|
|
"offset_x2F" = 0x0000,
|
|
|
|
# Boot Agent Main Setup Options (Word 0x30)
|
|
# Hardcoded PXE setup (disabled)
|
|
# prefix: "pxe30_"
|
|
"pxe30_protocolsel_0" = 0,
|
|
"pxe30_reserved_2" = 0,
|
|
"pxe30_defbootsel_3" = 0x3,
|
|
"pxe30_reserved_5" = 0,
|
|
"pxe30_prompttime_6" = 0x3,
|
|
"pxe30_dispsetup_8" = 0,
|
|
"pxe30_reserved_9" = 0,
|
|
"pxe30_forcespeed_10" = 0,
|
|
"pxe30_forcefullduplex_12" = 0,
|
|
"pxe30_reserved_13" = 0,
|
|
"pxe30_reserved_14" = 0,
|
|
|
|
# Boot Agent Configuration Customization Options (Word 0x31)
|
|
# prefix: "pxe31_"
|
|
"pxe31_disablemenu_0" = 1,
|
|
"pxe31_disabletitle_1" = 1,
|
|
"pxe31_disableprotsel_2" = 0,
|
|
"pxe31_disbootorder_3" = 0,
|
|
"pxe31_dislegacywak_4" = 0,
|
|
"pxe31_disableflasicwpro_5" = 0,
|
|
"pxe31_reserved_6" = 0,
|
|
"pxe31_ibootagentmode_8" = 0,
|
|
"pxe31_contretrydis_11" = 0,
|
|
"pxe31_reserved_12" = 0,
|
|
"pxe31_signature_14" = 10,
|
|
|
|
# Boot Agent Configuration Customization Options (Word 0x32)
|
|
# prefix: "pxe32_"
|
|
"pxe32_buildnum_0" = 0x28,
|
|
"pxe32_minorversion_8" = 0x2,
|
|
"pxe32_majorversion_12" = 0x1,
|
|
|
|
# IBA Capabilities (Word 0x33)
|
|
# prefix: "pxe33_"
|
|
"pxe33_basecodepresent_0" = 1,
|
|
"pxe33_undipresent_1" = 1,
|
|
"pxe33_reserved_2" = 1,
|
|
"pxe33_efiundipresent_3" = 0,
|
|
"pxe33_iscsi_4" = 0,
|
|
"pxe33_reserved_5" = 0,
|
|
"pxe33_signature_14" = 10,
|
|
|
|
"pxe_padding"[11] = 0xffff,
|
|
|
|
# Checksum is generated by bincfg
|
|
# "checksum_gbe" = xxx,
|
|
|
|
# G3 -> S5 PHY Configuration
|
|
"g3_s5_phy_conf"[0x16] = 0,
|
|
|
|
# Padding 0xf80 bytes
|
|
"padding"[0xf6a] = 0xff
|
|
}
|