9 * @xrefitem bom "File Content Label" "Release Content"
11 * @e sub-project: (Mem)
12 * @e \$Revision: 60556 $ @e \$Date: 2011-10-17 20:19:58 -0600 (Mon, 17 Oct 2011) $
15 /*****************************************************************************
17 * Copyright (C) 2012 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 * ***************************************************************************
49 /*----------------------------------------------------------------------------
50 * Mixed (DEFINITIONS AND MACROS / TYPEDEFS, STRUCTURES, ENUMS)
52 *----------------------------------------------------------------------------
54 #define MAX_CHANNELS_PER_SOCKET_OR 4
55 #define MAX_DCTS_PER_NODE_OR 2
56 #define MAX_CHANNELS_PER_DCT_OR 1
57 #define MAX_NODES_SUPPORTED_OR 8
59 #define DEFAULT_WR_ODT_OR 6
60 #define DEFAULT_RD_ODT_OR 6
62 #define GetBufDatDly 0
63 #define GetBufDatDlySkew 1
65 /*-----------------------------------------------------------------------------
66 * DEFINITIONS AND MACROS
68 *-----------------------------------------------------------------------------
71 /*----------------------------------------------------------------------------
72 * TYPEDEFS, STRUCTURES, ENUMS
74 *----------------------------------------------------------------------------
76 /// Data Structure of Parameters for MR0 PPD set during S3 resume
78 UINT16 MR0Value; ///< MRO Value saved during memory initialization
79 UINT16 ChipSelEnMap; ///< Bitmap of Enabled Chip Select per DCT
82 typedef MR0_DATA_STRUCT (*MR0_DATA_ARRAY_PTR)[MAX_NODES_SUPPORTED_OR][MAX_DCTS_PER_NODE_OR];
83 /*----------------------------------------------------------------------------
86 *----------------------------------------------------------------------------
89 MemConstructNBBlockOR (
90 IN OUT MEM_NB_BLOCK *NBPtr,
91 IN OUT MEM_DATA_STRUCT *MemPtr,
92 IN MEM_FEAT_BLOCK_NB *FeatPtr,
93 IN MEM_SHARED_DATA *SharedPtr,
99 IN OUT MEM_NB_BLOCK *NBPtr
104 IN OUT MEM_DATA_STRUCT *MemPtr
109 IN OUT MEM_NB_BLOCK *NBPtr
114 IN OUT MEM_NB_BLOCK *NBPtr
119 IN OUT MEM_NB_BLOCK *NBPtr
124 IN OUT MEM_NB_BLOCK *NBPtr
129 IN OUT MEM_NB_BLOCK *NBPtr,
137 IN OUT MEM_NB_BLOCK *NBPtr,
144 MemNInitNBRegTableOr (
145 IN OUT MEM_NB_BLOCK *NBPtr,
146 IN OUT TSEFO NBRegTable[]
150 MemNGetSocketRelativeChannelOr (
151 IN OUT MEM_NB_BLOCK *NBPtr,
157 MemNIsIdSupportedOr (
158 IN OUT MEM_NB_BLOCK *NBPtr,
159 IN CPU_LOGICAL_ID *LogicalIdPtr
163 MemNCmnGetSetFieldOr (
164 IN OUT MEM_NB_BLOCK *NBPtr,
166 IN BIT_FIELD_NAME FieldName,
171 memNEnableTrainSequenceOr (
172 IN OUT MEM_NB_BLOCK *NBPtr
176 MemNTechBlockSwitchOr (
177 IN OUT MEM_NB_BLOCK *NBPtr
181 MemNScrubberErratumOr (
182 IN OUT MEM_NB_BLOCK *NBPtr,
183 IN OUT VOID *OptParam
187 MemNAfterDQSTrainingOr (
188 IN OUT MEM_NB_BLOCK *NBPtr
192 MemNDataTxFifoWrDlyOverrideOr (
193 IN OUT MEM_NB_BLOCK *NBPtr,
194 IN OUT VOID *OptParam
198 MemNCapSpeedBatteryLifeOr (
199 IN OUT MEM_NB_BLOCK *NBPtr
203 MemNGetMaxLatParamsOr (
204 IN OUT MEM_NB_BLOCK *NBPtr,
205 IN UINT16 MaxRcvEnDly,
206 IN OUT UINT16 *MinDlyPtr,
207 IN OUT UINT16 *MaxDlyPtr,
208 IN OUT UINT16 *DlyBiasPtr
212 MemNSetMaxLatencyOr (
213 IN OUT MEM_NB_BLOCK *NBPtr,
214 IN UINT16 MaxRcvEnDly
218 MemNExitPhyAssistedTrainingOr (
219 IN OUT MEM_NB_BLOCK *NBPtr,
220 IN OUT VOID *OptParam
224 MemNOverrideRcvEnSeedOr (
225 IN OUT MEM_NB_BLOCK *NBPtr,
230 MemNOverrideRcvEnSeedPassNOr (
231 IN OUT MEM_NB_BLOCK *NBPtr,
232 IN OUT VOID *SeedTotal
236 MemNOverrideWLSeedOr (
237 IN OUT MEM_NB_BLOCK *NBPtr,
242 MemNAfterMemClkFreqChgOr (
243 IN OUT MEM_NB_BLOCK *NBPtr,
244 IN OUT VOID *OptParam
249 MemNTrainWlPerNibbleOr (
250 IN OUT MEM_NB_BLOCK *NBPtr,
255 MemNTrainWlPerNibbleAdjustWLDlyOr (
256 IN OUT MEM_NB_BLOCK *NBPtr,
261 MemNBeforeDQSTrainingOr (
262 IN OUT MEM_NB_BLOCK *NBPtr
266 MemNTrainRxEnPerNibbleOr (
267 IN OUT MEM_NB_BLOCK *NBPtr,
272 MemNTrainRxEnAdjustDlyPerNibbleOr (
273 IN OUT MEM_NB_BLOCK *NBPtr,
274 IN OUT VOID *RcvEnDly
278 MemNTrainRxEnGetAvgDlyPerNibbleOr (
279 IN OUT MEM_NB_BLOCK *NBPtr,
280 IN OUT VOID *OptParam
284 MemNInitPerNibbleTrnOr (
285 IN OUT MEM_NB_BLOCK *NBPtr,
286 IN OUT VOID *OptParam
290 MemNTrainWlPerNibbleSeedOr (
291 IN OUT MEM_NB_BLOCK *NBPtr,
292 IN OUT VOID *WrDqsDly
296 MemNTrainingNibbleZeroOr (
297 IN OUT MEM_NB_BLOCK *NBPtr,
302 MemNBeforeSetCsTriOr (
303 IN OUT MEM_NB_BLOCK *NBPtr,
304 IN OUT VOID *CsTriBitmap
308 MemNEnableParityAfterMemRstOr (
309 IN OUT MEM_NB_BLOCK *NBPtr,
310 IN OUT VOID *OptParam
314 MemNProgOdtControlOr (
315 IN OUT MEM_NB_BLOCK *NBPtr,
316 IN OUT VOID *OptParam
320 MemNBeforeDramInitOr (
321 IN OUT MEM_NB_BLOCK *NBPtr
326 IN OUT MEM_NB_BLOCK *NBPtr,
327 IN OUT INT16 *Value16
331 MemNReleaseNbPstateOr (
332 IN OUT MEM_NB_BLOCK *NBPtr,
333 IN OUT VOID *OptParam
338 IN OUT MEM_NB_BLOCK *NBPtr,
343 MemNCalBufDatDelaySkewOr (
344 IN OUT MEM_NB_BLOCK *NBPtr,
350 IN OUT MEM_NB_BLOCK *NBPtr
354 MemNAdjustWrDqsBeforeSeedScalingOr (
355 IN OUT MEM_NB_BLOCK *NBPtr,
356 IN OUT VOID *WrDqsBias
359 #endif /* _MNOR_H_ */