1 /*++ 2 3 Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 Module Name: 13 14 MiscDevicePath.h 15 16 Abstract: 17 18 Misc class required EFI Device Path definitions (Ports, slots & 19 onboard devices) 20 21 **/ 22 23 #ifndef _MISC_DEVICE_PATH_H 24 #define _MISC_DEVICE_PATH_H 25 26 27 #pragma pack(1) 28 // 29 // USB 30 // 31 32 /* For reference: 33 #define USB1_1_STR "ACPI(PNP0A03,0)/PCI(1D,0)." 34 #define USB1_2_STR "ACPI(PNP0A03,0)/PCI(1D,1)." 35 #define USB1_3_STR "ACPI(PNP0A03,0)/PCI(1D,2)." 36 #define USB2_1_STR "ACPI(PNP0A03,0)/PCI(1D,7)." 37 */ 38 39 // 40 // #define acpi { 0x02, 0x01, 0x00, 0x0C, 0x0a0341d0, 0x00000000 } 41 // #define pci( device,function) { 0x01, 0x01, 0x00, 0x06, device, function } 42 // #define end { 0xFF, 0xFF, 0x00, 0x04 } 43 // 44 #define DP_ACPI \ 45 { \ 46 {ACPI_DEVICE_PATH, ACPI_DP, {(UINT8) (sizeof (ACPI_HID_DEVICE_PATH)), (UINT8) \ 47 ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8)}}, EISA_PNP_ID (0x0A03), 0 \ 48 } 49 #define DP_PCI(device, function) \ 50 { \ 51 {HARDWARE_DEVICE_PATH, HW_PCI_DP, {(UINT8) (sizeof (PCI_DEVICE_PATH)), (UINT8) \ 52 ((sizeof (PCI_DEVICE_PATH)) >> 8)}}, function, device \ 53 } 54 #define DP_END \ 55 { \ 56 END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, {END_DEVICE_PATH_LENGTH, 0} \ 57 } 58 59 #define DP_LPC(eisaid, function) \ 60 { \ 61 {ACPI_DEVICE_PATH, ACPI_DP, {(UINT8) (sizeof (ACPI_HID_DEVICE_PATH)), (UINT8) \ 62 ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8)}}, EISA_PNP_ID (eisaid), function \ 63 } 64 65 // 66 // Shanmu >> moved to TianoDevicePath.h 67 // 68 69 /* 70 typedef struct _USB_PORT_DEVICE_PATH 71 { 72 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 73 PCI_DEVICE_PATH PciBusDevicePath; 74 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 75 } USB_PORT_DEVICE_PATH; 76 77 78 //IDE ??I am not sure. Should this be ATAPI_DEVICE_PATH 79 typedef struct _IDE_DEVICE_PATH 80 { 81 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 82 PCI_DEVICE_PATH PciBusDevicePath; 83 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 84 } IDE_DEVICE_PATH; 85 86 //RMC Connector 87 typedef struct _RMC_CONN_DEVICE_PATH 88 { 89 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 90 PCI_DEVICE_PATH PciBridgeDevicePath; 91 PCI_DEVICE_PATH PciBusDevicePath; 92 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 93 } RMC_CONN_DEVICE_PATH; 94 95 //static RMC_CONN_DEVICE_PATH mRmcConnDevicePath = { acpi, pci( 0x1E,0x00 ),pci( 0x0A,0x00 ), end }; 96 97 //RIDE 98 typedef struct _RIDE_DEVICE_PATH 99 { 100 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 101 PCI_DEVICE_PATH PciBridgeDevicePath; 102 PCI_DEVICE_PATH PciBusDevicePath; 103 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 104 } RIDE_DEVICE_PATH; 105 106 //static RIDE_DEVICE_PATH mRideDevicePath = { acpi, pci( 0x1E,0x00 ),pci( 0x02,0x00 ), end }; 107 108 //Gigabit NIC 109 //typedef struct _GB_NIC_DEVICE_PATH 110 //{ 111 // ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 112 // PCI_DEVICE_PATH PciBridgeDevicePath; 113 // PCI_DEVICE_PATH PciXBridgeDevicePath; 114 // PCI_DEVICE_PATH PciXBusDevicePath; 115 // EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 116 //} GB_NIC_DEVICE_PATH; 117 118 //static GB_NIC_DEVICE_PATH mGbNicDevicePath = { acpi, pci( 0x03,0x00 ),pci( 0x1F,0x00 ),pci( 0x07,0x00 ), end }; 119 120 121 //P/S2 Connector 122 typedef struct _PS2_CONN_DEVICE_PATH 123 { 124 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 125 PCI_DEVICE_PATH LpcBridgeDevicePath; 126 ACPI_HID_DEVICE_PATH LpcBusDevicePath; 127 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 128 } PS2_CONN_DEVICE_PATH; 129 130 //static PS2_CONN_DEVICE_PATH mPs2KeyboardDevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0303,0 ), end }; 131 //static PS2_CONN_DEVICE_PATH mPs2MouseDevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0303,1 ), end }; 132 133 //Serial Port Connector 134 typedef struct _SERIAL_CONN_DEVICE_PATH 135 { 136 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 137 PCI_DEVICE_PATH LpcBridgeDevicePath; 138 ACPI_HID_DEVICE_PATH LpcBusDevicePath; 139 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 140 } SERIAL_CONN_DEVICE_PATH; 141 142 //static SERIAL_CONN_DEVICE_PATH mCom1DevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0501,0 ), end }; 143 //static SERIAL_CONN_DEVICE_PATH mCom2DevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0501,1 ), end }; 144 145 //Parallel Port Connector 146 typedef struct _PARALLEL_CONN_DEVICE_PATH 147 { 148 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 149 PCI_DEVICE_PATH LpcBridgeDevicePath; 150 ACPI_HID_DEVICE_PATH LpcBusDevicePath; 151 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 152 } PARALLEL_CONN_DEVICE_PATH; 153 154 //static PARALLEL_CONN_DEVICE_PATH mLpt1DevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0401,0 ), end }; 155 156 //Floopy Connector 157 typedef struct _FLOOPY_CONN_DEVICE_PATH 158 { 159 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 160 PCI_DEVICE_PATH LpcBridgeDevicePath; 161 ACPI_HID_DEVICE_PATH LpcBusDevicePath; 162 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 163 } FLOOPY_CONN_DEVICE_PATH; 164 165 //static FLOOPY_CONN_DEVICE_PATH mFloopyADevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0604,0 ), end }; 166 //static FLOOPY_CONN_DEVICE_PATH mFloopyBDevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0604,1 ), end }; 167 168 */ 169 170 // 171 // End Shanmu 172 // 173 #pragma pack() 174 175 #endif 176