Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*  *********************************************************************
0003     *  BCM1280/BCM1480 Board Support Package
0004     *
0005     *  Memory Controller constants      File: bcm1480_mc.h
0006     *
0007     *  This module contains constants and macros useful for
0008     *  programming the memory controller.
0009     *
0010     *  BCM1400 specification level:  1280-UM100-D1 (11/14/03 Review Copy)
0011     *
0012     *********************************************************************
0013     *
0014     *  Copyright 2000,2001,2002,2003
0015     *  Broadcom Corporation. All rights reserved.
0016     *
0017     ********************************************************************* */
0018 
0019 
0020 #ifndef _BCM1480_MC_H
0021 #define _BCM1480_MC_H
0022 
0023 #include <asm/sibyte/sb1250_defs.h>
0024 
0025 /*
0026  * Memory Channel Configuration Register (Table 81)
0027  */
0028 
0029 #define S_BCM1480_MC_INTLV0         0
0030 #define M_BCM1480_MC_INTLV0         _SB_MAKEMASK(6, S_BCM1480_MC_INTLV0)
0031 #define V_BCM1480_MC_INTLV0(x)          _SB_MAKEVALUE(x, S_BCM1480_MC_INTLV0)
0032 #define G_BCM1480_MC_INTLV0(x)          _SB_GETVALUE(x, S_BCM1480_MC_INTLV0, M_BCM1480_MC_INTLV0)
0033 #define V_BCM1480_MC_INTLV0_DEFAULT     V_BCM1480_MC_INTLV0(0)
0034 
0035 #define S_BCM1480_MC_INTLV1         8
0036 #define M_BCM1480_MC_INTLV1         _SB_MAKEMASK(6, S_BCM1480_MC_INTLV1)
0037 #define V_BCM1480_MC_INTLV1(x)          _SB_MAKEVALUE(x, S_BCM1480_MC_INTLV1)
0038 #define G_BCM1480_MC_INTLV1(x)          _SB_GETVALUE(x, S_BCM1480_MC_INTLV1, M_BCM1480_MC_INTLV1)
0039 #define V_BCM1480_MC_INTLV1_DEFAULT     V_BCM1480_MC_INTLV1(0)
0040 
0041 #define S_BCM1480_MC_INTLV2         16
0042 #define M_BCM1480_MC_INTLV2         _SB_MAKEMASK(6, S_BCM1480_MC_INTLV2)
0043 #define V_BCM1480_MC_INTLV2(x)          _SB_MAKEVALUE(x, S_BCM1480_MC_INTLV2)
0044 #define G_BCM1480_MC_INTLV2(x)          _SB_GETVALUE(x, S_BCM1480_MC_INTLV2, M_BCM1480_MC_INTLV2)
0045 #define V_BCM1480_MC_INTLV2_DEFAULT     V_BCM1480_MC_INTLV2(0)
0046 
0047 #define S_BCM1480_MC_CS_MODE            32
0048 #define M_BCM1480_MC_CS_MODE            _SB_MAKEMASK(8, S_BCM1480_MC_CS_MODE)
0049 #define V_BCM1480_MC_CS_MODE(x)         _SB_MAKEVALUE(x, S_BCM1480_MC_CS_MODE)
0050 #define G_BCM1480_MC_CS_MODE(x)         _SB_GETVALUE(x, S_BCM1480_MC_CS_MODE, M_BCM1480_MC_CS_MODE)
0051 #define V_BCM1480_MC_CS_MODE_DEFAULT        V_BCM1480_MC_CS_MODE(0)
0052 
0053 #define V_BCM1480_MC_CONFIG_DEFAULT     (V_BCM1480_MC_INTLV0_DEFAULT  | \
0054                      V_BCM1480_MC_INTLV1_DEFAULT  | \
0055                      V_BCM1480_MC_INTLV2_DEFAULT  | \
0056                      V_BCM1480_MC_CS_MODE_DEFAULT)
0057 
0058 #define K_BCM1480_MC_CS01_MODE          0x03
0059 #define K_BCM1480_MC_CS02_MODE          0x05
0060 #define K_BCM1480_MC_CS0123_MODE        0x0F
0061 #define K_BCM1480_MC_CS0246_MODE        0x55
0062 #define K_BCM1480_MC_CS0145_MODE        0x33
0063 #define K_BCM1480_MC_CS0167_MODE        0xC3
0064 #define K_BCM1480_MC_CSFULL_MODE        0xFF
0065 
0066 /*
0067  * Chip Select Start Address Register (Table 82)
0068  */
0069 
0070 #define S_BCM1480_MC_CS0_START          0
0071 #define M_BCM1480_MC_CS0_START          _SB_MAKEMASK(12, S_BCM1480_MC_CS0_START)
0072 #define V_BCM1480_MC_CS0_START(x)       _SB_MAKEVALUE(x, S_BCM1480_MC_CS0_START)
0073 #define G_BCM1480_MC_CS0_START(x)       _SB_GETVALUE(x, S_BCM1480_MC_CS0_START, M_BCM1480_MC_CS0_START)
0074 
0075 #define S_BCM1480_MC_CS1_START          16
0076 #define M_BCM1480_MC_CS1_START          _SB_MAKEMASK(12, S_BCM1480_MC_CS1_START)
0077 #define V_BCM1480_MC_CS1_START(x)       _SB_MAKEVALUE(x, S_BCM1480_MC_CS1_START)
0078 #define G_BCM1480_MC_CS1_START(x)       _SB_GETVALUE(x, S_BCM1480_MC_CS1_START, M_BCM1480_MC_CS1_START)
0079 
0080 #define S_BCM1480_MC_CS2_START          32
0081 #define M_BCM1480_MC_CS2_START          _SB_MAKEMASK(12, S_BCM1480_MC_CS2_START)
0082 #define V_BCM1480_MC_CS2_START(x)       _SB_MAKEVALUE(x, S_BCM1480_MC_CS2_START)
0083 #define G_BCM1480_MC_CS2_START(x)       _SB_GETVALUE(x, S_BCM1480_MC_CS2_START, M_BCM1480_MC_CS2_START)
0084 
0085 #define S_BCM1480_MC_CS3_START          48
0086 #define M_BCM1480_MC_CS3_START          _SB_MAKEMASK(12, S_BCM1480_MC_CS3_START)
0087 #define V_BCM1480_MC_CS3_START(x)       _SB_MAKEVALUE(x, S_BCM1480_MC_CS3_START)
0088 #define G_BCM1480_MC_CS3_START(x)       _SB_GETVALUE(x, S_BCM1480_MC_CS3_START, M_BCM1480_MC_CS3_START)
0089 
0090 /*
0091  * Chip Select End Address Register (Table 83)
0092  */
0093 
0094 #define S_BCM1480_MC_CS0_END            0
0095 #define M_BCM1480_MC_CS0_END            _SB_MAKEMASK(12, S_BCM1480_MC_CS0_END)
0096 #define V_BCM1480_MC_CS0_END(x)         _SB_MAKEVALUE(x, S_BCM1480_MC_CS0_END)
0097 #define G_BCM1480_MC_CS0_END(x)         _SB_GETVALUE(x, S_BCM1480_MC_CS0_END, M_BCM1480_MC_CS0_END)
0098 
0099 #define S_BCM1480_MC_CS1_END            16
0100 #define M_BCM1480_MC_CS1_END            _SB_MAKEMASK(12, S_BCM1480_MC_CS1_END)
0101 #define V_BCM1480_MC_CS1_END(x)         _SB_MAKEVALUE(x, S_BCM1480_MC_CS1_END)
0102 #define G_BCM1480_MC_CS1_END(x)         _SB_GETVALUE(x, S_BCM1480_MC_CS1_END, M_BCM1480_MC_CS1_END)
0103 
0104 #define S_BCM1480_MC_CS2_END            32
0105 #define M_BCM1480_MC_CS2_END            _SB_MAKEMASK(12, S_BCM1480_MC_CS2_END)
0106 #define V_BCM1480_MC_CS2_END(x)         _SB_MAKEVALUE(x, S_BCM1480_MC_CS2_END)
0107 #define G_BCM1480_MC_CS2_END(x)         _SB_GETVALUE(x, S_BCM1480_MC_CS2_END, M_BCM1480_MC_CS2_END)
0108 
0109 #define S_BCM1480_MC_CS3_END            48
0110 #define M_BCM1480_MC_CS3_END            _SB_MAKEMASK(12, S_BCM1480_MC_CS3_END)
0111 #define V_BCM1480_MC_CS3_END(x)         _SB_MAKEVALUE(x, S_BCM1480_MC_CS3_END)
0112 #define G_BCM1480_MC_CS3_END(x)         _SB_GETVALUE(x, S_BCM1480_MC_CS3_END, M_BCM1480_MC_CS3_END)
0113 
0114 /*
0115  * Row Address Bit Select Register 0 (Table 84)
0116  */
0117 
0118 #define S_BCM1480_MC_ROW00          0
0119 #define M_BCM1480_MC_ROW00          _SB_MAKEMASK(6, S_BCM1480_MC_ROW00)
0120 #define V_BCM1480_MC_ROW00(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW00)
0121 #define G_BCM1480_MC_ROW00(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW00, M_BCM1480_MC_ROW00)
0122 
0123 #define S_BCM1480_MC_ROW01          8
0124 #define M_BCM1480_MC_ROW01          _SB_MAKEMASK(6, S_BCM1480_MC_ROW01)
0125 #define V_BCM1480_MC_ROW01(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW01)
0126 #define G_BCM1480_MC_ROW01(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW01, M_BCM1480_MC_ROW01)
0127 
0128 #define S_BCM1480_MC_ROW02          16
0129 #define M_BCM1480_MC_ROW02          _SB_MAKEMASK(6, S_BCM1480_MC_ROW02)
0130 #define V_BCM1480_MC_ROW02(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW02)
0131 #define G_BCM1480_MC_ROW02(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW02, M_BCM1480_MC_ROW02)
0132 
0133 #define S_BCM1480_MC_ROW03          24
0134 #define M_BCM1480_MC_ROW03          _SB_MAKEMASK(6, S_BCM1480_MC_ROW03)
0135 #define V_BCM1480_MC_ROW03(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW03)
0136 #define G_BCM1480_MC_ROW03(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW03, M_BCM1480_MC_ROW03)
0137 
0138 #define S_BCM1480_MC_ROW04          32
0139 #define M_BCM1480_MC_ROW04          _SB_MAKEMASK(6, S_BCM1480_MC_ROW04)
0140 #define V_BCM1480_MC_ROW04(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW04)
0141 #define G_BCM1480_MC_ROW04(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW04, M_BCM1480_MC_ROW04)
0142 
0143 #define S_BCM1480_MC_ROW05          40
0144 #define M_BCM1480_MC_ROW05          _SB_MAKEMASK(6, S_BCM1480_MC_ROW05)
0145 #define V_BCM1480_MC_ROW05(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW05)
0146 #define G_BCM1480_MC_ROW05(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW05, M_BCM1480_MC_ROW05)
0147 
0148 #define S_BCM1480_MC_ROW06          48
0149 #define M_BCM1480_MC_ROW06          _SB_MAKEMASK(6, S_BCM1480_MC_ROW06)
0150 #define V_BCM1480_MC_ROW06(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW06)
0151 #define G_BCM1480_MC_ROW06(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW06, M_BCM1480_MC_ROW06)
0152 
0153 #define S_BCM1480_MC_ROW07          56
0154 #define M_BCM1480_MC_ROW07          _SB_MAKEMASK(6, S_BCM1480_MC_ROW07)
0155 #define V_BCM1480_MC_ROW07(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW07)
0156 #define G_BCM1480_MC_ROW07(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW07, M_BCM1480_MC_ROW07)
0157 
0158 /*
0159  * Row Address Bit Select Register 1 (Table 85)
0160  */
0161 
0162 #define S_BCM1480_MC_ROW08          0
0163 #define M_BCM1480_MC_ROW08          _SB_MAKEMASK(6, S_BCM1480_MC_ROW08)
0164 #define V_BCM1480_MC_ROW08(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW08)
0165 #define G_BCM1480_MC_ROW08(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW08, M_BCM1480_MC_ROW08)
0166 
0167 #define S_BCM1480_MC_ROW09          8
0168 #define M_BCM1480_MC_ROW09          _SB_MAKEMASK(6, S_BCM1480_MC_ROW09)
0169 #define V_BCM1480_MC_ROW09(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW09)
0170 #define G_BCM1480_MC_ROW09(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW09, M_BCM1480_MC_ROW09)
0171 
0172 #define S_BCM1480_MC_ROW10          16
0173 #define M_BCM1480_MC_ROW10          _SB_MAKEMASK(6, S_BCM1480_MC_ROW10)
0174 #define V_BCM1480_MC_ROW10(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW10)
0175 #define G_BCM1480_MC_ROW10(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW10, M_BCM1480_MC_ROW10)
0176 
0177 #define S_BCM1480_MC_ROW11          24
0178 #define M_BCM1480_MC_ROW11          _SB_MAKEMASK(6, S_BCM1480_MC_ROW11)
0179 #define V_BCM1480_MC_ROW11(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW11)
0180 #define G_BCM1480_MC_ROW11(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW11, M_BCM1480_MC_ROW11)
0181 
0182 #define S_BCM1480_MC_ROW12          32
0183 #define M_BCM1480_MC_ROW12          _SB_MAKEMASK(6, S_BCM1480_MC_ROW12)
0184 #define V_BCM1480_MC_ROW12(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW12)
0185 #define G_BCM1480_MC_ROW12(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW12, M_BCM1480_MC_ROW12)
0186 
0187 #define S_BCM1480_MC_ROW13          40
0188 #define M_BCM1480_MC_ROW13          _SB_MAKEMASK(6, S_BCM1480_MC_ROW13)
0189 #define V_BCM1480_MC_ROW13(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW13)
0190 #define G_BCM1480_MC_ROW13(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW13, M_BCM1480_MC_ROW13)
0191 
0192 #define S_BCM1480_MC_ROW14          48
0193 #define M_BCM1480_MC_ROW14          _SB_MAKEMASK(6, S_BCM1480_MC_ROW14)
0194 #define V_BCM1480_MC_ROW14(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_ROW14)
0195 #define G_BCM1480_MC_ROW14(x)           _SB_GETVALUE(x, S_BCM1480_MC_ROW14, M_BCM1480_MC_ROW14)
0196 
0197 #define K_BCM1480_MC_ROWX_BIT_SPACING       8
0198 
0199 /*
0200  * Column Address Bit Select Register 0 (Table 86)
0201  */
0202 
0203 #define S_BCM1480_MC_COL00          0
0204 #define M_BCM1480_MC_COL00          _SB_MAKEMASK(6, S_BCM1480_MC_COL00)
0205 #define V_BCM1480_MC_COL00(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL00)
0206 #define G_BCM1480_MC_COL00(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL00, M_BCM1480_MC_COL00)
0207 
0208 #define S_BCM1480_MC_COL01          8
0209 #define M_BCM1480_MC_COL01          _SB_MAKEMASK(6, S_BCM1480_MC_COL01)
0210 #define V_BCM1480_MC_COL01(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL01)
0211 #define G_BCM1480_MC_COL01(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL01, M_BCM1480_MC_COL01)
0212 
0213 #define S_BCM1480_MC_COL02          16
0214 #define M_BCM1480_MC_COL02          _SB_MAKEMASK(6, S_BCM1480_MC_COL02)
0215 #define V_BCM1480_MC_COL02(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL02)
0216 #define G_BCM1480_MC_COL02(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL02, M_BCM1480_MC_COL02)
0217 
0218 #define S_BCM1480_MC_COL03          24
0219 #define M_BCM1480_MC_COL03          _SB_MAKEMASK(6, S_BCM1480_MC_COL03)
0220 #define V_BCM1480_MC_COL03(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL03)
0221 #define G_BCM1480_MC_COL03(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL03, M_BCM1480_MC_COL03)
0222 
0223 #define S_BCM1480_MC_COL04          32
0224 #define M_BCM1480_MC_COL04          _SB_MAKEMASK(6, S_BCM1480_MC_COL04)
0225 #define V_BCM1480_MC_COL04(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL04)
0226 #define G_BCM1480_MC_COL04(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL04, M_BCM1480_MC_COL04)
0227 
0228 #define S_BCM1480_MC_COL05          40
0229 #define M_BCM1480_MC_COL05          _SB_MAKEMASK(6, S_BCM1480_MC_COL05)
0230 #define V_BCM1480_MC_COL05(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL05)
0231 #define G_BCM1480_MC_COL05(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL05, M_BCM1480_MC_COL05)
0232 
0233 #define S_BCM1480_MC_COL06          48
0234 #define M_BCM1480_MC_COL06          _SB_MAKEMASK(6, S_BCM1480_MC_COL06)
0235 #define V_BCM1480_MC_COL06(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL06)
0236 #define G_BCM1480_MC_COL06(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL06, M_BCM1480_MC_COL06)
0237 
0238 #define S_BCM1480_MC_COL07          56
0239 #define M_BCM1480_MC_COL07          _SB_MAKEMASK(6, S_BCM1480_MC_COL07)
0240 #define V_BCM1480_MC_COL07(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL07)
0241 #define G_BCM1480_MC_COL07(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL07, M_BCM1480_MC_COL07)
0242 
0243 /*
0244  * Column Address Bit Select Register 1 (Table 87)
0245  */
0246 
0247 #define S_BCM1480_MC_COL08          0
0248 #define M_BCM1480_MC_COL08          _SB_MAKEMASK(6, S_BCM1480_MC_COL08)
0249 #define V_BCM1480_MC_COL08(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL08)
0250 #define G_BCM1480_MC_COL08(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL08, M_BCM1480_MC_COL08)
0251 
0252 #define S_BCM1480_MC_COL09          8
0253 #define M_BCM1480_MC_COL09          _SB_MAKEMASK(6, S_BCM1480_MC_COL09)
0254 #define V_BCM1480_MC_COL09(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL09)
0255 #define G_BCM1480_MC_COL09(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL09, M_BCM1480_MC_COL09)
0256 
0257 #define S_BCM1480_MC_COL10          16   /* not a valid position, must be prog as 0 */
0258 
0259 #define S_BCM1480_MC_COL11          24
0260 #define M_BCM1480_MC_COL11          _SB_MAKEMASK(6, S_BCM1480_MC_COL11)
0261 #define V_BCM1480_MC_COL11(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL11)
0262 #define G_BCM1480_MC_COL11(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL11, M_BCM1480_MC_COL11)
0263 
0264 #define S_BCM1480_MC_COL12          32
0265 #define M_BCM1480_MC_COL12          _SB_MAKEMASK(6, S_BCM1480_MC_COL12)
0266 #define V_BCM1480_MC_COL12(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL12)
0267 #define G_BCM1480_MC_COL12(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL12, M_BCM1480_MC_COL12)
0268 
0269 #define S_BCM1480_MC_COL13          40
0270 #define M_BCM1480_MC_COL13          _SB_MAKEMASK(6, S_BCM1480_MC_COL13)
0271 #define V_BCM1480_MC_COL13(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL13)
0272 #define G_BCM1480_MC_COL13(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL13, M_BCM1480_MC_COL13)
0273 
0274 #define S_BCM1480_MC_COL14          48
0275 #define M_BCM1480_MC_COL14          _SB_MAKEMASK(6, S_BCM1480_MC_COL14)
0276 #define V_BCM1480_MC_COL14(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_COL14)
0277 #define G_BCM1480_MC_COL14(x)           _SB_GETVALUE(x, S_BCM1480_MC_COL14, M_BCM1480_MC_COL14)
0278 
0279 #define K_BCM1480_MC_COLX_BIT_SPACING       8
0280 
0281 /*
0282  * CS0 and CS1 Bank Address Bit Select Register (Table 88)
0283  */
0284 
0285 #define S_BCM1480_MC_CS01_BANK0         0
0286 #define M_BCM1480_MC_CS01_BANK0         _SB_MAKEMASK(6, S_BCM1480_MC_CS01_BANK0)
0287 #define V_BCM1480_MC_CS01_BANK0(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_CS01_BANK0)
0288 #define G_BCM1480_MC_CS01_BANK0(x)      _SB_GETVALUE(x, S_BCM1480_MC_CS01_BANK0, M_BCM1480_MC_CS01_BANK0)
0289 
0290 #define S_BCM1480_MC_CS01_BANK1         8
0291 #define M_BCM1480_MC_CS01_BANK1         _SB_MAKEMASK(6, S_BCM1480_MC_CS01_BANK1)
0292 #define V_BCM1480_MC_CS01_BANK1(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_CS01_BANK1)
0293 #define G_BCM1480_MC_CS01_BANK1(x)      _SB_GETVALUE(x, S_BCM1480_MC_CS01_BANK1, M_BCM1480_MC_CS01_BANK1)
0294 
0295 #define S_BCM1480_MC_CS01_BANK2         16
0296 #define M_BCM1480_MC_CS01_BANK2         _SB_MAKEMASK(6, S_BCM1480_MC_CS01_BANK2)
0297 #define V_BCM1480_MC_CS01_BANK2(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_CS01_BANK2)
0298 #define G_BCM1480_MC_CS01_BANK2(x)      _SB_GETVALUE(x, S_BCM1480_MC_CS01_BANK2, M_BCM1480_MC_CS01_BANK2)
0299 
0300 /*
0301  * CS2 and CS3 Bank Address Bit Select Register (Table 89)
0302  */
0303 
0304 #define S_BCM1480_MC_CS23_BANK0         0
0305 #define M_BCM1480_MC_CS23_BANK0         _SB_MAKEMASK(6, S_BCM1480_MC_CS23_BANK0)
0306 #define V_BCM1480_MC_CS23_BANK0(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_CS23_BANK0)
0307 #define G_BCM1480_MC_CS23_BANK0(x)      _SB_GETVALUE(x, S_BCM1480_MC_CS23_BANK0, M_BCM1480_MC_CS23_BANK0)
0308 
0309 #define S_BCM1480_MC_CS23_BANK1         8
0310 #define M_BCM1480_MC_CS23_BANK1         _SB_MAKEMASK(6, S_BCM1480_MC_CS23_BANK1)
0311 #define V_BCM1480_MC_CS23_BANK1(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_CS23_BANK1)
0312 #define G_BCM1480_MC_CS23_BANK1(x)      _SB_GETVALUE(x, S_BCM1480_MC_CS23_BANK1, M_BCM1480_MC_CS23_BANK1)
0313 
0314 #define S_BCM1480_MC_CS23_BANK2         16
0315 #define M_BCM1480_MC_CS23_BANK2         _SB_MAKEMASK(6, S_BCM1480_MC_CS23_BANK2)
0316 #define V_BCM1480_MC_CS23_BANK2(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_CS23_BANK2)
0317 #define G_BCM1480_MC_CS23_BANK2(x)      _SB_GETVALUE(x, S_BCM1480_MC_CS23_BANK2, M_BCM1480_MC_CS23_BANK2)
0318 
0319 #define K_BCM1480_MC_CSXX_BANKX_BIT_SPACING  8
0320 
0321 /*
0322  * DRAM Command Register (Table 90)
0323  */
0324 
0325 #define S_BCM1480_MC_COMMAND            0
0326 #define M_BCM1480_MC_COMMAND            _SB_MAKEMASK(4, S_BCM1480_MC_COMMAND)
0327 #define V_BCM1480_MC_COMMAND(x)         _SB_MAKEVALUE(x, S_BCM1480_MC_COMMAND)
0328 #define G_BCM1480_MC_COMMAND(x)         _SB_GETVALUE(x, S_BCM1480_MC_COMMAND, M_BCM1480_MC_COMMAND)
0329 
0330 #define K_BCM1480_MC_COMMAND_EMRS       0
0331 #define K_BCM1480_MC_COMMAND_MRS        1
0332 #define K_BCM1480_MC_COMMAND_PRE        2
0333 #define K_BCM1480_MC_COMMAND_AR         3
0334 #define K_BCM1480_MC_COMMAND_SETRFSH        4
0335 #define K_BCM1480_MC_COMMAND_CLRRFSH        5
0336 #define K_BCM1480_MC_COMMAND_SETPWRDN       6
0337 #define K_BCM1480_MC_COMMAND_CLRPWRDN       7
0338 
0339 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0340 #define K_BCM1480_MC_COMMAND_EMRS2      8
0341 #define K_BCM1480_MC_COMMAND_EMRS3      9
0342 #define K_BCM1480_MC_COMMAND_ENABLE_MCLK    10
0343 #define K_BCM1480_MC_COMMAND_DISABLE_MCLK   11
0344 #endif
0345 
0346 #define V_BCM1480_MC_COMMAND_EMRS       V_BCM1480_MC_COMMAND(K_BCM1480_MC_COMMAND_EMRS)
0347 #define V_BCM1480_MC_COMMAND_MRS        V_BCM1480_MC_COMMAND(K_BCM1480_MC_COMMAND_MRS)
0348 #define V_BCM1480_MC_COMMAND_PRE        V_BCM1480_MC_COMMAND(K_BCM1480_MC_COMMAND_PRE)
0349 #define V_BCM1480_MC_COMMAND_AR         V_BCM1480_MC_COMMAND(K_BCM1480_MC_COMMAND_AR)
0350 #define V_BCM1480_MC_COMMAND_SETRFSH        V_BCM1480_MC_COMMAND(K_BCM1480_MC_COMMAND_SETRFSH)
0351 #define V_BCM1480_MC_COMMAND_CLRRFSH        V_BCM1480_MC_COMMAND(K_BCM1480_MC_COMMAND_CLRRFSH)
0352 #define V_BCM1480_MC_COMMAND_SETPWRDN       V_BCM1480_MC_COMMAND(K_BCM1480_MC_COMMAND_SETPWRDN)
0353 #define V_BCM1480_MC_COMMAND_CLRPWRDN       V_BCM1480_MC_COMMAND(K_BCM1480_MC_COMMAND_CLRPWRDN)
0354 
0355 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0356 #define V_BCM1480_MC_COMMAND_EMRS2      V_BCM1480_MC_COMMAND(K_BCM1480_MC_COMMAND_EMRS2)
0357 #define V_BCM1480_MC_COMMAND_EMRS3      V_BCM1480_MC_COMMAND(K_BCM1480_MC_COMMAND_EMRS3)
0358 #define V_BCM1480_MC_COMMAND_ENABLE_MCLK    V_BCM1480_MC_COMMAND(K_BCM1480_MC_COMMAND_ENABLE_MCLK)
0359 #define V_BCM1480_MC_COMMAND_DISABLE_MCLK   V_BCM1480_MC_COMMAND(K_BCM1480_MC_COMMAND_DISABLE_MCLK)
0360 #endif
0361 
0362 #define S_BCM1480_MC_CS0            4
0363 #define M_BCM1480_MC_CS0            _SB_MAKEMASK1(4)
0364 #define M_BCM1480_MC_CS1            _SB_MAKEMASK1(5)
0365 #define M_BCM1480_MC_CS2            _SB_MAKEMASK1(6)
0366 #define M_BCM1480_MC_CS3            _SB_MAKEMASK1(7)
0367 #define M_BCM1480_MC_CS4            _SB_MAKEMASK1(8)
0368 #define M_BCM1480_MC_CS5            _SB_MAKEMASK1(9)
0369 #define M_BCM1480_MC_CS6            _SB_MAKEMASK1(10)
0370 #define M_BCM1480_MC_CS7            _SB_MAKEMASK1(11)
0371 
0372 #define M_BCM1480_MC_CS          _SB_MAKEMASK(8, S_BCM1480_MC_CS0)
0373 #define V_BCM1480_MC_CS(x)       _SB_MAKEVALUE(x, S_BCM1480_MC_CS0)
0374 #define G_BCM1480_MC_CS(x)       _SB_GETVALUE(x, S_BCM1480_MC_CS0, M_BCM1480_MC_CS0)
0375 
0376 #define M_BCM1480_MC_CMD_ACTIVE         _SB_MAKEMASK1(16)
0377 
0378 /*
0379  * DRAM Mode Register (Table 91)
0380  */
0381 
0382 #define S_BCM1480_MC_EMODE          0
0383 #define M_BCM1480_MC_EMODE          _SB_MAKEMASK(15, S_BCM1480_MC_EMODE)
0384 #define V_BCM1480_MC_EMODE(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_EMODE)
0385 #define G_BCM1480_MC_EMODE(x)           _SB_GETVALUE(x, S_BCM1480_MC_EMODE, M_BCM1480_MC_EMODE)
0386 #define V_BCM1480_MC_EMODE_DEFAULT      V_BCM1480_MC_EMODE(0)
0387 
0388 #define S_BCM1480_MC_MODE           16
0389 #define M_BCM1480_MC_MODE           _SB_MAKEMASK(15, S_BCM1480_MC_MODE)
0390 #define V_BCM1480_MC_MODE(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_MODE)
0391 #define G_BCM1480_MC_MODE(x)            _SB_GETVALUE(x, S_BCM1480_MC_MODE, M_BCM1480_MC_MODE)
0392 #define V_BCM1480_MC_MODE_DEFAULT       V_BCM1480_MC_MODE(0)
0393 
0394 #define S_BCM1480_MC_DRAM_TYPE          32
0395 #define M_BCM1480_MC_DRAM_TYPE          _SB_MAKEMASK(4, S_BCM1480_MC_DRAM_TYPE)
0396 #define V_BCM1480_MC_DRAM_TYPE(x)       _SB_MAKEVALUE(x, S_BCM1480_MC_DRAM_TYPE)
0397 #define G_BCM1480_MC_DRAM_TYPE(x)       _SB_GETVALUE(x, S_BCM1480_MC_DRAM_TYPE, M_BCM1480_MC_DRAM_TYPE)
0398 
0399 #define K_BCM1480_MC_DRAM_TYPE_JEDEC        0
0400 #define K_BCM1480_MC_DRAM_TYPE_FCRAM        1
0401 
0402 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0403 #define K_BCM1480_MC_DRAM_TYPE_DDR2     2
0404 #endif
0405 
0406 #define K_BCM1480_MC_DRAM_TYPE_DDR2_PASS1   0
0407 
0408 #define V_BCM1480_MC_DRAM_TYPE_JEDEC        V_BCM1480_MC_DRAM_TYPE(K_BCM1480_MC_DRAM_TYPE_JEDEC)
0409 #define V_BCM1480_MC_DRAM_TYPE_FCRAM        V_BCM1480_MC_DRAM_TYPE(K_BCM1480_MC_DRAM_TYPE_FCRAM)
0410 
0411 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0412 #define V_BCM1480_MC_DRAM_TYPE_DDR2     V_BCM1480_MC_DRAM_TYPE(K_BCM1480_MC_DRAM_TYPE_DDR2)
0413 #endif
0414 
0415 #define M_BCM1480_MC_GANGED         _SB_MAKEMASK1(36)
0416 #define M_BCM1480_MC_BY9_INTF           _SB_MAKEMASK1(37)
0417 #define M_BCM1480_MC_FORCE_ECC64        _SB_MAKEMASK1(38)
0418 #define M_BCM1480_MC_ECC_DISABLE        _SB_MAKEMASK1(39)
0419 
0420 #define S_BCM1480_MC_PG_POLICY          40
0421 #define M_BCM1480_MC_PG_POLICY          _SB_MAKEMASK(2, S_BCM1480_MC_PG_POLICY)
0422 #define V_BCM1480_MC_PG_POLICY(x)       _SB_MAKEVALUE(x, S_BCM1480_MC_PG_POLICY)
0423 #define G_BCM1480_MC_PG_POLICY(x)       _SB_GETVALUE(x, S_BCM1480_MC_PG_POLICY, M_BCM1480_MC_PG_POLICY)
0424 
0425 #define K_BCM1480_MC_PG_POLICY_CLOSED       0
0426 #define K_BCM1480_MC_PG_POLICY_CAS_TIME_CHK 1
0427 
0428 #define V_BCM1480_MC_PG_POLICY_CLOSED       V_BCM1480_MC_PG_POLICY(K_BCM1480_MC_PG_POLICY_CLOSED)
0429 #define V_BCM1480_MC_PG_POLICY_CAS_TIME_CHK V_BCM1480_MC_PG_POLICY(K_BCM1480_MC_PG_POLICY_CAS_TIME_CHK)
0430 
0431 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0432 #define M_BCM1480_MC_2T_CMD         _SB_MAKEMASK1(42)
0433 #define M_BCM1480_MC_ECC_COR_DIS        _SB_MAKEMASK1(43)
0434 #endif
0435 
0436 #define V_BCM1480_MC_DRAMMODE_DEFAULT   V_BCM1480_MC_EMODE_DEFAULT | V_BCM1480_MC_MODE_DEFAULT | V_BCM1480_MC_DRAM_TYPE_JEDEC | \
0437                 V_BCM1480_MC_PG_POLICY(K_BCM1480_MC_PG_POLICY_CAS_TIME_CHK)
0438 
0439 /*
0440  * Memory Clock Configuration Register (Table 92)
0441  */
0442 
0443 #define S_BCM1480_MC_CLK_RATIO          0
0444 #define M_BCM1480_MC_CLK_RATIO          _SB_MAKEMASK(6, S_BCM1480_MC_CLK_RATIO)
0445 #define V_BCM1480_MC_CLK_RATIO(x)       _SB_MAKEVALUE(x, S_BCM1480_MC_CLK_RATIO)
0446 #define G_BCM1480_MC_CLK_RATIO(x)       _SB_GETVALUE(x, S_BCM1480_MC_CLK_RATIO, M_BCM1480_MC_CLK_RATIO)
0447 
0448 #define V_BCM1480_MC_CLK_RATIO_DEFAULT      V_BCM1480_MC_CLK_RATIO(10)
0449 
0450 #define S_BCM1480_MC_REF_RATE           8
0451 #define M_BCM1480_MC_REF_RATE           _SB_MAKEMASK(8, S_BCM1480_MC_REF_RATE)
0452 #define V_BCM1480_MC_REF_RATE(x)        _SB_MAKEVALUE(x, S_BCM1480_MC_REF_RATE)
0453 #define G_BCM1480_MC_REF_RATE(x)        _SB_GETVALUE(x, S_BCM1480_MC_REF_RATE, M_BCM1480_MC_REF_RATE)
0454 
0455 #define K_BCM1480_MC_REF_RATE_100MHz        0x31
0456 #define K_BCM1480_MC_REF_RATE_200MHz        0x62
0457 #define K_BCM1480_MC_REF_RATE_400MHz        0xC4
0458 
0459 #define V_BCM1480_MC_REF_RATE_100MHz        V_BCM1480_MC_REF_RATE(K_BCM1480_MC_REF_RATE_100MHz)
0460 #define V_BCM1480_MC_REF_RATE_200MHz        V_BCM1480_MC_REF_RATE(K_BCM1480_MC_REF_RATE_200MHz)
0461 #define V_BCM1480_MC_REF_RATE_400MHz        V_BCM1480_MC_REF_RATE(K_BCM1480_MC_REF_RATE_400MHz)
0462 #define V_BCM1480_MC_REF_RATE_DEFAULT       V_BCM1480_MC_REF_RATE_400MHz
0463 
0464 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0465 #define M_BCM1480_MC_AUTO_REF_DIS       _SB_MAKEMASK1(16)
0466 #endif
0467 
0468 /*
0469  * ODT Register (Table 99)
0470  */
0471 
0472 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0473 #define M_BCM1480_MC_RD_ODT0_CS0        _SB_MAKEMASK1(0)
0474 #define M_BCM1480_MC_RD_ODT0_CS2        _SB_MAKEMASK1(1)
0475 #define M_BCM1480_MC_RD_ODT0_CS4        _SB_MAKEMASK1(2)
0476 #define M_BCM1480_MC_RD_ODT0_CS6        _SB_MAKEMASK1(3)
0477 #define M_BCM1480_MC_WR_ODT0_CS0        _SB_MAKEMASK1(4)
0478 #define M_BCM1480_MC_WR_ODT0_CS2        _SB_MAKEMASK1(5)
0479 #define M_BCM1480_MC_WR_ODT0_CS4        _SB_MAKEMASK1(6)
0480 #define M_BCM1480_MC_WR_ODT0_CS6        _SB_MAKEMASK1(7)
0481 #define M_BCM1480_MC_RD_ODT2_CS0        _SB_MAKEMASK1(8)
0482 #define M_BCM1480_MC_RD_ODT2_CS2        _SB_MAKEMASK1(9)
0483 #define M_BCM1480_MC_RD_ODT2_CS4        _SB_MAKEMASK1(10)
0484 #define M_BCM1480_MC_RD_ODT2_CS6        _SB_MAKEMASK1(11)
0485 #define M_BCM1480_MC_WR_ODT2_CS0        _SB_MAKEMASK1(12)
0486 #define M_BCM1480_MC_WR_ODT2_CS2        _SB_MAKEMASK1(13)
0487 #define M_BCM1480_MC_WR_ODT2_CS4        _SB_MAKEMASK1(14)
0488 #define M_BCM1480_MC_WR_ODT2_CS6        _SB_MAKEMASK1(15)
0489 #define M_BCM1480_MC_RD_ODT4_CS0        _SB_MAKEMASK1(16)
0490 #define M_BCM1480_MC_RD_ODT4_CS2        _SB_MAKEMASK1(17)
0491 #define M_BCM1480_MC_RD_ODT4_CS4        _SB_MAKEMASK1(18)
0492 #define M_BCM1480_MC_RD_ODT4_CS6        _SB_MAKEMASK1(19)
0493 #define M_BCM1480_MC_WR_ODT4_CS0        _SB_MAKEMASK1(20)
0494 #define M_BCM1480_MC_WR_ODT4_CS2        _SB_MAKEMASK1(21)
0495 #define M_BCM1480_MC_WR_ODT4_CS4        _SB_MAKEMASK1(22)
0496 #define M_BCM1480_MC_WR_ODT4_CS6        _SB_MAKEMASK1(23)
0497 #define M_BCM1480_MC_RD_ODT6_CS0        _SB_MAKEMASK1(24)
0498 #define M_BCM1480_MC_RD_ODT6_CS2        _SB_MAKEMASK1(25)
0499 #define M_BCM1480_MC_RD_ODT6_CS4        _SB_MAKEMASK1(26)
0500 #define M_BCM1480_MC_RD_ODT6_CS6        _SB_MAKEMASK1(27)
0501 #define M_BCM1480_MC_WR_ODT6_CS0        _SB_MAKEMASK1(28)
0502 #define M_BCM1480_MC_WR_ODT6_CS2        _SB_MAKEMASK1(29)
0503 #define M_BCM1480_MC_WR_ODT6_CS4        _SB_MAKEMASK1(30)
0504 #define M_BCM1480_MC_WR_ODT6_CS6        _SB_MAKEMASK1(31)
0505 
0506 #define M_BCM1480_MC_CS_ODD_ODT_EN      _SB_MAKEMASK1(32)
0507 
0508 #define S_BCM1480_MC_ODT0           0
0509 #define M_BCM1480_MC_ODT0           _SB_MAKEMASK(8, S_BCM1480_MC_ODT0)
0510 #define V_BCM1480_MC_ODT0(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_ODT0)
0511 
0512 #define S_BCM1480_MC_ODT2           8
0513 #define M_BCM1480_MC_ODT2           _SB_MAKEMASK(8, S_BCM1480_MC_ODT2)
0514 #define V_BCM1480_MC_ODT2(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_ODT2)
0515 
0516 #define S_BCM1480_MC_ODT4           16
0517 #define M_BCM1480_MC_ODT4           _SB_MAKEMASK(8, S_BCM1480_MC_ODT4)
0518 #define V_BCM1480_MC_ODT4(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_ODT4)
0519 
0520 #define S_BCM1480_MC_ODT6           24
0521 #define M_BCM1480_MC_ODT6           _SB_MAKEMASK(8, S_BCM1480_MC_ODT6)
0522 #define V_BCM1480_MC_ODT6(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_ODT6)
0523 #endif
0524 
0525 /*
0526  * Memory DLL Configuration Register (Table 93)
0527  */
0528 
0529 #define S_BCM1480_MC_ADDR_COARSE_ADJ         0
0530 #define M_BCM1480_MC_ADDR_COARSE_ADJ         _SB_MAKEMASK(6, S_BCM1480_MC_ADDR_COARSE_ADJ)
0531 #define V_BCM1480_MC_ADDR_COARSE_ADJ(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_ADDR_COARSE_ADJ)
0532 #define G_BCM1480_MC_ADDR_COARSE_ADJ(x)      _SB_GETVALUE(x, S_BCM1480_MC_ADDR_COARSE_ADJ, M_BCM1480_MC_ADDR_COARSE_ADJ)
0533 #define V_BCM1480_MC_ADDR_COARSE_ADJ_DEFAULT V_BCM1480_MC_ADDR_COARSE_ADJ(0x0)
0534 
0535 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0536 #define S_BCM1480_MC_ADDR_FREQ_RANGE        8
0537 #define M_BCM1480_MC_ADDR_FREQ_RANGE        _SB_MAKEMASK(4, S_BCM1480_MC_ADDR_FREQ_RANGE)
0538 #define V_BCM1480_MC_ADDR_FREQ_RANGE(x)     _SB_MAKEVALUE(x, S_BCM1480_MC_ADDR_FREQ_RANGE)
0539 #define G_BCM1480_MC_ADDR_FREQ_RANGE(x)     _SB_GETVALUE(x, S_BCM1480_MC_ADDR_FREQ_RANGE, M_BCM1480_MC_ADDR_FREQ_RANGE)
0540 #define V_BCM1480_MC_ADDR_FREQ_RANGE_DEFAULT    V_BCM1480_MC_ADDR_FREQ_RANGE(0x4)
0541 #endif
0542 
0543 #define S_BCM1480_MC_ADDR_FINE_ADJ      8
0544 #define M_BCM1480_MC_ADDR_FINE_ADJ      _SB_MAKEMASK(4, S_BCM1480_MC_ADDR_FINE_ADJ)
0545 #define V_BCM1480_MC_ADDR_FINE_ADJ(x)       _SB_MAKEVALUE(x, S_BCM1480_MC_ADDR_FINE_ADJ)
0546 #define G_BCM1480_MC_ADDR_FINE_ADJ(x)       _SB_GETVALUE(x, S_BCM1480_MC_ADDR_FINE_ADJ, M_BCM1480_MC_ADDR_FINE_ADJ)
0547 #define V_BCM1480_MC_ADDR_FINE_ADJ_DEFAULT  V_BCM1480_MC_ADDR_FINE_ADJ(0x8)
0548 
0549 #define S_BCM1480_MC_DQI_COARSE_ADJ     16
0550 #define M_BCM1480_MC_DQI_COARSE_ADJ     _SB_MAKEMASK(6, S_BCM1480_MC_DQI_COARSE_ADJ)
0551 #define V_BCM1480_MC_DQI_COARSE_ADJ(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_DQI_COARSE_ADJ)
0552 #define G_BCM1480_MC_DQI_COARSE_ADJ(x)      _SB_GETVALUE(x, S_BCM1480_MC_DQI_COARSE_ADJ, M_BCM1480_MC_DQI_COARSE_ADJ)
0553 #define V_BCM1480_MC_DQI_COARSE_ADJ_DEFAULT V_BCM1480_MC_DQI_COARSE_ADJ(0x0)
0554 
0555 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0556 #define S_BCM1480_MC_DQI_FREQ_RANGE     24
0557 #define M_BCM1480_MC_DQI_FREQ_RANGE     _SB_MAKEMASK(4, S_BCM1480_MC_DQI_FREQ_RANGE)
0558 #define V_BCM1480_MC_DQI_FREQ_RANGE(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_DQI_FREQ_RANGE)
0559 #define G_BCM1480_MC_DQI_FREQ_RANGE(x)      _SB_GETVALUE(x, S_BCM1480_MC_DQI_FREQ_RANGE, M_BCM1480_MC_DQI_FREQ_RANGE)
0560 #define V_BCM1480_MC_DQI_FREQ_RANGE_DEFAULT V_BCM1480_MC_DQI_FREQ_RANGE(0x4)
0561 #endif
0562 
0563 #define S_BCM1480_MC_DQI_FINE_ADJ       24
0564 #define M_BCM1480_MC_DQI_FINE_ADJ       _SB_MAKEMASK(4, S_BCM1480_MC_DQI_FINE_ADJ)
0565 #define V_BCM1480_MC_DQI_FINE_ADJ(x)        _SB_MAKEVALUE(x, S_BCM1480_MC_DQI_FINE_ADJ)
0566 #define G_BCM1480_MC_DQI_FINE_ADJ(x)        _SB_GETVALUE(x, S_BCM1480_MC_DQI_FINE_ADJ, M_BCM1480_MC_DQI_FINE_ADJ)
0567 #define V_BCM1480_MC_DQI_FINE_ADJ_DEFAULT   V_BCM1480_MC_DQI_FINE_ADJ(0x8)
0568 
0569 #define S_BCM1480_MC_DQO_COARSE_ADJ     32
0570 #define M_BCM1480_MC_DQO_COARSE_ADJ     _SB_MAKEMASK(6, S_BCM1480_MC_DQO_COARSE_ADJ)
0571 #define V_BCM1480_MC_DQO_COARSE_ADJ(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_DQO_COARSE_ADJ)
0572 #define G_BCM1480_MC_DQO_COARSE_ADJ(x)      _SB_GETVALUE(x, S_BCM1480_MC_DQO_COARSE_ADJ, M_BCM1480_MC_DQO_COARSE_ADJ)
0573 #define V_BCM1480_MC_DQO_COARSE_ADJ_DEFAULT V_BCM1480_MC_DQO_COARSE_ADJ(0x0)
0574 
0575 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0576 #define S_BCM1480_MC_DQO_FREQ_RANGE     40
0577 #define M_BCM1480_MC_DQO_FREQ_RANGE     _SB_MAKEMASK(4, S_BCM1480_MC_DQO_FREQ_RANGE)
0578 #define V_BCM1480_MC_DQO_FREQ_RANGE(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_DQO_FREQ_RANGE)
0579 #define G_BCM1480_MC_DQO_FREQ_RANGE(x)      _SB_GETVALUE(x, S_BCM1480_MC_DQO_FREQ_RANGE, M_BCM1480_MC_DQO_FREQ_RANGE)
0580 #define V_BCM1480_MC_DQO_FREQ_RANGE_DEFAULT V_BCM1480_MC_DQO_FREQ_RANGE(0x4)
0581 #endif
0582 
0583 #define S_BCM1480_MC_DQO_FINE_ADJ       40
0584 #define M_BCM1480_MC_DQO_FINE_ADJ       _SB_MAKEMASK(4, S_BCM1480_MC_DQO_FINE_ADJ)
0585 #define V_BCM1480_MC_DQO_FINE_ADJ(x)        _SB_MAKEVALUE(x, S_BCM1480_MC_DQO_FINE_ADJ)
0586 #define G_BCM1480_MC_DQO_FINE_ADJ(x)        _SB_GETVALUE(x, S_BCM1480_MC_DQO_FINE_ADJ, M_BCM1480_MC_DQO_FINE_ADJ)
0587 #define V_BCM1480_MC_DQO_FINE_ADJ_DEFAULT   V_BCM1480_MC_DQO_FINE_ADJ(0x8)
0588 
0589 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0590 #define S_BCM1480_MC_DLL_PDSEL        44
0591 #define M_BCM1480_MC_DLL_PDSEL        _SB_MAKEMASK(2, S_BCM1480_MC_DLL_PDSEL)
0592 #define V_BCM1480_MC_DLL_PDSEL(x)     _SB_MAKEVALUE(x, S_BCM1480_MC_DLL_PDSEL)
0593 #define G_BCM1480_MC_DLL_PDSEL(x)     _SB_GETVALUE(x, S_BCM1480_MC_DLL_PDSEL, M_BCM1480_MC_DLL_PDSEL)
0594 #define V_BCM1480_MC_DLL_DEFAULT_PDSEL    V_BCM1480_MC_DLL_PDSEL(0x0)
0595 
0596 #define M_BCM1480_MC_DLL_REGBYPASS    _SB_MAKEMASK1(46)
0597 #define M_BCM1480_MC_DQO_SHIFT        _SB_MAKEMASK1(47)
0598 #endif
0599 
0600 #define S_BCM1480_MC_DLL_DEFAULT       48
0601 #define M_BCM1480_MC_DLL_DEFAULT       _SB_MAKEMASK(6, S_BCM1480_MC_DLL_DEFAULT)
0602 #define V_BCM1480_MC_DLL_DEFAULT(x)    _SB_MAKEVALUE(x, S_BCM1480_MC_DLL_DEFAULT)
0603 #define G_BCM1480_MC_DLL_DEFAULT(x)    _SB_GETVALUE(x, S_BCM1480_MC_DLL_DEFAULT, M_BCM1480_MC_DLL_DEFAULT)
0604 #define V_BCM1480_MC_DLL_DEFAULT_DEFAULT   V_BCM1480_MC_DLL_DEFAULT(0x10)
0605 
0606 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0607 #define S_BCM1480_MC_DLL_REGCTRL      54
0608 #define M_BCM1480_MC_DLL_REGCTRL      _SB_MAKEMASK(2, S_BCM1480_MC_DLL_REGCTRL)
0609 #define V_BCM1480_MC_DLL_REGCTRL(x)   _SB_MAKEVALUE(x, S_BCM1480_MC_DLL_REGCTRL)
0610 #define G_BCM1480_MC_DLL_REGCTRL(x)   _SB_GETVALUE(x, S_BCM1480_MC_DLL_REGCTRL, M_BCM1480_MC_DLL_REGCTRL)
0611 #define V_BCM1480_MC_DLL_DEFAULT_REGCTRL  V_BCM1480_MC_DLL_REGCTRL(0x0)
0612 #endif
0613 
0614 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0615 #define S_BCM1480_MC_DLL_FREQ_RANGE     56
0616 #define M_BCM1480_MC_DLL_FREQ_RANGE     _SB_MAKEMASK(4, S_BCM1480_MC_DLL_FREQ_RANGE)
0617 #define V_BCM1480_MC_DLL_FREQ_RANGE(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_DLL_FREQ_RANGE)
0618 #define G_BCM1480_MC_DLL_FREQ_RANGE(x)      _SB_GETVALUE(x, S_BCM1480_MC_DLL_FREQ_RANGE, M_BCM1480_MC_DLL_FREQ_RANGE)
0619 #define V_BCM1480_MC_DLL_FREQ_RANGE_DEFAULT V_BCM1480_MC_DLL_FREQ_RANGE(0x4)
0620 #endif
0621 
0622 #define S_BCM1480_MC_DLL_STEP_SIZE      56
0623 #define M_BCM1480_MC_DLL_STEP_SIZE      _SB_MAKEMASK(4, S_BCM1480_MC_DLL_STEP_SIZE)
0624 #define V_BCM1480_MC_DLL_STEP_SIZE(x)       _SB_MAKEVALUE(x, S_BCM1480_MC_DLL_STEP_SIZE)
0625 #define G_BCM1480_MC_DLL_STEP_SIZE(x)       _SB_GETVALUE(x, S_BCM1480_MC_DLL_STEP_SIZE, M_BCM1480_MC_DLL_STEP_SIZE)
0626 #define V_BCM1480_MC_DLL_STEP_SIZE_DEFAULT  V_BCM1480_MC_DLL_STEP_SIZE(0x8)
0627 
0628 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0629 #define S_BCM1480_MC_DLL_BGCTRL   60
0630 #define M_BCM1480_MC_DLL_BGCTRL       _SB_MAKEMASK(2, S_BCM1480_MC_DLL_BGCTRL)
0631 #define V_BCM1480_MC_DLL_BGCTRL(x)   _SB_MAKEVALUE(x, S_BCM1480_MC_DLL_BGCTRL)
0632 #define G_BCM1480_MC_DLL_BGCTRL(x)   _SB_GETVALUE(x, S_BCM1480_MC_DLL_BGCTRL, M_BCM1480_MC_DLL_BGCTRL)
0633 #define V_BCM1480_MC_DLL_DEFAULT_BGCTRL  V_BCM1480_MC_DLL_BGCTRL(0x0)
0634 #endif
0635 
0636 #define M_BCM1480_MC_DLL_BYPASS         _SB_MAKEMASK1(63)
0637 
0638 /*
0639  * Memory Drive Configuration Register (Table 94)
0640  */
0641 
0642 #define S_BCM1480_MC_RTT_BYP_PULLDOWN       0
0643 #define M_BCM1480_MC_RTT_BYP_PULLDOWN       _SB_MAKEMASK(3, S_BCM1480_MC_RTT_BYP_PULLDOWN)
0644 #define V_BCM1480_MC_RTT_BYP_PULLDOWN(x)    _SB_MAKEVALUE(x, S_BCM1480_MC_RTT_BYP_PULLDOWN)
0645 #define G_BCM1480_MC_RTT_BYP_PULLDOWN(x)    _SB_GETVALUE(x, S_BCM1480_MC_RTT_BYP_PULLDOWN, M_BCM1480_MC_RTT_BYP_PULLDOWN)
0646 
0647 #define S_BCM1480_MC_RTT_BYP_PULLUP     6
0648 #define M_BCM1480_MC_RTT_BYP_PULLUP     _SB_MAKEMASK(3, S_BCM1480_MC_RTT_BYP_PULLUP)
0649 #define V_BCM1480_MC_RTT_BYP_PULLUP(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_RTT_BYP_PULLUP)
0650 #define G_BCM1480_MC_RTT_BYP_PULLUP(x)      _SB_GETVALUE(x, S_BCM1480_MC_RTT_BYP_PULLUP, M_BCM1480_MC_RTT_BYP_PULLUP)
0651 
0652 #define M_BCM1480_MC_RTT_BYPASS         _SB_MAKEMASK1(8)
0653 #define M_BCM1480_MC_RTT_COMP_MOV_AVG       _SB_MAKEMASK1(9)
0654 
0655 #define S_BCM1480_MC_PVT_BYP_C1_PULLDOWN    10
0656 #define M_BCM1480_MC_PVT_BYP_C1_PULLDOWN    _SB_MAKEMASK(4, S_BCM1480_MC_PVT_BYP_C1_PULLDOWN)
0657 #define V_BCM1480_MC_PVT_BYP_C1_PULLDOWN(x) _SB_MAKEVALUE(x, S_BCM1480_MC_PVT_BYP_C1_PULLDOWN)
0658 #define G_BCM1480_MC_PVT_BYP_C1_PULLDOWN(x) _SB_GETVALUE(x, S_BCM1480_MC_PVT_BYP_C1_PULLDOWN, M_BCM1480_MC_PVT_BYP_C1_PULLDOWN)
0659 
0660 #define S_BCM1480_MC_PVT_BYP_C1_PULLUP      15
0661 #define M_BCM1480_MC_PVT_BYP_C1_PULLUP      _SB_MAKEMASK(4, S_BCM1480_MC_PVT_BYP_C1_PULLUP)
0662 #define V_BCM1480_MC_PVT_BYP_C1_PULLUP(x)   _SB_MAKEVALUE(x, S_BCM1480_MC_PVT_BYP_C1_PULLUP)
0663 #define G_BCM1480_MC_PVT_BYP_C1_PULLUP(x)   _SB_GETVALUE(x, S_BCM1480_MC_PVT_BYP_C1_PULLUP, M_BCM1480_MC_PVT_BYP_C1_PULLUP)
0664 
0665 #define S_BCM1480_MC_PVT_BYP_C2_PULLDOWN    20
0666 #define M_BCM1480_MC_PVT_BYP_C2_PULLDOWN    _SB_MAKEMASK(4, S_BCM1480_MC_PVT_BYP_C2_PULLDOWN)
0667 #define V_BCM1480_MC_PVT_BYP_C2_PULLDOWN(x) _SB_MAKEVALUE(x, S_BCM1480_MC_PVT_BYP_C2_PULLDOWN)
0668 #define G_BCM1480_MC_PVT_BYP_C2_PULLDOWN(x) _SB_GETVALUE(x, S_BCM1480_MC_PVT_BYP_C2_PULLDOWN, M_BCM1480_MC_PVT_BYP_C2_PULLDOWN)
0669 
0670 #define S_BCM1480_MC_PVT_BYP_C2_PULLUP      25
0671 #define M_BCM1480_MC_PVT_BYP_C2_PULLUP      _SB_MAKEMASK(4, S_BCM1480_MC_PVT_BYP_C2_PULLUP)
0672 #define V_BCM1480_MC_PVT_BYP_C2_PULLUP(x)   _SB_MAKEVALUE(x, S_BCM1480_MC_PVT_BYP_C2_PULLUP)
0673 #define G_BCM1480_MC_PVT_BYP_C2_PULLUP(x)   _SB_GETVALUE(x, S_BCM1480_MC_PVT_BYP_C2_PULLUP, M_BCM1480_MC_PVT_BYP_C2_PULLUP)
0674 
0675 #define M_BCM1480_MC_PVT_BYPASS         _SB_MAKEMASK1(30)
0676 #define M_BCM1480_MC_PVT_COMP_MOV_AVG       _SB_MAKEMASK1(31)
0677 
0678 #define M_BCM1480_MC_CLK_CLASS          _SB_MAKEMASK1(34)
0679 #define M_BCM1480_MC_DATA_CLASS         _SB_MAKEMASK1(35)
0680 #define M_BCM1480_MC_ADDR_CLASS         _SB_MAKEMASK1(36)
0681 
0682 #define M_BCM1480_MC_DQ_ODT_75          _SB_MAKEMASK1(37)
0683 #define M_BCM1480_MC_DQ_ODT_150         _SB_MAKEMASK1(38)
0684 #define M_BCM1480_MC_DQS_ODT_75         _SB_MAKEMASK1(39)
0685 #define M_BCM1480_MC_DQS_ODT_150        _SB_MAKEMASK1(40)
0686 #define M_BCM1480_MC_DQS_DIFF           _SB_MAKEMASK1(41)
0687 
0688 /*
0689  * ECC Test Data Register (Table 95)
0690  */
0691 
0692 #define S_BCM1480_MC_DATA_INVERT        0
0693 #define M_DATA_ECC_INVERT       _SB_MAKEMASK(64, S_BCM1480_MC_ECC_INVERT)
0694 
0695 /*
0696  * ECC Test ECC Register (Table 96)
0697  */
0698 
0699 #define S_BCM1480_MC_ECC_INVERT         0
0700 #define M_BCM1480_MC_ECC_INVERT         _SB_MAKEMASK(8, S_BCM1480_MC_ECC_INVERT)
0701 
0702 /*
0703  * SDRAM Timing Register  (Table 97)
0704  */
0705 
0706 #define S_BCM1480_MC_tRCD           0
0707 #define M_BCM1480_MC_tRCD           _SB_MAKEMASK(4, S_BCM1480_MC_tRCD)
0708 #define V_BCM1480_MC_tRCD(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_tRCD)
0709 #define G_BCM1480_MC_tRCD(x)            _SB_GETVALUE(x, S_BCM1480_MC_tRCD, M_BCM1480_MC_tRCD)
0710 #define K_BCM1480_MC_tRCD_DEFAULT       3
0711 #define V_BCM1480_MC_tRCD_DEFAULT       V_BCM1480_MC_tRCD(K_BCM1480_MC_tRCD_DEFAULT)
0712 
0713 #define S_BCM1480_MC_tCL            4
0714 #define M_BCM1480_MC_tCL            _SB_MAKEMASK(4, S_BCM1480_MC_tCL)
0715 #define V_BCM1480_MC_tCL(x)         _SB_MAKEVALUE(x, S_BCM1480_MC_tCL)
0716 #define G_BCM1480_MC_tCL(x)         _SB_GETVALUE(x, S_BCM1480_MC_tCL, M_BCM1480_MC_tCL)
0717 #define K_BCM1480_MC_tCL_DEFAULT        2
0718 #define V_BCM1480_MC_tCL_DEFAULT        V_BCM1480_MC_tCL(K_BCM1480_MC_tCL_DEFAULT)
0719 
0720 #define M_BCM1480_MC_tCrDh          _SB_MAKEMASK1(8)
0721 
0722 #define S_BCM1480_MC_tWR            9
0723 #define M_BCM1480_MC_tWR            _SB_MAKEMASK(3, S_BCM1480_MC_tWR)
0724 #define V_BCM1480_MC_tWR(x)         _SB_MAKEVALUE(x, S_BCM1480_MC_tWR)
0725 #define G_BCM1480_MC_tWR(x)         _SB_GETVALUE(x, S_BCM1480_MC_tWR, M_BCM1480_MC_tWR)
0726 #define K_BCM1480_MC_tWR_DEFAULT        2
0727 #define V_BCM1480_MC_tWR_DEFAULT        V_BCM1480_MC_tWR(K_BCM1480_MC_tWR_DEFAULT)
0728 
0729 #define S_BCM1480_MC_tCwD           12
0730 #define M_BCM1480_MC_tCwD           _SB_MAKEMASK(4, S_BCM1480_MC_tCwD)
0731 #define V_BCM1480_MC_tCwD(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_tCwD)
0732 #define G_BCM1480_MC_tCwD(x)            _SB_GETVALUE(x, S_BCM1480_MC_tCwD, M_BCM1480_MC_tCwD)
0733 #define K_BCM1480_MC_tCwD_DEFAULT       1
0734 #define V_BCM1480_MC_tCwD_DEFAULT       V_BCM1480_MC_tCwD(K_BCM1480_MC_tCwD_DEFAULT)
0735 
0736 #define S_BCM1480_MC_tRP            16
0737 #define M_BCM1480_MC_tRP            _SB_MAKEMASK(4, S_BCM1480_MC_tRP)
0738 #define V_BCM1480_MC_tRP(x)         _SB_MAKEVALUE(x, S_BCM1480_MC_tRP)
0739 #define G_BCM1480_MC_tRP(x)         _SB_GETVALUE(x, S_BCM1480_MC_tRP, M_BCM1480_MC_tRP)
0740 #define K_BCM1480_MC_tRP_DEFAULT        4
0741 #define V_BCM1480_MC_tRP_DEFAULT        V_BCM1480_MC_tRP(K_BCM1480_MC_tRP_DEFAULT)
0742 
0743 #define S_BCM1480_MC_tRRD           20
0744 #define M_BCM1480_MC_tRRD           _SB_MAKEMASK(4, S_BCM1480_MC_tRRD)
0745 #define V_BCM1480_MC_tRRD(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_tRRD)
0746 #define G_BCM1480_MC_tRRD(x)            _SB_GETVALUE(x, S_BCM1480_MC_tRRD, M_BCM1480_MC_tRRD)
0747 #define K_BCM1480_MC_tRRD_DEFAULT       2
0748 #define V_BCM1480_MC_tRRD_DEFAULT       V_BCM1480_MC_tRRD(K_BCM1480_MC_tRRD_DEFAULT)
0749 
0750 #define S_BCM1480_MC_tRCw           24
0751 #define M_BCM1480_MC_tRCw           _SB_MAKEMASK(5, S_BCM1480_MC_tRCw)
0752 #define V_BCM1480_MC_tRCw(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_tRCw)
0753 #define G_BCM1480_MC_tRCw(x)            _SB_GETVALUE(x, S_BCM1480_MC_tRCw, M_BCM1480_MC_tRCw)
0754 #define K_BCM1480_MC_tRCw_DEFAULT       10
0755 #define V_BCM1480_MC_tRCw_DEFAULT       V_BCM1480_MC_tRCw(K_BCM1480_MC_tRCw_DEFAULT)
0756 
0757 #define S_BCM1480_MC_tRCr           32
0758 #define M_BCM1480_MC_tRCr           _SB_MAKEMASK(5, S_BCM1480_MC_tRCr)
0759 #define V_BCM1480_MC_tRCr(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_tRCr)
0760 #define G_BCM1480_MC_tRCr(x)            _SB_GETVALUE(x, S_BCM1480_MC_tRCr, M_BCM1480_MC_tRCr)
0761 #define K_BCM1480_MC_tRCr_DEFAULT       9
0762 #define V_BCM1480_MC_tRCr_DEFAULT       V_BCM1480_MC_tRCr(K_BCM1480_MC_tRCr_DEFAULT)
0763 
0764 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0765 #define S_BCM1480_MC_tFAW           40
0766 #define M_BCM1480_MC_tFAW           _SB_MAKEMASK(6, S_BCM1480_MC_tFAW)
0767 #define V_BCM1480_MC_tFAW(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_tFAW)
0768 #define G_BCM1480_MC_tFAW(x)            _SB_GETVALUE(x, S_BCM1480_MC_tFAW, M_BCM1480_MC_tFAW)
0769 #define K_BCM1480_MC_tFAW_DEFAULT       0
0770 #define V_BCM1480_MC_tFAW_DEFAULT       V_BCM1480_MC_tFAW(K_BCM1480_MC_tFAW_DEFAULT)
0771 #endif
0772 
0773 #define S_BCM1480_MC_tRFC           48
0774 #define M_BCM1480_MC_tRFC           _SB_MAKEMASK(7, S_BCM1480_MC_tRFC)
0775 #define V_BCM1480_MC_tRFC(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_tRFC)
0776 #define G_BCM1480_MC_tRFC(x)            _SB_GETVALUE(x, S_BCM1480_MC_tRFC, M_BCM1480_MC_tRFC)
0777 #define K_BCM1480_MC_tRFC_DEFAULT       12
0778 #define V_BCM1480_MC_tRFC_DEFAULT       V_BCM1480_MC_tRFC(K_BCM1480_MC_tRFC_DEFAULT)
0779 
0780 #define S_BCM1480_MC_tFIFO          56
0781 #define M_BCM1480_MC_tFIFO          _SB_MAKEMASK(2, S_BCM1480_MC_tFIFO)
0782 #define V_BCM1480_MC_tFIFO(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_tFIFO)
0783 #define G_BCM1480_MC_tFIFO(x)           _SB_GETVALUE(x, S_BCM1480_MC_tFIFO, M_BCM1480_MC_tFIFO)
0784 #define K_BCM1480_MC_tFIFO_DEFAULT      0
0785 #define V_BCM1480_MC_tFIFO_DEFAULT      V_BCM1480_MC_tFIFO(K_BCM1480_MC_tFIFO_DEFAULT)
0786 
0787 #define S_BCM1480_MC_tW2R          58
0788 #define M_BCM1480_MC_tW2R          _SB_MAKEMASK(2, S_BCM1480_MC_tW2R)
0789 #define V_BCM1480_MC_tW2R(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_tW2R)
0790 #define G_BCM1480_MC_tW2R(x)           _SB_GETVALUE(x, S_BCM1480_MC_tW2R, M_BCM1480_MC_tW2R)
0791 #define K_BCM1480_MC_tW2R_DEFAULT      1
0792 #define V_BCM1480_MC_tW2R_DEFAULT      V_BCM1480_MC_tW2R(K_BCM1480_MC_tW2R_DEFAULT)
0793 
0794 #define S_BCM1480_MC_tR2W          60
0795 #define M_BCM1480_MC_tR2W          _SB_MAKEMASK(2, S_BCM1480_MC_tR2W)
0796 #define V_BCM1480_MC_tR2W(x)           _SB_MAKEVALUE(x, S_BCM1480_MC_tR2W)
0797 #define G_BCM1480_MC_tR2W(x)           _SB_GETVALUE(x, S_BCM1480_MC_tR2W, M_BCM1480_MC_tR2W)
0798 #define K_BCM1480_MC_tR2W_DEFAULT      0
0799 #define V_BCM1480_MC_tR2W_DEFAULT      V_BCM1480_MC_tR2W(K_BCM1480_MC_tR2W_DEFAULT)
0800 
0801 #define M_BCM1480_MC_tR2R           _SB_MAKEMASK1(62)
0802 
0803 #define V_BCM1480_MC_TIMING_DEFAULT     (M_BCM1480_MC_tR2R | \
0804                      V_BCM1480_MC_tFIFO_DEFAULT | \
0805                      V_BCM1480_MC_tR2W_DEFAULT | \
0806                      V_BCM1480_MC_tW2R_DEFAULT | \
0807                      V_BCM1480_MC_tRFC_DEFAULT | \
0808                      V_BCM1480_MC_tRCr_DEFAULT | \
0809                      V_BCM1480_MC_tRCw_DEFAULT | \
0810                      V_BCM1480_MC_tRRD_DEFAULT | \
0811                      V_BCM1480_MC_tRP_DEFAULT | \
0812                      V_BCM1480_MC_tCwD_DEFAULT | \
0813                      V_BCM1480_MC_tWR_DEFAULT | \
0814                      M_BCM1480_MC_tCrDh | \
0815                      V_BCM1480_MC_tCL_DEFAULT | \
0816                      V_BCM1480_MC_tRCD_DEFAULT)
0817 
0818 /*
0819  * SDRAM Timing Register 2
0820  */
0821 
0822 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0823 
0824 #define S_BCM1480_MC_tAL           0
0825 #define M_BCM1480_MC_tAL           _SB_MAKEMASK(4, S_BCM1480_MC_tAL)
0826 #define V_BCM1480_MC_tAL(x)        _SB_MAKEVALUE(x, S_BCM1480_MC_tAL)
0827 #define G_BCM1480_MC_tAL(x)        _SB_GETVALUE(x, S_BCM1480_MC_tAL, M_BCM1480_MC_tAL)
0828 #define K_BCM1480_MC_tAL_DEFAULT       0
0829 #define V_BCM1480_MC_tAL_DEFAULT       V_BCM1480_MC_tAL(K_BCM1480_MC_tAL_DEFAULT)
0830 
0831 #define S_BCM1480_MC_tRTP           4
0832 #define M_BCM1480_MC_tRTP           _SB_MAKEMASK(3, S_BCM1480_MC_tRTP)
0833 #define V_BCM1480_MC_tRTP(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_tRTP)
0834 #define G_BCM1480_MC_tRTP(x)            _SB_GETVALUE(x, S_BCM1480_MC_tRTP, M_BCM1480_MC_tRTP)
0835 #define K_BCM1480_MC_tRTP_DEFAULT       2
0836 #define V_BCM1480_MC_tRTP_DEFAULT       V_BCM1480_MC_tRTP(K_BCM1480_MC_tRTP_DEFAULT)
0837 
0838 #define S_BCM1480_MC_tW2W           8
0839 #define M_BCM1480_MC_tW2W           _SB_MAKEMASK(2, S_BCM1480_MC_tW2W)
0840 #define V_BCM1480_MC_tW2W(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_tW2W)
0841 #define G_BCM1480_MC_tW2W(x)            _SB_GETVALUE(x, S_BCM1480_MC_tW2W, M_BCM1480_MC_tW2W)
0842 #define K_BCM1480_MC_tW2W_DEFAULT       0
0843 #define V_BCM1480_MC_tW2W_DEFAULT       V_BCM1480_MC_tW2W(K_BCM1480_MC_tW2W_DEFAULT)
0844 
0845 #define S_BCM1480_MC_tRAP           12
0846 #define M_BCM1480_MC_tRAP          _SB_MAKEMASK(4, S_BCM1480_MC_tRAP)
0847 #define V_BCM1480_MC_tRAP(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_tRAP)
0848 #define G_BCM1480_MC_tRAP(x)            _SB_GETVALUE(x, S_BCM1480_MC_tRAP, M_BCM1480_MC_tRAP)
0849 #define K_BCM1480_MC_tRAP_DEFAULT       0
0850 #define V_BCM1480_MC_tRAP_DEFAULT       V_BCM1480_MC_tRAP(K_BCM1480_MC_tRAP_DEFAULT)
0851 
0852 #endif
0853 
0854 
0855 
0856 /*
0857  * Global Registers: single instances per BCM1480
0858  */
0859 
0860 /*
0861  * Global Configuration Register (Table 99)
0862  */
0863 
0864 #define S_BCM1480_MC_BLK_SET_MARK       8
0865 #define M_BCM1480_MC_BLK_SET_MARK       _SB_MAKEMASK(4, S_BCM1480_MC_BLK_SET_MARK)
0866 #define V_BCM1480_MC_BLK_SET_MARK(x)        _SB_MAKEVALUE(x, S_BCM1480_MC_BLK_SET_MARK)
0867 #define G_BCM1480_MC_BLK_SET_MARK(x)        _SB_GETVALUE(x, S_BCM1480_MC_BLK_SET_MARK, M_BCM1480_MC_BLK_SET_MARK)
0868 
0869 #define S_BCM1480_MC_BLK_CLR_MARK       12
0870 #define M_BCM1480_MC_BLK_CLR_MARK       _SB_MAKEMASK(4, S_BCM1480_MC_BLK_CLR_MARK)
0871 #define V_BCM1480_MC_BLK_CLR_MARK(x)        _SB_MAKEVALUE(x, S_BCM1480_MC_BLK_CLR_MARK)
0872 #define G_BCM1480_MC_BLK_CLR_MARK(x)        _SB_GETVALUE(x, S_BCM1480_MC_BLK_CLR_MARK, M_BCM1480_MC_BLK_CLR_MARK)
0873 
0874 #define M_BCM1480_MC_PKT_PRIORITY       _SB_MAKEMASK1(16)
0875 
0876 #define S_BCM1480_MC_MAX_AGE            20
0877 #define M_BCM1480_MC_MAX_AGE            _SB_MAKEMASK(4, S_BCM1480_MC_MAX_AGE)
0878 #define V_BCM1480_MC_MAX_AGE(x)         _SB_MAKEVALUE(x, S_BCM1480_MC_MAX_AGE)
0879 #define G_BCM1480_MC_MAX_AGE(x)         _SB_GETVALUE(x, S_BCM1480_MC_MAX_AGE, M_BCM1480_MC_MAX_AGE)
0880 
0881 #define M_BCM1480_MC_BERR_DISABLE       _SB_MAKEMASK1(29)
0882 #define M_BCM1480_MC_FORCE_SEQ          _SB_MAKEMASK1(30)
0883 #define M_BCM1480_MC_VGEN           _SB_MAKEMASK1(32)
0884 
0885 #define S_BCM1480_MC_SLEW           33
0886 #define M_BCM1480_MC_SLEW           _SB_MAKEMASK(2, S_BCM1480_MC_SLEW)
0887 #define V_BCM1480_MC_SLEW(x)            _SB_MAKEVALUE(x, S_BCM1480_MC_SLEW)
0888 #define G_BCM1480_MC_SLEW(x)            _SB_GETVALUE(x, S_BCM1480_MC_SLEW, M_BCM1480_MC_SLEW)
0889 
0890 #define M_BCM1480_MC_SSTL_VOLTAGE       _SB_MAKEMASK1(35)
0891 
0892 /*
0893  * Global Channel Interleave Register (Table 100)
0894  */
0895 
0896 #define S_BCM1480_MC_INTLV0         0
0897 #define M_BCM1480_MC_INTLV0         _SB_MAKEMASK(6, S_BCM1480_MC_INTLV0)
0898 #define V_BCM1480_MC_INTLV0(x)          _SB_MAKEVALUE(x, S_BCM1480_MC_INTLV0)
0899 #define G_BCM1480_MC_INTLV0(x)          _SB_GETVALUE(x, S_BCM1480_MC_INTLV0, M_BCM1480_MC_INTLV0)
0900 
0901 #define S_BCM1480_MC_INTLV1         8
0902 #define M_BCM1480_MC_INTLV1         _SB_MAKEMASK(6, S_BCM1480_MC_INTLV1)
0903 #define V_BCM1480_MC_INTLV1(x)          _SB_MAKEVALUE(x, S_BCM1480_MC_INTLV1)
0904 #define G_BCM1480_MC_INTLV1(x)          _SB_GETVALUE(x, S_BCM1480_MC_INTLV1, M_BCM1480_MC_INTLV1)
0905 
0906 #define S_BCM1480_MC_INTLV_MODE         16
0907 #define M_BCM1480_MC_INTLV_MODE         _SB_MAKEMASK(3, S_BCM1480_MC_INTLV_MODE)
0908 #define V_BCM1480_MC_INTLV_MODE(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_INTLV_MODE)
0909 #define G_BCM1480_MC_INTLV_MODE(x)      _SB_GETVALUE(x, S_BCM1480_MC_INTLV_MODE, M_BCM1480_MC_INTLV_MODE)
0910 
0911 #define K_BCM1480_MC_INTLV_MODE_NONE        0x0
0912 #define K_BCM1480_MC_INTLV_MODE_01      0x1
0913 #define K_BCM1480_MC_INTLV_MODE_23      0x2
0914 #define K_BCM1480_MC_INTLV_MODE_01_23       0x3
0915 #define K_BCM1480_MC_INTLV_MODE_0123        0x4
0916 
0917 #define V_BCM1480_MC_INTLV_MODE_NONE        V_BCM1480_MC_INTLV_MODE(K_BCM1480_MC_INTLV_MODE_NONE)
0918 #define V_BCM1480_MC_INTLV_MODE_01      V_BCM1480_MC_INTLV_MODE(K_BCM1480_MC_INTLV_MODE_01)
0919 #define V_BCM1480_MC_INTLV_MODE_23      V_BCM1480_MC_INTLV_MODE(K_BCM1480_MC_INTLV_MODE_23)
0920 #define V_BCM1480_MC_INTLV_MODE_01_23       V_BCM1480_MC_INTLV_MODE(K_BCM1480_MC_INTLV_MODE_01_23)
0921 #define V_BCM1480_MC_INTLV_MODE_0123        V_BCM1480_MC_INTLV_MODE(K_BCM1480_MC_INTLV_MODE_0123)
0922 
0923 /*
0924  * ECC Status Register
0925  */
0926 
0927 #define S_BCM1480_MC_ECC_ERR_ADDR       0
0928 #define M_BCM1480_MC_ECC_ERR_ADDR       _SB_MAKEMASK(37, S_BCM1480_MC_ECC_ERR_ADDR)
0929 #define V_BCM1480_MC_ECC_ERR_ADDR(x)        _SB_MAKEVALUE(x, S_BCM1480_MC_ECC_ERR_ADDR)
0930 #define G_BCM1480_MC_ECC_ERR_ADDR(x)        _SB_GETVALUE(x, S_BCM1480_MC_ECC_ERR_ADDR, M_BCM1480_MC_ECC_ERR_ADDR)
0931 
0932 #if SIBYTE_HDR_FEATURE(1480, PASS2)
0933 #define M_BCM1480_MC_ECC_ERR_RMW        _SB_MAKEMASK1(60)
0934 #endif
0935 
0936 #define M_BCM1480_MC_ECC_MULT_ERR_DET       _SB_MAKEMASK1(61)
0937 #define M_BCM1480_MC_ECC_UERR_DET       _SB_MAKEMASK1(62)
0938 #define M_BCM1480_MC_ECC_CERR_DET       _SB_MAKEMASK1(63)
0939 
0940 /*
0941  * Global ECC Address Register (Table 102)
0942  */
0943 
0944 #define S_BCM1480_MC_ECC_CORR_ADDR      0
0945 #define M_BCM1480_MC_ECC_CORR_ADDR      _SB_MAKEMASK(37, S_BCM1480_MC_ECC_CORR_ADDR)
0946 #define V_BCM1480_MC_ECC_CORR_ADDR(x)       _SB_MAKEVALUE(x, S_BCM1480_MC_ECC_CORR_ADDR)
0947 #define G_BCM1480_MC_ECC_CORR_ADDR(x)       _SB_GETVALUE(x, S_BCM1480_MC_ECC_CORR_ADDR, M_BCM1480_MC_ECC_CORR_ADDR)
0948 
0949 /*
0950  * Global ECC Correction Register (Table 103)
0951  */
0952 
0953 #define S_BCM1480_MC_ECC_CORRECT        0
0954 #define M_BCM1480_MC_ECC_CORRECT        _SB_MAKEMASK(64, S_BCM1480_MC_ECC_CORRECT)
0955 #define V_BCM1480_MC_ECC_CORRECT(x)     _SB_MAKEVALUE(x, S_BCM1480_MC_ECC_CORRECT)
0956 #define G_BCM1480_MC_ECC_CORRECT(x)     _SB_GETVALUE(x, S_BCM1480_MC_ECC_CORRECT, M_BCM1480_MC_ECC_CORRECT)
0957 
0958 /*
0959  * Global ECC Performance Counters Control Register (Table 104)
0960  */
0961 
0962 #define S_BCM1480_MC_CHANNEL_SELECT     0
0963 #define M_BCM1480_MC_CHANNEL_SELECT     _SB_MAKEMASK(4, S_BCM1480_MC_CHANNEL_SELECT)
0964 #define V_BCM1480_MC_CHANNEL_SELECT(x)      _SB_MAKEVALUE(x, S_BCM1480_MC_CHANNEL_SELECT)
0965 #define G_BCM1480_MC_CHANNEL_SELECT(x)      _SB_GETVALUE(x, S_BCM1480_MC_CHANNEL_SELECT, M_BCM1480_MC_CHANNEL_SELECT)
0966 #define K_BCM1480_MC_CHANNEL_SELECT_0       0x1
0967 #define K_BCM1480_MC_CHANNEL_SELECT_1       0x2
0968 #define K_BCM1480_MC_CHANNEL_SELECT_2       0x4
0969 #define K_BCM1480_MC_CHANNEL_SELECT_3       0x8
0970 
0971 #endif /* _BCM1480_MC_H */