TOKEN Name = "UsbRecov_SUPPORT" Value = "1" Help = "Main switch to enable UsbRecovery support in Project" TokenType = Boolean TargetEQU = Yes TargetMAK = Yes Master = Yes End TOKEN Name = "PEI_UHCI_SUPPORT" Value = "1" Help = "Main switch to enable UHCI Controller support for USB recovery" TokenType = Boolean TargetEQU = Yes TargetMAK = Yes TargetH = Yes End TOKEN Name = "PEI_OHCI_SUPPORT" Value = "0" Help = "Main switch to enable OhciPei support in Project" TokenType = Boolean TargetEQU = Yes TargetMAK = Yes TargetH = Yes End TOKEN Name = "PEI_EHCI_SUPPORT" Value = "0" Help = "Main switch to enable EhciPei support in Project" TokenType = Boolean TargetEQU = Yes TargetMAK = Yes TargetH = Yes End TOKEN Name = "PEI_XHCI_SUPPORT" Value = "0" Help = "Main switch to enable XhciPei support in Project" TokenType = Boolean TargetEQU = Yes TargetMAK = Yes TargetH = Yes End TOKEN Name = "PEI_UHCI_IOBASE" Value = "0x4000" Help = "IO Base Address for UHCI Controller during PEI phase" TokenType = Integer TargetH = Yes End TOKEN Name = "PEI_UHCI_PCI_DEVICES" Value = "{0x1D0000, 0x1D0100, 0x1D0200, 0x1D0300, 0x1A0000, 0x1A0100}" Help = "List of supported UHCI controllers in the following format: {devfunc1, devfunc2,...,devfuncN}\devfunc represents the location of UHCI controller on PCI bus: dev = Bus << 24 + Dev << 16 + Func << 8. Value followed by dev is the PCI device interface, for UHCI it must be 0.\Note: number of entries {devfunc} must not be less than a number of supported UHCI controllers specified in USB_UHCI token." TokenType = Expression TargetH = Yes Token = "PEI_UHCI_SUPPORT" "=" "1" End TOKEN Name = "PEI_UHCI_PCI_DEVICES" Value = "{0}" Help = "Default value if not using UHCI controller" TokenType = Expression TargetH = Yes Token = "PEI_UHCI_SUPPORT" "=" "0" End TOKEN Name = "PEI_EHCI_PCI_BDFS" Value = "{0x1A0700, 0x1D0700}" Help = "List of supported EHCI controllers in the following format: {devfunc1, devfunc2,...,devfuncN}\devfunc represents the location of EHCI controller on PCI bus: dev = Bus << 24 + Dev << 16 + Func << 8. Value followed by dev is the PCI device interface, for EHCI it must be 0.\Note: number of entries {devfunc} must not be less than a number of supported EHCI controllers specified in PEI_NUM_EHCI token." TokenType = Expression TargetH = Yes End TOKEN Name = "PEI_EHCI_MEM_BASE_ADDRESSES" Value = "{0xDFFFF000, 0xDFFFFC00}" Help = "List of base addresses for the respective EHCI controllers specified by PEI_EHCI_PCI_BDFS" TokenType = Expression TargetH = Yes End TOKEN Name = "PEI_OHCI_IOBASE" Value = "0xFC087000" Help = "Memory Mapped IO Base Address for first Recovery module OHCI Controller during PEI phase" TokenType = Integer TargetH = Yes End TOKEN Name = "PEI_XHCI_MMIOBASE" Value = "0xFE400000" Help = "MMIO Base Address for first XHCI Controller during PEI phase" TokenType = Integer TargetH = Yes End TOKEN Name = "PEI_XHCI_CONTROLLER_PCI_ADDRESS" Value = "{0x1, 0x0, 0x0}," Help = "Default value if XHCI controllers are not supported" Token = "PEI_XHCI_SUPPORT" "=" "1" TokenType = Expression TargetH = Yes End TOKEN Name = "PEI_XHCI_CONTROLLER_PCI_REGISTER_VALUES" Value = "{0,0x1c,0,0x19,8,1,0},{0,0x1c,0,0x1a,8,1,0},{0,0x1c,0,0x20,16,0xfe40,0},{0,0x1c,0,0x22,16,0xfe40,0},{0,0x1c,0,4,8,6,0}," Help = "Enable PCIe slot by programming bridge with the secondary/subordinate bus number and memory window.\Information format (AccessWidth is decimal), with a comma at the end:\ {Bus, Device, Function, Register, AccessWidth, BitsToSet, BitsToClear}," Token = "PEI_XHCI_SUPPORT" "=" "1" TokenType = Expression TargetH = Yes End TOKEN Name = "FORCE_RECOVERY" Value = "0" Help = "Force recovery execution by forcing BootMode = BOOT_IN_RECOVERY_MODE in SbPei.c" TokenType = Boolean TargetH = Yes End ELINK Name = "USBR_OHCI_CONTROLLER_PCI_ADDRESS" Help = "Specifies the location of supported OHCI controllers on the PCI bus. Use the following format with hexadecimal values, with a comma at the end: \ {bus, device, function}," InvokeOrder = ReplaceParent End ELINK Name = "{0x0, 0x0, 0x0}," Parent = "USBR_OHCI_CONTROLLER_PCI_ADDRESS" InvokeOrder = AfterParent Help = "Default value if OHCI controllers are not supported" Token = "PEI_OHCI_SUPPORT" "=" "0" End ELINK Name = "USBR_OHCI_CONTROLLER_PCI_REGISTER_VALUE" Help = "Specifies the PCI register values to be programmed for each of the supported OHCI controllers specified by OHCI_CONTROLLER_PCI_ADDRESS. Use the following format with hexadecimal values (AccessWidth is decimal), with a comma at the end:\ {AccessWidth, Register, BitsToSet, BitsToClear}," InvokeOrder = ReplaceParent End ELINK Name = "{ 0, 0, 0, 0 }," Parent = "USBR_OHCI_CONTROLLER_PCI_REGISTER_VALUE" InvokeOrder = AfterParent Help = "Default value if OHCI controllers are not supported" Token = "PEI_OHCI_SUPPORT" "=" "0" End ELINK Name = "{ 32, 0x4, 0x6, 0x0 }," Parent = "USBR_OHCI_CONTROLLER_PCI_REGISTER_VALUE" Help = "Enable bus mastering and MMIO space (this register is typically programmed for all chipsets. Priority is set to a large number to ensure it gets updated last.)" InvokeOrder = AfterParent Priority = 255 Token = "PEI_OHCI_SUPPORT" "=" "1" End PATH Name = "UsbRecovery_DIR" End PATH Name = "UHCIPEIUSB" Path = "$(UsbRecovery_DIR)\UhciPeiUsb" End PATH Name = "UhcipeiUsb_DIR" Path = "$(UsbRecovery_DIR)\UhciPeiUsb" End PATH Name = "OHCIPEI" Path = "$(UsbRecovery_DIR)\OhciPei" End PATH Name = "OhciPei_DIR" Path = "$(UsbRecovery_DIR)\OhciPei" End PATH Name = "EHCIPEI_DIR" Path = "$(UsbRecovery_DIR)\EhciPei" End PATH Name = "XHCIPEI_DIR" Path = "$(UsbRecovery_DIR)\XhciPei" End PATH Name = "UhcPeimSrc_DIR" Path = "$(UsbRecovery_DIR)\UhcPeimSrc" End PATH Name = "UsbPeimSrc_DIR" Path = "$(UsbRecovery_DIR)\UsbPeimSrc" End PATH Name = "UsbBotPeimSrc_DIR" Path = "$(UsbRecovery_DIR)\UsbBotPeimSrc" Help = "UsbBotPeimSrc file source directory" End MODULE Help = "Includes UsbRecov.mak to Project" File = "UsbRecov.mak" End ELINK Name = "$(BUILD_DIR)\UsbBotPeim.ffs" Parent = "FV_BB" InvokeOrder = AfterParent Token = "UsbRecov_SUPPORT" "=" "1" End