Path: blob/master/arch/sparc/include/asm/chmctrl.h
17292 views
#ifndef _SPARC64_CHMCTRL_H1#define _SPARC64_CHMCTRL_H23/* Cheetah memory controller programmable registers. */4#define CHMCTRL_TCTRL1 0x00 /* Memory Timing Control I */5#define CHMCTRL_TCTRL2 0x08 /* Memory Timing Control II */6#define CHMCTRL_TCTRL3 0x38 /* Memory Timing Control III */7#define CHMCTRL_TCTRL4 0x40 /* Memory Timing Control IV */8#define CHMCTRL_DECODE1 0x10 /* Memory Address Decode I */9#define CHMCTRL_DECODE2 0x18 /* Memory Address Decode II */10#define CHMCTRL_DECODE3 0x20 /* Memory Address Decode III */11#define CHMCTRL_DECODE4 0x28 /* Memory Address Decode IV */12#define CHMCTRL_MACTRL 0x30 /* Memory Address Control */1314/* Memory Timing Control I */15#define TCTRL1_SDRAMCTL_DLY 0xf000000000000000UL16#define TCTRL1_SDRAMCTL_DLY_SHIFT 6017#define TCTRL1_SDRAMCLK_DLY 0x0e00000000000000UL18#define TCTRL1_SDRAMCLK_DLY_SHIFT 5719#define TCTRL1_R 0x0100000000000000UL20#define TCTRL1_R_SHIFT 5621#define TCTRL1_AUTORFR_CYCLE 0x00fe000000000000UL22#define TCTRL1_AUTORFR_CYCLE_SHIFT 4923#define TCTRL1_RD_WAIT 0x0001f00000000000UL24#define TCTRL1_RD_WAIT_SHIFT 4425#define TCTRL1_PC_CYCLE 0x00000fc000000000UL26#define TCTRL1_PC_CYCLE_SHIFT 3827#define TCTRL1_WR_MORE_RAS_PW 0x0000003f00000000UL28#define TCTRL1_WR_MORE_RAS_PW_SHIFT 3229#define TCTRL1_RD_MORE_RAW_PW 0x00000000fc000000UL30#define TCTRL1_RD_MORE_RAS_PW_SHIFT 2631#define TCTRL1_ACT_WR_DLY 0x0000000003f00000UL32#define TCTRL1_ACT_WR_DLY_SHIFT 2033#define TCTRL1_ACT_RD_DLY 0x00000000000fc000UL34#define TCTRL1_ACT_RD_DLY_SHIFT 1435#define TCTRL1_BANK_PRESENT 0x0000000000003000UL36#define TCTRL1_BANK_PRESENT_SHIFT 1237#define TCTRL1_RFR_INT 0x0000000000000ff8UL38#define TCTRL1_RFR_INT_SHIFT 339#define TCTRL1_SET_MODE_REG 0x0000000000000004UL40#define TCTRL1_SET_MODE_REG_SHIFT 241#define TCTRL1_RFR_ENABLE 0x0000000000000002UL42#define TCTRL1_RFR_ENABLE_SHIFT 143#define TCTRL1_PRECHG_ALL 0x0000000000000001UL44#define TCTRL1_PRECHG_ALL_SHIFT 04546/* Memory Timing Control II */47#define TCTRL2_WR_MSEL_DLY 0xfc00000000000000UL48#define TCTRL2_WR_MSEL_DLY_SHIFT 5849#define TCTRL2_RD_MSEL_DLY 0x03f0000000000000UL50#define TCTRL2_RD_MSEL_DLY_SHIFT 5251#define TCTRL2_WRDATA_THLD 0x000c000000000000UL52#define TCTRL2_WRDATA_THLD_SHIFT 5053#define TCTRL2_RDWR_RD_TI_DLY 0x0003f00000000000UL54#define TCTRL2_RDWR_RD_TI_DLY_SHIFT 4455#define TCTRL2_AUTOPRECHG_ENBL 0x0000080000000000UL56#define TCTRL2_AUTOPRECHG_ENBL_SHIFT 4357#define TCTRL2_RDWR_PI_MORE_DLY 0x000007c000000000UL58#define TCTRL2_RDWR_PI_MORE_DLY_SHIFT 3859#define TCTRL2_RDWR_1_DLY 0x0000003f00000000UL60#define TCTRL2_RDWR_1_DLY_SHIFT 3261#define TCTRL2_WRWR_PI_MORE_DLY 0x00000000f8000000UL62#define TCTRL2_WRWR_PI_MORE_DLY_SHIFT 2763#define TCTRL2_WRWR_1_DLY 0x0000000007e00000UL64#define TCTRL2_WRWR_1_DLY_SHIFT 2165#define TCTRL2_RDWR_RD_PI_MORE_DLY 0x00000000001f0000UL66#define TCTRL2_RDWR_RD_PI_MORE_DLY_SHIFT 1667#define TCTRL2_R 0x0000000000008000UL68#define TCTRL2_R_SHIFT 1569#define TCTRL2_SDRAM_MODE_REG_DATA 0x0000000000007fffUL70#define TCTRL2_SDRAM_MODE_REG_DATA_SHIFT 07172/* Memory Timing Control III */73#define TCTRL3_SDRAM_CTL_DLY 0xf000000000000000UL74#define TCTRL3_SDRAM_CTL_DLY_SHIFT 6075#define TCTRL3_SDRAM_CLK_DLY 0x0e00000000000000UL76#define TCTRL3_SDRAM_CLK_DLY_SHIFT 5777#define TCTRL3_R 0x0100000000000000UL78#define TCTRL3_R_SHIFT 5679#define TCTRL3_AUTO_RFR_CYCLE 0x00fe000000000000UL80#define TCTRL3_AUTO_RFR_CYCLE_SHIFT 4981#define TCTRL3_RD_WAIT 0x0001f00000000000UL82#define TCTRL3_RD_WAIT_SHIFT 4483#define TCTRL3_PC_CYCLE 0x00000fc000000000UL84#define TCTRL3_PC_CYCLE_SHIFT 3885#define TCTRL3_WR_MORE_RAW_PW 0x0000003f00000000UL86#define TCTRL3_WR_MORE_RAW_PW_SHIFT 3287#define TCTRL3_RD_MORE_RAW_PW 0x00000000fc000000UL88#define TCTRL3_RD_MORE_RAW_PW_SHIFT 2689#define TCTRL3_ACT_WR_DLY 0x0000000003f00000UL90#define TCTRL3_ACT_WR_DLY_SHIFT 2091#define TCTRL3_ACT_RD_DLY 0x00000000000fc000UL92#define TCTRL3_ACT_RD_DLY_SHIFT 1493#define TCTRL3_BANK_PRESENT 0x0000000000003000UL94#define TCTRL3_BANK_PRESENT_SHIFT 1295#define TCTRL3_RFR_INT 0x0000000000000ff8UL96#define TCTRL3_RFR_INT_SHIFT 397#define TCTRL3_SET_MODE_REG 0x0000000000000004UL98#define TCTRL3_SET_MODE_REG_SHIFT 299#define TCTRL3_RFR_ENABLE 0x0000000000000002UL100#define TCTRL3_RFR_ENABLE_SHIFT 1101#define TCTRL3_PRECHG_ALL 0x0000000000000001UL102#define TCTRL3_PRECHG_ALL_SHIFT 0103104/* Memory Timing Control IV */105#define TCTRL4_WR_MSEL_DLY 0xfc00000000000000UL106#define TCTRL4_WR_MSEL_DLY_SHIFT 58107#define TCTRL4_RD_MSEL_DLY 0x03f0000000000000UL108#define TCTRL4_RD_MSEL_DLY_SHIFT 52109#define TCTRL4_WRDATA_THLD 0x000c000000000000UL110#define TCTRL4_WRDATA_THLD_SHIFT 50111#define TCTRL4_RDWR_RD_RI_DLY 0x0003f00000000000UL112#define TCTRL4_RDWR_RD_RI_DLY_SHIFT 44113#define TCTRL4_AUTO_PRECHG_ENBL 0x0000080000000000UL114#define TCTRL4_AUTO_PRECHG_ENBL_SHIFT 43115#define TCTRL4_RD_WR_PI_MORE_DLY 0x000007c000000000UL116#define TCTRL4_RD_WR_PI_MORE_DLY_SHIFT 38117#define TCTRL4_RD_WR_TI_DLY 0x0000003f00000000UL118#define TCTRL4_RD_WR_TI_DLY_SHIFT 32119#define TCTRL4_WR_WR_PI_MORE_DLY 0x00000000f8000000UL120#define TCTRL4_WR_WR_PI_MORE_DLY_SHIFT 27121#define TCTRL4_WR_WR_TI_DLY 0x0000000007e00000UL122#define TCTRL4_WR_WR_TI_DLY_SHIFT 21123#define TCTRL4_RDWR_RD_PI_MORE_DLY 0x00000000001f000UL0124#define TCTRL4_RDWR_RD_PI_MORE_DLY_SHIFT 16125#define TCTRL4_R 0x0000000000008000UL126#define TCTRL4_R_SHIFT 15127#define TCTRL4_SDRAM_MODE_REG_DATA 0x0000000000007fffUL128#define TCTRL4_SDRAM_MODE_REG_DATA_SHIFT 0129130/* All 4 memory address decoding registers have the131* same layout.132*/133#define MEM_DECODE_VALID 0x8000000000000000UL /* Valid */134#define MEM_DECODE_VALID_SHIFT 63135#define MEM_DECODE_UK 0x001ffe0000000000UL /* Upper mask */136#define MEM_DECODE_UK_SHIFT 41137#define MEM_DECODE_UM 0x0000001ffff00000UL /* Upper match */138#define MEM_DECODE_UM_SHIFT 20139#define MEM_DECODE_LK 0x000000000003c000UL /* Lower mask */140#define MEM_DECODE_LK_SHIFT 14141#define MEM_DECODE_LM 0x0000000000000f00UL /* Lower match */142#define MEM_DECODE_LM_SHIFT 8143144#define PA_UPPER_BITS 0x000007fffc000000UL145#define PA_UPPER_BITS_SHIFT 26146#define PA_LOWER_BITS 0x00000000000003c0UL147#define PA_LOWER_BITS_SHIFT 6148149#define MACTRL_R0 0x8000000000000000UL150#define MACTRL_R0_SHIFT 63151#define MACTRL_ADDR_LE_PW 0x7000000000000000UL152#define MACTRL_ADDR_LE_PW_SHIFT 60153#define MACTRL_CMD_PW 0x0f00000000000000UL154#define MACTRL_CMD_PW_SHIFT 56155#define MACTRL_HALF_MODE_WR_MSEL_DLY 0x00fc000000000000UL156#define MACTRL_HALF_MODE_WR_MSEL_DLY_SHIFT 50157#define MACTRL_HALF_MODE_RD_MSEL_DLY 0x0003f00000000000UL158#define MACTRL_HALF_MODE_RD_MSEL_DLY_SHIFT 44159#define MACTRL_HALF_MODE_SDRAM_CTL_DLY 0x00000f0000000000UL160#define MACTRL_HALF_MODE_SDRAM_CTL_DLY_SHIFT 40161#define MACTRL_HALF_MODE_SDRAM_CLK_DLY 0x000000e000000000UL162#define MACTRL_HALF_MODE_SDRAM_CLK_DLY_SHIFT 37163#define MACTRL_R1 0x0000001000000000UL164#define MACTRL_R1_SHIFT 36165#define MACTRL_BANKSEL_N_ROWADDR_SIZE_B3 0x0000000f00000000UL166#define MACTRL_BANKSEL_N_ROWADDR_SIZE_B3_SHIFT 32167#define MACTRL_ENC_INTLV_B3 0x00000000f8000000UL168#define MACTRL_ENC_INTLV_B3_SHIFT 27169#define MACTRL_BANKSEL_N_ROWADDR_SIZE_B2 0x0000000007800000UL170#define MACTRL_BANKSEL_N_ROWADDR_SIZE_B2_SHIFT 23171#define MACTRL_ENC_INTLV_B2 0x00000000007c0000UL172#define MACTRL_ENC_INTLV_B2_SHIFT 18173#define MACTRL_BANKSEL_N_ROWADDR_SIZE_B1 0x000000000003c000UL174#define MACTRL_BANKSEL_N_ROWADDR_SIZE_B1_SHIFT 14175#define MACTRL_ENC_INTLV_B1 0x0000000000003e00UL176#define MACTRL_ENC_INTLV_B1_SHIFT 9177#define MACTRL_BANKSEL_N_ROWADDR_SIZE_B0 0x00000000000001e0UL178#define MACTRL_BANKSEL_N_ROWADDR_SIZE_B0_SHIFT 5179#define MACTRL_ENC_INTLV_B0 0x000000000000001fUL180#define MACTRL_ENC_INTLV_B0_SHIFT 0181182#endif /* _SPARC64_CHMCTRL_H */183184185