xref: /aosp_15_r20/external/coreboot/util/bincfg/gbe-82579LM.set (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
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