0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #ifndef _SB1250_MC_H
0021 #define _SB1250_MC_H
0022
0023 #include <asm/sibyte/sb1250_defs.h>
0024
0025
0026
0027
0028
0029 #define S_MC_RESERVED0 0
0030 #define M_MC_RESERVED0 _SB_MAKEMASK(8, S_MC_RESERVED0)
0031
0032 #define S_MC_CHANNEL_SEL 8
0033 #define M_MC_CHANNEL_SEL _SB_MAKEMASK(8, S_MC_CHANNEL_SEL)
0034 #define V_MC_CHANNEL_SEL(x) _SB_MAKEVALUE(x, S_MC_CHANNEL_SEL)
0035 #define G_MC_CHANNEL_SEL(x) _SB_GETVALUE(x, S_MC_CHANNEL_SEL, M_MC_CHANNEL_SEL)
0036
0037 #define S_MC_BANK0_MAP 16
0038 #define M_MC_BANK0_MAP _SB_MAKEMASK(4, S_MC_BANK0_MAP)
0039 #define V_MC_BANK0_MAP(x) _SB_MAKEVALUE(x, S_MC_BANK0_MAP)
0040 #define G_MC_BANK0_MAP(x) _SB_GETVALUE(x, S_MC_BANK0_MAP, M_MC_BANK0_MAP)
0041
0042 #define K_MC_BANK0_MAP_DEFAULT 0x00
0043 #define V_MC_BANK0_MAP_DEFAULT V_MC_BANK0_MAP(K_MC_BANK0_MAP_DEFAULT)
0044
0045 #define S_MC_BANK1_MAP 20
0046 #define M_MC_BANK1_MAP _SB_MAKEMASK(4, S_MC_BANK1_MAP)
0047 #define V_MC_BANK1_MAP(x) _SB_MAKEVALUE(x, S_MC_BANK1_MAP)
0048 #define G_MC_BANK1_MAP(x) _SB_GETVALUE(x, S_MC_BANK1_MAP, M_MC_BANK1_MAP)
0049
0050 #define K_MC_BANK1_MAP_DEFAULT 0x08
0051 #define V_MC_BANK1_MAP_DEFAULT V_MC_BANK1_MAP(K_MC_BANK1_MAP_DEFAULT)
0052
0053 #define S_MC_BANK2_MAP 24
0054 #define M_MC_BANK2_MAP _SB_MAKEMASK(4, S_MC_BANK2_MAP)
0055 #define V_MC_BANK2_MAP(x) _SB_MAKEVALUE(x, S_MC_BANK2_MAP)
0056 #define G_MC_BANK2_MAP(x) _SB_GETVALUE(x, S_MC_BANK2_MAP, M_MC_BANK2_MAP)
0057
0058 #define K_MC_BANK2_MAP_DEFAULT 0x09
0059 #define V_MC_BANK2_MAP_DEFAULT V_MC_BANK2_MAP(K_MC_BANK2_MAP_DEFAULT)
0060
0061 #define S_MC_BANK3_MAP 28
0062 #define M_MC_BANK3_MAP _SB_MAKEMASK(4, S_MC_BANK3_MAP)
0063 #define V_MC_BANK3_MAP(x) _SB_MAKEVALUE(x, S_MC_BANK3_MAP)
0064 #define G_MC_BANK3_MAP(x) _SB_GETVALUE(x, S_MC_BANK3_MAP, M_MC_BANK3_MAP)
0065
0066 #define K_MC_BANK3_MAP_DEFAULT 0x0C
0067 #define V_MC_BANK3_MAP_DEFAULT V_MC_BANK3_MAP(K_MC_BANK3_MAP_DEFAULT)
0068
0069 #define M_MC_RESERVED1 _SB_MAKEMASK(8, 32)
0070
0071 #define S_MC_QUEUE_SIZE 40
0072 #define M_MC_QUEUE_SIZE _SB_MAKEMASK(4, S_MC_QUEUE_SIZE)
0073 #define V_MC_QUEUE_SIZE(x) _SB_MAKEVALUE(x, S_MC_QUEUE_SIZE)
0074 #define G_MC_QUEUE_SIZE(x) _SB_GETVALUE(x, S_MC_QUEUE_SIZE, M_MC_QUEUE_SIZE)
0075 #define V_MC_QUEUE_SIZE_DEFAULT V_MC_QUEUE_SIZE(0x0A)
0076
0077 #define S_MC_AGE_LIMIT 44
0078 #define M_MC_AGE_LIMIT _SB_MAKEMASK(4, S_MC_AGE_LIMIT)
0079 #define V_MC_AGE_LIMIT(x) _SB_MAKEVALUE(x, S_MC_AGE_LIMIT)
0080 #define G_MC_AGE_LIMIT(x) _SB_GETVALUE(x, S_MC_AGE_LIMIT, M_MC_AGE_LIMIT)
0081 #define V_MC_AGE_LIMIT_DEFAULT V_MC_AGE_LIMIT(8)
0082
0083 #define S_MC_WR_LIMIT 48
0084 #define M_MC_WR_LIMIT _SB_MAKEMASK(4, S_MC_WR_LIMIT)
0085 #define V_MC_WR_LIMIT(x) _SB_MAKEVALUE(x, S_MC_WR_LIMIT)
0086 #define G_MC_WR_LIMIT(x) _SB_GETVALUE(x, S_MC_WR_LIMIT, M_MC_WR_LIMIT)
0087 #define V_MC_WR_LIMIT_DEFAULT V_MC_WR_LIMIT(5)
0088
0089 #define M_MC_IOB1HIGHPRIORITY _SB_MAKEMASK1(52)
0090
0091 #define M_MC_RESERVED2 _SB_MAKEMASK(3, 53)
0092
0093 #define S_MC_CS_MODE 56
0094 #define M_MC_CS_MODE _SB_MAKEMASK(4, S_MC_CS_MODE)
0095 #define V_MC_CS_MODE(x) _SB_MAKEVALUE(x, S_MC_CS_MODE)
0096 #define G_MC_CS_MODE(x) _SB_GETVALUE(x, S_MC_CS_MODE, M_MC_CS_MODE)
0097
0098 #define K_MC_CS_MODE_MSB_CS 0
0099 #define K_MC_CS_MODE_INTLV_CS 15
0100 #define K_MC_CS_MODE_MIXED_CS_10 12
0101 #define K_MC_CS_MODE_MIXED_CS_30 6
0102 #define K_MC_CS_MODE_MIXED_CS_32 3
0103
0104 #define V_MC_CS_MODE_MSB_CS V_MC_CS_MODE(K_MC_CS_MODE_MSB_CS)
0105 #define V_MC_CS_MODE_INTLV_CS V_MC_CS_MODE(K_MC_CS_MODE_INTLV_CS)
0106 #define V_MC_CS_MODE_MIXED_CS_10 V_MC_CS_MODE(K_MC_CS_MODE_MIXED_CS_10)
0107 #define V_MC_CS_MODE_MIXED_CS_30 V_MC_CS_MODE(K_MC_CS_MODE_MIXED_CS_30)
0108 #define V_MC_CS_MODE_MIXED_CS_32 V_MC_CS_MODE(K_MC_CS_MODE_MIXED_CS_32)
0109
0110 #define M_MC_ECC_DISABLE _SB_MAKEMASK1(60)
0111 #define M_MC_BERR_DISABLE _SB_MAKEMASK1(61)
0112 #define M_MC_FORCE_SEQ _SB_MAKEMASK1(62)
0113 #define M_MC_DEBUG _SB_MAKEMASK1(63)
0114
0115 #define V_MC_CONFIG_DEFAULT V_MC_WR_LIMIT_DEFAULT | V_MC_AGE_LIMIT_DEFAULT | \
0116 V_MC_BANK0_MAP_DEFAULT | V_MC_BANK1_MAP_DEFAULT | \
0117 V_MC_BANK2_MAP_DEFAULT | V_MC_BANK3_MAP_DEFAULT | V_MC_CHANNEL_SEL(0) | \
0118 M_MC_IOB1HIGHPRIORITY | V_MC_QUEUE_SIZE_DEFAULT
0119
0120
0121
0122
0123
0124
0125
0126
0127 #define S_MC_CLK_RATIO 0
0128 #define M_MC_CLK_RATIO _SB_MAKEMASK(4, S_MC_CLK_RATIO)
0129 #define V_MC_CLK_RATIO(x) _SB_MAKEVALUE(x, S_MC_CLK_RATIO)
0130 #define G_MC_CLK_RATIO(x) _SB_GETVALUE(x, S_MC_CLK_RATIO, M_MC_CLK_RATIO)
0131
0132 #define K_MC_CLK_RATIO_2X 4
0133 #define K_MC_CLK_RATIO_25X 5
0134 #define K_MC_CLK_RATIO_3X 6
0135 #define K_MC_CLK_RATIO_35X 7
0136 #define K_MC_CLK_RATIO_4X 8
0137 #define K_MC_CLK_RATIO_45X 9
0138
0139 #define V_MC_CLK_RATIO_2X V_MC_CLK_RATIO(K_MC_CLK_RATIO_2X)
0140 #define V_MC_CLK_RATIO_25X V_MC_CLK_RATIO(K_MC_CLK_RATIO_25X)
0141 #define V_MC_CLK_RATIO_3X V_MC_CLK_RATIO(K_MC_CLK_RATIO_3X)
0142 #define V_MC_CLK_RATIO_35X V_MC_CLK_RATIO(K_MC_CLK_RATIO_35X)
0143 #define V_MC_CLK_RATIO_4X V_MC_CLK_RATIO(K_MC_CLK_RATIO_4X)
0144 #define V_MC_CLK_RATIO_45X V_MC_CLK_RATIO(K_MC_CLK_RATIO_45X)
0145 #define V_MC_CLK_RATIO_DEFAULT V_MC_CLK_RATIO_25X
0146
0147 #define S_MC_REF_RATE 8
0148 #define M_MC_REF_RATE _SB_MAKEMASK(8, S_MC_REF_RATE)
0149 #define V_MC_REF_RATE(x) _SB_MAKEVALUE(x, S_MC_REF_RATE)
0150 #define G_MC_REF_RATE(x) _SB_GETVALUE(x, S_MC_REF_RATE, M_MC_REF_RATE)
0151
0152 #define K_MC_REF_RATE_100MHz 0x62
0153 #define K_MC_REF_RATE_133MHz 0x81
0154 #define K_MC_REF_RATE_200MHz 0xC4
0155
0156 #define V_MC_REF_RATE_100MHz V_MC_REF_RATE(K_MC_REF_RATE_100MHz)
0157 #define V_MC_REF_RATE_133MHz V_MC_REF_RATE(K_MC_REF_RATE_133MHz)
0158 #define V_MC_REF_RATE_200MHz V_MC_REF_RATE(K_MC_REF_RATE_200MHz)
0159 #define V_MC_REF_RATE_DEFAULT V_MC_REF_RATE_100MHz
0160
0161 #define S_MC_CLOCK_DRIVE 16
0162 #define M_MC_CLOCK_DRIVE _SB_MAKEMASK(4, S_MC_CLOCK_DRIVE)
0163 #define V_MC_CLOCK_DRIVE(x) _SB_MAKEVALUE(x, S_MC_CLOCK_DRIVE)
0164 #define G_MC_CLOCK_DRIVE(x) _SB_GETVALUE(x, S_MC_CLOCK_DRIVE, M_MC_CLOCK_DRIVE)
0165 #define V_MC_CLOCK_DRIVE_DEFAULT V_MC_CLOCK_DRIVE(0xF)
0166
0167 #define S_MC_DATA_DRIVE 20
0168 #define M_MC_DATA_DRIVE _SB_MAKEMASK(4, S_MC_DATA_DRIVE)
0169 #define V_MC_DATA_DRIVE(x) _SB_MAKEVALUE(x, S_MC_DATA_DRIVE)
0170 #define G_MC_DATA_DRIVE(x) _SB_GETVALUE(x, S_MC_DATA_DRIVE, M_MC_DATA_DRIVE)
0171 #define V_MC_DATA_DRIVE_DEFAULT V_MC_DATA_DRIVE(0x0)
0172
0173 #define S_MC_ADDR_DRIVE 24
0174 #define M_MC_ADDR_DRIVE _SB_MAKEMASK(4, S_MC_ADDR_DRIVE)
0175 #define V_MC_ADDR_DRIVE(x) _SB_MAKEVALUE(x, S_MC_ADDR_DRIVE)
0176 #define G_MC_ADDR_DRIVE(x) _SB_GETVALUE(x, S_MC_ADDR_DRIVE, M_MC_ADDR_DRIVE)
0177 #define V_MC_ADDR_DRIVE_DEFAULT V_MC_ADDR_DRIVE(0x0)
0178
0179 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1)
0180 #define M_MC_REF_DISABLE _SB_MAKEMASK1(30)
0181 #endif
0182
0183 #define M_MC_DLL_BYPASS _SB_MAKEMASK1(31)
0184
0185 #define S_MC_DQI_SKEW 32
0186 #define M_MC_DQI_SKEW _SB_MAKEMASK(8, S_MC_DQI_SKEW)
0187 #define V_MC_DQI_SKEW(x) _SB_MAKEVALUE(x, S_MC_DQI_SKEW)
0188 #define G_MC_DQI_SKEW(x) _SB_GETVALUE(x, S_MC_DQI_SKEW, M_MC_DQI_SKEW)
0189 #define V_MC_DQI_SKEW_DEFAULT V_MC_DQI_SKEW(0)
0190
0191 #define S_MC_DQO_SKEW 40
0192 #define M_MC_DQO_SKEW _SB_MAKEMASK(8, S_MC_DQO_SKEW)
0193 #define V_MC_DQO_SKEW(x) _SB_MAKEVALUE(x, S_MC_DQO_SKEW)
0194 #define G_MC_DQO_SKEW(x) _SB_GETVALUE(x, S_MC_DQO_SKEW, M_MC_DQO_SKEW)
0195 #define V_MC_DQO_SKEW_DEFAULT V_MC_DQO_SKEW(0)
0196
0197 #define S_MC_ADDR_SKEW 48
0198 #define M_MC_ADDR_SKEW _SB_MAKEMASK(8, S_MC_ADDR_SKEW)
0199 #define V_MC_ADDR_SKEW(x) _SB_MAKEVALUE(x, S_MC_ADDR_SKEW)
0200 #define G_MC_ADDR_SKEW(x) _SB_GETVALUE(x, S_MC_ADDR_SKEW, M_MC_ADDR_SKEW)
0201 #define V_MC_ADDR_SKEW_DEFAULT V_MC_ADDR_SKEW(0x0F)
0202
0203 #define S_MC_DLL_DEFAULT 56
0204 #define M_MC_DLL_DEFAULT _SB_MAKEMASK(8, S_MC_DLL_DEFAULT)
0205 #define V_MC_DLL_DEFAULT(x) _SB_MAKEVALUE(x, S_MC_DLL_DEFAULT)
0206 #define G_MC_DLL_DEFAULT(x) _SB_GETVALUE(x, S_MC_DLL_DEFAULT, M_MC_DLL_DEFAULT)
0207 #define V_MC_DLL_DEFAULT_DEFAULT V_MC_DLL_DEFAULT(0x10)
0208
0209 #define V_MC_CLKCONFIG_DEFAULT V_MC_DLL_DEFAULT_DEFAULT | \
0210 V_MC_ADDR_SKEW_DEFAULT | \
0211 V_MC_DQO_SKEW_DEFAULT | \
0212 V_MC_DQI_SKEW_DEFAULT | \
0213 V_MC_ADDR_DRIVE_DEFAULT | \
0214 V_MC_DATA_DRIVE_DEFAULT | \
0215 V_MC_CLOCK_DRIVE_DEFAULT | \
0216 V_MC_REF_RATE_DEFAULT
0217
0218
0219
0220
0221
0222
0223
0224 #define S_MC_COMMAND 0
0225 #define M_MC_COMMAND _SB_MAKEMASK(4, S_MC_COMMAND)
0226 #define V_MC_COMMAND(x) _SB_MAKEVALUE(x, S_MC_COMMAND)
0227 #define G_MC_COMMAND(x) _SB_GETVALUE(x, S_MC_COMMAND, M_MC_COMMAND)
0228
0229 #define K_MC_COMMAND_EMRS 0
0230 #define K_MC_COMMAND_MRS 1
0231 #define K_MC_COMMAND_PRE 2
0232 #define K_MC_COMMAND_AR 3
0233 #define K_MC_COMMAND_SETRFSH 4
0234 #define K_MC_COMMAND_CLRRFSH 5
0235 #define K_MC_COMMAND_SETPWRDN 6
0236 #define K_MC_COMMAND_CLRPWRDN 7
0237
0238 #define V_MC_COMMAND_EMRS V_MC_COMMAND(K_MC_COMMAND_EMRS)
0239 #define V_MC_COMMAND_MRS V_MC_COMMAND(K_MC_COMMAND_MRS)
0240 #define V_MC_COMMAND_PRE V_MC_COMMAND(K_MC_COMMAND_PRE)
0241 #define V_MC_COMMAND_AR V_MC_COMMAND(K_MC_COMMAND_AR)
0242 #define V_MC_COMMAND_SETRFSH V_MC_COMMAND(K_MC_COMMAND_SETRFSH)
0243 #define V_MC_COMMAND_CLRRFSH V_MC_COMMAND(K_MC_COMMAND_CLRRFSH)
0244 #define V_MC_COMMAND_SETPWRDN V_MC_COMMAND(K_MC_COMMAND_SETPWRDN)
0245 #define V_MC_COMMAND_CLRPWRDN V_MC_COMMAND(K_MC_COMMAND_CLRPWRDN)
0246
0247 #define M_MC_CS0 _SB_MAKEMASK1(4)
0248 #define M_MC_CS1 _SB_MAKEMASK1(5)
0249 #define M_MC_CS2 _SB_MAKEMASK1(6)
0250 #define M_MC_CS3 _SB_MAKEMASK1(7)
0251
0252
0253
0254
0255
0256 #define S_MC_EMODE 0
0257 #define M_MC_EMODE _SB_MAKEMASK(15, S_MC_EMODE)
0258 #define V_MC_EMODE(x) _SB_MAKEVALUE(x, S_MC_EMODE)
0259 #define G_MC_EMODE(x) _SB_GETVALUE(x, S_MC_EMODE, M_MC_EMODE)
0260 #define V_MC_EMODE_DEFAULT V_MC_EMODE(0)
0261
0262 #define S_MC_MODE 16
0263 #define M_MC_MODE _SB_MAKEMASK(15, S_MC_MODE)
0264 #define V_MC_MODE(x) _SB_MAKEVALUE(x, S_MC_MODE)
0265 #define G_MC_MODE(x) _SB_GETVALUE(x, S_MC_MODE, M_MC_MODE)
0266 #define V_MC_MODE_DEFAULT V_MC_MODE(0x22)
0267
0268 #define S_MC_DRAM_TYPE 32
0269 #define M_MC_DRAM_TYPE _SB_MAKEMASK(3, S_MC_DRAM_TYPE)
0270 #define V_MC_DRAM_TYPE(x) _SB_MAKEVALUE(x, S_MC_DRAM_TYPE)
0271 #define G_MC_DRAM_TYPE(x) _SB_GETVALUE(x, S_MC_DRAM_TYPE, M_MC_DRAM_TYPE)
0272
0273 #define K_MC_DRAM_TYPE_JEDEC 0
0274 #define K_MC_DRAM_TYPE_FCRAM 1
0275 #define K_MC_DRAM_TYPE_SGRAM 2
0276
0277 #define V_MC_DRAM_TYPE_JEDEC V_MC_DRAM_TYPE(K_MC_DRAM_TYPE_JEDEC)
0278 #define V_MC_DRAM_TYPE_FCRAM V_MC_DRAM_TYPE(K_MC_DRAM_TYPE_FCRAM)
0279 #define V_MC_DRAM_TYPE_SGRAM V_MC_DRAM_TYPE(K_MC_DRAM_TYPE_SGRAM)
0280
0281 #define M_MC_EXTERNALDECODE _SB_MAKEMASK1(35)
0282
0283 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1)
0284 #define M_MC_PRE_ON_A8 _SB_MAKEMASK1(36)
0285 #define M_MC_RAM_WITH_A13 _SB_MAKEMASK1(37)
0286 #endif
0287
0288
0289
0290
0291
0292
0293
0294 #define M_MC_w2rIDLE_TWOCYCLES _SB_MAKEMASK1(60)
0295 #define M_MC_r2wIDLE_TWOCYCLES _SB_MAKEMASK1(61)
0296 #define M_MC_r2rIDLE_TWOCYCLES _SB_MAKEMASK1(62)
0297
0298 #define S_MC_tFIFO 56
0299 #define M_MC_tFIFO _SB_MAKEMASK(4, S_MC_tFIFO)
0300 #define V_MC_tFIFO(x) _SB_MAKEVALUE(x, S_MC_tFIFO)
0301 #define G_MC_tFIFO(x) _SB_GETVALUE(x, S_MC_tFIFO, M_MC_tFIFO)
0302 #define K_MC_tFIFO_DEFAULT 1
0303 #define V_MC_tFIFO_DEFAULT V_MC_tFIFO(K_MC_tFIFO_DEFAULT)
0304
0305 #define S_MC_tRFC 52
0306 #define M_MC_tRFC _SB_MAKEMASK(4, S_MC_tRFC)
0307 #define V_MC_tRFC(x) _SB_MAKEVALUE(x, S_MC_tRFC)
0308 #define G_MC_tRFC(x) _SB_GETVALUE(x, S_MC_tRFC, M_MC_tRFC)
0309 #define K_MC_tRFC_DEFAULT 12
0310 #define V_MC_tRFC_DEFAULT V_MC_tRFC(K_MC_tRFC_DEFAULT)
0311
0312 #if SIBYTE_HDR_FEATURE(1250, PASS3)
0313 #define M_MC_tRFC_PLUS16 _SB_MAKEMASK1(51)
0314 #endif
0315
0316 #define S_MC_tCwCr 40
0317 #define M_MC_tCwCr _SB_MAKEMASK(4, S_MC_tCwCr)
0318 #define V_MC_tCwCr(x) _SB_MAKEVALUE(x, S_MC_tCwCr)
0319 #define G_MC_tCwCr(x) _SB_GETVALUE(x, S_MC_tCwCr, M_MC_tCwCr)
0320 #define K_MC_tCwCr_DEFAULT 4
0321 #define V_MC_tCwCr_DEFAULT V_MC_tCwCr(K_MC_tCwCr_DEFAULT)
0322
0323 #define S_MC_tRCr 28
0324 #define M_MC_tRCr _SB_MAKEMASK(4, S_MC_tRCr)
0325 #define V_MC_tRCr(x) _SB_MAKEVALUE(x, S_MC_tRCr)
0326 #define G_MC_tRCr(x) _SB_GETVALUE(x, S_MC_tRCr, M_MC_tRCr)
0327 #define K_MC_tRCr_DEFAULT 9
0328 #define V_MC_tRCr_DEFAULT V_MC_tRCr(K_MC_tRCr_DEFAULT)
0329
0330 #define S_MC_tRCw 24
0331 #define M_MC_tRCw _SB_MAKEMASK(4, S_MC_tRCw)
0332 #define V_MC_tRCw(x) _SB_MAKEVALUE(x, S_MC_tRCw)
0333 #define G_MC_tRCw(x) _SB_GETVALUE(x, S_MC_tRCw, M_MC_tRCw)
0334 #define K_MC_tRCw_DEFAULT 10
0335 #define V_MC_tRCw_DEFAULT V_MC_tRCw(K_MC_tRCw_DEFAULT)
0336
0337 #define S_MC_tRRD 20
0338 #define M_MC_tRRD _SB_MAKEMASK(4, S_MC_tRRD)
0339 #define V_MC_tRRD(x) _SB_MAKEVALUE(x, S_MC_tRRD)
0340 #define G_MC_tRRD(x) _SB_GETVALUE(x, S_MC_tRRD, M_MC_tRRD)
0341 #define K_MC_tRRD_DEFAULT 2
0342 #define V_MC_tRRD_DEFAULT V_MC_tRRD(K_MC_tRRD_DEFAULT)
0343
0344 #define S_MC_tRP 16
0345 #define M_MC_tRP _SB_MAKEMASK(4, S_MC_tRP)
0346 #define V_MC_tRP(x) _SB_MAKEVALUE(x, S_MC_tRP)
0347 #define G_MC_tRP(x) _SB_GETVALUE(x, S_MC_tRP, M_MC_tRP)
0348 #define K_MC_tRP_DEFAULT 4
0349 #define V_MC_tRP_DEFAULT V_MC_tRP(K_MC_tRP_DEFAULT)
0350
0351 #define S_MC_tCwD 8
0352 #define M_MC_tCwD _SB_MAKEMASK(4, S_MC_tCwD)
0353 #define V_MC_tCwD(x) _SB_MAKEVALUE(x, S_MC_tCwD)
0354 #define G_MC_tCwD(x) _SB_GETVALUE(x, S_MC_tCwD, M_MC_tCwD)
0355 #define K_MC_tCwD_DEFAULT 1
0356 #define V_MC_tCwD_DEFAULT V_MC_tCwD(K_MC_tCwD_DEFAULT)
0357
0358 #define M_tCrDh _SB_MAKEMASK1(7)
0359 #define M_MC_tCrDh M_tCrDh
0360
0361 #define S_MC_tCrD 4
0362 #define M_MC_tCrD _SB_MAKEMASK(3, S_MC_tCrD)
0363 #define V_MC_tCrD(x) _SB_MAKEVALUE(x, S_MC_tCrD)
0364 #define G_MC_tCrD(x) _SB_GETVALUE(x, S_MC_tCrD, M_MC_tCrD)
0365 #define K_MC_tCrD_DEFAULT 2
0366 #define V_MC_tCrD_DEFAULT V_MC_tCrD(K_MC_tCrD_DEFAULT)
0367
0368 #define S_MC_tRCD 0
0369 #define M_MC_tRCD _SB_MAKEMASK(4, S_MC_tRCD)
0370 #define V_MC_tRCD(x) _SB_MAKEVALUE(x, S_MC_tRCD)
0371 #define G_MC_tRCD(x) _SB_GETVALUE(x, S_MC_tRCD, M_MC_tRCD)
0372 #define K_MC_tRCD_DEFAULT 3
0373 #define V_MC_tRCD_DEFAULT V_MC_tRCD(K_MC_tRCD_DEFAULT)
0374
0375 #define V_MC_TIMING_DEFAULT V_MC_tFIFO(K_MC_tFIFO_DEFAULT) | \
0376 V_MC_tRFC(K_MC_tRFC_DEFAULT) | \
0377 V_MC_tCwCr(K_MC_tCwCr_DEFAULT) | \
0378 V_MC_tRCr(K_MC_tRCr_DEFAULT) | \
0379 V_MC_tRCw(K_MC_tRCw_DEFAULT) | \
0380 V_MC_tRRD(K_MC_tRRD_DEFAULT) | \
0381 V_MC_tRP(K_MC_tRP_DEFAULT) | \
0382 V_MC_tCwD(K_MC_tCwD_DEFAULT) | \
0383 V_MC_tCrD(K_MC_tCrD_DEFAULT) | \
0384 V_MC_tRCD(K_MC_tRCD_DEFAULT) | \
0385 M_MC_r2rIDLE_TWOCYCLES
0386
0387
0388
0389
0390
0391
0392
0393
0394
0395
0396
0397
0398 #define S_MC_CS0_START 0
0399 #define M_MC_CS0_START _SB_MAKEMASK(16, S_MC_CS0_START)
0400 #define V_MC_CS0_START(x) _SB_MAKEVALUE(x, S_MC_CS0_START)
0401 #define G_MC_CS0_START(x) _SB_GETVALUE(x, S_MC_CS0_START, M_MC_CS0_START)
0402
0403 #define S_MC_CS1_START 16
0404 #define M_MC_CS1_START _SB_MAKEMASK(16, S_MC_CS1_START)
0405 #define V_MC_CS1_START(x) _SB_MAKEVALUE(x, S_MC_CS1_START)
0406 #define G_MC_CS1_START(x) _SB_GETVALUE(x, S_MC_CS1_START, M_MC_CS1_START)
0407
0408 #define S_MC_CS2_START 32
0409 #define M_MC_CS2_START _SB_MAKEMASK(16, S_MC_CS2_START)
0410 #define V_MC_CS2_START(x) _SB_MAKEVALUE(x, S_MC_CS2_START)
0411 #define G_MC_CS2_START(x) _SB_GETVALUE(x, S_MC_CS2_START, M_MC_CS2_START)
0412
0413 #define S_MC_CS3_START 48
0414 #define M_MC_CS3_START _SB_MAKEMASK(16, S_MC_CS3_START)
0415 #define V_MC_CS3_START(x) _SB_MAKEVALUE(x, S_MC_CS3_START)
0416 #define G_MC_CS3_START(x) _SB_GETVALUE(x, S_MC_CS3_START, M_MC_CS3_START)
0417
0418
0419
0420
0421
0422 #define S_MC_CS0_END 0
0423 #define M_MC_CS0_END _SB_MAKEMASK(16, S_MC_CS0_END)
0424 #define V_MC_CS0_END(x) _SB_MAKEVALUE(x, S_MC_CS0_END)
0425 #define G_MC_CS0_END(x) _SB_GETVALUE(x, S_MC_CS0_END, M_MC_CS0_END)
0426
0427 #define S_MC_CS1_END 16
0428 #define M_MC_CS1_END _SB_MAKEMASK(16, S_MC_CS1_END)
0429 #define V_MC_CS1_END(x) _SB_MAKEVALUE(x, S_MC_CS1_END)
0430 #define G_MC_CS1_END(x) _SB_GETVALUE(x, S_MC_CS1_END, M_MC_CS1_END)
0431
0432 #define S_MC_CS2_END 32
0433 #define M_MC_CS2_END _SB_MAKEMASK(16, S_MC_CS2_END)
0434 #define V_MC_CS2_END(x) _SB_MAKEVALUE(x, S_MC_CS2_END)
0435 #define G_MC_CS2_END(x) _SB_GETVALUE(x, S_MC_CS2_END, M_MC_CS2_END)
0436
0437 #define S_MC_CS3_END 48
0438 #define M_MC_CS3_END _SB_MAKEMASK(16, S_MC_CS3_END)
0439 #define V_MC_CS3_END(x) _SB_MAKEVALUE(x, S_MC_CS3_END)
0440 #define G_MC_CS3_END(x) _SB_GETVALUE(x, S_MC_CS3_END, M_MC_CS3_END)
0441
0442
0443
0444
0445
0446 #define S_MC_INTLV_RESERVED 0
0447 #define M_MC_INTLV_RESERVED _SB_MAKEMASK(5, S_MC_INTLV_RESERVED)
0448
0449 #define S_MC_INTERLEAVE 7
0450 #define M_MC_INTERLEAVE _SB_MAKEMASK(18, S_MC_INTERLEAVE)
0451 #define V_MC_INTERLEAVE(x) _SB_MAKEVALUE(x, S_MC_INTERLEAVE)
0452
0453 #define S_MC_INTLV_MBZ 25
0454 #define M_MC_INTLV_MBZ _SB_MAKEMASK(39, S_MC_INTLV_MBZ)
0455
0456
0457
0458
0459
0460 #define S_MC_RAS_RESERVED 0
0461 #define M_MC_RAS_RESERVED _SB_MAKEMASK(5, S_MC_RAS_RESERVED)
0462
0463 #define S_MC_RAS_SELECT 12
0464 #define M_MC_RAS_SELECT _SB_MAKEMASK(25, S_MC_RAS_SELECT)
0465 #define V_MC_RAS_SELECT(x) _SB_MAKEVALUE(x, S_MC_RAS_SELECT)
0466
0467 #define S_MC_RAS_MBZ 37
0468 #define M_MC_RAS_MBZ _SB_MAKEMASK(27, S_MC_RAS_MBZ)
0469
0470
0471
0472
0473
0474
0475 #define S_MC_CAS_RESERVED 0
0476 #define M_MC_CAS_RESERVED _SB_MAKEMASK(5, S_MC_CAS_RESERVED)
0477
0478 #define S_MC_CAS_SELECT 5
0479 #define M_MC_CAS_SELECT _SB_MAKEMASK(18, S_MC_CAS_SELECT)
0480 #define V_MC_CAS_SELECT(x) _SB_MAKEVALUE(x, S_MC_CAS_SELECT)
0481
0482 #define S_MC_CAS_MBZ 23
0483 #define M_MC_CAS_MBZ _SB_MAKEMASK(41, S_MC_CAS_MBZ)
0484
0485
0486
0487
0488
0489
0490 #define S_MC_BA_RESERVED 0
0491 #define M_MC_BA_RESERVED _SB_MAKEMASK(5, S_MC_BA_RESERVED)
0492
0493 #define S_MC_BA_SELECT 5
0494 #define M_MC_BA_SELECT _SB_MAKEMASK(20, S_MC_BA_SELECT)
0495 #define V_MC_BA_SELECT(x) _SB_MAKEVALUE(x, S_MC_BA_SELECT)
0496
0497 #define S_MC_BA_MBZ 25
0498 #define M_MC_BA_MBZ _SB_MAKEMASK(39, S_MC_BA_MBZ)
0499
0500
0501
0502
0503
0504 #define K_MC_CS_ATTR_CLOSED 0
0505 #define K_MC_CS_ATTR_CASCHECK 1
0506 #define K_MC_CS_ATTR_HINT 2
0507 #define K_MC_CS_ATTR_OPEN 3
0508
0509 #define S_MC_CS0_PAGE 0
0510 #define M_MC_CS0_PAGE _SB_MAKEMASK(2, S_MC_CS0_PAGE)
0511 #define V_MC_CS0_PAGE(x) _SB_MAKEVALUE(x, S_MC_CS0_PAGE)
0512 #define G_MC_CS0_PAGE(x) _SB_GETVALUE(x, S_MC_CS0_PAGE, M_MC_CS0_PAGE)
0513
0514 #define S_MC_CS1_PAGE 16
0515 #define M_MC_CS1_PAGE _SB_MAKEMASK(2, S_MC_CS1_PAGE)
0516 #define V_MC_CS1_PAGE(x) _SB_MAKEVALUE(x, S_MC_CS1_PAGE)
0517 #define G_MC_CS1_PAGE(x) _SB_GETVALUE(x, S_MC_CS1_PAGE, M_MC_CS1_PAGE)
0518
0519 #define S_MC_CS2_PAGE 32
0520 #define M_MC_CS2_PAGE _SB_MAKEMASK(2, S_MC_CS2_PAGE)
0521 #define V_MC_CS2_PAGE(x) _SB_MAKEVALUE(x, S_MC_CS2_PAGE)
0522 #define G_MC_CS2_PAGE(x) _SB_GETVALUE(x, S_MC_CS2_PAGE, M_MC_CS2_PAGE)
0523
0524 #define S_MC_CS3_PAGE 48
0525 #define M_MC_CS3_PAGE _SB_MAKEMASK(2, S_MC_CS3_PAGE)
0526 #define V_MC_CS3_PAGE(x) _SB_MAKEVALUE(x, S_MC_CS3_PAGE)
0527 #define G_MC_CS3_PAGE(x) _SB_GETVALUE(x, S_MC_CS3_PAGE, M_MC_CS3_PAGE)
0528
0529
0530
0531
0532
0533 #define S_MC_ECC_INVERT 0
0534 #define M_MC_ECC_INVERT _SB_MAKEMASK(8, S_MC_ECC_INVERT)
0535
0536
0537 #endif