5 * AMD Family_10 Power Management related stuff
7 * @xrefitem bom "File Content Label" "Release Content"
9 * @e sub-project: CPU/F10
10 * @e \$Revision: 44324 $ @e \$Date: 2010-12-22 02:16:51 -0700 (Wed, 22 Dec 2010) $
14 ******************************************************************************
16 * Copyright (C) 2012 Advanced Micro Devices, Inc.
17 * All rights reserved.
19 * Redistribution and use in source and binary forms, with or without
20 * modification, are permitted provided that the following conditions are met:
21 * * Redistributions of source code must retain the above copyright
22 * notice, this list of conditions and the following disclaimer.
23 * * Redistributions in binary form must reproduce the above copyright
24 * notice, this list of conditions and the following disclaimer in the
25 * documentation and/or other materials provided with the distribution.
26 * * Neither the name of Advanced Micro Devices, Inc. nor the names of
27 * its contributors may be used to endorse or promote products derived
28 * from this software without specific prior written permission.
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
31 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
32 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
33 * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
34 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
35 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
36 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
37 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
38 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
39 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41 ******************************************************************************
44 #ifndef _CPUF10POWERMGMT_H_
45 #define _CPUF10POWERMGMT_H_
48 * Family 10h CPU Power Management MSR definitions
52 /* Interrupt Pending and CMP-Halt MSR Register 0xC0010055 */
53 #define MSR_INTPEND 0xC0010055
55 /// Interrupt Pending and CMP-Halt MSR Register
57 UINT64 IoMsgAddr:16; ///< IO message address
58 UINT64 IoMsgData:8; ///< IO message data
59 UINT64 IntrPndMsgDis:1; ///< Interrupt pending message disable
60 UINT64 IntrPndMsg:1; ///< Interrupt pending message
61 UINT64 IoRd:1; ///< IO read
62 UINT64 SmiOnCmpHalt:1; ///< SMI on chip multi-processing halt
63 UINT64 C1eOnCmpHalt:1; ///< C1E on chip multi-processing halt
64 UINT64 BmStsClrOnHltEn:1; ///< Clear BM status bit on server C1e entry
65 UINT64 :34; ///< Reserved
69 /* P-state Current Limit Register 0xC0010061 */
70 #define MSR_PSTATE_CURRENT_LIMIT 0xC0010061
72 /// Pstate Current Limit MSR Register
74 UINT64 CurPstateLimit:3; ///< Current Pstate Limit
75 UINT64 :1; ///< Reserved
76 UINT64 PstateMaxVal:3; ///< Pstate Max Value
77 UINT64 :57; ///< Reserved
81 /* P-state Control Register 0xC0010062 */
82 #define MSR_PSTATE_CTL 0xC0010062
84 /// Pstate Control MSR Register
86 UINT64 PstateCmd:3; ///< Pstate change command
87 UINT64 :61; ///< Reserved
91 /* P-state Status Register 0xC0010063 */
92 #define MSR_PSTATE_STS 0xC0010063
94 /// Pstate Status MSR Register
96 UINT64 CurPstate:3; ///< Current Pstate
97 UINT64 :61; ///< Reserved
101 /* P-state Registers 0xC001006[8:4] */
102 #define MSR_PSTATE_0 0xC0010064
103 #define MSR_PSTATE_1 0xC0010065
104 #define MSR_PSTATE_2 0xC0010066
105 #define MSR_PSTATE_3 0xC0010067
106 #define MSR_PSTATE_4 0xC0010068
108 #define PS_REG_BASE MSR_PSTATE_0 /* P-state Register base */
109 #define PS_MAX_REG MSR_PSTATE_4 /* Maximum P-State Register */
110 #define PS_MIN_REG MSR_PSTATE_0 /* Minimum P-State Register */
111 #define NM_PS_REG 5 /* number of P-state MSR registers */
115 UINT64 CpuFid:6; ///< CpuFid
116 UINT64 CpuDid:3; ///< CpuDid
117 UINT64 CpuVid:7; ///< CpuVid
118 UINT64 :6; ///< Reserved
119 UINT64 NbDid:1; ///< NbDid
120 UINT64 :2; ///< Reserved
121 UINT64 NbVid:7; ///< NbVid
122 UINT64 IddValue:8; ///< IddValue
123 UINT64 IddDiv:2; ///< IddDiv
124 UINT64 :21; ///< Reserved
125 UINT64 PsEnable:1; ///< Pstate Enable
129 /* COFVID Control Register 0xC0010070 */
130 #define MSR_COFVID_CTL 0xC0010070
132 /// COFVID Control MSR Register
134 UINT64 CpuFid:6; ///< CpuFid
135 UINT64 CpuDid:3; ///< CpuDid
136 UINT64 CpuVid:7; ///< CpuVid
137 UINT64 PstateId:3; ///< Pstate ID
138 UINT64 :3; ///< Reserved
139 UINT64 NbDid:1; ///< NbDid
140 UINT64 :2; ///< Reserved
141 UINT64 NbVid:7; ///< NbVid
142 UINT64 :32; ///< Reserved
146 /* COFVID Status Register 0xC0010071 */
147 #define MSR_COFVID_STS 0xC0010071
149 /// COFVID Status MSR Register
151 UINT64 CurCpuFid:6; ///< Current CpuFid
152 UINT64 CurCpuDid:3; ///< Current CpuDid
153 UINT64 CurCpuVid:7; ///< Current CpuVid
154 UINT64 CurPstate:3; ///< Current Pstate
155 UINT64 :3; ///< Reserved
156 UINT64 CurNbDid:1; ///< Current NbDid
157 UINT64 :2; ///< Reserved
158 UINT64 CurNbVid:7; ///< Current NbVid
159 UINT64 StartupPstate:3; ///< Startup Pstate
160 UINT64 MaxVid:7; ///< MaxVid
161 UINT64 MinVid:7; ///< MinVid
162 UINT64 MaxCpuCof:6; ///< MaxCpuCof
163 UINT64 :1; ///< Reserved
164 UINT64 CurPstateLimit:3; ///< Current Pstate Limit
165 UINT64 MaxNbFid:5; ///< MaxNbFid
168 /* C-state Address Register 0xC0010073 */
169 #define MSR_CSTATE_ADDRESS 0xC0010073
171 /// C-state Address MSR Register
173 UINT64 CstateAddr:16; ///< C-state address
174 UINT64 :48; ///< Reserved
175 } CSTATE_ADDRESS_MSR;
178 * Family 10h CPU Power Management PCI definitions
182 /* DRAM Configuration High Register F2x[1,0]94 */
183 #define DRAM_CFG_HI_REG0 0x94
184 #define DRAM_CFG_HI_REG1 0x194
186 /// DRAM Configuration High PCI Register
188 UINT32 MemClkFreq:3; ///< Memory clock frequency
189 UINT32 MemClkFreqVal:1; ///< Memory clock frequency valid
190 UINT32 :4; ///< Reserved
191 UINT32 Ddr3Mode:1; ///< DDR3 mode
192 UINT32 LegacyBiosMode:1; ///< Legacy BIOS mode
193 UINT32 ZqcsInterval:2; ///< ZQ calibration short interval
194 UINT32 RDqsEn:1; ///< Read DQS enable
195 UINT32 DisSimulRdWr:1; ///< Disable simultaneous read and write
196 UINT32 DisDramInterface:1; ///< Disable the DRAM interface
197 UINT32 PowerDownEn:1; ///< Power down mode enable
198 UINT32 PowerDownMode:1; ///< Power down mode
199 UINT32 :1; ///< Reserved
200 UINT32 FourRankRDimm:1; ///< Four rank registered DIMM connected
201 UINT32 DcqArbBypassEn:1; ///< DRAM controller arbiter bypass enable
202 UINT32 SlowAccessMode:1; ///< Slow access mode
203 UINT32 FreqChgInProg:1; ///< Frequency change in progress
204 UINT32 BankSwizzleMode:1; ///< Bank swizzle mode
205 UINT32 ProcOdtDis:1; ///< Processor on-die termination disable
206 UINT32 DcqBypassMax:4; ///< DRAM controller queue bypass maximum
207 UINT32 FourActWindow:4; ///< Four bank activate window
208 } DRAM_CFG_HI_REGISTER;
211 /* Extended Memory Controller Configuration Low Register F2x1B0 */
212 #define EXT_MEMCTRL_CFG_LOW_REG 0x1B0
214 /// Extended Memory Controller Configuration Low PCI Register
216 UINT32 AdapPrefMissRatio:2; ///< Adaptive prefetch miss ratio
217 UINT32 AdapPrefPositiveStep:2; ///< Adaptive prefetch positive step
218 UINT32 AdapPrefNegativeStep:2; ///< Adaptive prefetch negative step
219 UINT32 :2; ///< Reserved
220 UINT32 CohPrefPrbLmt:3; ///< Coherent prefetch probe limit
221 UINT32 DisIoCohPref:1; ///< Disable coherent prefetched for IO
222 UINT32 EnSplitDctLimits:1; ///< Split DCT write limits enable
223 UINT32 SpecPrefDis:1; ///< Speculative prefetch disable
224 UINT32 SpecPrefMis:1; ///< Speculative prefetch predict miss
225 UINT32 SpecPrefThreshold:3; ///< Speculative prefetch threshold
226 UINT32 :4; ///< Reserved
227 UINT32 PrefFourConf:3; ///< Prefetch four-ahead confidence
228 UINT32 PrefFiveConf:3; ///< Prefetch five-ahead confidence
229 UINT32 DcqBwThrotWm:4; ///< Dcq bandwidth throttle watermark
230 } EXT_MEMCTRL_CFG_LOW_REGISTER;
233 /* Scrub Rate Control Register F3x58 */
234 #define SCRUB_RATE_CTRL_REG 0x58
236 /// Scrub Rate Control PCI Register
238 UINT32 DramScrub:5; ///< DRAM scrub rate
239 UINT32 :3; ///< Reserved
240 UINT32 L2Scrub:5; ///< L2 cache scrub rate
241 UINT32 :3; ///< Reserved
242 UINT32 DcacheScrub:5; ///< Data cache scrub rate
243 UINT32 :3; ///< Reserved
244 UINT32 L3Scrub:5; ///< L3 cache scrub rate
245 UINT32 :3; ///< Reserved
246 } SCRUB_RATE_CTRL_REGISTER;
248 /* DRAM Scrub Address Low Register F3x5C */
249 #define DRAM_SCRUB_ADDR_LOW_REG 0x5C
251 /// DRAM Scrub Address Low PCI Register
253 UINT32 ScrubReDirEn:1; ///< DRAM scrubber redirect enable
254 UINT32 :5; ///< Reserved
255 UINT32 ScrubAddrLo:26; ///< DRAM scrubber address bits[31:6]
256 } DRAM_SCRUB_ADDR_LOW_REGISTER;
259 /* Hardware thermal control register F3x64 */
261 #define HTC_PCI_ADDR (MAKE_SBDFO (0, 0, 0x18, FUNC_3, HTC_REG))
263 /// Hardware Thermal Control PCI Register
265 UINT32 HtcEn:1; ///< HTC Enable
266 UINT32 :3; ///< Reserved
267 UINT32 HtcAct:1; ///< HTC Active State
268 UINT32 HtcActSts:1; ///< HTC Active Status
269 UINT32 PslApicHiEn:1; ///< P-state limit higher APIC int enable
270 UINT32 PslApicLoEn:1; ///< P-state limit lower APIC int enable
271 UINT32 :8; ///< Reserved
272 UINT32 HtcTmpLmt:7; ///< HTC temperature limit
273 UINT32 HtcSlewSel:1; ///< HTC slew-controlled temp select
274 UINT32 HtcHystLmt:4; ///< HTC hysteresis
275 UINT32 HtcPstateLimit:3; ///< HTC P-state limit select
276 UINT32 :1; ///< Reserved
280 /* Software thermal control register F3x68 */
283 /// Software Thermal Control PCI Register
285 UINT32 StcSbcTmpHiEn:1; ///< STC SBC temperature high enable
286 UINT32 StcSbcTmpLoEn:1; ///< STC SBC temperature low enable
287 UINT32 StcApcTmpHiEn:1; ///< STC APIC temperature high enable
288 UINT32 StcApcTmpLoEn:1; ///< STC APIC temperature low enable
289 UINT32 :1; ///< Reserved
290 UINT32 StcPstateEn:1; ///< STC P-state enable
291 UINT32 StcTmpHiSts:1; ///< STC temperature high status
292 UINT32 StcTmpLoSts:1; ///< STC temperature low status
293 UINT32 :8; ///< Reserved
294 UINT32 StcTmpLmt:7; ///< STC temperature limit
295 UINT32 StcSlewSel:1; ///< STC slew-controlled temp select
296 UINT32 StcHystLmt:4; ///< STC hysteresis
297 UINT32 StcPstateLimit:3; ///< STC P-state limit select
298 UINT32 :1; ///< Reserved
301 /* ACPI Power State Control Registers F3x84:80 */
303 /// System Management Action Field (SMAF) Register
305 UINT8 CpuPrbEn:1; ///< CPU direct probe enable
306 UINT8 NbLowPwrEn:1; ///< Northbridge low-power enable
307 UINT8 NbGateEn:1; ///< Northbridge gate enable
308 UINT8 NbCofChg:1; ///< NbCofChg
309 UINT8 AltVidEn:1; ///< alternate VID enable
310 UINT8 ClkDivisor:3; ///< Clock divisor
313 /// union type for ACPI State SMAF setting
315 UINT8 SMAFValue; ///< SMAF raw value
316 SMAF_REGISTER SMAF; ///< SMAF structure
319 /// ACPI Power State Control Register F3x80
321 ACPI_STATE_SMAF C2; ///< [7:0] SMAF Code 000b - C2
322 ACPI_STATE_SMAF C3C1eLinkInit; ///< [15:8] SMAF Code 001b - C3, C1e or Link init
323 ACPI_STATE_SMAF FidVidChg; ///< [23:16] SMAF Code 010b - FIDVID Change
324 ACPI_STATE_SMAF S1; ///< [31:24] SMAF Code 011b - S1
325 } ACPI_PSC_0_REGISTER;
327 /// ACPI Power State Control Register F3x84
329 ACPI_STATE_SMAF S3; ///< [7:0] SMAF Code 100b - S3
330 ACPI_STATE_SMAF Throttling; ///< [15:8] SMAF Code 101b - Throttling
331 ACPI_STATE_SMAF S4S5; ///< [23:16] SMAF Code 110b - S4/S5
332 ACPI_STATE_SMAF C1; ///< [31:24] SMAF Code 111b - C1
333 } ACPI_PSC_4_REGISTER;
336 /* Power Control Miscellaneous Register F3xA0 */
337 #define PW_CTL_MISC_REG 0xA0
338 #define PW_CTL_MISC_PCI_ADDR (MAKE_SBDFO (0, 0, 0x18, FUNC_3, PW_CTL_MISC_REG))
340 /// Power Control Miscellaneous PCI Register
342 UINT32 PsiVid:7; ///< PSI_L VID threshold
343 UINT32 PsiVidEn:1; ///< PSI_L VID enable
344 UINT32 PviMode:1; ///< Parallel VID interface mode
345 UINT32 SviHighFreqSel:1; ///< SVI high frequency select
346 UINT32 IdleExitEn:1; ///< IDLEEXIT_L Enable
347 UINT32 PllLockTime:3; ///< PLL synchronization lock time
348 UINT32 BpPinsTriEn:1; ///< Breakpoint pins tristate enable
349 UINT32 :1; ///< Reserved
350 UINT32 PstateId:12; ///< Pstate ID
351 UINT32 :1; ///< Reserved
352 UINT32 SlamVidMode:1; ///< Slam voltage ID mode
353 UINT32 :1; ///< Reserved
354 UINT32 CofVidProg:1; ///< COF and VID of Pstate programmed
355 } POWER_CTRL_MISC_REGISTER;
357 /* Popup P-state Register F3xA8 */
358 #define POPUP_PSTATE_REG 0xA8
359 #define POPUP_PSTATE_PCI_ADDR (MAKE_SBDFO (0, 0, 0x18, FUNC_3, POPUP_PSTATE_REG))
361 /// Popup P-state Register
363 UINT32 PopupEn:1; ///< Popup enable
364 UINT32 :1; ///< Reserved
365 UINT32 PopupPstate:3; ///< Popup P-state
366 UINT32 PopupCpuVid:7; ///< Popup core VID
367 UINT32 PopupCpuFid:6; ///< Popup core FID
368 UINT32 PopupCpuDid:3; ///< Popup core DID
369 UINT32 :6; ///< Reserved
370 UINT32 CacheFlushPopDownEn:1; ///< Cache Flush PopDown P-state Enable
371 UINT32 :1; ///< Reserved
372 UINT32 PopDownPstate:3; ///< Pop-down P-state number
373 } POPUP_PSTATE_REGISTER;
375 /* Clock Power/Timing Control 0 Register F3xD4 */
376 #define CPTC0_REG 0xD4
378 /// Clock Power Timing Control PCI Register
380 UINT32 NbFid:5; ///< NbFid
381 UINT32 NbFidEn:1; ///< NbFidEn
382 UINT32 :2; ///< Reserved
383 UINT32 ClkRampHystSel:4; ///< Clock Ramp Hysteresis Select
384 UINT32 ClkRampHystCtl:1; ///< Clock Ramp Hysteresis Control
385 UINT32 MTC1eEn:1; ///< Message Triggered C1e Enable
386 UINT32 CacheFlushImmOnAllHalt:1; ///< Cache Flush Immediate on All Halt
387 UINT32 StutterScrubEn:1; ///< Stutter Mode Scrub Enable
388 UINT32 LnkPllLock:2; ///< Link PLL Lock
389 UINT32 :2; ///< Reserved
390 UINT32 PowerStepDown:4; ///< Power Step Down
391 UINT32 PowerStepUp:4; ///< Power Step Up
392 UINT32 NbClkDiv:3; ///< NbClkDiv
393 UINT32 NbClkDivApplyAll:1; ///< NbClkDivApplyAll
394 } CLK_PWR_TIMING_CTRL_REGISTER;
397 /* Clock Power/Timing Control 1 Register F3xD8 */
398 #define CPTC1_REG 0xD8
400 /// Clock Power Timing Control 1 PCI Register
402 UINT32 VSSlamTime:3; ///< Voltage stabilization slam time
403 UINT32 :1; ///< Reserved
404 UINT32 VSRampTime:3; ///< Voltage stabilization ramp time
405 UINT32 :1; ///< Reserved
406 UINT32 TdpVid:7; ///< Thermal design power VID
407 UINT32 :1; ///< Reserved
408 UINT32 AltVidStart:7; ///< Alternate VID start limit
409 UINT32 :1; ///< Reserved
410 UINT32 ReConDel:4; ///< Link reconnect delay
411 UINT32 PwrPlanes:1; ///< Power planes
412 UINT32 :3; ///< Reserved
413 } CLK_PWR_TIMING_CTRL1_REGISTER;
416 /* Clock Power/Timing Control 2 Register F3xDC */
417 #define CPTC2_REG 0xDC
418 #define CPTC2_PCI_ADDR (MAKE_SBDFO (0, 0, 0x18, FUNC_3, CPTC2_REG))
419 /// Clock Power Timing Control 2 PCI Register
421 UINT32 AltVid:7; ///< Alternate VID
422 UINT32 :1; ///< Reserved
423 UINT32 PstateMaxVal:3; ///< P-state maximum value
424 UINT32 :1; ///< Reserved
425 UINT32 NbsynPtrAdj:3; ///< NB/Core sync FIFO ptr adjust
426 UINT32 :1; ///< Reserved
427 UINT32 CacheFlushOnHaltCtl:3; ///< Cache flush on halt control
428 UINT32 CacheFlushOnHaltTmr:7; ///< Cache flush on halt timer
429 UINT32 :1; ///< Reserved
430 UINT32 SlamTimeMode:2; ///< Slam time mode
431 UINT32 AltvidVSSlamTime:3; ///< Altvid voltage stabilization slam time
432 } CLK_PWR_TIMING_CTRL2_REGISTER;
435 /* Northbridge Capabilities Register F3xE8 */
436 #define NB_CAPS_REG 0xE8
438 /// Northbridge Capabilities PCI Register
440 UINT32 DctDualCap:1; ///< Two-channel DRAM capable
441 UINT32 DualNodeCap:1; ///< Dual-node multi-processor capable
442 UINT32 EightNodeCap:1; ///< Eight-node multi-processor capable
443 UINT32 EccCapable:1; ///< ECC capable
444 UINT32 ChipkillCapable:1; ///< Chipkill ECC capable
445 UINT32 DdrMaxRate:3; ///< Maximum DRAM data rate
446 UINT32 MctCap:1; ///< Memory controller capable
447 UINT32 SvmCapable:1; ///< SVM capable
448 UINT32 HtcCapable:1; ///< HTC capable
449 UINT32 LnkRtryCap:1; ///< Link error-retry capable
450 UINT32 CmpCapLo:2; ///< CMP capable[1:0]
451 UINT32 MultiVidPlaneCap:1; ///< Multiple VID plane capable
452 UINT32 CmpCapHi:1; ///< CMP capable[2]
453 UINT32 MpCap:3; ///< MP capability
454 UINT32 :1; ///< Reserved
455 UINT32 UnGangEn:4; ///< Link unganging enabled
456 UINT32 :1; ///< Reserved
457 UINT32 L3Capable:1; ///< L3 capable
458 UINT32 HtAcCapable:1; ///< HT AC capable
459 UINT32 :2; ///< Reserved
460 UINT32 MultiNodeCpu:1; ///< Multinode processor
461 UINT32 IntNodeNum:2; ///< Internal node number
465 /* NB Extended Configuration Low Register F3x188 */
466 #define NB_EXT_CFG_LO_REG 0x188
468 /// Northbridge Extended Configuration Low PCI Register
470 UINT32 :4; ///< Reserved
471 UINT32 EnStpGntOnFlushMaskWakeup:1; ///< Enable stop grant on flush mask wakeup
472 UINT32 :27; ///< Reserved
473 } NB_EXT_CFG_LO_REGISTER;
476 /* L3 Cache Parameter Register F3x1C4 */
477 #define L3_CACHE_PARAM_REG 0x1C4
479 /// L3 Cache Parameter PCI Register
481 UINT32 L3SubcacheSize0:1; ///< L3 subcache size 0
482 UINT32 :3; ///< Reserved
483 UINT32 L3SubcacheSize1:1; ///< L3 subcache size 1
484 UINT32 :3; ///< Reserved
485 UINT32 L3SubcacheSize2:2; ///< L3 subcache size 2
486 UINT32 :2; ///< Reserved
487 UINT32 L3SubcacheSize3:2; ///< L3 subcache size 3
488 UINT32 :17; ///< Reserved
489 UINT32 L3TagInit:1; ///< L3 tag initialization
490 } L3_CACHE_PARAM_REGISTER;
493 /* Probe Filter Control Register F3x1D4 */
494 #define PROBE_FILTER_CTRL_REG 0x1D4
496 /// Probe Filter Control PCI Register
498 UINT32 PFMode:2; ///< Probe Filter Mode
499 UINT32 PFWayNum:2; ///< Probe Filter way number
500 UINT32 PFSubCacheSize0:2; ///< Probe filter subcache 0 size
501 UINT32 PFSubCacheSize1:2; ///< Probe filter subcache 1 size
502 UINT32 PFSubCacheSize2:2; ///< Probe filter subcache 2 size
503 UINT32 PFSubCacheSize3:2; ///< Probe filter subcache 3 size
504 UINT32 PFSubCacheEn:4; ///< Probe filter subcache enable
505 UINT32 :3; ///< Reserved
506 UINT32 PFInitDone:1; ///< Probe filter initialization done
507 UINT32 PFPreferredSORepl:2; ///< PF preferredSO replacement mode
508 UINT32 PFErrInt:2; ///< Probe filter error interrupt type
509 UINT32 PFErrIntLvtOff:4; ///< Probe filter error interrupt LVT offset
510 UINT32 PFEccError:1; ///< Probe filter ECC error
511 UINT32 PFLoIndexHashEn:1; ///< Probe filter low index hash enable
512 UINT32 :2; ///< Reserved
513 } PROBE_FILTER_CTRL_REGISTER;
516 /* Product Info Register F3x1FC */
517 #define PRCT_INFO_REG 0x1FC
518 #define PRCT_INFO_PCI_ADDR (MAKE_SBDFO (0, 0, 0x18, FUNC_3, PRCT_INFO_REG))
520 /// Product Information PCI Register
522 UINT32 NbCofVidUpdate:1; ///< NbCofVidUpdate
523 UINT32 NbVidUpdateAll:1; ///< NbVidUpdateAll
524 UINT32 SinglePlaneNbFid:5; ///< SinglePlaneNbFid
525 UINT32 SinglePlaneNbVid:7; ///< SinglePlaneNbVid
526 UINT32 DualPlaneNbFidOff:3; ///< DualPlaneNbFidOff
527 UINT32 DualPlaneNbVidOff:5; ///< DualPlaneNbVidOff
528 UINT32 SinglePlaneNbIdd:4; ///< SinglePlaneNbIdd
529 } PRODUCT_INFO_REGISTER;
531 /* Core Performance Boost Control Register D18F4x15C */
532 #define CPB_CTRL_REG 0x15C
533 #define CPB_CTRL_PCI_ADDR (MAKE_SBDFO (0, 0, 0x18, FUNC_4, CPB_CTRL_REG))
535 /// Core Performance Boost Control Register
537 UINT32 BoostSrc:2; ///< Boost source
538 UINT32 NumBoostStates:1; ///< Number of boosted states
539 UINT32 :27; ///< Reserved
540 UINT32 BoostLock:1; ///< Boost Lock
542 #endif /* _CPUF10POWERMGMT_H */
544 /* Boost Offset Register F3x10C */
545 #define F3x10C_REG 0x10C
546 #define F3x10C_ADDR (MAKE_SBDFO (0, 0, 0x18, FUNC_3, F3x10C_REG))