summaryrefslogtreecommitdiff
path: root/src/vendorcode/amd/cimx/sb700/SBMAIN.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vendorcode/amd/cimx/sb700/SBMAIN.c')
-rw-r--r--src/vendorcode/amd/cimx/sb700/SBMAIN.c285
1 files changed, 0 insertions, 285 deletions
diff --git a/src/vendorcode/amd/cimx/sb700/SBMAIN.c b/src/vendorcode/amd/cimx/sb700/SBMAIN.c
deleted file mode 100644
index 45f08df7de..0000000000
--- a/src/vendorcode/amd/cimx/sb700/SBMAIN.c
+++ /dev/null
@@ -1,285 +0,0 @@
-/*****************************************************************************
- *
- * Copyright (C) 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 "Platform.h"
-
-BUILDPARAM DfltStaticOptions={
- BIOS_SIZE, // BIOS Size
- LEGACY_FREE, // Legacy Free Option
- 0x00, // Dummy space holder
-
- 0x00, // ECKbd disable/enable
- 0x00, // EcChannel0 disable/enable
- 0x00, // Dummy space holder1
-
- SMBUS0_BASE_ADDRESS, // Smbus Base Address;
- SMBUS1_BASE_ADDRESS, // Smbus Base Address;
- SIO_PME_BASE_ADDRESS, // SIO PME Base Address
- WATCHDOG_TIMER_BASE_ADDRESS, // Watchdog Timer Base Address
- SPI_BASE_ADDRESS,
-
- PM1_EVT_BLK_ADDRESS, // AcpiPm1EvtBlkAddr;
- PM1_CNT_BLK_ADDRESS, // AcpiPm1CntBlkAddr;
- PM1_TMR_BLK_ADDRESS, // AcpiPmTmrBlkAddr;
- CPU_CNT_BLK_ADDRESS, // CpuControlBlkAddr;
- GPE0_BLK_ADDRESS, // AcpiGpe0BlkAddr;
- SMI_CMD_PORT, // SmiCmdPortAddr;
- ACPI_PMA_CNT_BLK_ADDRESS, // AcpiPmaCntBlkAddr;
-
- EC_LDN5_MAILBOX_ADDRESS,
- EC_LDN5_IRQ,
- EC_LDN9_MAILBOX_ADDRESS, // EC LDN9 Mailbox address
- RESERVED_VALUE,
- RESERVED_VALUE,
- RESERVED_VALUE,
- RESERVED_VALUE,
-
- HPET_BASE_ADDRESS, // HPET Base address
-
- SATA_IDE_MODE_SSID,
- SATA_RAID_MODE_SSID,
- SATA_RAID5_MODE_SSID,
- SATA_AHCI_SSID,
-
- OHCI0_SSID,
- OHCI1_SSID,
- EHCI0_SSID,
- OHCI2_SSID,
- OHCI3_SSID,
- EHCI1_SSID,
- OHCI4_SSID,
- SMBUS_SSID,
- IDE_SSID,
- AZALIA_SSID,
- LPC_SSID,
- P2P_SSID,
-};
-
-
-/*********************************************************************************
-*
-* Routine Description: Config SB Before PCI INIT
-*
-* Arguments:
-*
-* pConfig - SBconfiguration
-*
-* Returns:
-*
-* void
-*
-**********************************************************************************/
-void sbBeforePciInit (AMDSBCFG* pConfig){
- BUILDPARAM *pStaticOptions;
-
- pStaticOptions = &pConfig->BuildParameters;
- TRACE((DMSG_SB_TRACE, "CIMx - Entering sbBeforePciInit \n"));
- commonInitEarlyBoot(pConfig);
- commonInitEarlyPost(pConfig);
-#ifndef NO_EC_SUPPORT
- ecInitBeforePciEnum(pConfig);
-#endif
- usbInitBeforePciEnum(pConfig); // USB POST TIME Only
- fcInitBeforePciEnum(pConfig); // Preinit flash controller
- sataInitBeforePciEnum(pConfig); // Init SATA class code and PHY
- programSubSystemIDs(pConfig, pStaticOptions); // Set subsystem/vendor ID
-
- TRACE((DMSG_SB_TRACE, "CIMx - Exiting sbBeforePciInit \n"));
-}
-
-
-/*********************************************************************************
-*
-* Routine Description: Config SB After PCI INIT
-*
-* Arguments:
-*
-* pConfig - SBconfiguration
-*
-* Returns: void
-*
-* Reference: atiSbAfterPciInit
-*
-**********************************************************************************/
-void sbAfterPciInit(AMDSBCFG* pConfig){
- BUILDPARAM *pStaticOptions;
-
- TRACE((DMSG_SB_TRACE, "CIMx - Entering sbAfterPciInit \n"));
-
- pStaticOptions = &pConfig->BuildParameters;
- usbInitMidPost(pConfig); //usb initialization which is required only during post
- usbInitAfterPciInit(pConfig); // Init USB MMIO
- sataInitAfterPciEnum(pConfig); // SATA port enumeration
- azaliaInitAfterPciEnum(pConfig); // Detect and configure High Definition Audio
-
- TRACE((DMSG_SB_TRACE, "CIMx - Exiting sbAfterPciInit \n"));
-}
-
-
-/*********************************************************************************
-*
-* Routine Description: Config SB during late POST
-*
-* Arguments:
-*
-* pConfig - SBconfiguration
-*
-* Returns: void
-*
-* Reference: atiSbLatePost
-*
-**********************************************************************************/
-void sbLatePost(AMDSBCFG* pConfig){
- UINT16 dwVar;
- BUILDPARAM *pStaticOptions;
- pStaticOptions = &pConfig->BuildParameters;
- TRACE((DMSG_SB_TRACE, "CIMx - Entering sbLatePost \n"));
- ReadPCI((SMBUS_BUS_DEV_FUN << 16) + SB_SMBUS_REG02, AccWidthUint16, &dwVar);
- if (dwVar != SB7XX_DEVICE_ID){
- // Display message that the SB is wrong and stop the system
- TRACE((DMSG_SB_TRACE, "Current system does not have SB700 chipset. Stopping\n"));
- for(;;);
- }
- commonInitLateBoot(pConfig);
- sataInitLatePost(pConfig);
- hpetInit(pConfig, pStaticOptions); // SB Configure HPET base and enable bit
-#ifndef NO_EC_SUPPORT
- ecInitLatePost(pConfig);
-#endif
-}
-
-/*********************************************************************************
-*
-* Routine Description: Config SB before ACPI S3 resume PCI config device restore
-*
-* Arguments:
-*
-* pConfig - SBconfiguration
-*
-* Returns: void
-*
-* Reference: AtiSbBfPciRestore
-*
-**********************************************************************************/
-void sbBeforePciRestoreInit(AMDSBCFG* pConfig){
- BUILDPARAM *pStaticOptions;
-
- TRACE((DMSG_SB_TRACE, "CIMx - Entering sbBeforePciRestoreInit \n"));
-
- pConfig->S3Resume = 1;
-
- pStaticOptions = &pConfig->BuildParameters;
- commonInitEarlyBoot(pConfig); // set /SMBUS/ACPI/IDE/LPC/PCIB
- abLinkInitBeforePciEnum(pConfig); // Set ABCFG registers
- usbInitBeforePciEnum(pConfig); // USB POST TIME Only
- fcInitBeforePciEnum(pConfig); // Preinit flash controller
- sataInitBeforePciEnum(pConfig);
- programSubSystemIDs(pConfig, pStaticOptions); // Set subsystem/vendor ID
-}
-
-
-/*********************************************************************************
-*
-* Routine Description: Config SB after ACPI S3 resume PCI config device restore
-*
-* Arguments:
-*
-* pConfig - SBconfiguration
-*
-* Returns: void
-*
-* Reference: AtiSbAfPciRestore
-*
-**********************************************************************************/
-void sbAfterPciRestoreInit(AMDSBCFG* pConfig){
- BUILDPARAM *pStaticOptions;
-
- pConfig->S3Resume = 1;
-
- pStaticOptions = &pConfig->BuildParameters;
- TRACE((DMSG_SB_TRACE, "CIMx - Entering sbAfterPciRestoreInit \n"));
-
- commonInitLateBoot(pConfig);
- sataInitAfterPciEnum(pConfig);
- azaliaInitAfterPciEnum(pConfig); // Detect and configure High Definition Audio
- hpetInit(pConfig, pStaticOptions); // SB Configure HPET base and enable bit
- sataInitLatePost(pConfig);
- sbSmmAcpiOn(pConfig);
-}
-
-
-/*++
-
-Routine Description:
-
- SB config hook during ACPI_ON
-
-Arguments:
-
- pConfig - SBconfiguration
-
-Returns:
-
- void
-
---*/
-
-void sbSmmAcpiOn(AMDSBCFG* pConfig){
- UINT32 ddBar5;
- UINT8 dbPort;
-
- //RWPCI((SMBUS_BUS_DEV_FUN << 16) + SB_SMBUS_REG60+2, AccWidthUint8 | S3_SAVE, ~(UINT32)(BIT1+BIT0), 0);
- if (getRevisionID() >= SB700_A13)
- RWPCI((SMBUS_BUS_DEV_FUN << 16) + SB_SMBUS_REG43, AccWidthUint8 | S3_SAVE, 0xFF, BIT0); //Enable Legacy DMA prefetch enhancement
-
- RWPCI((SMBUS_BUS_DEV_FUN << 16) + SB_SMBUS_REG60+2, AccWidthUint8 | S3_SAVE, ~(UINT32)(BIT1+BIT0), 0);
- RWPCI((SMBUS_BUS_DEV_FUN << 16) + SB_SMBUS_REG64+3, AccWidthUint8| S3_SAVE, ~(UINT32)BIT7, 0);
- programOhciMmioForEmulation();
-
- // For IDE_TO_AHCI_MODE and IDE_TO_AMD_AHCI_MODE, clear Interrupt Status register for all ports
- ReadPCI( ((SATA_BUS_DEV_FUN << 16) + SB_SATA_REG24), AccWidthUint32, &ddBar5);
- if ((pConfig->SataClass == IDE_TO_AHCI_MODE) || (pConfig->SataClass == IDE_TO_AMD_AHCI_MODE)){
- for (dbPort = 0; dbPort <= 5; dbPort++) {
- RWMEM(ddBar5 + SB_SATA_BAR5_REG110 + dbPort * 0x80, AccWidthUint32, 0x00, 0xFFFFFFFF);
- }
- }
-}
-
-
-UINT32 CallBackToOEM(UINT32 Func, UINTN Data,AMDSBCFG* pConfig){
- UINT32 Result=0;
- TRACE((DMSG_SB_TRACE,"OEM Call Back Func [%x] Data [%x]\n",Func,Data));
- if (pConfig->StdHeader.pCallBack==NULL)
- return Result;
- Result = (*(pConfig->StdHeader.pCallBack))(Func,Data,pConfig);
- TRACE((DMSG_SB_TRACE,"SB Hook Status [%x]\n",Result));
- return Result;
-}