2 # Copyright (C) 2014 Steve Shenton <sgsit@libreboot.org>
3 # Copyright (C) 2014, 2015 Leah Rowe <info@minifree.org>
4 # Copyright (C) 2017 Damien Zammit <damien@zamaudio.com>
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
17 # Info on flash descriptor (page 845 onwards):
19 # http://www.intel.co.uk/content/dam/doc/datasheet/io-controller-hub-9-datasheet.pdf
21 # Flash Descriptor SPEC for GM45/ICH9M
23 # Signature for descriptor mode
29 "flmap0_reserved0"
: 6,
32 "flmap0_reserved1"
: 5,
35 "flmap1_reserved"
: 5,
40 "flmap2_reserved"
: 16,
43 "flcomp_density1"
: 3,
44 "flcomp_density2"
: 3,
45 "flcomp_reserved0"
: 2,
46 "flcomp_reserved1"
: 8,
47 "flcomp_reserved2"
: 1,
48 "flcomp_readclockfreq"
: 3,
49 "flcomp_fastreadsupp"
: 1,
50 "flcomp_fastreadfreq"
: 3,
51 "flcomp_w_eraseclkfreq"
: 3,
52 "flcomp_r_statclkfreq"
: 3,
53 "flcomp_reserved3"
: 2,
56 "comp_padding"
[36] : 8,
60 "flreg0_reserved0"
: 3,
62 "flreg0_reserved1"
: 3,
64 "flreg1_reserved0"
: 3,
66 "flreg1_reserved1"
: 3,
68 "flreg2_reserved0"
: 3,
70 "flreg2_reserved1"
: 3,
72 "flreg3_reserved0"
: 3,
74 "flreg3_reserved1"
: 3,
76 "flreg4_reserved0"
: 3,
78 "flreg4_reserved1"
: 3,
79 "flreg_padding"
[12] : 8,
81 # Master access section
84 "flmstr1_requesterid"
: 16,
90 "flmstr1_r_reserved"
: 3,
96 "flmstr1_w_reserved"
: 3,
99 "flmstr2_requesterid"
: 16,
101 "flmstr2_r_bios"
: 1,
105 "flmstr2_r_reserved"
: 3,
107 "flmstr2_w_bios"
: 1,
111 "flmstr2_w_reserved"
: 3,
114 "flmstr3_requesterid"
: 16,
116 "flmstr3_r_bios"
: 1,
120 "flmstr3_r_reserved"
: 3,
122 "flmstr3_w_bios"
: 1,
126 "flmstr3_w_reserved"
: 3,
128 "flmstr_padding"
[148] : 8,
131 "ich0_medisable"
: 1,
132 "ich0_reserved0"
: 6,
134 "ich0_mesmbusaddr"
: 7,
136 "ich0_trippointsel"
: 1,
137 "ich0_reserved1"
: 2,
138 "ich0_integratedgbe"
: 1,
140 "ich0_reserved2"
: 3,
141 "ich0_dmireqiddisable"
: 1,
142 "ich0_me2smbusaddr"
: 7,
145 "ich1_dynclk_nmlink"
: 1,
146 "ich1_dynclk_smlink"
: 1,
147 "ich1_dynclk_mesmbus"
: 1,
148 "ich1_dynclk_sst"
: 1,
149 "ich1_reserved0"
: 4,
150 "ich1_nmlink_npostreqs"
: 1,
151 "ich1_reserved1"
: 7,
152 "ich1_reserved2"
: 16,
154 "ichstrap_padding"
[248] : 8,
157 "mch0_medisable"
: 1,
158 "mch0_mebootfromflash"
: 1,
159 "mch0_tpmdisable"
: 1,
160 "mch0_reserved0"
: 3,
161 "mch0_spifingerprinton"
: 1,
162 # Alternate disable - allows ME to perform chipset
163 # init functions but disables FW apps such as AMT
164 "mch0_mealtdisable"
: 1,
165 "mch0_reserved1"
: 8,
166 "mch0_reserved2"
: 16,
168 "mchstrap_padding"
[3292]: 8,
177 "mevscc_padding"
[4] : 8,
179 # Descriptor Map 2 Record
180 "mevscc_tablebase"
: 8,
181 "mevscc_tablelength"
: 8,
182 "mevscc_reserved"
: 16,
186 "oem_padding"
[248] : 8