4 * Southbridge IO access common routine define file
8 * @xrefitem bom "File Content Label" "Release Content"
11 * @e \$Revision:$ @e \$Date:$
15 *****************************************************************************
17 * Copyright (c) 2011, Advanced Micro Devices, Inc.
18 * All rights reserved.
20 * Redistribution and use in source and binary forms, with or without
21 * modification, are permitted provided that the following conditions are met:
22 * * Redistributions of source code must retain the above copyright
23 * notice, this list of conditions and the following disclaimer.
24 * * Redistributions in binary form must reproduce the above copyright
25 * notice, this list of conditions and the following disclaimer in the
26 * documentation and/or other materials provided with the distribution.
27 * * Neither the name of Advanced Micro Devices, Inc. nor the names of
28 * its contributors may be used to endorse or promote products derived
29 * from this software without specific prior written permission.
31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
32 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
33 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
34 * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
35 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
36 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
37 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
38 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
39 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
40 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42 * ***************************************************************************
50 * SbStall - Delay routine
57 void SbStall (IN unsigned int uSec);
60 * SbReset - Generate a reset command
64 * @param[in] OpFlag - Dummy
67 void SbReset (IN unsigned char OpFlag);
70 * outPort80 - Send data to PORT 80 (debug port)
74 * @param[in] pcode - debug code (32 bits)
77 void outPort80 (IN unsigned int pcode);
80 * getEfuseStatue - Get Efuse status
83 * @param[in] Value - Return Chip strap status
86 void getEfuseStatus (IN void* Value);
89 * AmdSbDispatcher - Dispatch Southbridge function
93 * @param[in] pConfig Southbridge configuration structure pointer.
96 AGESA_STATUS AmdSbDispatcher (IN void *pConfig);
99 * AmdSbCopyMem - Memory copy
101 * @param[in] pDest - Destance address point
102 * @param[in] pSource - Source Address point
103 * @param[in] Length - Data length
106 void AmdSbCopyMem (IN void* pDest, IN void* pSource, IN unsigned int Length);
109 /* SB800 CIMx and AGESA V5 can share lib functions */
110 unsigned char ReadIo8(IN unsigned short Address);
111 unsigned short ReadIo16(IN unsigned short Address);
112 unsigned int ReadIo32(IN unsigned short Address);
113 void WriteIo8(IN unsigned short Address, IN unsigned char Data);
114 void WriteIo16(IN unsigned short Address, IN unsigned short Data);
115 void WriteIo32(IN unsigned short Address, IN unsigned int Data);
116 //void CpuidRead(IN unsigned int CpuidFcnAddress, OUT CPUID_DATA *Value);
117 void CpuidRead(unsigned int CpuidFcnAddress, CPUID_DATA *Value);
118 unsigned char ReadNumberOfCpuCores(void);