aboutsummaryrefslogtreecommitdiff
path: root/src/vendorcode/amd/agesa/f12/Proc/GNB/Common/Gnb.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vendorcode/amd/agesa/f12/Proc/GNB/Common/Gnb.h')
-rw-r--r--src/vendorcode/amd/agesa/f12/Proc/GNB/Common/Gnb.h276
1 files changed, 0 insertions, 276 deletions
diff --git a/src/vendorcode/amd/agesa/f12/Proc/GNB/Common/Gnb.h b/src/vendorcode/amd/agesa/f12/Proc/GNB/Common/Gnb.h
deleted file mode 100644
index 3753bbcc54..0000000000
--- a/src/vendorcode/amd/agesa/f12/Proc/GNB/Common/Gnb.h
+++ /dev/null
@@ -1,276 +0,0 @@
-/* $NoKeywords:$ */
-/**
- * @file
- *
- * Misc common definition
- *
- *
- *
- * @xrefitem bom "File Content Label" "Release Content"
- * @e project: AGESA
- * @e sub-project: GNB
- * @e \$Revision: 47656 $ @e \$Date: 2011-02-25 02:39:38 +0800 (Fri, 25 Feb 2011) $
- *
- */
-/*
-*****************************************************************************
-*
-* Copyright (c) 2011, Advanced Micro Devices, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Advanced Micro Devices, Inc. nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
-* ***************************************************************************
-*
-*/
-#ifndef _GNB_H_
-#define _GNB_H_
-
-#include <stdlib.h>
-
-#pragma pack (push, 1)
-
-#define GNB_DEADLOOP() \
-{ \
- VOLATILE BOOLEAN k; \
- k = TRUE; \
- while (k) { \
- } \
-}
-#ifdef IDSOPT_TRACING_ENABLED
- #if (IDSOPT_TRACING_ENABLED == TRUE)
- #define GNB_TRACE_ENABLE
- #endif
-#endif
-
-
-#ifndef GNB_DEBUG_CODE
- #ifdef GNB_TRACE_ENABLE
- #define GNB_DEBUG_CODE(Code) Code
- #else
- #define GNB_DEBUG_CODE(Code)
- #endif
-#endif
-
-#define OFF 0
-
-#define PVOID UINT64
-
-#define GnbLibGetHeader(x) ((AMD_CONFIG_PARAMS*) (intptr_t) (x)->StdHeader)
-
-#define AGESA_STATUS_UPDATE(Current, Aggregated) \
-if (Current > Aggregated) { \
- Aggregated = Current; \
-}
-
-#ifndef offsetof
- #define offsetof(s, m) (UINTN)&(((s *)0)->m)
-#endif
-
-
-//Table properties
-
-#define TABLE_PROPERTY_DEAFULT 0x00000000
-#define TABLE_PROPERTY_IGFX_DISABLED 0x00000001
-#define TABLE_PROPERTY_IOMMU_DISABLED 0x00000002
-#define TABLE_PROPERTY_LCLK_DEEP_SLEEP 0x00000004
-#define TABLE_PROPERTY_ORB_CLK_GATING 0x00000008
-#define TABLE_PROPERTY_IOC_LCLK_CLOCK_GATING 0x00000010
-#define TABLE_PROPERTY_IOC_SCLK_CLOCK_GATING 0x00000020
-
-#define TABLE_PROPERTY_IOMMU_L1_CLOCK_GATING 0x00000040
-#define TABLE_PROPERTY_IOMMU_L2_CLOCK_GATING 0x00000080
-
-//Register access flags Flags
-#define GNB_REG_ACC_FLAG_S3SAVE 0x00000001
-
-/// LCLK DPM enable control
-typedef enum {
- LclkDpmDisabled, ///<LCLK DPM disabled
- LclkDpmRcActivity, ///<LCLK DPM enabled and use Root Complex Activity monitor method
-} LCLK_DPM_MODE;
-
-/// IVRS block
-typedef enum {
- IvrsIvhdBlock = 0x10, ///< IVHD block
- IvrsIvmdBlock = 0x20, ///< IVMD block
- IvrsIvmdrBlock = 0x30, ///< IVMDR block
- IvrsIvhdrBlock = 0x40 ///< IVHDR block
-} IVRS_BLOCK_TYPE;
-
-#define DEVICE_ID(PciAddress) (UINT16) (((PciAddress).Address.Bus << 8) | ((PciAddress).Address.Device << 3) | (PciAddress).Address.Function)
-/// IVHD entry types
-typedef enum {
- IvhdEntryPadding = 0, ///< Table padding
- IvhdEntrySelect = 2, ///< Select
- IvhdEntryStartRange = 3, ///< Start Range
- IvhdEntryEndRange = 4, ///< End Range
- IvhdEntryAliasSelect = 66, ///< Alias select
- IvhdEntryAliasStartRange = 67, ///< Alias start range
- IvhdEntryExtendedSelect = 70, ///< Extended select
- IvhdEntryExtendedStartRange = 71, ///< Extended Start range
- IvhdEntrySpecialDevice = 72 ///< Special device
-} IVHD_ENTRY_TYPE;
-
-/// Special device variety
-typedef enum {
- IvhdSpecialDeviceIoapic = 0x1, ///< IOAPIC
- IvhdSpecialDeviceHpet = 0x2 ///< HPET
-} IVHD_SPECIAL_DEVICE;
-
-
-#define IVHD_FLAG_COHERENT BIT5
-#define IVHD_FLAG_IOTLBSUP BIT4
-#define IVHD_FLAG_ISOC BIT3
-#define IVHD_FLAG_RESPASSPW BIT2
-#define IVHD_FLAG_PASSPW BIT1
-#define IVHD_FLAG_PPRSUB BIT7
-#define IVHD_FLAG_PREFSUP BIT6
-
-#define IVHD_EFR_XTSUP_OFFSET 0
-#define IVHD_EFR_NXSUP_OFFSET 1
-#define IVHD_EFR_GTSUP_OFFSET 2
-#define IVHD_EFR_GLXSUP_OFFSET 3
-#define IVHD_EFR_IASUP_OFFSET 5
-#define IVHD_EFR_GASUP_OFFSET 6
-#define IVHD_EFR_HESUP_OFFSET 7
-#define IVHD_EFR_PASMAX_OFFSET 8
-#define IVHD_EFR_PNCOUNTERS_OFFSET 13
-#define IVHD_EFR_PNBANKS_OFFSET 17
-#define IVHD_EFR_MSINUMPPR_OFFSET 23
-#define IVHD_EFR_GATS_OFFSET 28
-#define IVHD_EFR_HATS_OFFSET 30
-
-#define IVINFO_HTATSRESV_MASK 0x00400000
-#define IVINFO_VASIZE_MASK 0x003F8000
-#define IVINFO_PASIZE_MASK 0x00007F00
-#define IVINFO_GASIZE_MASK 0x000000E0
-
-#define IVHD_INFO_MSINUM_OFFSET 0
-#define IVHD_INFO_UNITID_OFFSET 8
-
-/// IVRS header
-typedef struct {
- UINT8 Sign[4]; ///< Signature
- UINT32 TableLength; ///< Table Length
- UINT8 Revision; ///< Revision
- UINT8 Checksum; ///< Checksum
- UINT8 OemId[6]; ///< OEM ID
- UINT8 OemTableId[8]; ///< OEM Tabled ID
- UINT32 OemRev; ///< OEM Revision
- UINT8 CreatorId[4]; ///< Creator ID
- UINT32 CreatorRev; ///< Creator Revision
- UINT32 IvInfo; ///< IvInfo
- UINT64 Reserved; ///< Reserved
-} IOMMU_IVRS_HEADER;
-
-/// IVRS IVHD Entry
-typedef struct {
- UINT8 Type; ///< Type
- UINT8 Flags; ///< Flags
- UINT16 Length; ///< Length
- UINT16 DeviceId; ///< DeviceId
- UINT16 CapabilityOffset; ///< CapabilityOffset
- UINT64 BaseAddress; ///< BaseAddress
- UINT16 PciSegment; ///< Pci segment
- UINT16 IommuInfo; ///< IOMMU info
- UINT32 IommuEfr; ///< reserved
-} IVRS_IVHD_ENTRY;
-
-/// IVHD generic entry
-typedef struct {
- UINT8 Type; ///< Type
- UINT16 DeviceId; ///< Device id
- UINT8 DataSetting; ///< Data settings
-} IVHD_GENERIC_ENTRY;
-
-///IVHD alias entry
-typedef struct {
- UINT8 Type; ///< Type
- UINT16 DeviceId; ///< Device id
- UINT8 DataSetting; ///< Data settings
- UINT8 Reserved; ///< Reserved
- UINT16 AliasDeviceId; ///< Alias device id
- UINT8 Reserved2; ///< Reserved
-} IVHD_ALIAS_ENTRY;
-
-///IVHD extended entry
-typedef struct {
- UINT8 Type; ///< Type
- UINT16 DeviceId; ///< Device id
- UINT8 DataSetting; ///< Data settings
- UINT32 ExtSetting; ///< Extended settings
-} IVHD_EXT_ENTRY;
-
-/// IVHD special entry
-typedef struct {
- UINT8 Type; ///< Type
- UINT16 Reserved; ///< Reserved
- UINT8 DataSetting; ///< Data settings
- UINT8 Handle; ///< Handle
- UINT16 AliasDeviceId; ///< Alis device id
- UINT8 Variety; ///< Variety
-} IVHD_SPECIAL_ENTRY;
-
-/// Power gaiter data setting (do not change this structure definition)
-typedef struct {
- UINT16 MothPsoPwrup; ///< Mother Timer Powerup
- UINT16 MothPsoPwrdn; ///< Mother Timer Powerdown
- UINT16 DaugPsoPwrup; ///< Daughter Timer Powerup
- UINT16 DaugPsoPwrdn; ///< Daughter Timer Powerdown
- UINT16 ResetTimer; ///< Reset Timer
- UINT16 IsoTimer; ///< Isolation Timer
-} POWER_GATE_DATA;
-
-
-/// Topology information
-typedef struct {
- BOOLEAN PhantomFunction; ///< PCIe topology have device with phantom function
- BOOLEAN PcieToPciexBridge; ///< PCIe topology have device with Pcieto Pcix bridge
-} GNB_TOPOLOGY_INFO;
-
-
-#define GNB_STRINGIZE(x) #x
-#define GNB_SERVICE_DEFINITIONS(x) GNB_STRINGIZE (Services/x/x.h)
-#define GNB_MODULE_DEFINITIONS(x) GNB_STRINGIZE (Modules/x/x.h)
-#define GNB_MODULE_INSTALL(x) GNB_STRINGIZE (Modules/x/x##Install.h)
-
-/// GNB installable services
-typedef enum {
- GnbPcieFamConfigService, ///< PCIe config service
- GnbPcieFamInitService, ///< PCIe Init service
- GnbPcieFamDebugService, ///< PCIe Debug service
-} GNB_SERVICE_ID;
-
-/// GNB service entry
-typedef struct _GNB_SERVICE {
- GNB_SERVICE_ID ServiceId; ///< Service ID
- UINT64 Family; ///< CPU family
- VOID *ServiceProtocol; ///< Service protocol
- struct _GNB_SERVICE *NextService; ///< Pointer to next service
-} GNB_SERVICE;
-
-
-#pragma pack (pop)
-
-#endif