1 /*++ 2 3 Copyright (c) 2004, 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 TianoDevicePath.h 15 16 Abstract: 17 18 Tiano Device Path definitions 19 20 --*/ 21 22 #ifndef _TIANO_DEVICE_PATH_H 23 #define _TIANO_DEVICE_PATH_H 24 25 #include "EfiDevicePath.h" 26 #include "TianoSpecDevicePath.h" 27 28 #pragma pack(1) 29 30 typedef struct _USB_PORT_DEVICE_PATH { 31 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 32 PCI_DEVICE_PATH PciBusDevicePath; 33 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 34 } USB_PORT_DEVICE_PATH; 35 36 // 37 // IDE 38 // 39 typedef struct _IDE_DEVICE_PATH { 40 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 41 PCI_DEVICE_PATH PciBusDevicePath; 42 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 43 } IDE_DEVICE_PATH; 44 45 // 46 // RMC Connector 47 // 48 typedef struct _RMC_CONN_DEVICE_PATH { 49 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 50 PCI_DEVICE_PATH PciBridgeDevicePath; 51 PCI_DEVICE_PATH PciBusDevicePath; 52 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 53 } RMC_CONN_DEVICE_PATH; 54 55 // 56 // RIDE 57 // 58 typedef struct _RIDE_DEVICE_PATH { 59 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 60 PCI_DEVICE_PATH PciBridgeDevicePath; 61 PCI_DEVICE_PATH PciBusDevicePath; 62 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 63 } RIDE_DEVICE_PATH; 64 65 // 66 // Gigabit NIC 67 // 68 typedef struct _GB_NIC_DEVICE_PATH { 69 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 70 PCI_DEVICE_PATH PciBridgeDevicePath; 71 PCI_DEVICE_PATH PciXBridgeDevicePath; 72 PCI_DEVICE_PATH PciXBusDevicePath; 73 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 74 } GB_NIC_DEVICE_PATH; 75 76 // 77 // P/S2 Connector 78 // 79 typedef struct _PS2_CONN_DEVICE_PATH { 80 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 81 PCI_DEVICE_PATH LpcBridgeDevicePath; 82 ACPI_HID_DEVICE_PATH LpcBusDevicePath; 83 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 84 } PS2_CONN_DEVICE_PATH; 85 86 // 87 // Serial Port Connector 88 // 89 typedef struct _SERIAL_CONN_DEVICE_PATH { 90 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 91 PCI_DEVICE_PATH LpcBridgeDevicePath; 92 ACPI_HID_DEVICE_PATH LpcBusDevicePath; 93 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 94 } SERIAL_CONN_DEVICE_PATH; 95 96 // 97 // Parallel Port Connector 98 // 99 typedef struct _PARALLEL_CONN_DEVICE_PATH { 100 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 101 PCI_DEVICE_PATH LpcBridgeDevicePath; 102 ACPI_HID_DEVICE_PATH LpcBusDevicePath; 103 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 104 } PARALLEL_CONN_DEVICE_PATH; 105 106 // 107 // Floopy Connector 108 // 109 typedef struct _FLOOPY_CONN_DEVICE_PATH { 110 ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath; 111 PCI_DEVICE_PATH LpcBridgeDevicePath; 112 ACPI_HID_DEVICE_PATH LpcBusDevicePath; 113 EFI_DEVICE_PATH_PROTOCOL EndDevicePath; 114 } FLOOPY_CONN_DEVICE_PATH; 115 116 typedef union _EFI_MISC_PORT_DEVICE_PATH { 117 USB_PORT_DEVICE_PATH UsbDevicePath; 118 IDE_DEVICE_PATH IdeDevicePath; 119 RMC_CONN_DEVICE_PATH RmcConnDevicePath; 120 RIDE_DEVICE_PATH RideDevicePath; 121 GB_NIC_DEVICE_PATH GbNicDevicePath; 122 PS2_CONN_DEVICE_PATH Ps2ConnDevicePath; 123 SERIAL_CONN_DEVICE_PATH SerialConnDevicePath; 124 PARALLEL_CONN_DEVICE_PATH ParallelConnDevicePath; 125 FLOOPY_CONN_DEVICE_PATH FloppyConnDevicePath; 126 } EFI_MISC_PORT_DEVICE_PATH; 127 128 #pragma pack() 129 130 #endif 131