1# SPDX-License-Identifier: GPL-3.0-or-later 2 3# 4# Datasheets: 5# 6# https://cdrdv2.intel.com/v1/dl/getContent/613456 7 8# The datasheet says that this spec covers the following pci ids: 9# 8086:1502 - Intel 82579LM gigabit ethernet controller 10# 8086:1503 - Intel 82579V gigabit ethernet controller 11 12# Naming convention 13# * Word groups separated by a blank line 14# * Word groups with known meaning given a prefix 15# * prefix will be defined in comment before group 16# * Variable names to be named using a prefix, descriptive name and bit offset 17# within the word, separated by an underscore. 18# * Example: "prefix_description_0" 19# * Unidentified reserved word groups will be named reserved and LAN Word 20# * EXCEPTION: Word 0x24, Word 0x25, Word 0x26 also include bit offset 21# within the word 22# Offset hex address, separated by an underscore. 23# * Example: "reserved_x03" 24# * Nonprefixed names will be named reserved and LAN Word Offset hex address, 25# separated by an underscore. 26# * Example: "imageversioninfo_x05" 27# * Unspecified words are prefixed with "offset_" 28 29# GbE values for 82579LM 30{ 31 # This example sets MAC address to 00:DE:AD:C0:FF:EE 32 # USE YOUR DEVICES MAC ADDRESS!! 33 # prefix: "mac_" 34 "mac_address_0" = 0x00, 35 "mac_address_1" = 0xDE, 36 "mac_address_2" = 0xAD, 37 "mac_address_3" = 0xC0, 38 "mac_address_4" = 0xFF, 39 "mac_address_5" = 0xEE, 40 41 # Reserved (Word 0x3) 42 "reserved_x03" = 0x0800, 43 44 # Reserved (Word 0x04) 45 "reserved_x04" = 0xffff, 46 47 # Image Version Information (Word 0x05) 48 "imageversioninfo_x05" = 0x00D3, 49 50 "reserved_x06" = 0xffff, 51 "reserved_x07" = 0xffff, 52 53 # PBA Low and PBA High (Words 0x08 and 0x09) 54 # prefix: "pba_" 55 "pba_low_x08" = 0xffff, 56 "pba_high_x09" = 0xffff, 57 58 # PCI Init Control Word (Word 0x0A) 59 # prefix: "pci_" 60 "pci_loaddeviceid_0" = 1, 61 "pci_loadsubsystemid_1" = 1, 62 "pci_reserved_2" = 0, 63 "pci_reserved_3" = 0x0, 64 "pci_pmenable_6" = 1, 65 "pci_auxpwr_7" = 1, 66 "pci_reserved_8" = 0x10, 67 68 # ************* Configurable PCI IDs **************** 69 # TODO: make command line switch for these 70 # Subsystem ID (Word 0x0B) 71 "subsystemid_x0B" = 0, 72 # Subsystem Vendor ID (Word 0x0C) 73 "subsystemvendorid_x0C" = 0x8086, 74 # Device ID (Word 0x0D) 75 # TODO: 82579V uses "deviceid_x0D" = 0x1503, 76 "deviceid_x0D" = 0x1502, 77 # ************* END Configurable PCI IDs **************** 78 79 # Words 0x0E and 0x0F Are Reserved 80 "reserved_x0E" = 0x0, 81 "reserved_x0F" = 0x0, 82 83 # LAN Power Consumption (Word 0x10) 84 # prefix: "lanpwr_" 85 "lanpwr_d3pwr_0" = 0x2, 86 "lanpwr_reserved_5" = 0, 87 "lanpwr_d0pwr_8" = 0x7, 88 89 # Word 0x12 and Word 0x11 Are Reserved 90 "reserved_x11" = 0x0000, 91 "reserved_x12" = 0x0000, 92 93 # Shared Init Control Word (Word 0x13) 94 # prefix: "sicw_" 95 "sicw_dynamicclock_0" = 1, 96 "sicw_clkcnt_1" = 0, 97 "sicw_reserved_2" = 1, 98 "sicw_fullduplex_3" = 0, 99 "sicw_forcespeed_4" = 0, 100 "sicw_reserved_5" = 0, 101 "sicw_phydeviceype_6" = 0, 102 "sicw_reserved_8" = 1, 103 "sicw_phy_enpwrdown_9" = 0, 104 "sicw_reserved_10" = 1, 105 "sicw_macsecdisable_13" = 1, 106 "sicw_sign_14" = 0x2, 107 108 # Extended Configuration Word 1 (Word 0x14) 109 # prefix: "ecw1_" 110 "ecw1_extcfgptr_0" = 0x0028, 111 "ecw1_oemload_12" = 1, 112 "ecw1_phyload_13" = 1, 113 "ecw1_reserved_14" = 0, 114 115 # Extended Configuration Word 2 (Word 0x15) 116 # prefix: "ecw2_" 117 "ecw2_reserved_0" = 0x00, 118 "ecw2_extphylen_8" = 0x12, 119 120 # Extended Configuration Word 3 (Word 0x16) 121 # prefix: "ecw3_" 122 "ecw3_extcfg1_0" = 0x00, 123 124 # OEM Configuration Defaults (Word 0x17) 125 # prefix: "oem_" 126 "oem_reserved_0" = 0x000, 127 "oem_lpluenind0a_9" = 0, 128 "oem_lplueninnond0a_10" = 1, 129 "oem_gbedisinnond0a_11" = 1, 130 "oem_reserved_12" = 0, 131 "oem_gbedis_14" = 0, 132 "oem_reserved_15" = 0, 133 134 # LED 0 - 2 Configuration Defaults (Word 0x18) 135 # prefix: "l02_" 136 # Lenovo default values 137 "l02_led0mode_0" = 0x4, 138 "l02_led0invert_3" = 0, 139 "l02_led0blink_4" = 0, 140 "l02_led1mode_5" = 0x3, 141 "l02_led1invert_8" = 0, 142 "l02_led1blink_9" = 1, 143 "l02_led2mode_10" = 0x2, 144 "l02_led2invert_13" = 1, 145 "l02_led2blink_14" = 0, 146 "l02_blinkrate_15" = 0, 147 148 # Intel default Values 149 #"l02_led0mode_0" = 0x4, 150 #"l02_led0invert_3" = 0, 151 #"l02_led0blink_4" = 1, 152 #"l02_led1mode_5" = 0x7, 153 #"l02_led1invert_8" = 0, 154 #"l02_led1blink_9" = 0, 155 #"l02_led2mode_10" = 0x6, 156 #"l02_led2invert_13" = 0, 157 #"l02_led2blink_14" = 0, 158 #"l02_blinkrate_15" = 0, 159 160 161 # Reserved (Word 0x19) 162 # NOTE: bit 6 must be 1 for validation. See datasheet. 163 "reserved_x19" = 0x2B40, 164 165 # Reserved (Word 0x1A) 166 # Advanced Power Management Wake Up Enable 167 # prefix: "amp_" 168 "amp_enable_0" = 1, 169 "amp_reserved_1" = 0x0421, 170 171 # Reserved (Word 0x1B) 172 "reserved_x1B" = 0x0113, 173 174 # Reserved (Word 0x1C) 175 "reserved_x1C" = 0x1502, 176 177 # Reserved (Word 0x1D) 178 "reserved_x1D" = 0xBAAD, 179 180 # Reserved (Word 0x1E) 181 "reserved_x1E" = 0x1502, 182 183 # Reserved (Word 0x1F) 184 "reserved_x1F" = 0x1503, 185 186 # Reserved (Word 0x20) 187 "reserved_x20" = 0xBAAD, 188 189 # Reserved (Word 0x21) 190 "reserved_x21" = 0xBAAD, 191 192 # Reserved (Word 0x22) 193 "reserved_x22" = 0xBAAD, 194 195 # Reserved (Word 0x23) 196 "reserved_x23" = 0x1502, 197 198 # Reserved (Word 0x24) 199 "reserved_x24_0" = 0x0000, 200 "reserved_x24_14" = 0, 201 "reserved_x24_15" = 1, 202 203 # Reserved (Word 0x25) 204 "reserved_x25_0" = 0x0000, 205 "reserved_x25_4" = 1, 206 "reserved_x25_5" = 0, 207 "reserved_x25_7" = 1, 208 "reserved_x25_8" = 0x00, 209 "reserved_x25_15" = 1, 210 211 # Reserved (Word 0x26) 212 "reserved_x26_0" = 0x00, 213 "reserved_x26_9" = 1, 214 "reserved_x26_10" = 1, 215 "reserved_x26_11" = 1, 216 "reserved_x26_12" = 0, 217 "reserved_x26_14" = 1, 218 "reserved_x26_15" = 0, 219 220 # Reserved (Word 0x27) 221 "reserved_x27" = 0x80, 222 223 # Offsets 0x28-0x2F 224 "offset_x28" = 0x0000, 225 "offset_x29" = 0x0000, 226 "offset_x2A" = 0x0000, 227 "offset_x2B" = 0x0000, 228 "offset_x2C" = 0x0000, 229 "offset_x2D" = 0x0000, 230 "offset_x2E" = 0x0000, 231 "offset_x2F" = 0x0000, 232 233 # Boot Agent Main Setup Options (Word 0x30) 234 # Hardcoded PXE setup (disabled) 235 # prefix: "pxe30_" 236 "pxe30_protocolsel_0" = 0, 237 "pxe30_reserved_2" = 0, 238 "pxe30_defbootsel_3" = 0x3, 239 "pxe30_reserved_5" = 0, 240 "pxe30_prompttime_6" = 0x3, 241 "pxe30_dispsetup_8" = 0, 242 "pxe30_reserved_9" = 0, 243 "pxe30_forcespeed_10" = 0, 244 "pxe30_forcefullduplex_12" = 0, 245 "pxe30_reserved_13" = 0, 246 "pxe30_reserved_14" = 0, 247 248 # Boot Agent Configuration Customization Options (Word 0x31) 249 # prefix: "pxe31_" 250 "pxe31_disablemenu_0" = 1, 251 "pxe31_disabletitle_1" = 1, 252 "pxe31_disableprotsel_2" = 0, 253 "pxe31_disbootorder_3" = 0, 254 "pxe31_dislegacywak_4" = 0, 255 "pxe31_disableflasicwpro_5" = 0, 256 "pxe31_reserved_6" = 0, 257 "pxe31_ibootagentmode_8" = 0, 258 "pxe31_contretrydis_11" = 0, 259 "pxe31_reserved_12" = 0, 260 "pxe31_signature_14" = 10, 261 262 # Boot Agent Configuration Customization Options (Word 0x32) 263 # prefix: "pxe32_" 264 "pxe32_buildnum_0" = 0x28, 265 "pxe32_minorversion_8" = 0x2, 266 "pxe32_majorversion_12" = 0x1, 267 268 # IBA Capabilities (Word 0x33) 269 # prefix: "pxe33_" 270 "pxe33_basecodepresent_0" = 1, 271 "pxe33_undipresent_1" = 1, 272 "pxe33_reserved_2" = 1, 273 "pxe33_efiundipresent_3" = 0, 274 "pxe33_iscsi_4" = 0, 275 "pxe33_reserved_5" = 0, 276 "pxe33_signature_14" = 10, 277 278 "pxe_padding"[11] = 0xffff, 279 280 # Checksum is generated by bincfg 281 # "checksum_gbe" = xxx, 282 283 # G3 -> S5 PHY Configuration 284 "g3_s5_phy_conf"[0x16] = 0, 285 286 # Padding 0xf80 bytes 287 "padding"[0xf6a] = 0xff 288} 289