Newer
Older
AMI-Aptio-BIOS-Reversed / UsbOcUpdateDxeNeonCityEPECB / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Init

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

Platform

NeonCity EPECB (Purley platform variant, PCH: LBG/CDF)