--- /dev/null
+/** @file\r
+\r
+ Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
+ \r\r
+ This program and the accompanying materials are licensed and made available under\r\r
+ the terms and conditions of the BSD License that accompanies this distribution. \r\r
+ The full text of the license may be found at \r\r
+ http://opensource.org/licenses/bsd-license.php. \r\r
+ \r\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r\r
+ \r\r
+\r
+Module Name:\r
+\r
+ PlatformData.c\r
+\r
+Abstract:\r
+\r
+ Defined the platform specific device path which will be used by\r
+ platform Bbd to perform the platform policy connect.\r
+\r
+--*/\r
+\r
+#include "BdsPlatform.h"\r
+\r
+//\r
+// Predefined platform default time out value\r
+//\r
+UINT16 gPlatformBootTimeOutDefault = 10;\r
+\r
+//\r
+// Predefined platform root bridge\r
+//\r
+PLATFORM_ROOT_BRIDGE_DEVICE_PATH gPlatformRootBridge0 = {\r
+ gPciRootBridge,\r
+ gEndEntire\r
+};\r
+\r
+EFI_DEVICE_PATH_PROTOCOL* gPlatformRootBridges [] = {\r
+ (EFI_DEVICE_PATH_PROTOCOL*)&gPlatformRootBridge0,\r
+ NULL\r
+};\r
+\r
+//\r
+// Platform specific ISA keyboard device path\r
+//\r
+PLATFORM_ISA_KEYBOARD_DEVICE_PATH gIsaKeyboardDevicePath = {\r
+ gPciRootBridge,\r
+ gPciIsaBridge,\r
+ gPnpPs2Keyboard,\r
+ gEndEntire\r
+};\r
+\r
+//\r
+// Platform specific on chip PCI VGA device path\r
+//\r
+PLATFORM_ONBOARD_VGA_DEVICE_PATH gOnChipPciVgaDevicePath = {\r
+ gPciRootBridge,\r
+ PCI_DEVICE_PATH_NODE(0, 0x2),\r
+ gEndEntire\r
+};\r
+\r
+//\r
+// Platform specific plug in PCI VGA device path\r
+//\r
+PLATFORM_OFFBOARD_VGA_DEVICE_PATH gPlugInPciVgaDevicePath = {\r
+ gPciRootBridge,\r
+ PCI_DEVICE_PATH_NODE(0, 0x1),\r
+ PCI_DEVICE_PATH_NODE(0, 0x0),\r
+ gEndEntire\r
+};\r
+\r
+//\r
+// Platform specific ISA serial device path\r
+//\r
+PLATFORM_ISA_SERIAL_DEVICE_PATH gIsaSerialDevicePath = {\r
+ gPciRootBridge,\r
+ gPciIsaBridge,\r
+ gPnp16550ComPort,\r
+ gUart(115200, 8, 1, 1),\r
+ gPcAnsiTerminal,\r
+ gEndEntire\r
+};\r
+\r
+\r
+//\r
+// Platform specific Button Array device path\r
+//\r
+HII_VENDOR_DEVICE_PATH gHiiVendorDevicePath0 = {\r
+ {\r
+ {\r
+ HARDWARE_DEVICE_PATH,\r
+ HW_VENDOR_DP,\r
+ {\r
+ (UINT8) (sizeof (VENDOR_DEVICE_PATH)),\r
+ (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
+ }\r
+ },\r
+\r
+ //\r
+ // {C8752FDE-B5C8-4528-897D-6920FE771E38}\r
+ //\r
+ { 0xC8752FDE, 0xB5C8, 0x4528, { 0x89, 0x7D, 0x69, 0x20, 0xFE, 0x77, 0x1E, 0x38 } }\r
+ },\r
+ {\r
+ END_DEVICE_PATH_TYPE,\r
+ END_ENTIRE_DEVICE_PATH_SUBTYPE,\r
+ {\r
+ (UINT8) (END_DEVICE_PATH_LENGTH),\r
+ (UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)\r
+ }\r
+ }\r
+};\r
+\r
+USB_CLASS_FORMAT_DEVICE_PATH gUsbClassKeyboardDevicePath = {\r
+ gUsbKeyboardMouse,\r
+ gEndEntire\r
+};\r
+\r
+//\r
+// Predefined platform default console device path\r
+//\r
+BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole [] = {\r
+ {(EFI_DEVICE_PATH_PROTOCOL*)&gIsaSerialDevicePath, CONSOLE_ALL},\r
+ {(EFI_DEVICE_PATH_PROTOCOL*)&gHiiVendorDevicePath0, CONSOLE_IN},\r
+ {(EFI_DEVICE_PATH_PROTOCOL*)&gIsaKeyboardDevicePath, CONSOLE_IN},\r
+ {(EFI_DEVICE_PATH_PROTOCOL*)&gUsbClassKeyboardDevicePath, CONSOLE_IN},\r
+ {NULL, 0}\r
+};\r
+\r
+//\r
+// All the possible platform PCI VGA device path\r
+//\r
+EFI_DEVICE_PATH_PROTOCOL* gPlatformAllPossiblePciVgaConsole [] = {\r
+ (EFI_DEVICE_PATH_PROTOCOL*)&gOnChipPciVgaDevicePath,\r
+ (EFI_DEVICE_PATH_PROTOCOL*)&gPlugInPciVgaDevicePath,\r
+ NULL\r
+};\r
+\r
+//\r
+// Legacy hard disk boot option\r
+//\r
+LEGACY_HD_DEVICE_PATH gLegacyHd = {\r
+ {\r
+ BBS_DEVICE_PATH,\r
+ BBS_BBS_DP,\r
+ (UINT8)(sizeof(BBS_BBS_DEVICE_PATH)),\r
+ (UINT8)((sizeof(BBS_BBS_DEVICE_PATH)) >> 8),\r
+ BBS_TYPE_HARDDRIVE,\r
+ 0,\r
+ 0\r
+ },\r
+ gEndEntire\r
+};\r
+\r
+//\r
+// Legacy cdrom boot option\r
+//\r
+LEGACY_HD_DEVICE_PATH gLegacyCdrom = {\r
+ {\r
+ BBS_DEVICE_PATH,\r
+ BBS_BBS_DP,\r
+ (UINT8)(sizeof(BBS_BBS_DEVICE_PATH)),\r
+ (UINT8)((sizeof(BBS_BBS_DEVICE_PATH)) >> 8),\r
+ BBS_TYPE_CDROM,\r
+ 0,\r
+ 0\r
+ },\r
+ gEndEntire\r
+};\r
+\r
+//\r
+// Predefined platform specific perdict boot option\r
+//\r
+EFI_DEVICE_PATH_PROTOCOL* gPlatformBootOption [] = {\r
+ (EFI_DEVICE_PATH_PROTOCOL*)&gLegacyHd,\r
+ (EFI_DEVICE_PATH_PROTOCOL*)&gLegacyCdrom,\r
+ NULL\r
+};\r
+\r
+//\r
+// Predefined platform specific driver option\r
+//\r
+EFI_DEVICE_PATH_PROTOCOL* gPlatformDriverOption [] = {\r
+ NULL\r
+};\r
+\r
+//\r
+// Predefined platform connect sequence\r
+//\r
+EFI_DEVICE_PATH_PROTOCOL* gPlatformConnectSequence [] = {\r
+ (EFI_DEVICE_PATH_PROTOCOL *)&gPlatformRootBridge0, // Force PCI enumer before Legacy OpROM shadow\r
+ NULL\r
+};\r
+\r
+//\r
+// Platform specific USB controller device path\r
+//\r
+PLATFORM_USB_DEVICE_PATH gUsbDevicePath0 = {\r
+ gPciRootBridge,\r
+ PCI_DEVICE_PATH_NODE(0, 0x1D),\r
+ gEndEntire\r
+};\r
+\r
+PLATFORM_USB_DEVICE_PATH gUsbDevicePath1 = {\r
+ gPciRootBridge,\r
+ PCI_DEVICE_PATH_NODE(1, 0x1D),\r
+ gEndEntire\r
+};\r
+\r
+PLATFORM_USB_DEVICE_PATH gUsbDevicePath2 = {\r
+ gPciRootBridge,\r
+ PCI_DEVICE_PATH_NODE(2, 0x1D),\r
+ gEndEntire\r
+};\r
+\r
+PLATFORM_USB_DEVICE_PATH gUsbDevicePath3 = {\r
+ gPciRootBridge,\r
+ PCI_DEVICE_PATH_NODE(3, 0x1D),\r
+ gEndEntire\r
+};\r
+\r
+//\r
+// Predefined platform device path for user authtication\r
+//\r
+EFI_DEVICE_PATH_PROTOCOL* gUserAuthenticationDevice[] = {\r
+ //\r
+ // Predefined device path for secure card (USB disk).\r
+ //\r
+ (EFI_DEVICE_PATH_PROTOCOL*)&gUsbDevicePath0,\r
+ (EFI_DEVICE_PATH_PROTOCOL*)&gUsbDevicePath1,\r
+ (EFI_DEVICE_PATH_PROTOCOL*)&gUsbDevicePath2,\r
+ (EFI_DEVICE_PATH_PROTOCOL*)&gUsbDevicePath3,\r
+ NULL\r
+};\r
+\r
+//\r
+// Predefined platform console device path\r
+//\r
+BDS_CONSOLE_CONNECT_ENTRY gPlatformSimpleConsole [] = {\r
+ {(EFI_DEVICE_PATH_PROTOCOL*)&gOnChipPciVgaDevicePath, CONSOLE_OUT},\r
+ {(EFI_DEVICE_PATH_PROTOCOL*)&gIsaSerialDevicePath, CONSOLE_ALL},\r
+ {(EFI_DEVICE_PATH_PROTOCOL*)&gHiiVendorDevicePath0, CONSOLE_IN},\r
+ {(EFI_DEVICE_PATH_PROTOCOL*)&gUsbClassKeyboardDevicePath, CONSOLE_IN},\r
+ {NULL, 0}\r
+};\r
+\r
+//\r
+// eMMC device at BDF(0x0, 0x17, 0x0)\r
+//\r
+PLATFORM_PCI_DEVICE_PATH gEmmcBootDevPath0 = {\r
+ gPciRootBridge,\r
+ PCI_DEVICE_PATH_NODE (0x00, 0x10),\r
+ gEndEntire\r
+};\r
+\r
+//\r
+// Predefined platform specific perdict boot option\r
+//\r
+EFI_DEVICE_PATH_PROTOCOL* gPlatformSimpleBootOption [] = {\r
+ (EFI_DEVICE_PATH_PROTOCOL*)&gEmmcBootDevPath0,\r
+ NULL\r
+};\r
+\r