audk/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformData.c

307 lines
6.9 KiB
C

/** @file
Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
Module Name:
PlatformData.c
Abstract:
Defined the platform specific device path which will be used by
platform Bbd to perform the platform policy connect.
--*/
#include "BdsPlatform.h"
//
// Predefined platform default time out value
//
UINT16 gPlatformBootTimeOutDefault = 10;
//
// Predefined platform root bridge
//
PLATFORM_ROOT_BRIDGE_DEVICE_PATH gPlatformRootBridge0 = {
gPciRootBridge,
gEndEntire
};
EFI_DEVICE_PATH_PROTOCOL* gPlatformRootBridges [] = {
(EFI_DEVICE_PATH_PROTOCOL*)&gPlatformRootBridge0,
NULL
};
//
// Platform specific ISA keyboard device path
//
PLATFORM_ISA_KEYBOARD_DEVICE_PATH gIsaKeyboardDevicePath = {
gPciRootBridge,
gPciIsaBridge,
gPnpPs2Keyboard,
gEndEntire
};
//
// Platform specific on chip PCI VGA device path
//
PLATFORM_ONBOARD_VGA_DEVICE_PATH gOnChipPciVgaDevicePath = {
gPciRootBridge,
PCI_DEVICE_PATH_NODE(0, 0x2),
gEndEntire
};
//
// Platform specific plug in PCI VGA device path
//
PLATFORM_OFFBOARD_VGA_DEVICE_PATH gPlugInPciVgaDevicePath = {
gPciRootBridge,
PCI_DEVICE_PATH_NODE(0, 0x1),
PCI_DEVICE_PATH_NODE(0, 0x0),
gEndEntire
};
//
// Platform specific ISA serial device path
//
PLATFORM_ISA_SERIAL_DEVICE_PATH gIsaSerialDevicePath = {
gPciRootBridge,
gPciIsaBridge,
gPnp16550ComPort,
gUart(115200, 8, 1, 1),
gPcAnsiTerminal,
gEndEntire
};
//
// Platform specific Button Array device path
//
HII_VENDOR_DEVICE_PATH gHiiVendorDevicePath0 = {
{
{
HARDWARE_DEVICE_PATH,
HW_VENDOR_DP,
{
(UINT8) (sizeof (VENDOR_DEVICE_PATH)),
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
}
},
//
// {C8752FDE-B5C8-4528-897D-6920FE771E38}
//
{ 0xC8752FDE, 0xB5C8, 0x4528, { 0x89, 0x7D, 0x69, 0x20, 0xFE, 0x77, 0x1E, 0x38 } }
},
{
END_DEVICE_PATH_TYPE,
END_ENTIRE_DEVICE_PATH_SUBTYPE,
{
(UINT8) (END_DEVICE_PATH_LENGTH),
(UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)
}
}
};
USB_CLASS_FORMAT_DEVICE_PATH gUsbClassKeyboardDevicePath = {
gUsbKeyboardMouse,
gEndEntire
};
//
// Debug Agent UART Console device path
//
VENDOR_UART_DEVICE_PATH gDebugAgentUartDevicePath = {
{
{
HARDWARE_DEVICE_PATH,
HW_VENDOR_DP,
{
(UINT8) (sizeof (VENDOR_DEVICE_PATH)),
(UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
}
},
EFI_DEBUG_AGENT_GUID,
},
{
{
MESSAGING_DEVICE_PATH,
MSG_UART_DP,
{
(UINT8) (sizeof (UART_DEVICE_PATH)),
(UINT8) ((sizeof (UART_DEVICE_PATH)) >> 8)
}
},
0, // Reserved
0, // BaudRate - Default
0, // DataBits - Default
0, // Parity - Default
0, // StopBits - Default
},
{
{
MESSAGING_DEVICE_PATH,
MSG_VENDOR_DP,
{
(UINT8)(sizeof (VENDOR_DEVICE_PATH)),
(UINT8)((sizeof (VENDOR_DEVICE_PATH)) >> 8)
}
},
DEVICE_PATH_MESSAGING_PC_ANSI
},
gEndEntire
};
//
// Predefined platform default console device path
//
BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole [] = {
{(EFI_DEVICE_PATH_PROTOCOL*)&gIsaSerialDevicePath, CONSOLE_ALL},
{(EFI_DEVICE_PATH_PROTOCOL*)&gHiiVendorDevicePath0, CONSOLE_IN},
{(EFI_DEVICE_PATH_PROTOCOL*)&gIsaKeyboardDevicePath, CONSOLE_IN},
{(EFI_DEVICE_PATH_PROTOCOL*)&gDebugAgentUartDevicePath, CONSOLE_ALL},
{(EFI_DEVICE_PATH_PROTOCOL*)&gUsbClassKeyboardDevicePath, CONSOLE_IN},
{NULL, 0}
};
//
// All the possible platform PCI VGA device path
//
EFI_DEVICE_PATH_PROTOCOL* gPlatformAllPossiblePciVgaConsole [] = {
(EFI_DEVICE_PATH_PROTOCOL*)&gOnChipPciVgaDevicePath,
(EFI_DEVICE_PATH_PROTOCOL*)&gPlugInPciVgaDevicePath,
NULL
};
//
// Legacy hard disk boot option
//
LEGACY_HD_DEVICE_PATH gLegacyHd = {
{
BBS_DEVICE_PATH,
BBS_BBS_DP,
(UINT8)(sizeof(BBS_BBS_DEVICE_PATH)),
(UINT8)((sizeof(BBS_BBS_DEVICE_PATH)) >> 8),
BBS_TYPE_HARDDRIVE,
0,
0
},
gEndEntire
};
//
// Legacy cdrom boot option
//
LEGACY_HD_DEVICE_PATH gLegacyCdrom = {
{
BBS_DEVICE_PATH,
BBS_BBS_DP,
(UINT8)(sizeof(BBS_BBS_DEVICE_PATH)),
(UINT8)((sizeof(BBS_BBS_DEVICE_PATH)) >> 8),
BBS_TYPE_CDROM,
0,
0
},
gEndEntire
};
//
// Predefined platform specific perdict boot option
//
EFI_DEVICE_PATH_PROTOCOL* gPlatformBootOption [] = {
(EFI_DEVICE_PATH_PROTOCOL*)&gLegacyHd,
(EFI_DEVICE_PATH_PROTOCOL*)&gLegacyCdrom,
NULL
};
//
// Predefined platform specific driver option
//
EFI_DEVICE_PATH_PROTOCOL* gPlatformDriverOption [] = {
NULL
};
//
// Predefined platform connect sequence
//
EFI_DEVICE_PATH_PROTOCOL* gPlatformConnectSequence [] = {
(EFI_DEVICE_PATH_PROTOCOL *)&gPlatformRootBridge0, // Force PCI enumer before Legacy OpROM shadow
NULL
};
//
// Platform specific USB controller device path
//
PLATFORM_USB_DEVICE_PATH gUsbDevicePath0 = {
gPciRootBridge,
PCI_DEVICE_PATH_NODE(0, 0x1D),
gEndEntire
};
PLATFORM_USB_DEVICE_PATH gUsbDevicePath1 = {
gPciRootBridge,
PCI_DEVICE_PATH_NODE(1, 0x1D),
gEndEntire
};
PLATFORM_USB_DEVICE_PATH gUsbDevicePath2 = {
gPciRootBridge,
PCI_DEVICE_PATH_NODE(2, 0x1D),
gEndEntire
};
PLATFORM_USB_DEVICE_PATH gUsbDevicePath3 = {
gPciRootBridge,
PCI_DEVICE_PATH_NODE(3, 0x1D),
gEndEntire
};
//
// Predefined platform device path for user authtication
//
EFI_DEVICE_PATH_PROTOCOL* gUserAuthenticationDevice[] = {
//
// Predefined device path for secure card (USB disk).
//
(EFI_DEVICE_PATH_PROTOCOL*)&gUsbDevicePath0,
(EFI_DEVICE_PATH_PROTOCOL*)&gUsbDevicePath1,
(EFI_DEVICE_PATH_PROTOCOL*)&gUsbDevicePath2,
(EFI_DEVICE_PATH_PROTOCOL*)&gUsbDevicePath3,
NULL
};
//
// Predefined platform console device path
//
BDS_CONSOLE_CONNECT_ENTRY gPlatformSimpleConsole [] = {
{(EFI_DEVICE_PATH_PROTOCOL*)&gOnChipPciVgaDevicePath, CONSOLE_OUT},
{(EFI_DEVICE_PATH_PROTOCOL*)&gIsaSerialDevicePath, CONSOLE_ALL},
{(EFI_DEVICE_PATH_PROTOCOL*)&gHiiVendorDevicePath0, CONSOLE_IN},
{(EFI_DEVICE_PATH_PROTOCOL*)&gDebugAgentUartDevicePath, CONSOLE_ALL},
{(EFI_DEVICE_PATH_PROTOCOL*)&gUsbClassKeyboardDevicePath, CONSOLE_IN},
{NULL, 0}
};
//
// eMMC device at BDF(0x0, 0x17, 0x0)
//
PLATFORM_PCI_DEVICE_PATH gEmmcBootDevPath0 = {
gPciRootBridge,
PCI_DEVICE_PATH_NODE (0x00, 0x10),
gEndEntire
};
//
// Predefined platform specific perdict boot option
//
EFI_DEVICE_PATH_PROTOCOL* gPlatformSimpleBootOption [] = {
(EFI_DEVICE_PATH_PROTOCOL*)&gEmmcBootDevPath0,
NULL
};