blob: e5ecd3b58200c28babf82c1c1b237e6cff91467d [file] [log] [blame]
Frank Vibrans2b4c8312011-02-14 18:30:54 +00001/**
2 * @file
3 *
4 * Southbridge IO access common routine define file
5 *
6 *
7 *
8 * @xrefitem bom "File Content Label" "Release Content"
9 * @e project: CIMx-SB
10 * @e sub-project:
11 * @e \$Revision:$ @e \$Date:$
12 *
13 */
14/*
15 *****************************************************************************
16 *
17 * Copyright (c) 2011, Advanced Micro Devices, Inc.
18 * All rights reserved.
19 *
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.
30 *
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.
41 *
42 * ***************************************************************************
43 *
44 */
45
46
47//AMDSBLIB Routines
48
49/**
50 * SbStall - Delay routine
51 *
52 *
53 *
54 * @param[in] uSec
55 *
56 */
57void SbStall (IN unsigned int uSec);
58
59/**
60 * SbReset - Generate a reset command
61 *
62 *
63 *
64 * @param[in] OpFlag - Dummy
65 *
66 */
67void SbReset (IN unsigned char OpFlag);
68
69/**
70 * outPort80 - Send data to PORT 80 (debug port)
71 *
72 *
73 *
74 * @param[in] pcode - debug code (32 bits)
75 *
76 */
77void outPort80 (IN unsigned int pcode);
78
79/**
80 * getEfuseStatue - Get Efuse status
81 *
82 *
83 * @param[in] Value - Return Chip strap status
84 *
85 */
86void getEfuseStatus (IN void* Value);
87
88/**
89 * AmdSbDispatcher - Dispatch Southbridge function
90 *
91 *
92 *
93 * @param[in] pConfig Southbridge configuration structure pointer.
94 *
95 */
96AGESA_STATUS AmdSbDispatcher (IN void *pConfig);
97
98/**
99 * AmdSbCopyMem - Memory copy
100 *
101 * @param[in] pDest - Destance address point
102 * @param[in] pSource - Source Address point
103 * @param[in] Length - Data length
104 *
105 */
106void AmdSbCopyMem (IN void* pDest, IN void* pSource, IN unsigned int Length);