1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 #ifndef _SB1250_MAC_H
  21 #define _SB1250_MAC_H
  22 
  23 #include <asm/sibyte/sb1250_defs.h>
  24 
  25 
  26 
  27 
  28 
  29 
  30 
  31 
  32 
  33 
  34 
  35 
  36 
  37 #define M_MAC_RESERVED0             _SB_MAKEMASK1(0)
  38 #define M_MAC_TX_HOLD_SOP_EN        _SB_MAKEMASK1(1)
  39 #define M_MAC_RETRY_EN              _SB_MAKEMASK1(2)
  40 #define M_MAC_RET_DRPREQ_EN         _SB_MAKEMASK1(3)
  41 #define M_MAC_RET_UFL_EN            _SB_MAKEMASK1(4)
  42 #define M_MAC_BURST_EN              _SB_MAKEMASK1(5)
  43 
  44 #define S_MAC_TX_PAUSE              _SB_MAKE64(6)
  45 #define M_MAC_TX_PAUSE_CNT          _SB_MAKEMASK(3, S_MAC_TX_PAUSE)
  46 #define V_MAC_TX_PAUSE_CNT(x)       _SB_MAKEVALUE(x, S_MAC_TX_PAUSE)
  47 
  48 #define K_MAC_TX_PAUSE_CNT_512      0
  49 #define K_MAC_TX_PAUSE_CNT_1K       1
  50 #define K_MAC_TX_PAUSE_CNT_2K       2
  51 #define K_MAC_TX_PAUSE_CNT_4K       3
  52 #define K_MAC_TX_PAUSE_CNT_8K       4
  53 #define K_MAC_TX_PAUSE_CNT_16K      5
  54 #define K_MAC_TX_PAUSE_CNT_32K      6
  55 #define K_MAC_TX_PAUSE_CNT_64K      7
  56 
  57 #define V_MAC_TX_PAUSE_CNT_512      V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_512)
  58 #define V_MAC_TX_PAUSE_CNT_1K       V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_1K)
  59 #define V_MAC_TX_PAUSE_CNT_2K       V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_2K)
  60 #define V_MAC_TX_PAUSE_CNT_4K       V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_4K)
  61 #define V_MAC_TX_PAUSE_CNT_8K       V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_8K)
  62 #define V_MAC_TX_PAUSE_CNT_16K      V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_16K)
  63 #define V_MAC_TX_PAUSE_CNT_32K      V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_32K)
  64 #define V_MAC_TX_PAUSE_CNT_64K      V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_64K)
  65 
  66 #define M_MAC_RESERVED1             _SB_MAKEMASK(8, 9)
  67 
  68 #define M_MAC_AP_STAT_EN            _SB_MAKEMASK1(17)
  69 
  70 #if SIBYTE_HDR_FEATURE_CHIP(1480)
  71 #define M_MAC_TIMESTAMP             _SB_MAKEMASK1(18)
  72 #endif
  73 #define M_MAC_DRP_ERRPKT_EN         _SB_MAKEMASK1(19)
  74 #define M_MAC_DRP_FCSERRPKT_EN      _SB_MAKEMASK1(20)
  75 #define M_MAC_DRP_CODEERRPKT_EN     _SB_MAKEMASK1(21)
  76 #define M_MAC_DRP_DRBLERRPKT_EN     _SB_MAKEMASK1(22)
  77 #define M_MAC_DRP_RNTPKT_EN         _SB_MAKEMASK1(23)
  78 #define M_MAC_DRP_OSZPKT_EN         _SB_MAKEMASK1(24)
  79 #define M_MAC_DRP_LENERRPKT_EN      _SB_MAKEMASK1(25)
  80 
  81 #define M_MAC_RESERVED3             _SB_MAKEMASK(6, 26)
  82 
  83 #define M_MAC_BYPASS_SEL            _SB_MAKEMASK1(32)
  84 #define M_MAC_HDX_EN                _SB_MAKEMASK1(33)
  85 
  86 #define S_MAC_SPEED_SEL             _SB_MAKE64(34)
  87 #define M_MAC_SPEED_SEL             _SB_MAKEMASK(2, S_MAC_SPEED_SEL)
  88 #define V_MAC_SPEED_SEL(x)          _SB_MAKEVALUE(x, S_MAC_SPEED_SEL)
  89 #define G_MAC_SPEED_SEL(x)          _SB_GETVALUE(x, S_MAC_SPEED_SEL, M_MAC_SPEED_SEL)
  90 
  91 #define K_MAC_SPEED_SEL_10MBPS      0
  92 #define K_MAC_SPEED_SEL_100MBPS     1
  93 #define K_MAC_SPEED_SEL_1000MBPS    2
  94 #define K_MAC_SPEED_SEL_RESERVED    3
  95 
  96 #define V_MAC_SPEED_SEL_10MBPS      V_MAC_SPEED_SEL(K_MAC_SPEED_SEL_10MBPS)
  97 #define V_MAC_SPEED_SEL_100MBPS     V_MAC_SPEED_SEL(K_MAC_SPEED_SEL_100MBPS)
  98 #define V_MAC_SPEED_SEL_1000MBPS    V_MAC_SPEED_SEL(K_MAC_SPEED_SEL_1000MBPS)
  99 #define V_MAC_SPEED_SEL_RESERVED    V_MAC_SPEED_SEL(K_MAC_SPEED_SEL_RESERVED)
 100 
 101 #define M_MAC_TX_CLK_EDGE_SEL       _SB_MAKEMASK1(36)
 102 #define M_MAC_LOOPBACK_SEL          _SB_MAKEMASK1(37)
 103 #define M_MAC_FAST_SYNC             _SB_MAKEMASK1(38)
 104 #define M_MAC_SS_EN                 _SB_MAKEMASK1(39)
 105 
 106 #define S_MAC_BYPASS_CFG            _SB_MAKE64(40)
 107 #define M_MAC_BYPASS_CFG            _SB_MAKEMASK(2, S_MAC_BYPASS_CFG)
 108 #define V_MAC_BYPASS_CFG(x)         _SB_MAKEVALUE(x, S_MAC_BYPASS_CFG)
 109 #define G_MAC_BYPASS_CFG(x)         _SB_GETVALUE(x, S_MAC_BYPASS_CFG, M_MAC_BYPASS_CFG)
 110 
 111 #define K_MAC_BYPASS_GMII           0
 112 #define K_MAC_BYPASS_ENCODED        1
 113 #define K_MAC_BYPASS_SOP            2
 114 #define K_MAC_BYPASS_EOP            3
 115 
 116 #define M_MAC_BYPASS_16             _SB_MAKEMASK1(42)
 117 #define M_MAC_BYPASS_FCS_CHK        _SB_MAKEMASK1(43)
 118 
 119 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
 120 #define M_MAC_RX_CH_SEL_MSB         _SB_MAKEMASK1(44)
 121 #endif 
 122 
 123 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
 124 #define M_MAC_SPLIT_CH_SEL          _SB_MAKEMASK1(45)
 125 #endif 
 126 
 127 #define S_MAC_BYPASS_IFG            _SB_MAKE64(46)
 128 #define M_MAC_BYPASS_IFG            _SB_MAKEMASK(8, S_MAC_BYPASS_IFG)
 129 #define V_MAC_BYPASS_IFG(x)         _SB_MAKEVALUE(x, S_MAC_BYPASS_IFG)
 130 #define G_MAC_BYPASS_IFG(x)         _SB_GETVALUE(x, S_MAC_BYPASS_IFG, M_MAC_BYPASS_IFG)
 131 
 132 #define K_MAC_FC_CMD_DISABLED       0
 133 #define K_MAC_FC_CMD_ENABLED        1
 134 #define K_MAC_FC_CMD_ENAB_FALSECARR 2
 135 
 136 #define V_MAC_FC_CMD_DISABLED       V_MAC_FC_CMD(K_MAC_FC_CMD_DISABLED)
 137 #define V_MAC_FC_CMD_ENABLED        V_MAC_FC_CMD(K_MAC_FC_CMD_ENABLED)
 138 #define V_MAC_FC_CMD_ENAB_FALSECARR V_MAC_FC_CMD(K_MAC_FC_CMD_ENAB_FALSECARR)
 139 
 140 #define M_MAC_FC_SEL                _SB_MAKEMASK1(54)
 141 
 142 #define S_MAC_FC_CMD                _SB_MAKE64(55)
 143 #define M_MAC_FC_CMD                _SB_MAKEMASK(2, S_MAC_FC_CMD)
 144 #define V_MAC_FC_CMD(x)             _SB_MAKEVALUE(x, S_MAC_FC_CMD)
 145 #define G_MAC_FC_CMD(x)             _SB_GETVALUE(x, S_MAC_FC_CMD, M_MAC_FC_CMD)
 146 
 147 #define S_MAC_RX_CH_SEL             _SB_MAKE64(57)
 148 #define M_MAC_RX_CH_SEL             _SB_MAKEMASK(7, S_MAC_RX_CH_SEL)
 149 #define V_MAC_RX_CH_SEL(x)          _SB_MAKEVALUE(x, S_MAC_RX_CH_SEL)
 150 #define G_MAC_RX_CH_SEL(x)          _SB_GETVALUE(x, S_MAC_RX_CH_SEL, M_MAC_RX_CH_SEL)
 151 
 152 
 153 
 154 
 155 
 156 
 157 
 158 
 159 
 160 #define M_MAC_RXDMA_EN0             _SB_MAKEMASK1(0)
 161 #define M_MAC_RXDMA_EN1             _SB_MAKEMASK1(1)
 162 #define M_MAC_TXDMA_EN0             _SB_MAKEMASK1(4)
 163 #define M_MAC_TXDMA_EN1             _SB_MAKEMASK1(5)
 164 
 165 #define M_MAC_PORT_RESET            _SB_MAKEMASK1(8)
 166 
 167 #if (SIBYTE_HDR_FEATURE_CHIP(1250) || SIBYTE_HDR_FEATURE_CHIP(112x))
 168 #define M_MAC_RX_ENABLE             _SB_MAKEMASK1(10)
 169 #define M_MAC_TX_ENABLE             _SB_MAKEMASK1(11)
 170 #define M_MAC_BYP_RX_ENABLE         _SB_MAKEMASK1(12)
 171 #define M_MAC_BYP_TX_ENABLE         _SB_MAKEMASK1(13)
 172 #endif
 173 
 174 
 175 
 176 
 177 #if SIBYTE_HDR_FEATURE_CHIP(1480)
 178 #define M_MAC_RX_CH0_PAUSE_ON   _SB_MAKEMASK1(8)
 179 #define M_MAC_RX_CH1_PAUSE_ON   _SB_MAKEMASK1(16)
 180 #define M_MAC_TX_CH0_PAUSE_ON   _SB_MAKEMASK1(24)
 181 #define M_MAC_TX_CH1_PAUSE_ON   _SB_MAKEMASK1(32)
 182 #endif
 183 
 184 
 185 
 186 
 187 
 188 
 189 
 190 
 191 #define S_MAC_TXD_WEIGHT0           _SB_MAKE64(0)
 192 #define M_MAC_TXD_WEIGHT0           _SB_MAKEMASK(4, S_MAC_TXD_WEIGHT0)
 193 #define V_MAC_TXD_WEIGHT0(x)        _SB_MAKEVALUE(x, S_MAC_TXD_WEIGHT0)
 194 #define G_MAC_TXD_WEIGHT0(x)        _SB_GETVALUE(x, S_MAC_TXD_WEIGHT0, M_MAC_TXD_WEIGHT0)
 195 
 196 #define S_MAC_TXD_WEIGHT1           _SB_MAKE64(4)
 197 #define M_MAC_TXD_WEIGHT1           _SB_MAKEMASK(4, S_MAC_TXD_WEIGHT1)
 198 #define V_MAC_TXD_WEIGHT1(x)        _SB_MAKEVALUE(x, S_MAC_TXD_WEIGHT1)
 199 #define G_MAC_TXD_WEIGHT1(x)        _SB_GETVALUE(x, S_MAC_TXD_WEIGHT1, M_MAC_TXD_WEIGHT1)
 200 
 201 
 202 
 203 
 204 
 205 
 206 
 207 
 208 #define S_MAC_TX_WR_THRSH           _SB_MAKE64(0)
 209 #if SIBYTE_HDR_FEATURE_UP_TO(1250, PASS1)
 210 
 211 
 212 #endif 
 213 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
 214 #define M_MAC_TX_WR_THRSH           _SB_MAKEMASK(7, S_MAC_TX_WR_THRSH)
 215 #endif 
 216 #define V_MAC_TX_WR_THRSH(x)        _SB_MAKEVALUE(x, S_MAC_TX_WR_THRSH)
 217 #define G_MAC_TX_WR_THRSH(x)        _SB_GETVALUE(x, S_MAC_TX_WR_THRSH, M_MAC_TX_WR_THRSH)
 218 
 219 #define S_MAC_TX_RD_THRSH           _SB_MAKE64(8)
 220 #if SIBYTE_HDR_FEATURE_UP_TO(1250, PASS1)
 221 
 222 
 223 #endif 
 224 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
 225 #define M_MAC_TX_RD_THRSH           _SB_MAKEMASK(7, S_MAC_TX_RD_THRSH)
 226 #endif 
 227 #define V_MAC_TX_RD_THRSH(x)        _SB_MAKEVALUE(x, S_MAC_TX_RD_THRSH)
 228 #define G_MAC_TX_RD_THRSH(x)        _SB_GETVALUE(x, S_MAC_TX_RD_THRSH, M_MAC_TX_RD_THRSH)
 229 
 230 #define S_MAC_TX_RL_THRSH           _SB_MAKE64(16)
 231 #define M_MAC_TX_RL_THRSH           _SB_MAKEMASK(4, S_MAC_TX_RL_THRSH)
 232 #define V_MAC_TX_RL_THRSH(x)        _SB_MAKEVALUE(x, S_MAC_TX_RL_THRSH)
 233 #define G_MAC_TX_RL_THRSH(x)        _SB_GETVALUE(x, S_MAC_TX_RL_THRSH, M_MAC_TX_RL_THRSH)
 234 
 235 #define S_MAC_RX_PL_THRSH           _SB_MAKE64(24)
 236 #define M_MAC_RX_PL_THRSH           _SB_MAKEMASK(6, S_MAC_RX_PL_THRSH)
 237 #define V_MAC_RX_PL_THRSH(x)        _SB_MAKEVALUE(x, S_MAC_RX_PL_THRSH)
 238 #define G_MAC_RX_PL_THRSH(x)        _SB_GETVALUE(x, S_MAC_RX_PL_THRSH, M_MAC_RX_PL_THRSH)
 239 
 240 #define S_MAC_RX_RD_THRSH           _SB_MAKE64(32)
 241 #define M_MAC_RX_RD_THRSH           _SB_MAKEMASK(6, S_MAC_RX_RD_THRSH)
 242 #define V_MAC_RX_RD_THRSH(x)        _SB_MAKEVALUE(x, S_MAC_RX_RD_THRSH)
 243 #define G_MAC_RX_RD_THRSH(x)        _SB_GETVALUE(x, S_MAC_RX_RD_THRSH, M_MAC_RX_RD_THRSH)
 244 
 245 #define S_MAC_RX_RL_THRSH           _SB_MAKE64(40)
 246 #define M_MAC_RX_RL_THRSH           _SB_MAKEMASK(6, S_MAC_RX_RL_THRSH)
 247 #define V_MAC_RX_RL_THRSH(x)        _SB_MAKEVALUE(x, S_MAC_RX_RL_THRSH)
 248 #define G_MAC_RX_RL_THRSH(x)        _SB_GETVALUE(x, S_MAC_RX_RL_THRSH, M_MAC_RX_RL_THRSH)
 249 
 250 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
 251 #define S_MAC_ENC_FC_THRSH           _SB_MAKE64(56)
 252 #define M_MAC_ENC_FC_THRSH           _SB_MAKEMASK(6, S_MAC_ENC_FC_THRSH)
 253 #define V_MAC_ENC_FC_THRSH(x)        _SB_MAKEVALUE(x, S_MAC_ENC_FC_THRSH)
 254 #define G_MAC_ENC_FC_THRSH(x)        _SB_GETVALUE(x, S_MAC_ENC_FC_THRSH, M_MAC_ENC_FC_THRSH)
 255 #endif 
 256 
 257 
 258 
 259 
 260 
 261 
 262 
 263 
 264 
 265 #define S_MAC_IFG_RX                _SB_MAKE64(0)
 266 #define M_MAC_IFG_RX                _SB_MAKEMASK(6, S_MAC_IFG_RX)
 267 #define V_MAC_IFG_RX(x)             _SB_MAKEVALUE(x, S_MAC_IFG_RX)
 268 #define G_MAC_IFG_RX(x)             _SB_GETVALUE(x, S_MAC_IFG_RX, M_MAC_IFG_RX)
 269 
 270 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
 271 #define S_MAC_PRE_LEN               _SB_MAKE64(0)
 272 #define M_MAC_PRE_LEN               _SB_MAKEMASK(6, S_MAC_PRE_LEN)
 273 #define V_MAC_PRE_LEN(x)            _SB_MAKEVALUE(x, S_MAC_PRE_LEN)
 274 #define G_MAC_PRE_LEN(x)            _SB_GETVALUE(x, S_MAC_PRE_LEN, M_MAC_PRE_LEN)
 275 #endif 
 276 
 277 #define S_MAC_IFG_TX                _SB_MAKE64(6)
 278 #define M_MAC_IFG_TX                _SB_MAKEMASK(6, S_MAC_IFG_TX)
 279 #define V_MAC_IFG_TX(x)             _SB_MAKEVALUE(x, S_MAC_IFG_TX)
 280 #define G_MAC_IFG_TX(x)             _SB_GETVALUE(x, S_MAC_IFG_TX, M_MAC_IFG_TX)
 281 
 282 #define S_MAC_IFG_THRSH             _SB_MAKE64(12)
 283 #define M_MAC_IFG_THRSH             _SB_MAKEMASK(6, S_MAC_IFG_THRSH)
 284 #define V_MAC_IFG_THRSH(x)          _SB_MAKEVALUE(x, S_MAC_IFG_THRSH)
 285 #define G_MAC_IFG_THRSH(x)          _SB_GETVALUE(x, S_MAC_IFG_THRSH, M_MAC_IFG_THRSH)
 286 
 287 #define S_MAC_BACKOFF_SEL           _SB_MAKE64(18)
 288 #define M_MAC_BACKOFF_SEL           _SB_MAKEMASK(4, S_MAC_BACKOFF_SEL)
 289 #define V_MAC_BACKOFF_SEL(x)        _SB_MAKEVALUE(x, S_MAC_BACKOFF_SEL)
 290 #define G_MAC_BACKOFF_SEL(x)        _SB_GETVALUE(x, S_MAC_BACKOFF_SEL, M_MAC_BACKOFF_SEL)
 291 
 292 #define S_MAC_LFSR_SEED             _SB_MAKE64(22)
 293 #define M_MAC_LFSR_SEED             _SB_MAKEMASK(8, S_MAC_LFSR_SEED)
 294 #define V_MAC_LFSR_SEED(x)          _SB_MAKEVALUE(x, S_MAC_LFSR_SEED)
 295 #define G_MAC_LFSR_SEED(x)          _SB_GETVALUE(x, S_MAC_LFSR_SEED, M_MAC_LFSR_SEED)
 296 
 297 #define S_MAC_SLOT_SIZE             _SB_MAKE64(30)
 298 #define M_MAC_SLOT_SIZE             _SB_MAKEMASK(10, S_MAC_SLOT_SIZE)
 299 #define V_MAC_SLOT_SIZE(x)          _SB_MAKEVALUE(x, S_MAC_SLOT_SIZE)
 300 #define G_MAC_SLOT_SIZE(x)          _SB_GETVALUE(x, S_MAC_SLOT_SIZE, M_MAC_SLOT_SIZE)
 301 
 302 #define S_MAC_MIN_FRAMESZ           _SB_MAKE64(40)
 303 #define M_MAC_MIN_FRAMESZ           _SB_MAKEMASK(8, S_MAC_MIN_FRAMESZ)
 304 #define V_MAC_MIN_FRAMESZ(x)        _SB_MAKEVALUE(x, S_MAC_MIN_FRAMESZ)
 305 #define G_MAC_MIN_FRAMESZ(x)        _SB_GETVALUE(x, S_MAC_MIN_FRAMESZ, M_MAC_MIN_FRAMESZ)
 306 
 307 #define S_MAC_MAX_FRAMESZ           _SB_MAKE64(48)
 308 #define M_MAC_MAX_FRAMESZ           _SB_MAKEMASK(16, S_MAC_MAX_FRAMESZ)
 309 #define V_MAC_MAX_FRAMESZ(x)        _SB_MAKEVALUE(x, S_MAC_MAX_FRAMESZ)
 310 #define G_MAC_MAX_FRAMESZ(x)        _SB_GETVALUE(x, S_MAC_MAX_FRAMESZ, M_MAC_MAX_FRAMESZ)
 311 
 312 
 313 
 314 
 315 
 316 
 317 #define K_MAC_IFG_RX_10             _SB_MAKE64(0)       
 318 #define K_MAC_IFG_RX_100            _SB_MAKE64(0)
 319 #define K_MAC_IFG_RX_1000           _SB_MAKE64(0)
 320 
 321 #define K_MAC_IFG_TX_10             _SB_MAKE64(20)
 322 #define K_MAC_IFG_TX_100            _SB_MAKE64(20)
 323 #define K_MAC_IFG_TX_1000           _SB_MAKE64(8)
 324 
 325 #define K_MAC_IFG_THRSH_10          _SB_MAKE64(4)
 326 #define K_MAC_IFG_THRSH_100         _SB_MAKE64(4)
 327 #define K_MAC_IFG_THRSH_1000        _SB_MAKE64(0)
 328 
 329 #define K_MAC_SLOT_SIZE_10          _SB_MAKE64(0)
 330 #define K_MAC_SLOT_SIZE_100         _SB_MAKE64(0)
 331 #define K_MAC_SLOT_SIZE_1000        _SB_MAKE64(0)
 332 
 333 #define V_MAC_IFG_RX_10        V_MAC_IFG_RX(K_MAC_IFG_RX_10)
 334 #define V_MAC_IFG_RX_100       V_MAC_IFG_RX(K_MAC_IFG_RX_100)
 335 #define V_MAC_IFG_RX_1000      V_MAC_IFG_RX(K_MAC_IFG_RX_1000)
 336 
 337 #define V_MAC_IFG_TX_10        V_MAC_IFG_TX(K_MAC_IFG_TX_10)
 338 #define V_MAC_IFG_TX_100       V_MAC_IFG_TX(K_MAC_IFG_TX_100)
 339 #define V_MAC_IFG_TX_1000      V_MAC_IFG_TX(K_MAC_IFG_TX_1000)
 340 
 341 #define V_MAC_IFG_THRSH_10     V_MAC_IFG_THRSH(K_MAC_IFG_THRSH_10)
 342 #define V_MAC_IFG_THRSH_100    V_MAC_IFG_THRSH(K_MAC_IFG_THRSH_100)
 343 #define V_MAC_IFG_THRSH_1000   V_MAC_IFG_THRSH(K_MAC_IFG_THRSH_1000)
 344 
 345 #define V_MAC_SLOT_SIZE_10     V_MAC_SLOT_SIZE(K_MAC_SLOT_SIZE_10)
 346 #define V_MAC_SLOT_SIZE_100    V_MAC_SLOT_SIZE(K_MAC_SLOT_SIZE_100)
 347 #define V_MAC_SLOT_SIZE_1000   V_MAC_SLOT_SIZE(K_MAC_SLOT_SIZE_1000)
 348 
 349 #define K_MAC_MIN_FRAMESZ_FIFO      _SB_MAKE64(9)
 350 #define K_MAC_MIN_FRAMESZ_DEFAULT   _SB_MAKE64(64)
 351 #define K_MAC_MAX_FRAMESZ_DEFAULT   _SB_MAKE64(1518)
 352 #define K_MAC_MAX_FRAMESZ_JUMBO     _SB_MAKE64(9216)
 353 
 354 #define V_MAC_MIN_FRAMESZ_FIFO      V_MAC_MIN_FRAMESZ(K_MAC_MIN_FRAMESZ_FIFO)
 355 #define V_MAC_MIN_FRAMESZ_DEFAULT   V_MAC_MIN_FRAMESZ(K_MAC_MIN_FRAMESZ_DEFAULT)
 356 #define V_MAC_MAX_FRAMESZ_DEFAULT   V_MAC_MAX_FRAMESZ(K_MAC_MAX_FRAMESZ_DEFAULT)
 357 #define V_MAC_MAX_FRAMESZ_JUMBO     V_MAC_MAX_FRAMESZ(K_MAC_MAX_FRAMESZ_JUMBO)
 358 
 359 
 360 
 361 
 362 
 363 
 364 
 365 
 366 #define S_MAC_VLAN_TAG           _SB_MAKE64(0)
 367 #define M_MAC_VLAN_TAG           _SB_MAKEMASK(32, S_MAC_VLAN_TAG)
 368 #define V_MAC_VLAN_TAG(x)        _SB_MAKEVALUE(x, S_MAC_VLAN_TAG)
 369 #define G_MAC_VLAN_TAG(x)        _SB_GETVALUE(x, S_MAC_VLAN_TAG, M_MAC_VLAN_TAG)
 370 
 371 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1)
 372 #define S_MAC_TX_PKT_OFFSET      _SB_MAKE64(32)
 373 #define M_MAC_TX_PKT_OFFSET      _SB_MAKEMASK(8, S_MAC_TX_PKT_OFFSET)
 374 #define V_MAC_TX_PKT_OFFSET(x)   _SB_MAKEVALUE(x, S_MAC_TX_PKT_OFFSET)
 375 #define G_MAC_TX_PKT_OFFSET(x)   _SB_GETVALUE(x, S_MAC_TX_PKT_OFFSET, M_MAC_TX_PKT_OFFSET)
 376 
 377 #define S_MAC_TX_CRC_OFFSET      _SB_MAKE64(40)
 378 #define M_MAC_TX_CRC_OFFSET      _SB_MAKEMASK(8, S_MAC_TX_CRC_OFFSET)
 379 #define V_MAC_TX_CRC_OFFSET(x)   _SB_MAKEVALUE(x, S_MAC_TX_CRC_OFFSET)
 380 #define G_MAC_TX_CRC_OFFSET(x)   _SB_GETVALUE(x, S_MAC_TX_CRC_OFFSET, M_MAC_TX_CRC_OFFSET)
 381 
 382 #define M_MAC_CH_BASE_FC_EN      _SB_MAKEMASK1(48)
 383 #endif 
 384 
 385 
 386 
 387 
 388 
 389 
 390 
 391 
 392 
 393 
 394 
 395 
 396 
 397 
 398 
 399 
 400 
 401 
 402 #define S_MAC_RX_CH0                _SB_MAKE64(0)
 403 #define S_MAC_RX_CH1                _SB_MAKE64(8)
 404 #define S_MAC_TX_CH0                _SB_MAKE64(16)
 405 #define S_MAC_TX_CH1                _SB_MAKE64(24)
 406 
 407 #define S_MAC_TXCHANNELS            _SB_MAKE64(16)      
 408 #define S_MAC_CHANWIDTH             _SB_MAKE64(8)       
 409 
 410 
 411 
 412 
 413 
 414 
 415 #define M_MAC_INT_CHANNEL           _SB_MAKEMASK(8, 0)
 416 #define M_MAC_INT_EOP_COUNT         _SB_MAKEMASK1(0)
 417 #define M_MAC_INT_EOP_TIMER         _SB_MAKEMASK1(1)
 418 #define M_MAC_INT_EOP_SEEN          _SB_MAKEMASK1(2)
 419 #define M_MAC_INT_HWM               _SB_MAKEMASK1(3)
 420 #define M_MAC_INT_LWM               _SB_MAKEMASK1(4)
 421 #define M_MAC_INT_DSCR              _SB_MAKEMASK1(5)
 422 #define M_MAC_INT_ERR               _SB_MAKEMASK1(6)
 423 #define M_MAC_INT_DZERO             _SB_MAKEMASK1(7)    
 424 #define M_MAC_INT_DROP              _SB_MAKEMASK1(7)    
 425 
 426 
 427 
 428 
 429 
 430 #define S_MAC_STATUS_CH_OFFSET(ch, txrx) _SB_MAKE64(((ch) + 2 * (txrx)) * S_MAC_CHANWIDTH)
 431 
 432 #define M_MAC_STATUS_CHANNEL(ch, txrx)   _SB_MAKEVALUE(_SB_MAKEMASK(8, 0), S_MAC_STATUS_CH_OFFSET(ch, txrx))
 433 #define M_MAC_STATUS_EOP_COUNT(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_EOP_COUNT, S_MAC_STATUS_CH_OFFSET(ch, txrx))
 434 #define M_MAC_STATUS_EOP_TIMER(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_EOP_TIMER, S_MAC_STATUS_CH_OFFSET(ch, txrx))
 435 #define M_MAC_STATUS_EOP_SEEN(ch, txrx)  _SB_MAKEVALUE(M_MAC_INT_EOP_SEEN, S_MAC_STATUS_CH_OFFSET(ch, txrx))
 436 #define M_MAC_STATUS_HWM(ch, txrx)       _SB_MAKEVALUE(M_MAC_INT_HWM, S_MAC_STATUS_CH_OFFSET(ch, txrx))
 437 #define M_MAC_STATUS_LWM(ch, txrx)       _SB_MAKEVALUE(M_MAC_INT_LWM, S_MAC_STATUS_CH_OFFSET(ch, txrx))
 438 #define M_MAC_STATUS_DSCR(ch, txrx)      _SB_MAKEVALUE(M_MAC_INT_DSCR, S_MAC_STATUS_CH_OFFSET(ch, txrx))
 439 #define M_MAC_STATUS_ERR(ch, txrx)       _SB_MAKEVALUE(M_MAC_INT_ERR, S_MAC_STATUS_CH_OFFSET(ch, txrx))
 440 #define M_MAC_STATUS_DZERO(ch, txrx)     _SB_MAKEVALUE(M_MAC_INT_DZERO, S_MAC_STATUS_CH_OFFSET(ch, txrx))
 441 #define M_MAC_STATUS_DROP(ch, txrx)      _SB_MAKEVALUE(M_MAC_INT_DROP, S_MAC_STATUS_CH_OFFSET(ch, txrx))
 442 #define M_MAC_STATUS_OTHER_ERR           _SB_MAKEVALUE(_SB_MAKEMASK(7, 0), 40)
 443 
 444 
 445 #define M_MAC_RX_UNDRFL             _SB_MAKEMASK1(40)
 446 #define M_MAC_RX_OVRFL              _SB_MAKEMASK1(41)
 447 #define M_MAC_TX_UNDRFL             _SB_MAKEMASK1(42)
 448 #define M_MAC_TX_OVRFL              _SB_MAKEMASK1(43)
 449 #define M_MAC_LTCOL_ERR             _SB_MAKEMASK1(44)
 450 #define M_MAC_EXCOL_ERR             _SB_MAKEMASK1(45)
 451 #define M_MAC_CNTR_OVRFL_ERR        _SB_MAKEMASK1(46)
 452 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
 453 #define M_MAC_SPLIT_EN              _SB_MAKEMASK1(47)   
 454 #endif 
 455 
 456 #define S_MAC_COUNTER_ADDR          _SB_MAKE64(47)
 457 #define M_MAC_COUNTER_ADDR          _SB_MAKEMASK(5, S_MAC_COUNTER_ADDR)
 458 #define V_MAC_COUNTER_ADDR(x)       _SB_MAKEVALUE(x, S_MAC_COUNTER_ADDR)
 459 #define G_MAC_COUNTER_ADDR(x)       _SB_GETVALUE(x, S_MAC_COUNTER_ADDR, M_MAC_COUNTER_ADDR)
 460 
 461 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
 462 #define M_MAC_TX_PAUSE_ON           _SB_MAKEMASK1(52)
 463 #endif 
 464 
 465 
 466 
 467 
 468 
 469 
 470 
 471 
 472 #define S_MAC_TX_WRPTR              _SB_MAKE64(0)
 473 #define M_MAC_TX_WRPTR              _SB_MAKEMASK(6, S_MAC_TX_WRPTR)
 474 #define V_MAC_TX_WRPTR(x)           _SB_MAKEVALUE(x, S_MAC_TX_WRPTR)
 475 #define G_MAC_TX_WRPTR(x)           _SB_GETVALUE(x, S_MAC_TX_WRPTR, M_MAC_TX_WRPTR)
 476 
 477 #define S_MAC_TX_RDPTR              _SB_MAKE64(8)
 478 #define M_MAC_TX_RDPTR              _SB_MAKEMASK(6, S_MAC_TX_RDPTR)
 479 #define V_MAC_TX_RDPTR(x)           _SB_MAKEVALUE(x, S_MAC_TX_RDPTR)
 480 #define G_MAC_TX_RDPTR(x)           _SB_GETVALUE(x, S_MAC_TX_RDPTR, M_MAC_TX_RDPTR)
 481 
 482 #define S_MAC_RX_WRPTR              _SB_MAKE64(16)
 483 #define M_MAC_RX_WRPTR              _SB_MAKEMASK(6, S_MAC_RX_WRPTR)
 484 #define V_MAC_RX_WRPTR(x)           _SB_MAKEVALUE(x, S_MAC_RX_WRPTR)
 485 #define G_MAC_RX_WRPTR(x)           _SB_GETVALUE(x, S_MAC_RX_WRPTR, M_MAC_TX_WRPTR)
 486 
 487 #define S_MAC_RX_RDPTR              _SB_MAKE64(24)
 488 #define M_MAC_RX_RDPTR              _SB_MAKEMASK(6, S_MAC_RX_RDPTR)
 489 #define V_MAC_RX_RDPTR(x)           _SB_MAKEVALUE(x, S_MAC_RX_RDPTR)
 490 #define G_MAC_RX_RDPTR(x)           _SB_GETVALUE(x, S_MAC_RX_RDPTR, M_MAC_TX_RDPTR)
 491 
 492 
 493 
 494 
 495 
 496 
 497 
 498 
 499 #define S_MAC_TX_EOP_COUNTER        _SB_MAKE64(0)
 500 #define M_MAC_TX_EOP_COUNTER        _SB_MAKEMASK(6, S_MAC_TX_EOP_COUNTER)
 501 #define V_MAC_TX_EOP_COUNTER(x)     _SB_MAKEVALUE(x, S_MAC_TX_EOP_COUNTER)
 502 #define G_MAC_TX_EOP_COUNTER(x)     _SB_GETVALUE(x, S_MAC_TX_EOP_COUNTER, M_MAC_TX_EOP_COUNTER)
 503 
 504 #define S_MAC_RX_EOP_COUNTER        _SB_MAKE64(8)
 505 #define M_MAC_RX_EOP_COUNTER        _SB_MAKEMASK(6, S_MAC_RX_EOP_COUNTER)
 506 #define V_MAC_RX_EOP_COUNTER(x)     _SB_MAKEVALUE(x, S_MAC_RX_EOP_COUNTER)
 507 #define G_MAC_RX_EOP_COUNTER(x)     _SB_GETVALUE(x, S_MAC_RX_EOP_COUNTER, M_MAC_RX_EOP_COUNTER)
 508 
 509 
 510 
 511 
 512 
 513 
 514 
 515 
 516 
 517 
 518 
 519 
 520 
 521 
 522 
 523 
 524 
 525 
 526 
 527 
 528 
 529 
 530 
 531 
 532 
 533 
 534 
 535 
 536 
 537 
 538 
 539 
 540 
 541 
 542 
 543 
 544 
 545 
 546 
 547 
 548 
 549 
 550 
 551 
 552 #define S_TYPECFG_TYPESIZE      _SB_MAKE64(16)
 553 
 554 #define S_TYPECFG_TYPE0         _SB_MAKE64(0)
 555 #define M_TYPECFG_TYPE0         _SB_MAKEMASK(16, S_TYPECFG_TYPE0)
 556 #define V_TYPECFG_TYPE0(x)      _SB_MAKEVALUE(x, S_TYPECFG_TYPE0)
 557 #define G_TYPECFG_TYPE0(x)      _SB_GETVALUE(x, S_TYPECFG_TYPE0, M_TYPECFG_TYPE0)
 558 
 559 #define S_TYPECFG_TYPE1         _SB_MAKE64(0)
 560 #define M_TYPECFG_TYPE1         _SB_MAKEMASK(16, S_TYPECFG_TYPE1)
 561 #define V_TYPECFG_TYPE1(x)      _SB_MAKEVALUE(x, S_TYPECFG_TYPE1)
 562 #define G_TYPECFG_TYPE1(x)      _SB_GETVALUE(x, S_TYPECFG_TYPE1, M_TYPECFG_TYPE1)
 563 
 564 #define S_TYPECFG_TYPE2         _SB_MAKE64(0)
 565 #define M_TYPECFG_TYPE2         _SB_MAKEMASK(16, S_TYPECFG_TYPE2)
 566 #define V_TYPECFG_TYPE2(x)      _SB_MAKEVALUE(x, S_TYPECFG_TYPE2)
 567 #define G_TYPECFG_TYPE2(x)      _SB_GETVALUE(x, S_TYPECFG_TYPE2, M_TYPECFG_TYPE2)
 568 
 569 #define S_TYPECFG_TYPE3         _SB_MAKE64(0)
 570 #define M_TYPECFG_TYPE3         _SB_MAKEMASK(16, S_TYPECFG_TYPE3)
 571 #define V_TYPECFG_TYPE3(x)      _SB_MAKEVALUE(x, S_TYPECFG_TYPE3)
 572 #define G_TYPECFG_TYPE3(x)      _SB_GETVALUE(x, S_TYPECFG_TYPE3, M_TYPECFG_TYPE3)
 573 
 574 
 575 
 576 
 577 
 578 
 579 
 580 
 581 #define M_MAC_ALLPKT_EN         _SB_MAKEMASK1(0)
 582 #define M_MAC_UCAST_EN          _SB_MAKEMASK1(1)
 583 #define M_MAC_UCAST_INV         _SB_MAKEMASK1(2)
 584 #define M_MAC_MCAST_EN          _SB_MAKEMASK1(3)
 585 #define M_MAC_MCAST_INV         _SB_MAKEMASK1(4)
 586 #define M_MAC_BCAST_EN          _SB_MAKEMASK1(5)
 587 #define M_MAC_DIRECT_INV        _SB_MAKEMASK1(6)
 588 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
 589 #define M_MAC_ALLMCAST_EN       _SB_MAKEMASK1(7)
 590 #endif 
 591 
 592 #define S_MAC_IPHDR_OFFSET      _SB_MAKE64(8)
 593 #define M_MAC_IPHDR_OFFSET      _SB_MAKEMASK(8, S_MAC_IPHDR_OFFSET)
 594 #define V_MAC_IPHDR_OFFSET(x)   _SB_MAKEVALUE(x, S_MAC_IPHDR_OFFSET)
 595 #define G_MAC_IPHDR_OFFSET(x)   _SB_GETVALUE(x, S_MAC_IPHDR_OFFSET, M_MAC_IPHDR_OFFSET)
 596 
 597 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
 598 #define S_MAC_RX_CRC_OFFSET     _SB_MAKE64(16)
 599 #define M_MAC_RX_CRC_OFFSET     _SB_MAKEMASK(8, S_MAC_RX_CRC_OFFSET)
 600 #define V_MAC_RX_CRC_OFFSET(x)  _SB_MAKEVALUE(x, S_MAC_RX_CRC_OFFSET)
 601 #define G_MAC_RX_CRC_OFFSET(x)  _SB_GETVALUE(x, S_MAC_RX_CRC_OFFSET, M_MAC_RX_CRC_OFFSET)
 602 
 603 #define S_MAC_RX_PKT_OFFSET     _SB_MAKE64(24)
 604 #define M_MAC_RX_PKT_OFFSET     _SB_MAKEMASK(8, S_MAC_RX_PKT_OFFSET)
 605 #define V_MAC_RX_PKT_OFFSET(x)  _SB_MAKEVALUE(x, S_MAC_RX_PKT_OFFSET)
 606 #define G_MAC_RX_PKT_OFFSET(x)  _SB_GETVALUE(x, S_MAC_RX_PKT_OFFSET, M_MAC_RX_PKT_OFFSET)
 607 
 608 #define M_MAC_FWDPAUSE_EN       _SB_MAKEMASK1(32)
 609 #define M_MAC_VLAN_DET_EN       _SB_MAKEMASK1(33)
 610 
 611 #define S_MAC_RX_CH_MSN_SEL     _SB_MAKE64(34)
 612 #define M_MAC_RX_CH_MSN_SEL     _SB_MAKEMASK(8, S_MAC_RX_CH_MSN_SEL)
 613 #define V_MAC_RX_CH_MSN_SEL(x)  _SB_MAKEVALUE(x, S_MAC_RX_CH_MSN_SEL)
 614 #define G_MAC_RX_CH_MSN_SEL(x)  _SB_GETVALUE(x, S_MAC_RX_CH_MSN_SEL, M_MAC_RX_CH_MSN_SEL)
 615 #endif 
 616 
 617 
 618 
 619 
 620 
 621 
 622 
 623 
 624 
 625 
 626 
 627 
 628 
 629 
 630 #define S_MAC_MDC               0
 631 #define S_MAC_MDIO_DIR          1
 632 #define S_MAC_MDIO_OUT          2
 633 #define S_MAC_GENC              3
 634 #define S_MAC_MDIO_IN           4
 635 
 636 #define M_MAC_MDC               _SB_MAKEMASK1(S_MAC_MDC)
 637 #define M_MAC_MDIO_DIR          _SB_MAKEMASK1(S_MAC_MDIO_DIR)
 638 #define M_MAC_MDIO_DIR_INPUT    _SB_MAKEMASK1(S_MAC_MDIO_DIR)
 639 #define M_MAC_MDIO_OUT          _SB_MAKEMASK1(S_MAC_MDIO_OUT)
 640 #define M_MAC_GENC              _SB_MAKEMASK1(S_MAC_GENC)
 641 #define M_MAC_MDIO_IN           _SB_MAKEMASK1(S_MAC_MDIO_IN)
 642 
 643 #endif