/* $NoKeywords:$ */ /** * @file * * Install of build options for a Virgo platform solution * * This file generates the defaults tables for the "Virgo" platform solution * set of processors. The documented build options are imported from a user * controlled file for processing. * * @xrefitem bom "File Content Label" "Release Content" * @e project: AGESA * @e sub-project: Core * @e \$Revision: 65876 $ @e \$Date: 2012-02-26 21:30:10 -0600 (Sun, 26 Feb 2012) $ */ /***************************************************************************** * * Copyright (c) 2008 - 2012, 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. * ***************************************************************************/ #include "cpuRegisters.h" #include "cpuFamRegisters.h" #include "cpuFamilyTranslation.h" #include "AdvancedApi.h" #include "heapManager.h" #include "CreateStruct.h" #include "cpuFeatures.h" #include "Table.h" #include "CommonReturns.h" #include "cpuEarlyInit.h" #include "cpuLateInit.h" #include "GnbInterface.h" /***************************************************************************** * Define the RELEASE VERSION string * * The Release Version string should identify the next planned release. * When a branch is made in preparation for a release, the release manager * should change/confirm that the branch version of this file contains the * string matching the desired version for the release. The trunk version of * the file should always contain a trailing 'X'. This will make sure that a * development build from trunk will not be confused for a released version. * The release manager will need to remove the trailing 'X' and update the * version string as appropriate for the release. The trunk copy of this file * should also be updated/incremented for the next expected version, + trailing 'X' ****************************************************************************/ // This is the delivery package title, "TrinyPI " // This string MUST be exactly 8 characters long #define AGESA_PACKAGE_STRING {'T', 'r', 'i', 'n', 'y', 'P', 'I', ' '} // This is the release version number of the AGESA component // This string MUST be exactly 12 characters long #define AGESA_VERSION_STRING {'V', '1', '.', '1', '.', '0', '.', '2', ' ', ' ', ' ', ' '} // The Virgo solution is defined to be family 0x15 models 0x10 - 0x1F in the FM2 socket. #define INSTALL_FM2_SOCKET_SUPPORT TRUE #define INSTALL_FAMILY_15_MODEL_1x_SUPPORT TRUE // The following definitions specify the default values for various parameters in which there are // no clearly defined defaults to be used in the common file. The values below are based on product // and BKDG content, please consult the AGESA Memory team for consultation. #define DFLT_SCRUB_DRAM_RATE (0) #define DFLT_SCRUB_L2_RATE (0) #define DFLT_SCRUB_L3_RATE (0) #define DFLT_SCRUB_IC_RATE (0) #define DFLT_SCRUB_DC_RATE (0) #define DFLT_MEMORY_QUADRANK_TYPE QUADRANK_UNBUFFERED #define DFLT_VRM_SLEW_RATE (5000) #define DFLT_SMBUS0_BASE_ADDRESS 0xB00 #define DFLT_SMBUS1_BASE_ADDRESS 0xB20 #define DFLT_SIO_PME_BASE_ADDRESS 0xE00 #define DFLT_ACPI_PM1_EVT_BLOCK_ADDRESS 0x400 #define DFLT_ACPI_PM1_CNT_BLOCK_ADDRESS 0x404 #define DFLT_ACPI_PM_TMR_BLOCK_ADDRESS 0x408 #define DFLT_ACPI_CPU_CNT_BLOCK_ADDRESS 0x410 #define DFLT_ACPI_GPE0_BLOCK_ADDRESS 0x420 #define DFLT_SPI_BASE_ADDRESS 0xFEC10000ul #define DFLT_WATCHDOG_TIMER_BASE_ADDRESS 0xFEC000F0ul #define DFLT_HPET_BASE_ADDRESS 0xFED00000ul #define DFLT_SMI_CMD_PORT 0xB0 #define DFLT_ACPI_PMA_CNT_BLK_ADDRESS 0xFE00 #define DFLT_GEC_BASE_ADDRESS 0xFED61000ul #define DFLT_SMBUS_SSID 0x780B1022ul #define DFLT_IDE_SSID 0x780C1022ul #define DFLT_SATA_AHCI_SSID 0x78011022ul #define DFLT_SATA_IDE_SSID 0x78001022ul #define DFLT_SATA_RAID5_SSID 0x78031022ul #define DFLT_SATA_RAID_SSID 0x78021022ul #define DFLT_EHCI_SSID 0x78081022ul #define DFLT_OHCI_SSID 0x78071022ul #define DFLT_LPC_SSID 0x780E1022ul #define DFLT_SD_SSID 0x78061022ul #define DFLT_XHCI_SSID 0x78121022ul #define DFLT_FCH_PORT80_BEHIND_PCIB FALSE #define DFLT_FCH_ENABLE_ACPI_SLEEP_TRAP TRUE #define DFLT_FCH_GPP_LINK_CONFIG PortA4 #define DFLT_FCH_GPP_PORT0_PRESENT FALSE #define DFLT_FCH_GPP_PORT1_PRESENT FALSE #define DFLT_FCH_GPP_PORT2_PRESENT FALSE #define DFLT_FCH_GPP_PORT3_PRESENT FALSE #define DFLT_FCH_GPP_PORT0_HOTPLUG FALSE #define DFLT_FCH_GPP_PORT1_HOTPLUG FALSE #define DFLT_FCH_GPP_PORT2_HOTPLUG FALSE #define DFLT_FCH_GPP_PORT3_HOTPLUG FALSE #ifdef BLDCFG_VRM_INRUSH_CURRENT_LIMIT #error BLDCFG: BLDCFG_VRM_INRUSH_CURRENT_LIMIT is deprecated. Use BLDCFG_VRM_MAXIMUM_CURRENT_LIMIT instead. #endif #ifdef BLDCFG_VRM_NB_INRUSH_CURRENT_LIMIT #error BLDCFG: BLDCFG_VRM_NB_INRUSH_CURRENT_LIMIT is deprecated. Use BLDCFG_VRM_NB_MAXIMUM_CURRENT_LIMIT instead. #endif // Instantiate all solution relevant data. #include "PlatformInstall.h"