UsbOcUpdateDxeNeonCityEPECB
Index: 0052 | Size: 5728 bytes | Arch: x64 | Phase: DXE
Overview
USB OverCurrent protection configuration driver for the NeonCity EPECB platform. Detects PCH stepping (LBG/CDF variants) and installs the appropriate USB OC pin mapping table (A-step or B-step) via the UBA protocol. Maps 16 USB ports to 8 overcurrent sense pins with 2 ports per pin.
Key Functions
- UsbOcUpdateInit — Entry point; detects PCH stepping, selects the correct OC mapping table, and installs via UBA protocol
- UsbOcGetSteppingMapping — Returns the USB OC config table index based on detected PCH stepping revision
- PchGetStepping — Reads PCH Device ID from LPC bridge (Bus 0 Dev 31 Func 0) via MM PCI, classifies stepping as LBG (0-2) or CDF (48-53) revisions
- PchGetLpcDid — Reads PCH info structure from board-specific data at MMIO PCIEXBAR offset 0x00F80000
- DebugPrintWorker — Reads board type from CMOS register 0x4B (with MMIO fallback at 0xFDAF0490), maps to debug mask (0x40000004 or 0x80000006)
Protocols / Dependencies
- UBA USB OC protocol
- MM PCI Base protocol (MM_PCI_BASE_PROTOCOL)
- UBA Debug protocol
- PCD protocol
NeonCity EPECB (Purley platform variant, PCH: LBG/CDF)