0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #ifndef _SB1250_MAC_H
0021 #define _SB1250_MAC_H
0022
0023 #include <asm/sibyte/sb1250_defs.h>
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037 #define M_MAC_RESERVED0 _SB_MAKEMASK1(0)
0038 #define M_MAC_TX_HOLD_SOP_EN _SB_MAKEMASK1(1)
0039 #define M_MAC_RETRY_EN _SB_MAKEMASK1(2)
0040 #define M_MAC_RET_DRPREQ_EN _SB_MAKEMASK1(3)
0041 #define M_MAC_RET_UFL_EN _SB_MAKEMASK1(4)
0042 #define M_MAC_BURST_EN _SB_MAKEMASK1(5)
0043
0044 #define S_MAC_TX_PAUSE _SB_MAKE64(6)
0045 #define M_MAC_TX_PAUSE_CNT _SB_MAKEMASK(3, S_MAC_TX_PAUSE)
0046 #define V_MAC_TX_PAUSE_CNT(x) _SB_MAKEVALUE(x, S_MAC_TX_PAUSE)
0047
0048 #define K_MAC_TX_PAUSE_CNT_512 0
0049 #define K_MAC_TX_PAUSE_CNT_1K 1
0050 #define K_MAC_TX_PAUSE_CNT_2K 2
0051 #define K_MAC_TX_PAUSE_CNT_4K 3
0052 #define K_MAC_TX_PAUSE_CNT_8K 4
0053 #define K_MAC_TX_PAUSE_CNT_16K 5
0054 #define K_MAC_TX_PAUSE_CNT_32K 6
0055 #define K_MAC_TX_PAUSE_CNT_64K 7
0056
0057 #define V_MAC_TX_PAUSE_CNT_512 V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_512)
0058 #define V_MAC_TX_PAUSE_CNT_1K V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_1K)
0059 #define V_MAC_TX_PAUSE_CNT_2K V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_2K)
0060 #define V_MAC_TX_PAUSE_CNT_4K V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_4K)
0061 #define V_MAC_TX_PAUSE_CNT_8K V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_8K)
0062 #define V_MAC_TX_PAUSE_CNT_16K V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_16K)
0063 #define V_MAC_TX_PAUSE_CNT_32K V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_32K)
0064 #define V_MAC_TX_PAUSE_CNT_64K V_MAC_TX_PAUSE_CNT(K_MAC_TX_PAUSE_CNT_64K)
0065
0066 #define M_MAC_RESERVED1 _SB_MAKEMASK(8, 9)
0067
0068 #define M_MAC_AP_STAT_EN _SB_MAKEMASK1(17)
0069
0070 #if SIBYTE_HDR_FEATURE_CHIP(1480)
0071 #define M_MAC_TIMESTAMP _SB_MAKEMASK1(18)
0072 #endif
0073 #define M_MAC_DRP_ERRPKT_EN _SB_MAKEMASK1(19)
0074 #define M_MAC_DRP_FCSERRPKT_EN _SB_MAKEMASK1(20)
0075 #define M_MAC_DRP_CODEERRPKT_EN _SB_MAKEMASK1(21)
0076 #define M_MAC_DRP_DRBLERRPKT_EN _SB_MAKEMASK1(22)
0077 #define M_MAC_DRP_RNTPKT_EN _SB_MAKEMASK1(23)
0078 #define M_MAC_DRP_OSZPKT_EN _SB_MAKEMASK1(24)
0079 #define M_MAC_DRP_LENERRPKT_EN _SB_MAKEMASK1(25)
0080
0081 #define M_MAC_RESERVED3 _SB_MAKEMASK(6, 26)
0082
0083 #define M_MAC_BYPASS_SEL _SB_MAKEMASK1(32)
0084 #define M_MAC_HDX_EN _SB_MAKEMASK1(33)
0085
0086 #define S_MAC_SPEED_SEL _SB_MAKE64(34)
0087 #define M_MAC_SPEED_SEL _SB_MAKEMASK(2, S_MAC_SPEED_SEL)
0088 #define V_MAC_SPEED_SEL(x) _SB_MAKEVALUE(x, S_MAC_SPEED_SEL)
0089 #define G_MAC_SPEED_SEL(x) _SB_GETVALUE(x, S_MAC_SPEED_SEL, M_MAC_SPEED_SEL)
0090
0091 #define K_MAC_SPEED_SEL_10MBPS 0
0092 #define K_MAC_SPEED_SEL_100MBPS 1
0093 #define K_MAC_SPEED_SEL_1000MBPS 2
0094 #define K_MAC_SPEED_SEL_RESERVED 3
0095
0096 #define V_MAC_SPEED_SEL_10MBPS V_MAC_SPEED_SEL(K_MAC_SPEED_SEL_10MBPS)
0097 #define V_MAC_SPEED_SEL_100MBPS V_MAC_SPEED_SEL(K_MAC_SPEED_SEL_100MBPS)
0098 #define V_MAC_SPEED_SEL_1000MBPS V_MAC_SPEED_SEL(K_MAC_SPEED_SEL_1000MBPS)
0099 #define V_MAC_SPEED_SEL_RESERVED V_MAC_SPEED_SEL(K_MAC_SPEED_SEL_RESERVED)
0100
0101 #define M_MAC_TX_CLK_EDGE_SEL _SB_MAKEMASK1(36)
0102 #define M_MAC_LOOPBACK_SEL _SB_MAKEMASK1(37)
0103 #define M_MAC_FAST_SYNC _SB_MAKEMASK1(38)
0104 #define M_MAC_SS_EN _SB_MAKEMASK1(39)
0105
0106 #define S_MAC_BYPASS_CFG _SB_MAKE64(40)
0107 #define M_MAC_BYPASS_CFG _SB_MAKEMASK(2, S_MAC_BYPASS_CFG)
0108 #define V_MAC_BYPASS_CFG(x) _SB_MAKEVALUE(x, S_MAC_BYPASS_CFG)
0109 #define G_MAC_BYPASS_CFG(x) _SB_GETVALUE(x, S_MAC_BYPASS_CFG, M_MAC_BYPASS_CFG)
0110
0111 #define K_MAC_BYPASS_GMII 0
0112 #define K_MAC_BYPASS_ENCODED 1
0113 #define K_MAC_BYPASS_SOP 2
0114 #define K_MAC_BYPASS_EOP 3
0115
0116 #define M_MAC_BYPASS_16 _SB_MAKEMASK1(42)
0117 #define M_MAC_BYPASS_FCS_CHK _SB_MAKEMASK1(43)
0118
0119 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0120 #define M_MAC_RX_CH_SEL_MSB _SB_MAKEMASK1(44)
0121 #endif
0122
0123 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0124 #define M_MAC_SPLIT_CH_SEL _SB_MAKEMASK1(45)
0125 #endif
0126
0127 #define S_MAC_BYPASS_IFG _SB_MAKE64(46)
0128 #define M_MAC_BYPASS_IFG _SB_MAKEMASK(8, S_MAC_BYPASS_IFG)
0129 #define V_MAC_BYPASS_IFG(x) _SB_MAKEVALUE(x, S_MAC_BYPASS_IFG)
0130 #define G_MAC_BYPASS_IFG(x) _SB_GETVALUE(x, S_MAC_BYPASS_IFG, M_MAC_BYPASS_IFG)
0131
0132 #define K_MAC_FC_CMD_DISABLED 0
0133 #define K_MAC_FC_CMD_ENABLED 1
0134 #define K_MAC_FC_CMD_ENAB_FALSECARR 2
0135
0136 #define V_MAC_FC_CMD_DISABLED V_MAC_FC_CMD(K_MAC_FC_CMD_DISABLED)
0137 #define V_MAC_FC_CMD_ENABLED V_MAC_FC_CMD(K_MAC_FC_CMD_ENABLED)
0138 #define V_MAC_FC_CMD_ENAB_FALSECARR V_MAC_FC_CMD(K_MAC_FC_CMD_ENAB_FALSECARR)
0139
0140 #define M_MAC_FC_SEL _SB_MAKEMASK1(54)
0141
0142 #define S_MAC_FC_CMD _SB_MAKE64(55)
0143 #define M_MAC_FC_CMD _SB_MAKEMASK(2, S_MAC_FC_CMD)
0144 #define V_MAC_FC_CMD(x) _SB_MAKEVALUE(x, S_MAC_FC_CMD)
0145 #define G_MAC_FC_CMD(x) _SB_GETVALUE(x, S_MAC_FC_CMD, M_MAC_FC_CMD)
0146
0147 #define S_MAC_RX_CH_SEL _SB_MAKE64(57)
0148 #define M_MAC_RX_CH_SEL _SB_MAKEMASK(7, S_MAC_RX_CH_SEL)
0149 #define V_MAC_RX_CH_SEL(x) _SB_MAKEVALUE(x, S_MAC_RX_CH_SEL)
0150 #define G_MAC_RX_CH_SEL(x) _SB_GETVALUE(x, S_MAC_RX_CH_SEL, M_MAC_RX_CH_SEL)
0151
0152
0153
0154
0155
0156
0157
0158
0159
0160 #define M_MAC_RXDMA_EN0 _SB_MAKEMASK1(0)
0161 #define M_MAC_RXDMA_EN1 _SB_MAKEMASK1(1)
0162 #define M_MAC_TXDMA_EN0 _SB_MAKEMASK1(4)
0163 #define M_MAC_TXDMA_EN1 _SB_MAKEMASK1(5)
0164
0165 #define M_MAC_PORT_RESET _SB_MAKEMASK1(8)
0166
0167 #if (SIBYTE_HDR_FEATURE_CHIP(1250) || SIBYTE_HDR_FEATURE_CHIP(112x))
0168 #define M_MAC_RX_ENABLE _SB_MAKEMASK1(10)
0169 #define M_MAC_TX_ENABLE _SB_MAKEMASK1(11)
0170 #define M_MAC_BYP_RX_ENABLE _SB_MAKEMASK1(12)
0171 #define M_MAC_BYP_TX_ENABLE _SB_MAKEMASK1(13)
0172 #endif
0173
0174
0175
0176
0177 #if SIBYTE_HDR_FEATURE_CHIP(1480)
0178 #define M_MAC_RX_CH0_PAUSE_ON _SB_MAKEMASK1(8)
0179 #define M_MAC_RX_CH1_PAUSE_ON _SB_MAKEMASK1(16)
0180 #define M_MAC_TX_CH0_PAUSE_ON _SB_MAKEMASK1(24)
0181 #define M_MAC_TX_CH1_PAUSE_ON _SB_MAKEMASK1(32)
0182 #endif
0183
0184
0185
0186
0187
0188
0189
0190
0191 #define S_MAC_TXD_WEIGHT0 _SB_MAKE64(0)
0192 #define M_MAC_TXD_WEIGHT0 _SB_MAKEMASK(4, S_MAC_TXD_WEIGHT0)
0193 #define V_MAC_TXD_WEIGHT0(x) _SB_MAKEVALUE(x, S_MAC_TXD_WEIGHT0)
0194 #define G_MAC_TXD_WEIGHT0(x) _SB_GETVALUE(x, S_MAC_TXD_WEIGHT0, M_MAC_TXD_WEIGHT0)
0195
0196 #define S_MAC_TXD_WEIGHT1 _SB_MAKE64(4)
0197 #define M_MAC_TXD_WEIGHT1 _SB_MAKEMASK(4, S_MAC_TXD_WEIGHT1)
0198 #define V_MAC_TXD_WEIGHT1(x) _SB_MAKEVALUE(x, S_MAC_TXD_WEIGHT1)
0199 #define G_MAC_TXD_WEIGHT1(x) _SB_GETVALUE(x, S_MAC_TXD_WEIGHT1, M_MAC_TXD_WEIGHT1)
0200
0201
0202
0203
0204
0205
0206
0207
0208 #define S_MAC_TX_WR_THRSH _SB_MAKE64(0)
0209 #if SIBYTE_HDR_FEATURE_UP_TO(1250, PASS1)
0210
0211
0212 #endif
0213 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0214 #define M_MAC_TX_WR_THRSH _SB_MAKEMASK(7, S_MAC_TX_WR_THRSH)
0215 #endif
0216 #define V_MAC_TX_WR_THRSH(x) _SB_MAKEVALUE(x, S_MAC_TX_WR_THRSH)
0217 #define G_MAC_TX_WR_THRSH(x) _SB_GETVALUE(x, S_MAC_TX_WR_THRSH, M_MAC_TX_WR_THRSH)
0218
0219 #define S_MAC_TX_RD_THRSH _SB_MAKE64(8)
0220 #if SIBYTE_HDR_FEATURE_UP_TO(1250, PASS1)
0221
0222
0223 #endif
0224 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0225 #define M_MAC_TX_RD_THRSH _SB_MAKEMASK(7, S_MAC_TX_RD_THRSH)
0226 #endif
0227 #define V_MAC_TX_RD_THRSH(x) _SB_MAKEVALUE(x, S_MAC_TX_RD_THRSH)
0228 #define G_MAC_TX_RD_THRSH(x) _SB_GETVALUE(x, S_MAC_TX_RD_THRSH, M_MAC_TX_RD_THRSH)
0229
0230 #define S_MAC_TX_RL_THRSH _SB_MAKE64(16)
0231 #define M_MAC_TX_RL_THRSH _SB_MAKEMASK(4, S_MAC_TX_RL_THRSH)
0232 #define V_MAC_TX_RL_THRSH(x) _SB_MAKEVALUE(x, S_MAC_TX_RL_THRSH)
0233 #define G_MAC_TX_RL_THRSH(x) _SB_GETVALUE(x, S_MAC_TX_RL_THRSH, M_MAC_TX_RL_THRSH)
0234
0235 #define S_MAC_RX_PL_THRSH _SB_MAKE64(24)
0236 #define M_MAC_RX_PL_THRSH _SB_MAKEMASK(6, S_MAC_RX_PL_THRSH)
0237 #define V_MAC_RX_PL_THRSH(x) _SB_MAKEVALUE(x, S_MAC_RX_PL_THRSH)
0238 #define G_MAC_RX_PL_THRSH(x) _SB_GETVALUE(x, S_MAC_RX_PL_THRSH, M_MAC_RX_PL_THRSH)
0239
0240 #define S_MAC_RX_RD_THRSH _SB_MAKE64(32)
0241 #define M_MAC_RX_RD_THRSH _SB_MAKEMASK(6, S_MAC_RX_RD_THRSH)
0242 #define V_MAC_RX_RD_THRSH(x) _SB_MAKEVALUE(x, S_MAC_RX_RD_THRSH)
0243 #define G_MAC_RX_RD_THRSH(x) _SB_GETVALUE(x, S_MAC_RX_RD_THRSH, M_MAC_RX_RD_THRSH)
0244
0245 #define S_MAC_RX_RL_THRSH _SB_MAKE64(40)
0246 #define M_MAC_RX_RL_THRSH _SB_MAKEMASK(6, S_MAC_RX_RL_THRSH)
0247 #define V_MAC_RX_RL_THRSH(x) _SB_MAKEVALUE(x, S_MAC_RX_RL_THRSH)
0248 #define G_MAC_RX_RL_THRSH(x) _SB_GETVALUE(x, S_MAC_RX_RL_THRSH, M_MAC_RX_RL_THRSH)
0249
0250 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0251 #define S_MAC_ENC_FC_THRSH _SB_MAKE64(56)
0252 #define M_MAC_ENC_FC_THRSH _SB_MAKEMASK(6, S_MAC_ENC_FC_THRSH)
0253 #define V_MAC_ENC_FC_THRSH(x) _SB_MAKEVALUE(x, S_MAC_ENC_FC_THRSH)
0254 #define G_MAC_ENC_FC_THRSH(x) _SB_GETVALUE(x, S_MAC_ENC_FC_THRSH, M_MAC_ENC_FC_THRSH)
0255 #endif
0256
0257
0258
0259
0260
0261
0262
0263
0264
0265 #define S_MAC_IFG_RX _SB_MAKE64(0)
0266 #define M_MAC_IFG_RX _SB_MAKEMASK(6, S_MAC_IFG_RX)
0267 #define V_MAC_IFG_RX(x) _SB_MAKEVALUE(x, S_MAC_IFG_RX)
0268 #define G_MAC_IFG_RX(x) _SB_GETVALUE(x, S_MAC_IFG_RX, M_MAC_IFG_RX)
0269
0270 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0271 #define S_MAC_PRE_LEN _SB_MAKE64(0)
0272 #define M_MAC_PRE_LEN _SB_MAKEMASK(6, S_MAC_PRE_LEN)
0273 #define V_MAC_PRE_LEN(x) _SB_MAKEVALUE(x, S_MAC_PRE_LEN)
0274 #define G_MAC_PRE_LEN(x) _SB_GETVALUE(x, S_MAC_PRE_LEN, M_MAC_PRE_LEN)
0275 #endif
0276
0277 #define S_MAC_IFG_TX _SB_MAKE64(6)
0278 #define M_MAC_IFG_TX _SB_MAKEMASK(6, S_MAC_IFG_TX)
0279 #define V_MAC_IFG_TX(x) _SB_MAKEVALUE(x, S_MAC_IFG_TX)
0280 #define G_MAC_IFG_TX(x) _SB_GETVALUE(x, S_MAC_IFG_TX, M_MAC_IFG_TX)
0281
0282 #define S_MAC_IFG_THRSH _SB_MAKE64(12)
0283 #define M_MAC_IFG_THRSH _SB_MAKEMASK(6, S_MAC_IFG_THRSH)
0284 #define V_MAC_IFG_THRSH(x) _SB_MAKEVALUE(x, S_MAC_IFG_THRSH)
0285 #define G_MAC_IFG_THRSH(x) _SB_GETVALUE(x, S_MAC_IFG_THRSH, M_MAC_IFG_THRSH)
0286
0287 #define S_MAC_BACKOFF_SEL _SB_MAKE64(18)
0288 #define M_MAC_BACKOFF_SEL _SB_MAKEMASK(4, S_MAC_BACKOFF_SEL)
0289 #define V_MAC_BACKOFF_SEL(x) _SB_MAKEVALUE(x, S_MAC_BACKOFF_SEL)
0290 #define G_MAC_BACKOFF_SEL(x) _SB_GETVALUE(x, S_MAC_BACKOFF_SEL, M_MAC_BACKOFF_SEL)
0291
0292 #define S_MAC_LFSR_SEED _SB_MAKE64(22)
0293 #define M_MAC_LFSR_SEED _SB_MAKEMASK(8, S_MAC_LFSR_SEED)
0294 #define V_MAC_LFSR_SEED(x) _SB_MAKEVALUE(x, S_MAC_LFSR_SEED)
0295 #define G_MAC_LFSR_SEED(x) _SB_GETVALUE(x, S_MAC_LFSR_SEED, M_MAC_LFSR_SEED)
0296
0297 #define S_MAC_SLOT_SIZE _SB_MAKE64(30)
0298 #define M_MAC_SLOT_SIZE _SB_MAKEMASK(10, S_MAC_SLOT_SIZE)
0299 #define V_MAC_SLOT_SIZE(x) _SB_MAKEVALUE(x, S_MAC_SLOT_SIZE)
0300 #define G_MAC_SLOT_SIZE(x) _SB_GETVALUE(x, S_MAC_SLOT_SIZE, M_MAC_SLOT_SIZE)
0301
0302 #define S_MAC_MIN_FRAMESZ _SB_MAKE64(40)
0303 #define M_MAC_MIN_FRAMESZ _SB_MAKEMASK(8, S_MAC_MIN_FRAMESZ)
0304 #define V_MAC_MIN_FRAMESZ(x) _SB_MAKEVALUE(x, S_MAC_MIN_FRAMESZ)
0305 #define G_MAC_MIN_FRAMESZ(x) _SB_GETVALUE(x, S_MAC_MIN_FRAMESZ, M_MAC_MIN_FRAMESZ)
0306
0307 #define S_MAC_MAX_FRAMESZ _SB_MAKE64(48)
0308 #define M_MAC_MAX_FRAMESZ _SB_MAKEMASK(16, S_MAC_MAX_FRAMESZ)
0309 #define V_MAC_MAX_FRAMESZ(x) _SB_MAKEVALUE(x, S_MAC_MAX_FRAMESZ)
0310 #define G_MAC_MAX_FRAMESZ(x) _SB_GETVALUE(x, S_MAC_MAX_FRAMESZ, M_MAC_MAX_FRAMESZ)
0311
0312
0313
0314
0315
0316
0317 #define K_MAC_IFG_RX_10 _SB_MAKE64(0)
0318 #define K_MAC_IFG_RX_100 _SB_MAKE64(0)
0319 #define K_MAC_IFG_RX_1000 _SB_MAKE64(0)
0320
0321 #define K_MAC_IFG_TX_10 _SB_MAKE64(20)
0322 #define K_MAC_IFG_TX_100 _SB_MAKE64(20)
0323 #define K_MAC_IFG_TX_1000 _SB_MAKE64(8)
0324
0325 #define K_MAC_IFG_THRSH_10 _SB_MAKE64(4)
0326 #define K_MAC_IFG_THRSH_100 _SB_MAKE64(4)
0327 #define K_MAC_IFG_THRSH_1000 _SB_MAKE64(0)
0328
0329 #define K_MAC_SLOT_SIZE_10 _SB_MAKE64(0)
0330 #define K_MAC_SLOT_SIZE_100 _SB_MAKE64(0)
0331 #define K_MAC_SLOT_SIZE_1000 _SB_MAKE64(0)
0332
0333 #define V_MAC_IFG_RX_10 V_MAC_IFG_RX(K_MAC_IFG_RX_10)
0334 #define V_MAC_IFG_RX_100 V_MAC_IFG_RX(K_MAC_IFG_RX_100)
0335 #define V_MAC_IFG_RX_1000 V_MAC_IFG_RX(K_MAC_IFG_RX_1000)
0336
0337 #define V_MAC_IFG_TX_10 V_MAC_IFG_TX(K_MAC_IFG_TX_10)
0338 #define V_MAC_IFG_TX_100 V_MAC_IFG_TX(K_MAC_IFG_TX_100)
0339 #define V_MAC_IFG_TX_1000 V_MAC_IFG_TX(K_MAC_IFG_TX_1000)
0340
0341 #define V_MAC_IFG_THRSH_10 V_MAC_IFG_THRSH(K_MAC_IFG_THRSH_10)
0342 #define V_MAC_IFG_THRSH_100 V_MAC_IFG_THRSH(K_MAC_IFG_THRSH_100)
0343 #define V_MAC_IFG_THRSH_1000 V_MAC_IFG_THRSH(K_MAC_IFG_THRSH_1000)
0344
0345 #define V_MAC_SLOT_SIZE_10 V_MAC_SLOT_SIZE(K_MAC_SLOT_SIZE_10)
0346 #define V_MAC_SLOT_SIZE_100 V_MAC_SLOT_SIZE(K_MAC_SLOT_SIZE_100)
0347 #define V_MAC_SLOT_SIZE_1000 V_MAC_SLOT_SIZE(K_MAC_SLOT_SIZE_1000)
0348
0349 #define K_MAC_MIN_FRAMESZ_FIFO _SB_MAKE64(9)
0350 #define K_MAC_MIN_FRAMESZ_DEFAULT _SB_MAKE64(64)
0351 #define K_MAC_MAX_FRAMESZ_DEFAULT _SB_MAKE64(1518)
0352 #define K_MAC_MAX_FRAMESZ_JUMBO _SB_MAKE64(9216)
0353
0354 #define V_MAC_MIN_FRAMESZ_FIFO V_MAC_MIN_FRAMESZ(K_MAC_MIN_FRAMESZ_FIFO)
0355 #define V_MAC_MIN_FRAMESZ_DEFAULT V_MAC_MIN_FRAMESZ(K_MAC_MIN_FRAMESZ_DEFAULT)
0356 #define V_MAC_MAX_FRAMESZ_DEFAULT V_MAC_MAX_FRAMESZ(K_MAC_MAX_FRAMESZ_DEFAULT)
0357 #define V_MAC_MAX_FRAMESZ_JUMBO V_MAC_MAX_FRAMESZ(K_MAC_MAX_FRAMESZ_JUMBO)
0358
0359
0360
0361
0362
0363
0364
0365
0366 #define S_MAC_VLAN_TAG _SB_MAKE64(0)
0367 #define M_MAC_VLAN_TAG _SB_MAKEMASK(32, S_MAC_VLAN_TAG)
0368 #define V_MAC_VLAN_TAG(x) _SB_MAKEVALUE(x, S_MAC_VLAN_TAG)
0369 #define G_MAC_VLAN_TAG(x) _SB_GETVALUE(x, S_MAC_VLAN_TAG, M_MAC_VLAN_TAG)
0370
0371 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1)
0372 #define S_MAC_TX_PKT_OFFSET _SB_MAKE64(32)
0373 #define M_MAC_TX_PKT_OFFSET _SB_MAKEMASK(8, S_MAC_TX_PKT_OFFSET)
0374 #define V_MAC_TX_PKT_OFFSET(x) _SB_MAKEVALUE(x, S_MAC_TX_PKT_OFFSET)
0375 #define G_MAC_TX_PKT_OFFSET(x) _SB_GETVALUE(x, S_MAC_TX_PKT_OFFSET, M_MAC_TX_PKT_OFFSET)
0376
0377 #define S_MAC_TX_CRC_OFFSET _SB_MAKE64(40)
0378 #define M_MAC_TX_CRC_OFFSET _SB_MAKEMASK(8, S_MAC_TX_CRC_OFFSET)
0379 #define V_MAC_TX_CRC_OFFSET(x) _SB_MAKEVALUE(x, S_MAC_TX_CRC_OFFSET)
0380 #define G_MAC_TX_CRC_OFFSET(x) _SB_GETVALUE(x, S_MAC_TX_CRC_OFFSET, M_MAC_TX_CRC_OFFSET)
0381
0382 #define M_MAC_CH_BASE_FC_EN _SB_MAKEMASK1(48)
0383 #endif
0384
0385
0386
0387
0388
0389
0390
0391
0392
0393
0394
0395
0396
0397
0398
0399
0400
0401
0402 #define S_MAC_RX_CH0 _SB_MAKE64(0)
0403 #define S_MAC_RX_CH1 _SB_MAKE64(8)
0404 #define S_MAC_TX_CH0 _SB_MAKE64(16)
0405 #define S_MAC_TX_CH1 _SB_MAKE64(24)
0406
0407 #define S_MAC_TXCHANNELS _SB_MAKE64(16)
0408 #define S_MAC_CHANWIDTH _SB_MAKE64(8)
0409
0410
0411
0412
0413
0414
0415 #define M_MAC_INT_CHANNEL _SB_MAKEMASK(8, 0)
0416 #define M_MAC_INT_EOP_COUNT _SB_MAKEMASK1(0)
0417 #define M_MAC_INT_EOP_TIMER _SB_MAKEMASK1(1)
0418 #define M_MAC_INT_EOP_SEEN _SB_MAKEMASK1(2)
0419 #define M_MAC_INT_HWM _SB_MAKEMASK1(3)
0420 #define M_MAC_INT_LWM _SB_MAKEMASK1(4)
0421 #define M_MAC_INT_DSCR _SB_MAKEMASK1(5)
0422 #define M_MAC_INT_ERR _SB_MAKEMASK1(6)
0423 #define M_MAC_INT_DZERO _SB_MAKEMASK1(7)
0424 #define M_MAC_INT_DROP _SB_MAKEMASK1(7)
0425
0426
0427
0428
0429
0430 #define S_MAC_STATUS_CH_OFFSET(ch, txrx) _SB_MAKE64(((ch) + 2 * (txrx)) * S_MAC_CHANWIDTH)
0431
0432 #define M_MAC_STATUS_CHANNEL(ch, txrx) _SB_MAKEVALUE(_SB_MAKEMASK(8, 0), S_MAC_STATUS_CH_OFFSET(ch, txrx))
0433 #define M_MAC_STATUS_EOP_COUNT(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_EOP_COUNT, S_MAC_STATUS_CH_OFFSET(ch, txrx))
0434 #define M_MAC_STATUS_EOP_TIMER(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_EOP_TIMER, S_MAC_STATUS_CH_OFFSET(ch, txrx))
0435 #define M_MAC_STATUS_EOP_SEEN(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_EOP_SEEN, S_MAC_STATUS_CH_OFFSET(ch, txrx))
0436 #define M_MAC_STATUS_HWM(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_HWM, S_MAC_STATUS_CH_OFFSET(ch, txrx))
0437 #define M_MAC_STATUS_LWM(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_LWM, S_MAC_STATUS_CH_OFFSET(ch, txrx))
0438 #define M_MAC_STATUS_DSCR(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_DSCR, S_MAC_STATUS_CH_OFFSET(ch, txrx))
0439 #define M_MAC_STATUS_ERR(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_ERR, S_MAC_STATUS_CH_OFFSET(ch, txrx))
0440 #define M_MAC_STATUS_DZERO(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_DZERO, S_MAC_STATUS_CH_OFFSET(ch, txrx))
0441 #define M_MAC_STATUS_DROP(ch, txrx) _SB_MAKEVALUE(M_MAC_INT_DROP, S_MAC_STATUS_CH_OFFSET(ch, txrx))
0442 #define M_MAC_STATUS_OTHER_ERR _SB_MAKEVALUE(_SB_MAKEMASK(7, 0), 40)
0443
0444
0445 #define M_MAC_RX_UNDRFL _SB_MAKEMASK1(40)
0446 #define M_MAC_RX_OVRFL _SB_MAKEMASK1(41)
0447 #define M_MAC_TX_UNDRFL _SB_MAKEMASK1(42)
0448 #define M_MAC_TX_OVRFL _SB_MAKEMASK1(43)
0449 #define M_MAC_LTCOL_ERR _SB_MAKEMASK1(44)
0450 #define M_MAC_EXCOL_ERR _SB_MAKEMASK1(45)
0451 #define M_MAC_CNTR_OVRFL_ERR _SB_MAKEMASK1(46)
0452 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0453 #define M_MAC_SPLIT_EN _SB_MAKEMASK1(47)
0454 #endif
0455
0456 #define S_MAC_COUNTER_ADDR _SB_MAKE64(47)
0457 #define M_MAC_COUNTER_ADDR _SB_MAKEMASK(5, S_MAC_COUNTER_ADDR)
0458 #define V_MAC_COUNTER_ADDR(x) _SB_MAKEVALUE(x, S_MAC_COUNTER_ADDR)
0459 #define G_MAC_COUNTER_ADDR(x) _SB_GETVALUE(x, S_MAC_COUNTER_ADDR, M_MAC_COUNTER_ADDR)
0460
0461 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0462 #define M_MAC_TX_PAUSE_ON _SB_MAKEMASK1(52)
0463 #endif
0464
0465
0466
0467
0468
0469
0470
0471
0472 #define S_MAC_TX_WRPTR _SB_MAKE64(0)
0473 #define M_MAC_TX_WRPTR _SB_MAKEMASK(6, S_MAC_TX_WRPTR)
0474 #define V_MAC_TX_WRPTR(x) _SB_MAKEVALUE(x, S_MAC_TX_WRPTR)
0475 #define G_MAC_TX_WRPTR(x) _SB_GETVALUE(x, S_MAC_TX_WRPTR, M_MAC_TX_WRPTR)
0476
0477 #define S_MAC_TX_RDPTR _SB_MAKE64(8)
0478 #define M_MAC_TX_RDPTR _SB_MAKEMASK(6, S_MAC_TX_RDPTR)
0479 #define V_MAC_TX_RDPTR(x) _SB_MAKEVALUE(x, S_MAC_TX_RDPTR)
0480 #define G_MAC_TX_RDPTR(x) _SB_GETVALUE(x, S_MAC_TX_RDPTR, M_MAC_TX_RDPTR)
0481
0482 #define S_MAC_RX_WRPTR _SB_MAKE64(16)
0483 #define M_MAC_RX_WRPTR _SB_MAKEMASK(6, S_MAC_RX_WRPTR)
0484 #define V_MAC_RX_WRPTR(x) _SB_MAKEVALUE(x, S_MAC_RX_WRPTR)
0485 #define G_MAC_RX_WRPTR(x) _SB_GETVALUE(x, S_MAC_RX_WRPTR, M_MAC_TX_WRPTR)
0486
0487 #define S_MAC_RX_RDPTR _SB_MAKE64(24)
0488 #define M_MAC_RX_RDPTR _SB_MAKEMASK(6, S_MAC_RX_RDPTR)
0489 #define V_MAC_RX_RDPTR(x) _SB_MAKEVALUE(x, S_MAC_RX_RDPTR)
0490 #define G_MAC_RX_RDPTR(x) _SB_GETVALUE(x, S_MAC_RX_RDPTR, M_MAC_TX_RDPTR)
0491
0492
0493
0494
0495
0496
0497
0498
0499 #define S_MAC_TX_EOP_COUNTER _SB_MAKE64(0)
0500 #define M_MAC_TX_EOP_COUNTER _SB_MAKEMASK(6, S_MAC_TX_EOP_COUNTER)
0501 #define V_MAC_TX_EOP_COUNTER(x) _SB_MAKEVALUE(x, S_MAC_TX_EOP_COUNTER)
0502 #define G_MAC_TX_EOP_COUNTER(x) _SB_GETVALUE(x, S_MAC_TX_EOP_COUNTER, M_MAC_TX_EOP_COUNTER)
0503
0504 #define S_MAC_RX_EOP_COUNTER _SB_MAKE64(8)
0505 #define M_MAC_RX_EOP_COUNTER _SB_MAKEMASK(6, S_MAC_RX_EOP_COUNTER)
0506 #define V_MAC_RX_EOP_COUNTER(x) _SB_MAKEVALUE(x, S_MAC_RX_EOP_COUNTER)
0507 #define G_MAC_RX_EOP_COUNTER(x) _SB_GETVALUE(x, S_MAC_RX_EOP_COUNTER, M_MAC_RX_EOP_COUNTER)
0508
0509
0510
0511
0512
0513
0514
0515
0516
0517
0518
0519
0520
0521
0522
0523
0524
0525
0526
0527
0528
0529
0530
0531
0532
0533
0534
0535
0536
0537
0538
0539
0540
0541
0542
0543
0544
0545
0546
0547
0548
0549
0550
0551
0552 #define S_TYPECFG_TYPESIZE _SB_MAKE64(16)
0553
0554 #define S_TYPECFG_TYPE0 _SB_MAKE64(0)
0555 #define M_TYPECFG_TYPE0 _SB_MAKEMASK(16, S_TYPECFG_TYPE0)
0556 #define V_TYPECFG_TYPE0(x) _SB_MAKEVALUE(x, S_TYPECFG_TYPE0)
0557 #define G_TYPECFG_TYPE0(x) _SB_GETVALUE(x, S_TYPECFG_TYPE0, M_TYPECFG_TYPE0)
0558
0559 #define S_TYPECFG_TYPE1 _SB_MAKE64(0)
0560 #define M_TYPECFG_TYPE1 _SB_MAKEMASK(16, S_TYPECFG_TYPE1)
0561 #define V_TYPECFG_TYPE1(x) _SB_MAKEVALUE(x, S_TYPECFG_TYPE1)
0562 #define G_TYPECFG_TYPE1(x) _SB_GETVALUE(x, S_TYPECFG_TYPE1, M_TYPECFG_TYPE1)
0563
0564 #define S_TYPECFG_TYPE2 _SB_MAKE64(0)
0565 #define M_TYPECFG_TYPE2 _SB_MAKEMASK(16, S_TYPECFG_TYPE2)
0566 #define V_TYPECFG_TYPE2(x) _SB_MAKEVALUE(x, S_TYPECFG_TYPE2)
0567 #define G_TYPECFG_TYPE2(x) _SB_GETVALUE(x, S_TYPECFG_TYPE2, M_TYPECFG_TYPE2)
0568
0569 #define S_TYPECFG_TYPE3 _SB_MAKE64(0)
0570 #define M_TYPECFG_TYPE3 _SB_MAKEMASK(16, S_TYPECFG_TYPE3)
0571 #define V_TYPECFG_TYPE3(x) _SB_MAKEVALUE(x, S_TYPECFG_TYPE3)
0572 #define G_TYPECFG_TYPE3(x) _SB_GETVALUE(x, S_TYPECFG_TYPE3, M_TYPECFG_TYPE3)
0573
0574
0575
0576
0577
0578
0579
0580
0581 #define M_MAC_ALLPKT_EN _SB_MAKEMASK1(0)
0582 #define M_MAC_UCAST_EN _SB_MAKEMASK1(1)
0583 #define M_MAC_UCAST_INV _SB_MAKEMASK1(2)
0584 #define M_MAC_MCAST_EN _SB_MAKEMASK1(3)
0585 #define M_MAC_MCAST_INV _SB_MAKEMASK1(4)
0586 #define M_MAC_BCAST_EN _SB_MAKEMASK1(5)
0587 #define M_MAC_DIRECT_INV _SB_MAKEMASK1(6)
0588 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0589 #define M_MAC_ALLMCAST_EN _SB_MAKEMASK1(7)
0590 #endif
0591
0592 #define S_MAC_IPHDR_OFFSET _SB_MAKE64(8)
0593 #define M_MAC_IPHDR_OFFSET _SB_MAKEMASK(8, S_MAC_IPHDR_OFFSET)
0594 #define V_MAC_IPHDR_OFFSET(x) _SB_MAKEVALUE(x, S_MAC_IPHDR_OFFSET)
0595 #define G_MAC_IPHDR_OFFSET(x) _SB_GETVALUE(x, S_MAC_IPHDR_OFFSET, M_MAC_IPHDR_OFFSET)
0596
0597 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0598 #define S_MAC_RX_CRC_OFFSET _SB_MAKE64(16)
0599 #define M_MAC_RX_CRC_OFFSET _SB_MAKEMASK(8, S_MAC_RX_CRC_OFFSET)
0600 #define V_MAC_RX_CRC_OFFSET(x) _SB_MAKEVALUE(x, S_MAC_RX_CRC_OFFSET)
0601 #define G_MAC_RX_CRC_OFFSET(x) _SB_GETVALUE(x, S_MAC_RX_CRC_OFFSET, M_MAC_RX_CRC_OFFSET)
0602
0603 #define S_MAC_RX_PKT_OFFSET _SB_MAKE64(24)
0604 #define M_MAC_RX_PKT_OFFSET _SB_MAKEMASK(8, S_MAC_RX_PKT_OFFSET)
0605 #define V_MAC_RX_PKT_OFFSET(x) _SB_MAKEVALUE(x, S_MAC_RX_PKT_OFFSET)
0606 #define G_MAC_RX_PKT_OFFSET(x) _SB_GETVALUE(x, S_MAC_RX_PKT_OFFSET, M_MAC_RX_PKT_OFFSET)
0607
0608 #define M_MAC_FWDPAUSE_EN _SB_MAKEMASK1(32)
0609 #define M_MAC_VLAN_DET_EN _SB_MAKEMASK1(33)
0610
0611 #define S_MAC_RX_CH_MSN_SEL _SB_MAKE64(34)
0612 #define M_MAC_RX_CH_MSN_SEL _SB_MAKEMASK(8, S_MAC_RX_CH_MSN_SEL)
0613 #define V_MAC_RX_CH_MSN_SEL(x) _SB_MAKEVALUE(x, S_MAC_RX_CH_MSN_SEL)
0614 #define G_MAC_RX_CH_MSN_SEL(x) _SB_GETVALUE(x, S_MAC_RX_CH_MSN_SEL, M_MAC_RX_CH_MSN_SEL)
0615 #endif
0616
0617
0618
0619
0620
0621
0622
0623
0624
0625
0626
0627
0628
0629
0630 #define S_MAC_MDC 0
0631 #define S_MAC_MDIO_DIR 1
0632 #define S_MAC_MDIO_OUT 2
0633 #define S_MAC_GENC 3
0634 #define S_MAC_MDIO_IN 4
0635
0636 #define M_MAC_MDC _SB_MAKEMASK1(S_MAC_MDC)
0637 #define M_MAC_MDIO_DIR _SB_MAKEMASK1(S_MAC_MDIO_DIR)
0638 #define M_MAC_MDIO_DIR_INPUT _SB_MAKEMASK1(S_MAC_MDIO_DIR)
0639 #define M_MAC_MDIO_OUT _SB_MAKEMASK1(S_MAC_MDIO_OUT)
0640 #define M_MAC_GENC _SB_MAKEMASK1(S_MAC_GENC)
0641 #define M_MAC_MDIO_IN _SB_MAKEMASK1(S_MAC_MDIO_IN)
0642
0643 #endif