summaryrefslogtreecommitdiff
path: root/Core/EM/UsbRecovery/UsbRecov.sdl
diff options
context:
space:
mode:
Diffstat (limited to 'Core/EM/UsbRecovery/UsbRecov.sdl')
-rw-r--r--Core/EM/UsbRecovery/UsbRecov.sdl237
1 files changed, 237 insertions, 0 deletions
diff --git a/Core/EM/UsbRecovery/UsbRecov.sdl b/Core/EM/UsbRecovery/UsbRecov.sdl
new file mode 100644
index 0000000..681c70d
--- /dev/null
+++ b/Core/EM/UsbRecovery/UsbRecov.sdl
@@ -0,0 +1,237 @@
+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
+
+
+
+