2.5 Platform and Board Layer
The Minimum Platform Architecture is designed to provide consistency across boot flows with the control flows defined in this specification. These control flows are common to all platforms. Therefore, a single implementation is intended to serve all platforms. This implementation is maintained in the MinPlatformPkg on TianoCore.org. Throughout the standardized boot flow, implementation-specific details are required including board resource information for devices, buses, GPIO settings, etc. In addition, logic is necessary to integrate the silicon solution. For Intel® FSP, this involves invoking the appropriate FSP API with the proper parameters at the proper time in the boot flow. Such details are implemented in the board package behind the board API defined in this specification. This results in flexibility at the board layer for a custom software design that allows substitution of details like silicon initialization flow while maintaining a common control flow with other platforms. The board package is also typically responsible for other implementation-specific integration such as providing a custom build environment that prepares a firmware image processed by the tools required to produce an image compatible for a given board.