2 Defined the platform specific device path which will be used by
3 platform Bbd to perform the platform policy connect.
5 Copyright (c) 2020, Rebecca Cran <rebecca@bsdio.com>
6 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
7 SPDX-License-Identifier: BSD-2-Clause-Patent
11 #include "BdsPlatform.h"
12 #include <Guid/QemuRamfb.h>
15 // Debug Agent UART Device Path structure
19 VENDOR_DEVICE_PATH VendorHardware
;
20 UART_DEVICE_PATH Uart
;
21 VENDOR_DEVICE_PATH TerminalType
;
22 EFI_DEVICE_PATH_PROTOCOL End
;
23 } VENDOR_UART_DEVICE_PATH
;
27 // USB Keyboard Device Path structure
31 USB_CLASS_DEVICE_PATH Keyboard
;
32 EFI_DEVICE_PATH_PROTOCOL End
;
33 } USB_KEYBOARD_DEVICE_PATH
;
37 // QemuRamfb Device Path structure
41 VENDOR_DEVICE_PATH Vendor
;
42 ACPI_ADR_DEVICE_PATH AcpiAdr
;
43 EFI_DEVICE_PATH_PROTOCOL End
;
44 } VENDOR_RAMFB_DEVICE_PATH
;
47 ACPI_HID_DEVICE_PATH gPnpPs2KeyboardDeviceNode
= gPnpPs2Keyboard
;
48 ACPI_HID_DEVICE_PATH gPnp16550ComPortDeviceNode
= gPnp16550ComPort
;
49 UART_DEVICE_PATH gUartDeviceNode
= gUart
;
50 VENDOR_DEVICE_PATH gTerminalTypeDeviceNode
= gPcAnsiTerminal
;
53 // Platform specific keyboard device path
57 // Debug Agent UART Device Path
59 VENDOR_UART_DEVICE_PATH gDebugAgentUartDevicePath
= {
65 (UINT8
)(sizeof (VENDOR_DEVICE_PATH
)),
66 (UINT8
)((sizeof (VENDOR_DEVICE_PATH
)) >> 8)
73 MESSAGING_DEVICE_PATH
,
76 (UINT8
)(sizeof (UART_DEVICE_PATH
)),
77 (UINT8
)((sizeof (UART_DEVICE_PATH
)) >> 8)
81 0, // BaudRate - Default
82 0, // DataBits - Default
83 0, // Parity - Default
84 0, // StopBits - Default
90 STATIC USB_KEYBOARD_DEVICE_PATH gUsbKeyboardDevicePath
= {
93 MESSAGING_DEVICE_PATH
,
96 (UINT8
)sizeof (USB_CLASS_DEVICE_PATH
),
97 (UINT8
)(sizeof (USB_CLASS_DEVICE_PATH
) >> 8)
100 0xFFFF, // VendorId: any
101 0xFFFF, // ProductId: any
102 3, // DeviceClass: HID
103 1, // DeviceSubClass: boot
104 1 // DeviceProtocol: keyboard
109 STATIC VENDOR_RAMFB_DEVICE_PATH gQemuRamfbDevicePath
= {
112 HARDWARE_DEVICE_PATH
,
115 (UINT8
)(sizeof (VENDOR_DEVICE_PATH
)),
116 (UINT8
)((sizeof (VENDOR_DEVICE_PATH
)) >> 8)
126 (UINT8
)(sizeof (ACPI_ADR_DEVICE_PATH
)),
127 (UINT8
)((sizeof (ACPI_ADR_DEVICE_PATH
)) >> 8)
136 ACPI_ADR_DISPLAY_TYPE_EXTERNAL_DIGITAL
, // Type
145 // Predefined platform default console device path
147 PLATFORM_CONSOLE_CONNECT_ENTRY gPlatformConsole
[] = {
149 (EFI_DEVICE_PATH_PROTOCOL
*)&gDebugAgentUartDevicePath
,
150 (CONSOLE_OUT
| CONSOLE_IN
| STD_ERROR
)
153 (EFI_DEVICE_PATH_PROTOCOL
*)&gUsbKeyboardDevicePath
,
157 (EFI_DEVICE_PATH_PROTOCOL
*)&gQemuRamfbDevicePath
,
167 // Predefined platform connect sequence
169 EFI_DEVICE_PATH_PROTOCOL
*gPlatformConnectSequence
[] = { NULL
};