3 Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
15 Defined the platform specific device path which will be used by
16 platform Bbd to perform the platform policy connect.
20 #include "BdsPlatform.h"
23 // Predefined platform default time out value
25 UINT16 gPlatformBootTimeOutDefault
= 10;
28 // Predefined platform root bridge
30 PLATFORM_ROOT_BRIDGE_DEVICE_PATH gPlatformRootBridge0
= {
35 EFI_DEVICE_PATH_PROTOCOL
* gPlatformRootBridges
[] = {
36 (EFI_DEVICE_PATH_PROTOCOL
*)&gPlatformRootBridge0
,
41 // Platform specific ISA keyboard device path
43 PLATFORM_ISA_KEYBOARD_DEVICE_PATH gIsaKeyboardDevicePath
= {
51 // Platform specific on chip PCI VGA device path
53 PLATFORM_ONBOARD_VGA_DEVICE_PATH gOnChipPciVgaDevicePath
= {
55 PCI_DEVICE_PATH_NODE(0, 0x2),
60 // Platform specific plug in PCI VGA device path
62 PLATFORM_OFFBOARD_VGA_DEVICE_PATH gPlugInPciVgaDevicePath
= {
64 PCI_DEVICE_PATH_NODE(0, 0x1),
65 PCI_DEVICE_PATH_NODE(0, 0x0),
70 // Platform specific ISA serial device path
72 PLATFORM_ISA_SERIAL_DEVICE_PATH gIsaSerialDevicePath
= {
76 gUart(115200, 8, 1, 1),
83 // Platform specific Button Array device path
85 HII_VENDOR_DEVICE_PATH gHiiVendorDevicePath0
= {
91 (UINT8
) (sizeof (VENDOR_DEVICE_PATH
)),
92 (UINT8
) ((sizeof (VENDOR_DEVICE_PATH
)) >> 8)
97 // {C8752FDE-B5C8-4528-897D-6920FE771E38}
99 { 0xC8752FDE, 0xB5C8, 0x4528, { 0x89, 0x7D, 0x69, 0x20, 0xFE, 0x77, 0x1E, 0x38 } }
102 END_DEVICE_PATH_TYPE
,
103 END_ENTIRE_DEVICE_PATH_SUBTYPE
,
105 (UINT8
) (END_DEVICE_PATH_LENGTH
),
106 (UINT8
) ((END_DEVICE_PATH_LENGTH
) >> 8)
111 USB_CLASS_FORMAT_DEVICE_PATH gUsbClassKeyboardDevicePath
= {
117 // Debug Agent UART Console device path
119 VENDOR_UART_DEVICE_PATH gDebugAgentUartDevicePath
= {
122 HARDWARE_DEVICE_PATH
,
125 (UINT8
) (sizeof (VENDOR_DEVICE_PATH
)),
126 (UINT8
) ((sizeof (VENDOR_DEVICE_PATH
)) >> 8)
129 EFI_DEBUG_AGENT_GUID
,
133 MESSAGING_DEVICE_PATH
,
136 (UINT8
) (sizeof (UART_DEVICE_PATH
)),
137 (UINT8
) ((sizeof (UART_DEVICE_PATH
)) >> 8)
141 0, // BaudRate - Default
142 0, // DataBits - Default
143 0, // Parity - Default
144 0, // StopBits - Default
148 MESSAGING_DEVICE_PATH
,
151 (UINT8
)(sizeof (VENDOR_DEVICE_PATH
)),
152 (UINT8
)((sizeof (VENDOR_DEVICE_PATH
)) >> 8)
155 DEVICE_PATH_MESSAGING_PC_ANSI
161 // Predefined platform default console device path
163 BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole
[] = {
164 {(EFI_DEVICE_PATH_PROTOCOL
*)&gIsaSerialDevicePath
, CONSOLE_ALL
},
165 {(EFI_DEVICE_PATH_PROTOCOL
*)&gHiiVendorDevicePath0
, CONSOLE_IN
},
166 {(EFI_DEVICE_PATH_PROTOCOL
*)&gIsaKeyboardDevicePath
, CONSOLE_IN
},
167 {(EFI_DEVICE_PATH_PROTOCOL
*)&gDebugAgentUartDevicePath
, CONSOLE_ALL
},
168 {(EFI_DEVICE_PATH_PROTOCOL
*)&gUsbClassKeyboardDevicePath
, CONSOLE_IN
},
173 // All the possible platform PCI VGA device path
175 EFI_DEVICE_PATH_PROTOCOL
* gPlatformAllPossiblePciVgaConsole
[] = {
176 (EFI_DEVICE_PATH_PROTOCOL
*)&gOnChipPciVgaDevicePath
,
177 (EFI_DEVICE_PATH_PROTOCOL
*)&gPlugInPciVgaDevicePath
,
182 // Legacy hard disk boot option
184 LEGACY_HD_DEVICE_PATH gLegacyHd
= {
188 (UINT8
)(sizeof(BBS_BBS_DEVICE_PATH
)),
189 (UINT8
)((sizeof(BBS_BBS_DEVICE_PATH
)) >> 8),
198 // Legacy cdrom boot option
200 LEGACY_HD_DEVICE_PATH gLegacyCdrom
= {
204 (UINT8
)(sizeof(BBS_BBS_DEVICE_PATH
)),
205 (UINT8
)((sizeof(BBS_BBS_DEVICE_PATH
)) >> 8),
214 // Predefined platform specific perdict boot option
216 EFI_DEVICE_PATH_PROTOCOL
* gPlatformBootOption
[] = {
217 (EFI_DEVICE_PATH_PROTOCOL
*)&gLegacyHd
,
218 (EFI_DEVICE_PATH_PROTOCOL
*)&gLegacyCdrom
,
223 // Predefined platform specific driver option
225 EFI_DEVICE_PATH_PROTOCOL
* gPlatformDriverOption
[] = {
230 // Predefined platform connect sequence
232 EFI_DEVICE_PATH_PROTOCOL
* gPlatformConnectSequence
[] = {
233 (EFI_DEVICE_PATH_PROTOCOL
*)&gPlatformRootBridge0
, // Force PCI enumer before Legacy OpROM shadow
238 // Platform specific USB controller device path
240 PLATFORM_USB_DEVICE_PATH gUsbDevicePath0
= {
242 PCI_DEVICE_PATH_NODE(0, 0x1D),
246 PLATFORM_USB_DEVICE_PATH gUsbDevicePath1
= {
248 PCI_DEVICE_PATH_NODE(1, 0x1D),
252 PLATFORM_USB_DEVICE_PATH gUsbDevicePath2
= {
254 PCI_DEVICE_PATH_NODE(2, 0x1D),
258 PLATFORM_USB_DEVICE_PATH gUsbDevicePath3
= {
260 PCI_DEVICE_PATH_NODE(3, 0x1D),
265 // Predefined platform device path for user authtication
267 EFI_DEVICE_PATH_PROTOCOL
* gUserAuthenticationDevice
[] = {
269 // Predefined device path for secure card (USB disk).
271 (EFI_DEVICE_PATH_PROTOCOL
*)&gUsbDevicePath0
,
272 (EFI_DEVICE_PATH_PROTOCOL
*)&gUsbDevicePath1
,
273 (EFI_DEVICE_PATH_PROTOCOL
*)&gUsbDevicePath2
,
274 (EFI_DEVICE_PATH_PROTOCOL
*)&gUsbDevicePath3
,
279 // Predefined platform console device path
281 BDS_CONSOLE_CONNECT_ENTRY gPlatformSimpleConsole
[] = {
282 {(EFI_DEVICE_PATH_PROTOCOL
*)&gOnChipPciVgaDevicePath
, CONSOLE_OUT
},
283 {(EFI_DEVICE_PATH_PROTOCOL
*)&gIsaSerialDevicePath
, CONSOLE_ALL
},
284 {(EFI_DEVICE_PATH_PROTOCOL
*)&gHiiVendorDevicePath0
, CONSOLE_IN
},
285 {(EFI_DEVICE_PATH_PROTOCOL
*)&gDebugAgentUartDevicePath
, CONSOLE_ALL
},
286 {(EFI_DEVICE_PATH_PROTOCOL
*)&gUsbClassKeyboardDevicePath
, CONSOLE_IN
},
291 // eMMC device at BDF(0x0, 0x17, 0x0)
293 PLATFORM_PCI_DEVICE_PATH gEmmcBootDevPath0
= {
295 PCI_DEVICE_PATH_NODE (0x00, 0x10),
300 // Predefined platform specific perdict boot option
302 EFI_DEVICE_PATH_PROTOCOL
* gPlatformSimpleBootOption
[] = {
303 (EFI_DEVICE_PATH_PROTOCOL
*)&gEmmcBootDevPath0
,