Hi Everyone,


We are pleased to announce that the FSP External Architecture Specification 
v2.2 has been posted to https://www.intel.com/fsp!



Highlights



  *   Multi-Phase Silicon Initialization – A new optional API has been added to 
FSP-S to address some of the ongoing community feedback surrounding FSP-S. In 
general, the feedback has been that FSP-S is too monolithic. FspSiliconInit() 
does a large amount of initialization in one API call; so much that it has made 
integration difficult in some cases. For example, firmware update/recovery 
flows. To address this, a new FspMultiPhaseSiInit() API has been added which 
splits FSP-S into multiple parts. This allows the bootloader to add board 
specific code throughout the SiliconInit flow as needed. The breakdown of 
silicon initialization steps may vary per product and will be detailed in the 
Integration Guide. FspMultiPhaseSiInit() is only used in API mode. In dispatch 
mode, equivalent functionality can be achieved using PPIs with less complexity.
  *   FSP Event Handlers – This new feature enables FSP to generate events 
messages to aid in the debugging of firmware issues. This eliminates the need 
for FSP to directly write debug messages to the UART. Instead FSP signals the 
bootloader to inform it of a new debug message. This allows the bootloader to 
provide board specific methods of reporting debug messages beyond the UART. 
This brings feature parity between dispatch mode and API mode as FSP 2.1 
defined a similar method for dispatch mode.



Roadmap



TigerLakeFspBinPkg provides the first implementation of FSP 2.2. Tiger Lake FSP 
implements 2 phases for FSP-S: FspSiliconInit() will return after TCSS (“Type-C 
Sub System” – Integrated USB-C & Thunderbolt 4) initialization is complete. The 
second phase, invoked by FspMultiPhaseSiInit(), will initialize the graphics 
framebuffer and lock SAI/SPI writes. This allows board specific USB-C 
programming to be done before FSP attempts to start early video, and also 
provides a potentially convenient location for firmware update flows. Looking 
forward, our upcoming Alder Lake platform will also have FSP 2.2 support.



Does Anything Need to Change in coreboot?



In the strictest sense, no. FSP will only use Multi-Phase Silicon 
Initialization and FSP Event Handlers if the bootloader explicitly enables 
them. By default, they are disabled which makes the flow is fully backwards 
compatible with FSP 2.1. However, in order to leverage these new features 
coreboot will need to implement support for them. These changes were driven by 
community feedback and we are optimistic that they are welcome improvements.

_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to