diff options
-rw-r--r-- | src/include/cpu/amd/gx2def.h | 213 |
1 files changed, 175 insertions, 38 deletions
diff --git a/src/include/cpu/amd/gx2def.h b/src/include/cpu/amd/gx2def.h index 36d59c30f9..12621e9940 100644 --- a/src/include/cpu/amd/gx2def.h +++ b/src/include/cpu/amd/gx2def.h @@ -1,12 +1,21 @@ #ifndef CPU_AMD_GX2DEF_H #define CPU_AMD_GX2DEF_H - +#define CPU_ID_1_X 0x540 /* Stepping ID 1.x*/ +#define CPU_ID_2_0 0x551 /* Stepping ID 2.0*/ +#define CPU_ID_2_1 0x552 /* Stepping ID 2.1*/ +#define CPU_ID_2_2 0x553 /* Stepping ID 2.2*/ + +#define CPU_REV_1_0 0x011 +#define CPU_REV_1_1 0x012 +#define CPU_REV_1_2 0x013 +#define CPU_REV_1_3 0x014 +#define CPU_REV_2_0 0x020 +#define CPU_REV_2_1 0x021 +#define CPU_REV_2_2 0x022 +#define CPU_REV_3_0 0x030 /* GeodeLink Control Processor Registers, GLIU1, Port 3 */ #define GLCP_CLK_DIS_DELAY 0x4c000008 #define GLCP_PMCLKDISABLE 0x4c000009 -#define GLCP_DELAY_CONTROLS 0x4c00000f -#define GLCP_SYS_RSTPLL 0x4c000014 -#define GLCP_DOTPLL 0x4c000015 #define GLCP_CHIP_REVID 0x4c000017 /* GLCP_SYS_RSTPLL, Upper 32 bits */ @@ -66,14 +75,14 @@ #define MSR_GLIU0 (GL0_GLIU0 << 29) + 1 << 28 /* To get on GeodeLink one bit has to be set */ -#define MSR_MC GL0_MC << 29 -#define MSR_GLIU1 GL0_GLIU1 << 29 -#define MSR_CPU GL0_CPU << 29 /* this is not used for BIOS since code executing on CPU doesn't need to be routed*/ -#define MSR_VG GL0_VG << 29 -#define MSR_GP GL0_GP << 29 -#define MSR_DF GL0_DF << 29 - -#define MSR_GLCP (GL1_GLCP << 26) + MSR_GLIU1 +#define MSR_MC (GL0_MC << 29) +#define MSR_GLIU1 (GL0_GLIU1 << 29) +#define MSR_CPU (GL0_CPU << 29) /* this is not used for BIOS since code executing on CPU doesn't need to be routed*/ +#define MSR_VG (GL0_VG << 29) +#define MSR_GP (GL0_GP << 29) +#define MSR_DF (GL0_DF << 29) + +#define MSR_GLCP (GL1_GLCP << 26) + MSR_GLIU1 #define MSR_PCI (GL1_PCI << 26) + MSR_GLIU1 #define MSR_FG (GL1_FG << 26) + MSR_GLIU1 @@ -86,21 +95,21 @@ /*GeodeLink Interface Unit 0 (GLIU0) port0*/ /**/ -#define GLIU0_GLD_MSR_CAP MSR_GLIU0 + 2000h -#define GLIU0_GLD_MSR_PM MSR_GLIU0 + 2004h +#define GLIU0_GLD_MSR_CAP MSR_GLIU0 + 0x2000 +#define GLIU0_GLD_MSR_PM MSR_GLIU0 + 0x2004 -#define GLIU0_DESC_BASE MSR_GLIU0 + 20h -#define GLIU0_CAP MSR_GLIU0 + 86h -#define GLIU0_GLD_MSR_COH MSR_GLIU0 + 80h +#define GLIU0_DESC_BASE MSR_GLIU0 + 0x20 +#define GLIU0_CAP MSR_GLIU0 + 0x86 +#define GLIU0_GLD_MSR_COH MSR_GLIU0 + 0x80 /**/ /* Memory Controller GLIU0 port 1*/ /**/ -#define MC_GLD_MSR_CAP MSR_MC + 2000h -#define MC_GLD_MSR_PM MSR_MC + 2004h +#define MC_GLD_MSR_CAP MSR_MC + 0x2000 +#define MC_GLD_MSR_PM MSR_MC + 0x2004 -#define MC_CF07_DATA MSR_MC + 18h +#define MC_CF07_DATA MSR_MC + 0x18 #define CF07_UPPER_D1_SZ_SHIFT 28 #define CF07_UPPER_D1_MB_SHIFT 24 @@ -112,15 +121,15 @@ #define CF07_UPPER_D0_PSZ_SHIFT 0 #define CF07_LOWER_REF_INT_SHIFT 8 -#define CF07_LOWER_LOAD_MODE_DDR_SET 01 << 28 -#define CF07_LOWER_LOAD_MODE_DLL_RESET 01 << 27 -#define CF07_LOWER_EMR_QFC_SET 01 << 26 -#define CF07_LOWER_EMR_DRV_SET 01 << 25 -#define CF07_LOWER_REF_TEST_SET 1 << 3 -#define CF07_LOWER_PROG_DRAM_SET 1 << 0 +#define CF07_LOWER_LOAD_MODE_DDR_SET (1 << 28) +#define CF07_LOWER_LOAD_MODE_DLL_RESET (1 << 27) +#define CF07_LOWER_EMR_QFC_SET (1 << 26) +#define CF07_LOWER_EMR_DRV_SET (1 << 25) +#define CF07_LOWER_REF_TEST_SET (1 << 3) +#define CF07_LOWER_PROG_DRAM_SET (1 << 0) -#define MC_CF8F_DATA MSR_MC + 19h +#define MC_CF8F_DATA MSR_MC + 0x19 #define CF8F_UPPER_XOR_BS_SHIFT 19 #define CF8F_UPPER_XOR_MB0_SHIFT 18 @@ -191,19 +200,19 @@ #define CPU_EX_BIST 1428h /*IM*/ -#define CPU_IM_CONFIG 1700h +#define CPU_IM_CONFIG 0x1700 #define IM_CONFIG_LOWER_ICD_SET 1 << 8 #define IM_CONFIG_LOWER_QWT_SET 1 << 20 -#define CPU_IC_INDEX 1710h -#define CPU_IC_DATA 1711h -#define CPU_IC_TAG 1712h -#define CPU_IC_TAG_I 1713h -#define CPU_ITB_INDEX 1720h -#define CPU_ITB_LRU 1721h -#define CPU_ITB_ENTRY 1722h -#define CPU_ITB_ENTRY_I 1723h -#define CPU_IM_BIST_TAG 1730h -#define CPU_IM_BIST_DATA 1731h +#define CPU_IC_INDEX 0x1710 +#define CPU_IC_DATA 0x1711 +#define CPU_IC_TAG 0x1712 +#define CPU_IC_TAG_I 0x1713 +#define CPU_ITB_INDEX 0x1720 +#define CPU_ITB_LRU 0x1721 +#define CPU_ITB_ENTRY 0x1722 +#define CPU_ITB_ENTRY_I 0x1723 +#define CPU_IM_BIST_TAG 0x1730 +#define CPU_IM_BIST_DATA 0x1731 /* various CPU MSRs */ @@ -292,4 +301,132 @@ #define VG_GLD_MSR_CONFIG MSR_VG + 0x2001 #define VG_GLD_MSR_PM MSR_VG + 0x2004 +#define GP_GLD_MSR_CAP MSR_GP + 0x2000 +#define GP_GLD_MSR_CONFIG MSR_GP + 0x2001 +#define GP_GLD_MSR_PM MSR_GP + 0x2004 + + + +/**/ +/* DF GLIU0 port6*/ +/**/ + +#define DF_GLD_MSR_CAP MSR_DF + 0x2000 +#define DF_GLD_MSR_MASTER_CONF MSR_DF + 0x2001 +#define DF_LOWER_LCD_SHIFT 6 +#define DF_GLD_MSR_PM MSR_DF + 0x2004 + + + +/**/ +/* GeodeLink Control Processor GLIU1 port3*/ +/**/ +#define GLCP_GLD_MSR_CAP MSR_GLCP + 0x2000 +#define GLCP_GLD_MSR_CONF MSR_GLCP + 0x2001 +#define GLCP_GLD_MSR_PM MSR_GLCP + 0x2004 + +#define GLCP_DELAY_CONTROLS MSR_GLCP + 0x0F + +#define GLCP_SYS_RSTPLL MSR_GLCP +0x14 /* R/W*/ +#define RSTPLL_UPPER_MDIV_SHIFT 9 +#define RSTPLL_UPPER_VDIV_SHIFT 6 +#define RSTPLL_UPPER_FBDIV_SHIFT 0 + +#define RSTPLL_LOWER_SWFLAGS_SHIFT 26 +#define RSTPLL_LOWER_SWFLAGS_MASK (0x3F<<RSTPLL_LOWER_SWFLAGS_SHIFT)) + +#define RSTPPL_LOWER_HOLD_COUNT_SHIFT 16 +#define RSTPPL_LOWER_BYPASS_SHIFT 15 +#define RSTPPL_LOWER_TST_SHIFT 11 +#define RSTPPL_LOWER_SDRMODE_SHIFT 10 +#define RSTPPL_LOWER_BOOTSTRAP_SHIFT 4 + +#define RSTPPL_LOWER_LOCK_SET (1<<25) +#define RSTPPL_LOWER_LOCKWAIT_SET (1<<24) +#define RSTPPL_LOWER_BYPASS_SET (1<<15) +#define RSTPPL_LOWER_PD_SET (1<<14) +#define RSTPPL_LOWER_PLL_RESET_SET (1<<13) +#define RSTPPL_LOWER_SDRMODE_SET (1<<10) +#define RSTPPL_LOWER_CPU_SEMI_SYNC_SET (1<<9) +#define RSTPPL_LOWER_PCI_SEMI_SYNC_SET (1<<8) +#define RSTPPL_LOWER_CHIP_RESET_SET (1<<0) + +#define GLCP_DOTPLL MSR_GLCP + 0x15 /* R/W*/ +#define DOTPPL_LOWER_PD_SET (1<<14) + + +/**/ +/* GLIU1 port 4*/ +/**/ +#define GLPCI_GLD_MSR_CAP MSR_PCI + 0x2000 +#define GLPCI_GLD_MSR_CONFIG MSR_PCI + 0x2001 +#define GLPCI_GLD_MSR_PM MSR_PCI + 0x2004 + +#define GLPCI_CTRL MSR_PCI + 0x2010 +#define GLPCI_CTRL_UPPER_FTH_SHIFT 28 +#define GLPCI_CTRL_UPPER_RTH_SHIFT 24 +#define GLPCI_CTRL_UPPER_SBRTH_SHIFT 20 +#define GLPCI_CTRL_UPPER_DTL_SHIFT 14 +#define GLPCI_CTRL_UPPER_WTO_SHIFT 11 +#define GLPCI_CTRL_UPPER_LAT_SHIFT 3 +#define GLPCI_CTRL_UPPER_ILTO_SHIFT 8 +#define GLPCI_CTRL_LOWER_IRFT_SHIFT 18 +#define GLPCI_CTRL_LOWER_IRFC_SHIFT 16 +#define GLPCI_CTRL_LOWER_ER_SET (1<<11) +#define GLPCI_CTRL_LOWER_LDE_SET (1<<9) +#define GLPCI_CTRL_LOWER_OWC_SET (1<<4) +#define GLPCI_CTRL_LOWER_IWC_SET (1<<3) +#define GLPCI_CTRL_LOWER_PCD_SET (1<<2) +#define GLPCI_CTRL_LOWER_ME_SET (1<<0) + +#define GLPCI_ARB MSR_PCI + 0x2011 +#define GLPCI_ARB_UPPER_BM1_SET (1<<17) +#define GLPCI_ARB_UPPER_BM0_SET (1<<16) +#define GLPCI_ARB_UPPER_CPRE_SET (1<<15) +#define GLPCI_ARB_UPPER_PRE2_SET (1<<10) +#define GLPCI_ARB_UPPER_PRE1_SET (1<<9) +#define GLPCI_ARB_UPPER_PRE0_SET (1<<8) +#define GLPCI_ARB_UPPER_CRME_SET (1<<7) +#define GLPCI_ARB_UPPER_RME2_SET (1<<2) +#define GLPCI_ARB_UPPER_RME1_SET (1<<1) +#define GLPCI_ARB_UPPER_RME0_SET (1<<0) +#define GLPCI_ARB_LOWER_PRCM_SHIFT 24 +#define GLPCI_ARB_LOWER_FPVEC_SHIFT 16 +#define GLPCI_ARB_LOWER_RMT_SHIFT 6 +#define GLPCI_ARB_LOWER_IIE_SET (1<<8) +#define GLPCI_ARB_LOWER_PARK_SET (1<<0) + +#define GLPCI_REN MSR_PCI + 0x2014 +#define GLPCI_A0_BF MSR_PCI + 0x2015 +#define GLPCI_C0_DF MSR_PCI + 0x2016 +#define GLPCI_E0_FF MSR_PCI + 0x2017 +#define GLPCI_RC0 MSR_PCI + 0x2018 +#define GLPCI_RC1 MSR_PCI + 0x2019 +#define GLPCI_RC2 MSR_PCI + 0x201A +#define GLPCI_RC3 MSR_PCI + 0x201B +#define GLPCI_RC4 MSR_PCI + 0x201C +#define GLPCI_RC_UPPER_TOP_SHIFT 12 +#define GLPCI_RC_LOWER_BASE_SHIFT 12 +#define GLPCI_RC_LOWER_EN_SET (1<<8) +#define GLPCI_RC_LOWER_PF_SET (1<<5) +#define GLPCI_RC_LOWER_WC_SET (1<<4) +#define GLPCI_RC_LOWER_WP_SET (1<<2) +#define GLPCI_RC_LOWER_CD_SET (1<<0) +#define GLPCI_ExtMSR MSR_PCI + 0x201E +#define GLPCI_SPARE MSR_PCI + 0x201F +#define GLPCI_SPARE_LOWER_AILTO_SET (1<<6) +#define GLPCI_SPARE_LOWER_PPD_SET (1<<5) +#define GLPCI_SPARE_LOWER_PPC_SET (1<<4) +#define GLPCI_SPARE_LOWER_MPC_SET (1<<3) +#define GLPCI_SPARE_LOWER_MME_SET (1<<2) +#define GLPCI_SPARE_LOWER_NSE_SET (1<<1) +#define GLPCI_SPARE_LOWER_SUPO_SET (1<<0) + + +/**/ +/* FooGlue GLIU1 port 5*/ +/**/ +#define FG_GLD_MSR_CAP MSR_FG + 0x2000 +#define FG_GLD_MSR_PM MSR_FG + 0x2004 + #endif /* CPU_AMD_GX2DEF_H */ |