| /*++ | |
| Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> | |
| This program and the accompanying materials | |
| are licensed and made available under the terms and conditions of the BSD License | |
| which accompanies this distribution. The full text of the license may be found at | |
| http://opensource.org/licenses/bsd-license.php | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| 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 |