alder_lake_bios/Insyde/InsydeCrPkg/Package.dsc

266 lines
12 KiB
Plaintext

## @file
# H2O Console Redirection package project build description file.
#
#******************************************************************************
#* Copyright (c) 2013 - 2016, Insyde Software Corporation. All Rights Reserved.
#*
#* You may not reproduce, distribute, publish, display, perform, modify, adapt,
#* transmit, broadcast, present, recite, release, license or otherwise exploit
#* any part of this publication in any form, by any means, without the prior
#* written permission of Insyde Software Corporation.
#*
#******************************************************************************
#
[Defines]
[LibraryClasses]
CrConfigDefaultLib|InsydeCrPkg/Library/CrConfigDefaultLib/CrConfigDefaultLib.inf
CrDeviceVariableLib|InsydeCrPkg/Library/CrDeviceVariableLib/CrDeviceVariableLib.inf
[LibraryClasses.common.PEIM]
[LibraryClasses.common.DXE_DRIVER]
[LibraryClasses.common.DXE_SMM_DRIVER]
[LibraryClasses.common.DXE_RUNTIME_DRIVER]
[LibraryClasses.common.UEFI_DRIVER]
[LibraryClasses.common.UEFI_APPLICATION]
[PcdsFeatureFlag]
#
# Console Redirection Feature Flag
#
gInsydeCrTokenSpaceGuid.PcdH2OConsoleRedirectionSupported|TRUE
gInsydeCrTokenSpaceGuid.PcdH2OCrPciSerialSupported|TRUE
gInsydeCrTokenSpaceGuid.PcdH2OCrUsbSerialSupported|FALSE
gInsydeCrTokenSpaceGuid.PcdH2OCrHsuSerialSupported|TRUE
#
# Advance Console Redirection Feature Flag
# (Here's PCDs work on wired-or)
#
gInsydeCrTokenSpaceGuid.PcdH2OAdvanceConsoleRedirectionSupported|FALSE
gInsydeCrTokenSpaceGuid.PcdH2OCrSrvManagerSupported|FALSE
gInsydeCrTokenSpaceGuid.PcdH2OCrTelnetSupported|FALSE
[PcdsFixedAtBuild]
gInsydeCrTokenSpaceGuid.PcdH2OCrSoftwareSmi|0xDC
#
# Console Redirection support Devices List
# List can be extended and 0xFF indicates end of list.
#
# Enable = 0 : Disable this device in SCU default.
# Enable = 1 : If the Device path exist, then enable this device in SCU default.
# DevName : If device exist then the device name is dispalyed on console Redirection page in SCU.
# Device Path String:
# Device path need to description until the previous node of the UART node.
# If the CR device need used itself default setting, the device can description device path until terminal device node.
#
## Example 1: (Using COM1 to redirect console default, Uart setting come from VFR globol setting)
# UINT8(0x01), L"COM1" , L"PciRoot(0x0)/Pci(0x1F,0x0)/Serial(0x0)"
#
## Example 2: (After boot search all uart16550 compatible device under PciRoot(0x0) and list in SCU.
# If device path string have "*", the Enalbe flag is invalid.)
# UINT8(0x00), L"OTHER" , L"PciRoot(0x0)/*"
#
## Example 3: (Using COM2 to redirect console default, Uart and terminal setting are the same with device path nodes)
# UINT8(0x01), L"COM2" , L"PciRoot(0x0)/Pci(0x1F,0x0)/Serial(0x1)/Uart(57600,8,N,1)/VenVt100()"
#
## Example 4: (Using MMIO HsUart to redirect console default, UART setting come from VFR global setting.
# The MMIO is FE030400, UID is 2(The UID is the same as the list order of PcdH2OCrPchHsUartMmioAddress))
# UINT8(0x01), L"HsUart" , L"VenHw(E76FD4E9-0A30-4CA9-9540-D799534CC4FF, 004003FE02000000)"
#
gInsydeCrTokenSpaceGuid.PcdH2OCrDevice|{ \
#-------------------------------------------------------------------------------------------------------------
#| Enable || DevName || Device Path String
#-------------------------------------------------------------------------------------------------------------
UINT8(0x01), L"COM1" , L"PciRoot(0x0)/Pci(0x1F,0x0)/Serial(0x0)", \
UINT8(0x00), L"COM2" , L"PciRoot(0x0)/Pci(0x1F,0x0)/Serial(0x1)", \
UINT8(0x00), L"OTHERS" , L"*", \
UINT8(0xFF), UINT8(0xFF) , UINT8(0xFF) \
}
gInsydeCrTokenSpaceGuid.PcdH2OCrPolicy| { \
# Flag Name | FALSE(0x00) | TRUE(0x01)
#----------------------------------------------------
UINT8(0x00), \ # CRVideoType | Color | Mono
UINT8(0x00), \ # CRTerminalKey | Senseless | Sensitive
UINT8(0x01), \ # CRComboKey | Disable | Enable
UINT8(0x00), \ # Reserve (compatiable) | |
UINT8(0x00), \ # Reserve (compatiable) | |
UINT8(0x01), \ # CRUnKbcSupport | Disable | Enable
UINT8(0x00), \ # Reserve (compatiable) | |
UINT8(0x01), \ # CRManualRefresh | Disable | Enable
UINT8(0x01), \ # CRTerminalCharSet | ASCII | Graphic
UINT8(0x00), \ # CRAsyncTerm | Auto | Force Async
UINT8(0x00), \ # CRScreenOffCheck | Disable | Enable
UINT8(0x01), \ # CRShowHelp | Disable | Enable
UINT8(0x00), \ # CRHeadlessVBuffer | Vbuffer | EBDA
UINT8(0x00), \ # Reserve (compatiable) | |
UINT8(0x00), \ # Reserve (compatiable) | |
UINT8(0x00), \ # Reserve (compatiable) | |
UINT8(0x00), \ # CROpROMLoadOnESegment | Disable | Enable
UINT8(0xFF), \ # End of feature flag (0xFF) add new feature flag need before this column.
#----------------------------------------------------
UINT8(0x10), \ # CRFifoLength | [Value]
UINT8(0x00)} # CRWriteCharInterval | [Value]
##
## ============ High speed uart support PCDs ==================
##
#
# High speed uart devices have other SerialClock and SampleRate
# Please change this Pcd value
#
gInsydeCrTokenSpaceGuid.PcdH2OCrHsUartSerialClock|1843200
gInsydeCrTokenSpaceGuid.PcdH2OCrHsUartSampleRate|16
#
# Device information for PciHsUart driver to support.
# List can be extended and 0xFF indicates end of list.
# Either Bus/Device/Function or Vendor ID/Device ID are necessary.
# Zero value means "don't care" when either Bus/Device/Function or Vendor ID/Device ID are non-zero.
# When both Bus/Device/Function and Vendor ID/Device ID are non-zero, device will be supported only when all of them are matched.
#
## Example 1: (Connect PCI device (0/1E/00) to PciHsUart driver, ignore the VID and DID)
# UINT32(0x00), UINT32(0x1E), UINT32(0x00), UINT32(0x0000), UINT32(0x0000)
#
## Example 2: (Connect PCI device (VID:8086 and DID 1234) to PciHsUart driver)
# UINT32(0x00), UINT32(0x00), UINT32(0x00), UINT32(0x8086), UINT32(0x1234)
#
## Example 3: (Connect PCI device (0/19/0, VID:8086 and DID 4321)
# UINT32(0x00), UINT32(0x19), UINT32(0x00), UINT32(0x8086), UINT32(0x4321)
#
# Bus Device Function Vendor ID Device ID
# =========== =========== =========== ============= =============
gInsydeCrTokenSpaceGuid.PcdH2OCrPciHsUartDeviceList|{UINT32(0xFF), UINT32(0xFF), UINT32(0xFF), UINT32(0xFFFF), UINT32(0xFFFF)} # All 0xFF indicates end of list.
#
# PCH MMIO Address list for PchHsUart driver to support.
# List the Uart UID 0, Uart UID 1, ... MMIO address
# List can be extended and 0xFF indicates end of list.
# Enable = 0 : Disable this device
# Enable = 1 : Enable this device
# IRQ : The device IRQ value for legacy boot. 0xff mean no IRQ value.
#
## Example : (Enable the Uart0 with baseAddress 0xFE030000, IRQ=4h.
# Enable the Uart1 with baseAddress 0xFE032000, No IRQ.
# Unsupport the third uart )
# UINT8(0x01), UINT32(0xFE030000), UINT8(0x04), \
# UINT8(0x01), UINT32(0xFE032000), UINT8(0xFF), \
# UINT8(0x00), UINT32(0xFE034000), UINT8(0xFF)
# Enable Address IRQ
# ========= ================= ==========
gInsydeCrTokenSpaceGuid.PcdH2OCrPchHsUartMmioAddress|{ UINT8(0xFF), UINT32(0xFFFFFFFF), UINT8(0xFF) } # All 0xFF indicates end of list.
#
# PchHsUart driver Byte Address Control (PCICFGCTRL)
# If platform didn't support this flag to control AccessMode.
# Set PCD = 1 (Access8bit)
# Set PCD = 0 (Access32bit)
#
gInsydeCrTokenSpaceGuid.PcdH2OCrSerialIoPchPcrAddress|0xFDCB0618
##
## ============ SOL support PCDs ==================
##
#
# SOL Len Configuration
#
gInsydeCrTokenSpaceGuid.PcdH2OCrSolDefaultSetting|{ UINT16(0), \ # Reserve (This column config in Vfr)
UINT16(23), \ # PortNumber;
UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), \ # LocalIp[4];
UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), \ # SubnetMask[4];
UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), \ # Gateway[4];
UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), \ # AdminIp[4];
UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT8(0x0), UINT64(0x0), UINT64(0x0), UINT64(0x0), UINT16(0x0), \ #AdminMac[32];
L"Insyde" , \ # UserName[13];
L"123" } # Password[13];
##
## ============ Terminal support PCDs ==================
##
#
# Terminal want to send more data at onec, that can set this PCD to higher values.
# That can give more bandwidth but should cause inconvenience in some instances (eg. SCU).
#
gInsydeCrTokenSpaceGuid.PcdH2OCrTerminalFifoSize|128
#[-start-180531-IB08400600-add]#
#
# Use Advanced formset GUID as default so that the Console Redirection Configuration menu could be put under Advanced menu.
#
gInsydeCrTokenSpaceGuid.PcdH2OCrFormsetClassGuid|{GUID("C6D4769E-7F48-4D2A-98E9-87ADCCF35CCC")}
#[-end-180531-IB08400600-add]#
[PcdsDynamicExDefault]
[Components.$(PEI_ARCH)]
[Components.$(DXE_ARCH)]
!if gInsydeCrTokenSpaceGuid.PcdH2OConsoleRedirectionSupported == 1 || gInsydeCrTokenSpaceGuid.PcdH2OAdvanceConsoleRedirectionSupported == 1
#
# Console Redirection Feature Flag
#
InsydeCrPkg/CrServiceDxe/CrServiceDxe.inf
InsydeCrPkg/CrServiceSmm/CrServiceSmm.inf
InsydeCrPkg/ConfigUtility/CrConfigUtilDxe/CrConfigUtil.inf
InsydeCrPkg/Uart16550SerialDxe/Uart16550SerialDxe.inf
InsydeCrPkg/Uart16550Devices/IsaUartDxe/IsaUartDxe.inf
!if gInsydeCrTokenSpaceGuid.PcdH2OCrHsuSerialSupported == 1
InsydeCrPkg/Uart16550Devices/PciHsUartDxe/PciHsUartDxe.inf
InsydeCrPkg/Uart16550Devices/PchHsUartDxe/PchHsUartDxe.inf
!endif
!if gInsydeCrTokenSpaceGuid.PcdH2OCrPciSerialSupported == 1
InsydeCrPkg/Uart16550Devices/PciUartDxe/PciUartDxe.inf
!endif
!if gInsydeCrTokenSpaceGuid.PcdH2OCrUsbSerialSupported == 1 || gInsydeCrTokenSpaceGuid.PcdH2OAdvanceConsoleRedirectionSupported == 1
InsydeCrPkg/UsbSerialDxe/UsbSerialDxe.inf
InsydeCrPkg/UsbDevices/CrPl2303Dxe/CrPl2303Dxe.inf
!if gInsydeTokenSpaceGuid.PcdH2ODdtSupported == 0
InsydeCrPkg/UsbDevices/CrDdtCableDxe/CrDdtCableDxe.inf
!endif
!endif
#
# Advance Console Redirection Feature Flag
#
!if gInsydeCrTokenSpaceGuid.PcdH2OCrTelnetSupported == 1 || gInsydeCrTokenSpaceGuid.PcdH2OAdvanceConsoleRedirectionSupported == 1
InsydeCrPkg/AdvanceTerminalDxe/AdvanceTerminalDxe.inf
InsydeCrPkg/SolDxe/SolDxe.inf
InsydeCrPkg/ConfigUtility/SolConfigUtility/SolConfigUtil.inf
InsydeCrPkg/TelnetDxe/TelnetDxe.inf
!if gInsydeTokenSpaceGuid.PcdH2ONetworkIscsiSupported == 0
InsydeNetworkPkg/Drivers/TcpDxe/TcpDxe.inf
!endif
!else
InsydeCrPkg/TerminalDxe/TerminalDxe.inf
!endif
!if gInsydeCrTokenSpaceGuid.PcdH2OCrSrvManagerSupported == 1 || gInsydeCrTokenSpaceGuid.PcdH2OAdvanceConsoleRedirectionSupported == 1
InsydeCrPkg/CrSrvManagerDxe/CrSrvManagerDxe.inf
InsydeCrPkg/CrBiosFlashDxe/CrBiosFlashDxe.inf
InsydeCrPkg/CrFileTransferDxe/CrFileTransferDxe.inf
InsydeCrPkg/FileSelectUIDxe/FileSelectUIDxe.inf
!endif
!endif