remove trailing whitespace
[coreboot.git] / src / northbridge / amd / amdht / AsPsDefs.h
index dfc6821ed95a83c9ff6af68d1fc8ad217c67732c..ccee1fdff03c7e468d219af9a82f3e64fb0aa854 100644 (file)
@@ -25,7 +25,7 @@
 #define APIC_BAR_BP 0x100              /* APIC_BAR BSP bit */
 
 #define PS_LIM_REG 0xC0010061          /* P-state Current Limit Register */
-#define PS_CUR_LIM_SHFT 4              /* P-state Current Limit shift position */
+#define PS_MAX_VAL_SHFT 4              /* P-state Maximum Value shift position */
 
 #define PS_CTL_REG 0xC0010062          /* P-state Control Register */
 #define PS_CMD_MASK_OFF 0xfffffff8     /* P-state Control Register CMD Mask OFF */
 #define PS_REG3 3                      /* offset for P3 */
 #define PS_REG4 4                      /* offset for P4 */
 
+#define PS_IDD_VALUE_SHFT 0            /* IddValue: current value
+                                         field offset for msr.hi */
+#define PS_IDD_VALUE_MASK 0xFF         /* IddValue: current value
+                                         field mask for msr.hi */
 #define PS_PSDIS_MASK  0x7fffffff      /* disable P-state register */
 #define PS_EN_MASK  0x80000000         /* P-state register enable mask */
 #define PS_NB_DID_MASK 0x400000        /* P-state Reg[NbDid] Mask */
 #define PS_NB_VID_SHFT 25              /* P-state bit shift for NbVid */
 #define PS_BOTH_VID_OFF 0x01ff01ff     /* Mask NbVid & CpuVid */
 #define PS_CPU_NB_VID_SHFT 16          /* P-state bit shift from CpuVid to NbVid */
-#define PS_NB_VID_SHFT 25              /* P-state NBVID shift */
 #define PS_DIS 0x7fffffff              /* disable P-state reg */
 #define PS_EN 0x80000000               /* enable P-state reg */
+#define PS_CPU_FID_MASK 0x03f           /* MSRC001_00[68:64][CpuFid]
+                                          Core Frequency Id */
 #define PS_CURDIV_SHFT 8               /* P-state Current Divisor shift position */
 #define PS_CPUDID_SHIFT 6              /* P-state CPU DID shift position */
 
@@ -82,7 +87,7 @@
 
 
 #define PCI_DEV_BASE 24                /* System PCI device ID base */
-#define LOCAL_APIC_ID_SHIFT 24         /* Local APCI ID shift bit # */
+#define LOCAL_APIC_ID_SHIFT 24         /* Local APIC ID shift bit # */
 #define APIC_CID_SIZE_SHIFT 12         /* ApicCoreIdSize shift bit # */
 #define FN_0 0                         /* Function 0 */
 #define FN_1 1                         /* Function 1 */
 #define STC_PS_LMT_MASK 0x8fffffff     /* StcPstateLimit mask off */
 
 #define CPTC0 0x0d4                    /* Clock Power/Timing Control0 Register*/
-#define CPTC0_MASK 0x000c0fff          /* Reset mask for this register */
+#define CPTC0_MASK 0x000cffff          /* Reset mask for this register */
 #define CPTC0_NBFID_MASK 0xffffffe0    /* NbFid mask off for this register */
 #define CPTC0_NBFID_MON 0x1f           /* NbFid mask on for this register */
 #define NB_FID_EN 0x20                 /* NbFidEn bit ON */
 #define NB_CLKDID_ALL 0x80000000       /* NbClkDidApplyAll bit ON */
 #define NB_CLKDID     0x40000000       /* NbClkDid value set by BIOS */
+#define NB_CLKDID_SHIFT   28           /* NbClkDid bit shift */
 #define PW_STP_UP50   0x08000000       /* PowerStepUp 50nS(1000b) */
 #define PW_STP_DN50   0x00800000       /* PowerStepDown 50nS (1000b)*/
 #define PW_STP_UP100  0x03000000       /* PowerStepUp 100nS(0011b) */
 #define PW_STP_DN200  0x00200000       /* PowerStepDown 200nS (0010b)*/
 #define PW_STP_UP400  0x00000000       /* PowerStepUp 400nS(0000b) */
 #define PW_STP_DN400  0x00000000       /* PowerStepDown 400nS (0000b)*/
+#define CLK_RAMP_HYST_SEL_VAL 0x00000f00 /* value mask for clock ramp
+                                           hysteresis select. BIOS
+                                           should program
+                                           F3xC4[ClkRampHystSel] to
+                                           1111b */
 
 
 #define LNK_PLL_LOCK  0x00010000       /* LnkPllLock value set (01b) by BIOS */
 #define PS_2 0x00020000                /* P-state 2 */
 #define PS_CPU_DID_1 0x40              /* Cpu Did 1 */
 
