blob: 8359bcbac98d79bcfe0a4ed2c83a6507a4ab0c19 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
# Intel Firmware Support Package (FSP)-specific documentation
This section contains documentation about Intel-FSP in public domain.
## Integration Guidelines
Some guiding principles when working on the glue to integrate FSP into
coreboot, e.g. on how to configure a board in devicetree when that affects
the way FSP works:
* It should be possible to replace FSP based boot with a native coreboot
implementation for a given chipset without touching the mainboard code.
* The devicetree configures coreboot and part of what coreboot does with the
information is setting some FSP UPDs. The devicetree isn't supposed to
directly configure FSP.
## Bugs
As Intel doesn't even list known bugs, they are collected here until
those are fixed. If possible a workaround is described here as well.
### BroadwellDEFsp
* IA32_FEATURE_CONTROL MSR is locked in FSP-M
* Release MR2
* Writing the MSR is required in ramstage for Intel TXT
* Workaround: none
* Issue on public tracker: [Issue 10]
* FSP-S asserts if the thermal PCI device 00:1f.6 is disabled
* Release MR2
* FSP expects the PCI device to be enabled
* FSP expects BARs to be properly assigned
* Workaround: Don't disable this PCI device
* Issue on public tracker: [Issue 13]
* FSP Notify(EnumInitPhaseAfterPciEnumeration) hangs if 00:02.03/00:02.03 are hidden
* Release MR2
* Seems to get stuck on some SKUs only if hidden after MemoryInit
* Workaround: Hide before MemoryInit
* Issue on public tracker: [Issue 35]
### KabylakeFsp
* MfgId and ModulePartNum in the DIMM_INFO struct are empty
* Release 3.7.1
* Those values are typically consumed by SMBIOS type 17
* Workaround: none
* Issue on public tracker: [Issue 22]
* MRC forces memory re-training on cold boot on boards with Intel SPS
* Releases 3.7.1, 3.7.6
* Workaround: Flash Intel ME instead of SPS
* Issue on public tracker: [Issue 41]
### BraswellFsp
* Internal UART can't be disabled using PcdEnableHsuart*
* Release MR2
* Workaround: Disable internal UART manually after calling FSP
* Issue on public tracker: [Issue 10]
### CoffeeLakeFsp
* Disabling the internal graphics causes a crash in FSP-M
* 7.0.68.40 and older version
* Workaround: Set "tconfig->PanelPowerEnable = 0"
* Issue on public tracker: [Issue 49]
## Open Source Intel FSP specification
* [About Intel FSP](https://firmware.intel.com/learn/fsp/about-intel-fsp)
* [FSP Specification 1.0](https://www.intel.in/content/dam/www/public/us/en/documents/technical-specifications/fsp-architecture-spec.pdf)
* [FSP Specification 1.1](https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/fsp-architecture-spec-v1-1.pdf)
* [FSP Specification 2.0](https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/fsp-architecture-spec-v2.pdf)
* [FSP Specification 2.1](https://cdrdv2.intel.com/v1/dl/getContent/611786)
## Additional Features in FSP 2.1 specification
```{toctree}
:maxdepth: 1
PPI <ppi/ppi.md>
```
## Official bugtracker
- [IntelFSP/FSP](https://github.com/IntelFsp/FSP/issues)
[Issue 10]: https://github.com/IntelFsp/FSP/issues/10
[Issue 13]: https://github.com/IntelFsp/FSP/issues/13
[Issue 15]: https://github.com/IntelFsp/FSP/issues/15
[Issue 22]: https://github.com/IntelFsp/FSP/issues/22
[Issue 35]: https://github.com/IntelFsp/FSP/issues/35
[Issue 41]: https://github.com/IntelFsp/FSP/issues/41
[Issue 49]: https://github.com/IntelFsp/FSP/issues/49
|