/*++ Copyright (c) 2006, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent Module Name: MiscDevicePath.h Abstract: Misc class required EFI Device Path definitions (Ports, slots & onboard devices) **/ #ifndef _MISC_DEVICE_PATH_H #define _MISC_DEVICE_PATH_H #pragma pack(1) // // USB // /* For reference: #define USB1_1_STR "ACPI(PNP0A03,0)/PCI(1D,0)." #define USB1_2_STR "ACPI(PNP0A03,0)/PCI(1D,1)." #define USB1_3_STR "ACPI(PNP0A03,0)/PCI(1D,2)." #define USB2_1_STR "ACPI(PNP0A03,0)/PCI(1D,7)." */ // // #define acpi { 0x02, 0x01, 0x00, 0x0C, 0x0a0341d0, 0x00000000 } // #define pci( device,function) { 0x01, 0x01, 0x00, 0x06, device, function } // #define end { 0xFF, 0xFF, 0x00, 0x04 } // #define DP_ACPI \ { \ {ACPI_DEVICE_PATH, ACPI_DP, {(UINT8) (sizeof (ACPI_HID_DEVICE_PATH)), (UINT8) \ ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8)}}, EISA_PNP_ID (0x0A03), 0 \ } #define DP_PCI(device, function) \ { \ {HARDWARE_DEVICE_PATH, HW_PCI_DP, {(UINT8) (sizeof (PCI_DEVICE_PATH)), (UINT8) \ ((sizeof (PCI_DEVICE_PATH)) >> 8)}}, function, device \ } #define DP_END \ { \ END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, {END_DEVICE_PATH_LENGTH, 0} \ } #define DP_LPC(eisaid, function) \ { \ {ACPI_DEVICE_PATH, ACPI_DP, {(UINT8) (sizeof (ACPI_HID_DEVICE_PATH)), (UINT8) \ ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8)}}, EISA_PNP_ID (eisaid), function \ } // // Shanmu >> moved to TianoDevicePath.h // /* typedef struct _USB_PORT_DEVICE_PATH { ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; PCI_DEVICE_PATH PciBusDevicePath; EFI_DEVICE_PATH_PROTOCOL EndDevicePath; } USB_PORT_DEVICE_PATH; //IDE ??I am not sure. Should this be ATAPI_DEVICE_PATH typedef struct _IDE_DEVICE_PATH { ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; PCI_DEVICE_PATH PciBusDevicePath; EFI_DEVICE_PATH_PROTOCOL EndDevicePath; } IDE_DEVICE_PATH; //RMC Connector typedef struct _RMC_CONN_DEVICE_PATH { ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; PCI_DEVICE_PATH PciBridgeDevicePath; PCI_DEVICE_PATH PciBusDevicePath; EFI_DEVICE_PATH_PROTOCOL EndDevicePath; } RMC_CONN_DEVICE_PATH; //static RMC_CONN_DEVICE_PATH mRmcConnDevicePath = { acpi, pci( 0x1E,0x00 ),pci( 0x0A,0x00 ), end }; //RIDE typedef struct _RIDE_DEVICE_PATH { ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; PCI_DEVICE_PATH PciBridgeDevicePath; PCI_DEVICE_PATH PciBusDevicePath; EFI_DEVICE_PATH_PROTOCOL EndDevicePath; } RIDE_DEVICE_PATH; //static RIDE_DEVICE_PATH mRideDevicePath = { acpi, pci( 0x1E,0x00 ),pci( 0x02,0x00 ), end }; //Gigabit NIC //typedef struct _GB_NIC_DEVICE_PATH //{ // ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; // PCI_DEVICE_PATH PciBridgeDevicePath; // PCI_DEVICE_PATH PciXBridgeDevicePath; // PCI_DEVICE_PATH PciXBusDevicePath; // EFI_DEVICE_PATH_PROTOCOL EndDevicePath; //} GB_NIC_DEVICE_PATH; //static GB_NIC_DEVICE_PATH mGbNicDevicePath = { acpi, pci( 0x03,0x00 ),pci( 0x1F,0x00 ),pci( 0x07,0x00 ), end }; //P/S2 Connector typedef struct _PS2_CONN_DEVICE_PATH { ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; PCI_DEVICE_PATH LpcBridgeDevicePath; ACPI_HID_DEVICE_PATH LpcBusDevicePath; EFI_DEVICE_PATH_PROTOCOL EndDevicePath; } PS2_CONN_DEVICE_PATH; //static PS2_CONN_DEVICE_PATH mPs2KeyboardDevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0303,0 ), end }; //static PS2_CONN_DEVICE_PATH mPs2MouseDevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0303,1 ), end }; //Serial Port Connector typedef struct _SERIAL_CONN_DEVICE_PATH { ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; PCI_DEVICE_PATH LpcBridgeDevicePath; ACPI_HID_DEVICE_PATH LpcBusDevicePath; EFI_DEVICE_PATH_PROTOCOL EndDevicePath; } SERIAL_CONN_DEVICE_PATH; //static SERIAL_CONN_DEVICE_PATH mCom1DevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0501,0 ), end }; //static SERIAL_CONN_DEVICE_PATH mCom2DevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0501,1 ), end }; //Parallel Port Connector typedef struct _PARALLEL_CONN_DEVICE_PATH { ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; PCI_DEVICE_PATH LpcBridgeDevicePath; ACPI_HID_DEVICE_PATH LpcBusDevicePath; EFI_DEVICE_PATH_PROTOCOL EndDevicePath; } PARALLEL_CONN_DEVICE_PATH; //static PARALLEL_CONN_DEVICE_PATH mLpt1DevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0401,0 ), end }; //Floopy Connector typedef struct _FLOOPY_CONN_DEVICE_PATH { ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; PCI_DEVICE_PATH LpcBridgeDevicePath; ACPI_HID_DEVICE_PATH LpcBusDevicePath; EFI_DEVICE_PATH_PROTOCOL EndDevicePath; } FLOOPY_CONN_DEVICE_PATH; //static FLOOPY_CONN_DEVICE_PATH mFloopyADevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0604,0 ), end }; //static FLOOPY_CONN_DEVICE_PATH mFloopyBDevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0604,1 ), end }; */ // // End Shanmu // #pragma pack() #endif