1 /*++
2 
3   Copyright (c) 2004  - 2014, Intel Corporation. All rights reserved.<BR>
4 
5 
6   This program and the accompanying materials are licensed and made available under
7 
8   the terms and conditions of the BSD License that accompanies this distribution.
9 
10   The full text of the license may be found at
11 
12   http://opensource.org/licenses/bsd-license.php.
13 
14 
15 
16   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
17 
18   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 
20 
21 
22 
23 Module Name:
24 
25     PciPlatform.h
26 
27 Abstract:
28 
29 --*/
30 #ifndef PCI_PLATFORM_H_
31 #define PCI_PLATFORM_H_
32 
33 
34 #include <PiDxe.h>
35 #include "Platform.h"
36 
37 //
38 // Produced Protocols
39 //
40 #include <Protocol/PciPlatform.h>
41 
42 #define IGD_DID_II                     0x0BE1
43 #define IGD_DID_0BE4                   0x0BE4
44 #define IGD_DID_VLV_A0                 0x0F31
45 #define OPROM_DID_OFFSET               0x46
46 
47 typedef struct {
48   EFI_GUID  FileName;
49   UINTN     Segment;
50   UINTN     Bus;
51   UINTN     Device;
52   UINTN     Function;
53   UINT16    VendorId;
54   UINT16    DeviceId;
55   UINT8     Flag;
56 } PCI_OPTION_ROM_TABLE;
57 
58 EFI_STATUS
59 EFIAPI
60 PhaseNotify (
61   IN  EFI_PCI_PLATFORM_PROTOCOL                     *This,
62   IN  EFI_HANDLE                                    HostBridge,
63   IN  EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase,
64   IN  EFI_PCI_CHIPSET_EXECUTION_PHASE               ChipsetPhase
65   );
66 
67 
68 EFI_STATUS
69 EFIAPI
70 PlatformPrepController (
71   IN EFI_PCI_PLATFORM_PROTOCOL                      *This,
72   IN   EFI_HANDLE                                   HostBridge,
73   IN  EFI_HANDLE                                    RootBridge,
74   IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS   PciAddress,
75   IN  EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE  Phase,
76   IN  EFI_PCI_CHIPSET_EXECUTION_PHASE               ChipsetPhase
77   );
78 
79 EFI_STATUS
80 EFIAPI
81 GetPlatformPolicy (
82   IN CONST EFI_PCI_PLATFORM_PROTOCOL                      *This,
83   OUT EFI_PCI_PLATFORM_POLICY                       *PciPolicy
84   );
85 
86 EFI_STATUS
87 EFIAPI
88 GetPciRom (
89   IN CONST EFI_PCI_PLATFORM_PROTOCOL                      *This,
90   IN EFI_HANDLE                                     PciHandle,
91   OUT  VOID                                         **RomImage,
92   OUT  UINTN                                        *RomSize
93   );
94 
95 #endif
96 
97 
98