# PlatformInfo

| Field       | Value                                        |
|-------------|----------------------------------------------|
| Index       | 0377                                         |
| Module      | PlatformInfo                                 |
| PE Size     | 13,024 bytes                                 |
| Phase       | PEI (Pre-EFI Initialization)                 |
| Sections    | .text / .rdata / .data / .reloc              |
| Arch        | IA-32 (0x014C)                               |
| SHA256      | e8840031ad9fa54ccfdafb4be9edc6df5cbabaf1e0fd |

## Overview

PlatformInfo detects and reports platform identification information during the PEI phase. It reads GPIO pins to determine the board ID, initializes PCI segment configuration (PCIe bus allocation), and reports platform status codes. The module produces platform information consumed by other PEIMs to adapt initialization for specific board revisions and SKU configurations.

## Key Functions

- **ModuleEntryPoint** -- Main entry point; initializes PCI bridge and platform info
- **PlatformInfoInit** -- Core platform initialization; reads GPIO for board ID, configures segments
- **GetBoardIdFromGpio** -- Reads GPIO pins to determine board revision/type
- **PciCfgInitPciBridge** -- Initializes PCI bridge configuration registers
- **PciCfgSegmentInit** -- Sets up PCI segment bus ranges

## Dependencies

- MdePkg (BaseMemoryLib, BaseLib)
- PEI Services (PPI location, status code reporting)
- GPIO and PCI Express MMIO access

## Platform

Intel Purley platform, Lenovo HR650X server.