Home | History | Annotate | Download | only in MiscSubClassPlatformDxe
      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