+#define NB_VID1_MASK  0x00003f80      /* F3x1F4[NbVid1]*/
+#define NB_VID1_SHIFT  7      /* F3x1F4[NbVid1] */
 
 
 
 #define CPTC2 0xdc                     /* Clock Power/Timing Control2 Register*/
 #define PS_MAX_VAL_POS 8               /* PstateMaxValue bit shift */
 #define PS_MAX_VAL_MASK 0xfffff8ff     /* PstateMaxValue Mask off */
+#define NB_SYN_PTR_ADJ_POS 12            /* NbsynPtrAdj bit shift */
+#define NB_SYN_PTR_ADJ_MASK (0x7 << NB_SYN_PTR_ADJ_POS)  /* NbsynPtrAdj bit mask */
 
 #define PRCT_INFO 0x1fc                /* Product Info Register */
+#define DUAL_PLANE_ONLY_MASK 0x80000000  /* F3x1FC[DualPlaneOnly] */
 #define UNI_NB_FID_BIT 2               /* UniNbFid bit position */
 #define UNI_NB_VID_BIT 7               /* UniNbVid bit position */
 #define SPLT_NB_FID_OFFSET 14          /* SpltNbFidOffset value bit position */
 #define NB_VID_UPDATE_ALL 0x02         /* F3x1FC[NbVidUpdatedAll] bit mask */
 #define C_FID_DID_M_OFF  0xfffffe00    /* mask off Core FID & DID */
 
+#define CPB_MASK 0x00000020             /* core performance
+                                          boost. CPUID Fn8000 0007 edx */
+#define NC_MASK 0x000000FF              /* number of cores - 1. CPUID
+                                          Fn8000 0008 ecx */
 #define PW_CTL_MISC 0x0a0              /* Power Control Miscellaneous Register */
 #define COF_VID_PROG_BIT 0x80000000    /* CofVidProg bit. 0= unfused part */
 #define DUAL_VDD_BIT 0x40000000        /* DualVdd bit. */
 #define PVI_MODE 0x100                 /* PviMode bit mask */
 #define VID_SLAM_OFF 0x0dfffffff       /* set VidSlamMode OFF */
 #define VID_SLAM_ON 0x020000000        /* set VidSlamMode ON */
+#define NB_PSTATE_FORCE_ON 0x010000000 /* set Northbridge P-state
+                                         force on next LDTSTOP
+                                         assertion on, in F3xA0 */
+#define BP_INS_TRI_EN_ON 0x00004000   /* breakpoint pins tristate
+                                        enable in F3xA0 */
 #define PLLLOCK_OFF 0x0ffffc7ff        /* PllLockTime Mask OFF */
 #define PLLLOCK_DFT 0x00001800         /* PllLockTime default value = 011b */
 #define PLLLOCK_DFT_L 0x00002800       /* PllLockTime long value = 101b */
 
-/* P-state Specification register base in PCI sapce */
+#define SVI_HIGH_FREQ_ON 0x00000200     /* F3xA0[SviHighFreqSel] for
+                                          3.4 MHz SVI in rev. C3 */
+
+/* P-state Specification register base in PCI space */
 #define PS_SPEC_REG 0x1e0              /* PS Spec register base address */
 #define PCI_REG_LEN 4                  /* PCI register length */
 #define NB_DID_MASK 0x10000            /* NbDid bit mask */
 /* F4x1F4 Northbridge P-state spec register */
 #define NB_PS_SPEC_REG 0x1f4           /* Nb PS spec reg */
 
+/* F3x1F0 Product Information Register */
+#define NB_PSTATE_MASK 0x00070000 /* NbPstate for CPU rev C3 */
+
+/* F3x1FC Product Information Register */
+#define NB_COF_VID_UPDATE_MASK 1 /* for CPU rev <= C */
+#define SINGLE_PLANE_NB_FID_MASK 0x007c/* for CPU rev <= C */
+#define SINGLE_PLANE_NB_FID_SHIFT 2/* for CPU rev <= C */
+#define SINGLE_PLANE_NB_VID_MASK 0x3f80/* for CPU rev <= C */
+#define SINGLE_PLANE_NB_VID_SHIFT 7/* for CPU rev <= C */
+
+#define DUAL_PLANE_NB_FID_OFF_MASK 0x001c000/* for CPU rev <= C */
+#define DUAL_PLANE_NB_FID_SHIFT 14/* for CPU rev <= C */
+#define DUAL_PLANE_NB_VID_OFF_MASK 0x3e0000/* for CPU rev <= C */
+#define DUAL_PLANE_NB_VID_SHIFT 17/* for CPU rev <= C */
+
+
 #define NM_PS_REG 5                    /* number of P-state MSR registers */
 
 /* sFidVidInit.outFlags defines */
 #define GH_REV_A2 0x4                  /* GH Rev A2 logical ID, Upper half */
 
 
+#define TSC_MSR 0x10
+#define CUR_PSTATE_MSR 0xc0010063
+#define TSC_FREQ_SEL_SHIFT 24
+
+#define TSC_FREQ_SEL_MASK (1 << TSC_FREQ_SEL_SHIFT)
+
+#define  WAIT_PSTATE_TIMEOUT 80000000  /* 0.1 s , unit : 1.25 ns */
+
 #endif