0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #ifndef _SB1250_REGS_H
0021 #define _SB1250_REGS_H
0022
0023 #include <asm/sibyte/sb1250_defs.h>
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050 #if SIBYTE_HDR_FEATURE_1250_112x
0051 #define A_MC_BASE_0 0x0010051000
0052 #define A_MC_BASE_1 0x0010052000
0053 #define MC_REGISTER_SPACING 0x1000
0054
0055 #define A_MC_BASE(ctlid) ((ctlid)*MC_REGISTER_SPACING+A_MC_BASE_0)
0056 #define A_MC_REGISTER(ctlid, reg) (A_MC_BASE(ctlid)+(reg))
0057
0058 #define R_MC_CONFIG 0x0000000100
0059 #define R_MC_DRAMCMD 0x0000000120
0060 #define R_MC_DRAMMODE 0x0000000140
0061 #define R_MC_TIMING1 0x0000000160
0062 #define R_MC_TIMING2 0x0000000180
0063 #define R_MC_CS_START 0x00000001A0
0064 #define R_MC_CS_END 0x00000001C0
0065 #define R_MC_CS_INTERLEAVE 0x00000001E0
0066 #define S_MC_CS_STARTEND 16
0067
0068 #define R_MC_CSX_BASE 0x0000000200
0069 #define R_MC_CSX_ROW 0x0000000000
0070 #define R_MC_CSX_COL 0x0000000020
0071 #define R_MC_CSX_BA 0x0000000040
0072 #define MC_CSX_SPACING 0x0000000060
0073
0074 #define R_MC_CS0_ROW 0x0000000200
0075 #define R_MC_CS0_COL 0x0000000220
0076 #define R_MC_CS0_BA 0x0000000240
0077 #define R_MC_CS1_ROW 0x0000000260
0078 #define R_MC_CS1_COL 0x0000000280
0079 #define R_MC_CS1_BA 0x00000002A0
0080 #define R_MC_CS2_ROW 0x00000002C0
0081 #define R_MC_CS2_COL 0x00000002E0
0082 #define R_MC_CS2_BA 0x0000000300
0083 #define R_MC_CS3_ROW 0x0000000320
0084 #define R_MC_CS3_COL 0x0000000340
0085 #define R_MC_CS3_BA 0x0000000360
0086 #define R_MC_CS_ATTR 0x0000000380
0087 #define R_MC_TEST_DATA 0x0000000400
0088 #define R_MC_TEST_ECC 0x0000000420
0089 #define R_MC_MCLK_CFG 0x0000000500
0090
0091 #endif
0092
0093
0094
0095
0096
0097 #if SIBYTE_HDR_FEATURE_1250_112x
0098
0099 #define A_L2_READ_TAG 0x0010040018
0100 #define A_L2_ECC_TAG 0x0010040038
0101 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1)
0102 #define A_L2_READ_MISC 0x0010040058
0103 #endif
0104 #define A_L2_WAY_DISABLE 0x0010041000
0105 #define A_L2_MAKEDISABLE(x) (A_L2_WAY_DISABLE | (((~(x))&0x0F) << 8))
0106 #define A_L2_MGMT_TAG_BASE 0x00D0000000
0107
0108 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)
0109 #define A_L2_CACHE_DISABLE 0x0010042000
0110 #define A_L2_MAKECACHEDISABLE(x) (A_L2_CACHE_DISABLE | (((x)&0x0F) << 8))
0111 #define A_L2_MISC_CONFIG 0x0010043000
0112 #endif
0113
0114
0115
0116 #define A_L2_READ_ADDRESS A_L2_READ_TAG
0117 #define A_L2_EEC_ADDRESS A_L2_ECC_TAG
0118
0119 #endif
0120
0121
0122
0123
0124
0125
0126 #if SIBYTE_HDR_FEATURE_1250_112x
0127 #define A_PCI_TYPE00_HEADER 0x00DE000000
0128 #define A_PCI_TYPE01_HEADER 0x00DE000800
0129 #endif
0130
0131
0132
0133
0134
0135
0136 #define A_MAC_BASE_0 0x0010064000
0137 #define A_MAC_BASE_1 0x0010065000
0138 #if SIBYTE_HDR_FEATURE_CHIP(1250)
0139 #define A_MAC_BASE_2 0x0010066000
0140 #endif
0141
0142 #define MAC_SPACING 0x1000
0143 #define MAC_DMA_TXRX_SPACING 0x0400
0144 #define MAC_DMA_CHANNEL_SPACING 0x0100
0145 #define DMA_RX 0
0146 #define DMA_TX 1
0147 #define MAC_NUM_DMACHAN 2
0148
0149
0150 #define MAC_NUM_PORTS 3
0151
0152 #define A_MAC_CHANNEL_BASE(macnum) \
0153 (A_MAC_BASE_0 + \
0154 MAC_SPACING*(macnum))
0155
0156 #define A_MAC_REGISTER(macnum,reg) \
0157 (A_MAC_BASE_0 + \
0158 MAC_SPACING*(macnum) + (reg))
0159
0160
0161 #define R_MAC_DMA_CHANNELS 0x800
0162
0163 #define A_MAC_DMA_CHANNEL_BASE(macnum, txrx, chan) \
0164 ((A_MAC_CHANNEL_BASE(macnum)) + \
0165 R_MAC_DMA_CHANNELS + \
0166 (MAC_DMA_TXRX_SPACING*(txrx)) + \
0167 (MAC_DMA_CHANNEL_SPACING*(chan)))
0168
0169 #define R_MAC_DMA_CHANNEL_BASE(txrx, chan) \
0170 (R_MAC_DMA_CHANNELS + \
0171 (MAC_DMA_TXRX_SPACING*(txrx)) + \
0172 (MAC_DMA_CHANNEL_SPACING*(chan)))
0173
0174 #define A_MAC_DMA_REGISTER(macnum, txrx, chan, reg) \
0175 (A_MAC_DMA_CHANNEL_BASE(macnum, txrx, chan) + \
0176 (reg))
0177
0178 #define R_MAC_DMA_REGISTER(txrx, chan, reg) \
0179 (R_MAC_DMA_CHANNEL_BASE(txrx, chan) + \
0180 (reg))
0181
0182
0183
0184
0185
0186 #define R_MAC_DMA_CONFIG0 0x00000000
0187 #define R_MAC_DMA_CONFIG1 0x00000008
0188 #define R_MAC_DMA_DSCR_BASE 0x00000010
0189 #define R_MAC_DMA_DSCR_CNT 0x00000018
0190 #define R_MAC_DMA_CUR_DSCRA 0x00000020
0191 #define R_MAC_DMA_CUR_DSCRB 0x00000028
0192 #define R_MAC_DMA_CUR_DSCRADDR 0x00000030
0193 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1)
0194 #define R_MAC_DMA_OODPKTLOST_RX 0x00000038
0195 #endif
0196
0197
0198
0199
0200
0201 #define R_MAC_RMON_TX_BYTES 0x00000000
0202 #define R_MAC_RMON_COLLISIONS 0x00000008
0203 #define R_MAC_RMON_LATE_COL 0x00000010
0204 #define R_MAC_RMON_EX_COL 0x00000018
0205 #define R_MAC_RMON_FCS_ERROR 0x00000020
0206 #define R_MAC_RMON_TX_ABORT 0x00000028
0207
0208 #define R_MAC_RMON_TX_BAD 0x00000038
0209 #define R_MAC_RMON_TX_GOOD 0x00000040
0210 #define R_MAC_RMON_TX_RUNT 0x00000048
0211 #define R_MAC_RMON_TX_OVERSIZE 0x00000050
0212 #define R_MAC_RMON_RX_BYTES 0x00000080
0213 #define R_MAC_RMON_RX_MCAST 0x00000088
0214 #define R_MAC_RMON_RX_BCAST 0x00000090
0215 #define R_MAC_RMON_RX_BAD 0x00000098
0216 #define R_MAC_RMON_RX_GOOD 0x000000A0
0217 #define R_MAC_RMON_RX_RUNT 0x000000A8
0218 #define R_MAC_RMON_RX_OVERSIZE 0x000000B0
0219 #define R_MAC_RMON_RX_FCS_ERROR 0x000000B8
0220 #define R_MAC_RMON_RX_LENGTH_ERROR 0x000000C0
0221 #define R_MAC_RMON_RX_CODE_ERROR 0x000000C8
0222 #define R_MAC_RMON_RX_ALIGN_ERROR 0x000000D0
0223
0224
0225 #define R_MAC_CFG 0x00000100
0226 #define R_MAC_THRSH_CFG 0x00000108
0227 #define R_MAC_VLANTAG 0x00000110
0228 #define R_MAC_FRAMECFG 0x00000118
0229 #define R_MAC_EOPCNT 0x00000120
0230 #define R_MAC_FIFO_PTRS 0x00000128
0231 #define R_MAC_ADFILTER_CFG 0x00000200
0232 #define R_MAC_ETHERNET_ADDR 0x00000208
0233 #define R_MAC_PKT_TYPE 0x00000210
0234 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0235 #define R_MAC_ADMASK0 0x00000218
0236 #define R_MAC_ADMASK1 0x00000220
0237 #endif
0238 #define R_MAC_HASH_BASE 0x00000240
0239 #define R_MAC_ADDR_BASE 0x00000280
0240 #define R_MAC_CHLO0_BASE 0x00000300
0241 #define R_MAC_CHUP0_BASE 0x00000320
0242 #define R_MAC_ENABLE 0x00000400
0243 #define R_MAC_STATUS 0x00000408
0244 #define R_MAC_INT_MASK 0x00000410
0245 #define R_MAC_TXD_CTL 0x00000420
0246 #define R_MAC_MDIO 0x00000428
0247 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0248 #define R_MAC_STATUS1 0x00000430
0249 #endif
0250 #define R_MAC_DEBUG_STATUS 0x00000448
0251
0252 #define MAC_HASH_COUNT 8
0253 #define MAC_ADDR_COUNT 8
0254 #define MAC_CHMAP_COUNT 4
0255
0256
0257
0258
0259
0260
0261
0262 #if SIBYTE_HDR_FEATURE_1250_112x
0263 #define R_DUART_NUM_PORTS 2
0264
0265 #define A_DUART 0x0010060000
0266
0267 #define DUART_CHANREG_SPACING 0x100
0268
0269 #define A_DUART_CHANREG(chan, reg) \
0270 (A_DUART + DUART_CHANREG_SPACING * ((chan) + 1) + (reg))
0271 #endif
0272
0273 #define R_DUART_MODE_REG_1 0x000
0274 #define R_DUART_MODE_REG_2 0x010
0275 #define R_DUART_STATUS 0x020
0276 #define R_DUART_CLK_SEL 0x030
0277 #define R_DUART_CMD 0x050
0278 #define R_DUART_RX_HOLD 0x060
0279 #define R_DUART_TX_HOLD 0x070
0280
0281 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0282 #define R_DUART_FULL_CTL 0x040
0283 #define R_DUART_OPCR_X 0x080
0284 #define R_DUART_AUXCTL_X 0x090
0285 #endif
0286
0287
0288
0289
0290
0291
0292
0293 #if SIBYTE_HDR_FEATURE_1250_112x
0294 #define DUART_IMRISR_SPACING 0x20
0295 #define DUART_INCHNG_SPACING 0x10
0296
0297 #define A_DUART_CTRLREG(reg) \
0298 (A_DUART + DUART_CHANREG_SPACING * 3 + (reg))
0299
0300 #define R_DUART_IMRREG(chan) \
0301 (R_DUART_IMR_A + (chan) * DUART_IMRISR_SPACING)
0302 #define R_DUART_ISRREG(chan) \
0303 (R_DUART_ISR_A + (chan) * DUART_IMRISR_SPACING)
0304 #define R_DUART_INCHREG(chan) \
0305 (R_DUART_IN_CHNG_A + (chan) * DUART_INCHNG_SPACING)
0306
0307 #define A_DUART_IMRREG(chan) A_DUART_CTRLREG(R_DUART_IMRREG(chan))
0308 #define A_DUART_ISRREG(chan) A_DUART_CTRLREG(R_DUART_ISRREG(chan))
0309 #define A_DUART_INCHREG(chan) A_DUART_CTRLREG(R_DUART_INCHREG(chan))
0310 #endif
0311
0312 #define R_DUART_AUX_CTRL 0x010
0313 #define R_DUART_ISR_A 0x020
0314 #define R_DUART_IMR_A 0x030
0315 #define R_DUART_ISR_B 0x040
0316 #define R_DUART_IMR_B 0x050
0317 #define R_DUART_OUT_PORT 0x060
0318 #define R_DUART_OPCR 0x070
0319 #define R_DUART_IN_PORT 0x080
0320
0321 #define R_DUART_SET_OPR 0x0B0
0322 #define R_DUART_CLEAR_OPR 0x0C0
0323 #define R_DUART_IN_CHNG_A 0x0D0
0324 #define R_DUART_IN_CHNG_B 0x0E0
0325
0326
0327
0328
0329
0330
0331 #define A_DUART_MODE_REG_1_A 0x0010060100
0332 #define A_DUART_MODE_REG_2_A 0x0010060110
0333 #define A_DUART_STATUS_A 0x0010060120
0334 #define A_DUART_CLK_SEL_A 0x0010060130
0335 #define A_DUART_CMD_A 0x0010060150
0336 #define A_DUART_RX_HOLD_A 0x0010060160
0337 #define A_DUART_TX_HOLD_A 0x0010060170
0338
0339 #define A_DUART_MODE_REG_1_B 0x0010060200
0340 #define A_DUART_MODE_REG_2_B 0x0010060210
0341 #define A_DUART_STATUS_B 0x0010060220
0342 #define A_DUART_CLK_SEL_B 0x0010060230
0343 #define A_DUART_CMD_B 0x0010060250
0344 #define A_DUART_RX_HOLD_B 0x0010060260
0345 #define A_DUART_TX_HOLD_B 0x0010060270
0346
0347 #define A_DUART_INPORT_CHNG 0x0010060300
0348 #define A_DUART_AUX_CTRL 0x0010060310
0349 #define A_DUART_ISR_A 0x0010060320
0350 #define A_DUART_IMR_A 0x0010060330
0351 #define A_DUART_ISR_B 0x0010060340
0352 #define A_DUART_IMR_B 0x0010060350
0353 #define A_DUART_OUT_PORT 0x0010060360
0354 #define A_DUART_OPCR 0x0010060370
0355 #define A_DUART_IN_PORT 0x0010060380
0356 #define A_DUART_ISR 0x0010060390
0357 #define A_DUART_IMR 0x00100603A0
0358 #define A_DUART_SET_OPR 0x00100603B0
0359 #define A_DUART_CLEAR_OPR 0x00100603C0
0360 #define A_DUART_INPORT_CHNG_A 0x00100603D0
0361 #define A_DUART_INPORT_CHNG_B 0x00100603E0
0362
0363 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)
0364 #define A_DUART_FULL_CTL_A 0x0010060140
0365 #define A_DUART_FULL_CTL_B 0x0010060240
0366
0367 #define A_DUART_OPCR_A 0x0010060180
0368 #define A_DUART_OPCR_B 0x0010060280
0369
0370 #define A_DUART_INPORT_CHNG_DEBUG 0x00100603F0
0371 #endif
0372
0373
0374
0375
0376
0377
0378
0379 #if SIBYTE_HDR_FEATURE_1250_112x
0380
0381 #define A_SER_BASE_0 0x0010060400
0382 #define A_SER_BASE_1 0x0010060800
0383 #define SER_SPACING 0x400
0384
0385 #define SER_DMA_TXRX_SPACING 0x80
0386
0387 #define SER_NUM_PORTS 2
0388
0389 #define A_SER_CHANNEL_BASE(sernum) \
0390 (A_SER_BASE_0 + \
0391 SER_SPACING*(sernum))
0392
0393 #define A_SER_REGISTER(sernum,reg) \
0394 (A_SER_BASE_0 + \
0395 SER_SPACING*(sernum) + (reg))
0396
0397
0398 #define R_SER_DMA_CHANNELS 0
0399
0400 #define A_SER_DMA_CHANNEL_BASE(sernum,txrx) \
0401 ((A_SER_CHANNEL_BASE(sernum)) + \
0402 R_SER_DMA_CHANNELS + \
0403 (SER_DMA_TXRX_SPACING*(txrx)))
0404
0405 #define A_SER_DMA_REGISTER(sernum, txrx, reg) \
0406 (A_SER_DMA_CHANNEL_BASE(sernum, txrx) + \
0407 (reg))
0408
0409
0410
0411
0412
0413
0414 #define R_SER_DMA_CONFIG0 0x00000000
0415 #define R_SER_DMA_CONFIG1 0x00000008
0416 #define R_SER_DMA_DSCR_BASE 0x00000010
0417 #define R_SER_DMA_DSCR_CNT 0x00000018
0418 #define R_SER_DMA_CUR_DSCRA 0x00000020
0419 #define R_SER_DMA_CUR_DSCRB 0x00000028
0420 #define R_SER_DMA_CUR_DSCRADDR 0x00000030
0421
0422 #define R_SER_DMA_CONFIG0_RX 0x00000000
0423 #define R_SER_DMA_CONFIG1_RX 0x00000008
0424 #define R_SER_DMA_DSCR_BASE_RX 0x00000010
0425 #define R_SER_DMA_DSCR_COUNT_RX 0x00000018
0426 #define R_SER_DMA_CUR_DSCR_A_RX 0x00000020
0427 #define R_SER_DMA_CUR_DSCR_B_RX 0x00000028
0428 #define R_SER_DMA_CUR_DSCR_ADDR_RX 0x00000030
0429
0430 #define R_SER_DMA_CONFIG0_TX 0x00000080
0431 #define R_SER_DMA_CONFIG1_TX 0x00000088
0432 #define R_SER_DMA_DSCR_BASE_TX 0x00000090
0433 #define R_SER_DMA_DSCR_COUNT_TX 0x00000098
0434 #define R_SER_DMA_CUR_DSCR_A_TX 0x000000A0
0435 #define R_SER_DMA_CUR_DSCR_B_TX 0x000000A8
0436 #define R_SER_DMA_CUR_DSCR_ADDR_TX 0x000000B0
0437
0438 #define R_SER_MODE 0x00000100
0439 #define R_SER_MINFRM_SZ 0x00000108
0440 #define R_SER_MAXFRM_SZ 0x00000110
0441 #define R_SER_ADDR 0x00000118
0442 #define R_SER_USR0_ADDR 0x00000120
0443 #define R_SER_USR1_ADDR 0x00000128
0444 #define R_SER_USR2_ADDR 0x00000130
0445 #define R_SER_USR3_ADDR 0x00000138
0446 #define R_SER_CMD 0x00000140
0447 #define R_SER_TX_RD_THRSH 0x00000160
0448 #define R_SER_TX_WR_THRSH 0x00000168
0449 #define R_SER_RX_RD_THRSH 0x00000170
0450 #define R_SER_LINE_MODE 0x00000178
0451 #define R_SER_DMA_ENABLE 0x00000180
0452 #define R_SER_INT_MASK 0x00000190
0453 #define R_SER_STATUS 0x00000188
0454 #define R_SER_STATUS_DEBUG 0x000001A8
0455 #define R_SER_RX_TABLE_BASE 0x00000200
0456 #define SER_RX_TABLE_COUNT 16
0457 #define R_SER_TX_TABLE_BASE 0x00000300
0458 #define SER_TX_TABLE_COUNT 16
0459
0460
0461 #define R_SER_RMON_TX_BYTE_LO 0x000001C0
0462 #define R_SER_RMON_TX_BYTE_HI 0x000001C8
0463 #define R_SER_RMON_RX_BYTE_LO 0x000001D0
0464 #define R_SER_RMON_RX_BYTE_HI 0x000001D8
0465 #define R_SER_RMON_TX_UNDERRUN 0x000001E0
0466 #define R_SER_RMON_RX_OVERFLOW 0x000001E8
0467 #define R_SER_RMON_RX_ERRORS 0x000001F0
0468 #define R_SER_RMON_RX_BADADDR 0x000001F8
0469
0470 #endif
0471
0472
0473
0474
0475
0476 #define IO_EXT_CFG_COUNT 8
0477
0478 #define A_IO_EXT_BASE 0x0010061000
0479 #define A_IO_EXT_REG(r) (A_IO_EXT_BASE + (r))
0480
0481 #define A_IO_EXT_CFG_BASE 0x0010061000
0482 #define A_IO_EXT_MULT_SIZE_BASE 0x0010061100
0483 #define A_IO_EXT_START_ADDR_BASE 0x0010061200
0484 #define A_IO_EXT_TIME_CFG0_BASE 0x0010061600
0485 #define A_IO_EXT_TIME_CFG1_BASE 0x0010061700
0486
0487 #define IO_EXT_REGISTER_SPACING 8
0488 #define A_IO_EXT_CS_BASE(cs) (A_IO_EXT_CFG_BASE+IO_EXT_REGISTER_SPACING*(cs))
0489 #define R_IO_EXT_REG(reg, cs) ((cs)*IO_EXT_REGISTER_SPACING + (reg))
0490
0491 #define R_IO_EXT_CFG 0x0000
0492 #define R_IO_EXT_MULT_SIZE 0x0100
0493 #define R_IO_EXT_START_ADDR 0x0200
0494 #define R_IO_EXT_TIME_CFG0 0x0600
0495 #define R_IO_EXT_TIME_CFG1 0x0700
0496
0497
0498 #define A_IO_INTERRUPT_STATUS 0x0010061A00
0499 #define A_IO_INTERRUPT_DATA0 0x0010061A10
0500 #define A_IO_INTERRUPT_DATA1 0x0010061A18
0501 #define A_IO_INTERRUPT_DATA2 0x0010061A20
0502 #define A_IO_INTERRUPT_DATA3 0x0010061A28
0503 #define A_IO_INTERRUPT_ADDR0 0x0010061A30
0504 #define A_IO_INTERRUPT_ADDR1 0x0010061A40
0505 #define A_IO_INTERRUPT_PARITY 0x0010061A50
0506 #define A_IO_PCMCIA_CFG 0x0010061A60
0507 #define A_IO_PCMCIA_STATUS 0x0010061A70
0508 #define A_IO_DRIVE_0 0x0010061300
0509 #define A_IO_DRIVE_1 0x0010061308
0510 #define A_IO_DRIVE_2 0x0010061310
0511 #define A_IO_DRIVE_3 0x0010061318
0512 #define A_IO_DRIVE_BASE A_IO_DRIVE_0
0513 #define IO_DRIVE_REGISTER_SPACING 8
0514 #define R_IO_DRIVE(x) ((x)*IO_DRIVE_REGISTER_SPACING)
0515 #define A_IO_DRIVE(x) (A_IO_DRIVE_BASE + R_IO_DRIVE(x))
0516
0517 #define R_IO_INTERRUPT_STATUS 0x0A00
0518 #define R_IO_INTERRUPT_DATA0 0x0A10
0519 #define R_IO_INTERRUPT_DATA1 0x0A18
0520 #define R_IO_INTERRUPT_DATA2 0x0A20
0521 #define R_IO_INTERRUPT_DATA3 0x0A28
0522 #define R_IO_INTERRUPT_ADDR0 0x0A30
0523 #define R_IO_INTERRUPT_ADDR1 0x0A40
0524 #define R_IO_INTERRUPT_PARITY 0x0A50
0525 #define R_IO_PCMCIA_CFG 0x0A60
0526 #define R_IO_PCMCIA_STATUS 0x0A70
0527
0528
0529
0530
0531
0532 #define A_GPIO_CLR_EDGE 0x0010061A80
0533 #define A_GPIO_INT_TYPE 0x0010061A88
0534 #define A_GPIO_INPUT_INVERT 0x0010061A90
0535 #define A_GPIO_GLITCH 0x0010061A98
0536 #define A_GPIO_READ 0x0010061AA0
0537 #define A_GPIO_DIRECTION 0x0010061AA8
0538 #define A_GPIO_PIN_CLR 0x0010061AB0
0539 #define A_GPIO_PIN_SET 0x0010061AB8
0540
0541 #define A_GPIO_BASE 0x0010061A80
0542
0543 #define R_GPIO_CLR_EDGE 0x00
0544 #define R_GPIO_INT_TYPE 0x08
0545 #define R_GPIO_INPUT_INVERT 0x10
0546 #define R_GPIO_GLITCH 0x18
0547 #define R_GPIO_READ 0x20
0548 #define R_GPIO_DIRECTION 0x28
0549 #define R_GPIO_PIN_CLR 0x30
0550 #define R_GPIO_PIN_SET 0x38
0551
0552
0553
0554
0555
0556 #define A_SMB_XTRA_0 0x0010060000
0557 #define A_SMB_XTRA_1 0x0010060008
0558 #define A_SMB_FREQ_0 0x0010060010
0559 #define A_SMB_FREQ_1 0x0010060018
0560 #define A_SMB_STATUS_0 0x0010060020
0561 #define A_SMB_STATUS_1 0x0010060028
0562 #define A_SMB_CMD_0 0x0010060030
0563 #define A_SMB_CMD_1 0x0010060038
0564 #define A_SMB_START_0 0x0010060040
0565 #define A_SMB_START_1 0x0010060048
0566 #define A_SMB_DATA_0 0x0010060050
0567 #define A_SMB_DATA_1 0x0010060058
0568 #define A_SMB_CONTROL_0 0x0010060060
0569 #define A_SMB_CONTROL_1 0x0010060068
0570 #define A_SMB_PEC_0 0x0010060070
0571 #define A_SMB_PEC_1 0x0010060078
0572
0573 #define A_SMB_0 0x0010060000
0574 #define A_SMB_1 0x0010060008
0575 #define SMB_REGISTER_SPACING 0x8
0576 #define A_SMB_BASE(idx) (A_SMB_0+(idx)*SMB_REGISTER_SPACING)
0577 #define A_SMB_REGISTER(idx, reg) (A_SMB_BASE(idx)+(reg))
0578
0579 #define R_SMB_XTRA 0x0000000000
0580 #define R_SMB_FREQ 0x0000000010
0581 #define R_SMB_STATUS 0x0000000020
0582 #define R_SMB_CMD 0x0000000030
0583 #define R_SMB_START 0x0000000040
0584 #define R_SMB_DATA 0x0000000050
0585 #define R_SMB_CONTROL 0x0000000060
0586 #define R_SMB_PEC 0x0000000070
0587
0588
0589
0590
0591
0592
0593
0594
0595
0596 #define A_SCD_WDOG_0 0x0010020050
0597 #define A_SCD_WDOG_1 0x0010020150
0598 #define SCD_WDOG_SPACING 0x100
0599 #define SCD_NUM_WDOGS 2
0600 #define A_SCD_WDOG_BASE(w) (A_SCD_WDOG_0+SCD_WDOG_SPACING*(w))
0601 #define A_SCD_WDOG_REGISTER(w, r) (A_SCD_WDOG_BASE(w) + (r))
0602
0603 #define R_SCD_WDOG_INIT 0x0000000000
0604 #define R_SCD_WDOG_CNT 0x0000000008
0605 #define R_SCD_WDOG_CFG 0x0000000010
0606
0607 #define A_SCD_WDOG_INIT_0 0x0010020050
0608 #define A_SCD_WDOG_CNT_0 0x0010020058
0609 #define A_SCD_WDOG_CFG_0 0x0010020060
0610
0611 #define A_SCD_WDOG_INIT_1 0x0010020150
0612 #define A_SCD_WDOG_CNT_1 0x0010020158
0613 #define A_SCD_WDOG_CFG_1 0x0010020160
0614
0615
0616
0617
0618
0619 #define A_SCD_TIMER_0 0x0010020070
0620 #define A_SCD_TIMER_1 0x0010020078
0621 #define A_SCD_TIMER_2 0x0010020170
0622 #define A_SCD_TIMER_3 0x0010020178
0623 #define SCD_NUM_TIMERS 4
0624 #define A_SCD_TIMER_BASE(w) (A_SCD_TIMER_0+0x08*((w)&1)+0x100*(((w)&2)>>1))
0625 #define A_SCD_TIMER_REGISTER(w, r) (A_SCD_TIMER_BASE(w) + (r))
0626
0627 #define R_SCD_TIMER_INIT 0x0000000000
0628 #define R_SCD_TIMER_CNT 0x0000000010
0629 #define R_SCD_TIMER_CFG 0x0000000020
0630
0631 #define A_SCD_TIMER_INIT_0 0x0010020070
0632 #define A_SCD_TIMER_CNT_0 0x0010020080
0633 #define A_SCD_TIMER_CFG_0 0x0010020090
0634
0635 #define A_SCD_TIMER_INIT_1 0x0010020078
0636 #define A_SCD_TIMER_CNT_1 0x0010020088
0637 #define A_SCD_TIMER_CFG_1 0x0010020098
0638
0639 #define A_SCD_TIMER_INIT_2 0x0010020170
0640 #define A_SCD_TIMER_CNT_2 0x0010020180
0641 #define A_SCD_TIMER_CFG_2 0x0010020190
0642
0643 #define A_SCD_TIMER_INIT_3 0x0010020178
0644 #define A_SCD_TIMER_CNT_3 0x0010020188
0645 #define A_SCD_TIMER_CFG_3 0x0010020198
0646
0647 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)
0648 #define A_SCD_SCRATCH 0x0010020C10
0649 #endif
0650
0651 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0652 #define A_SCD_ZBBUS_CYCLE_COUNT 0x0010030000
0653 #define A_SCD_ZBBUS_CYCLE_CP0 0x0010020C00
0654 #define A_SCD_ZBBUS_CYCLE_CP1 0x0010020C08
0655 #endif
0656
0657
0658
0659
0660
0661 #define A_SCD_SYSTEM_REVISION 0x0010020000
0662 #define A_SCD_SYSTEM_CFG 0x0010020008
0663 #define A_SCD_SYSTEM_MANUF 0x0010038000
0664
0665
0666
0667
0668
0669 #define A_ADDR_TRAP_INDEX 0x00100200B0
0670 #define A_ADDR_TRAP_REG 0x00100200B8
0671 #define A_ADDR_TRAP_UP_0 0x0010020400
0672 #define A_ADDR_TRAP_UP_1 0x0010020408
0673 #define A_ADDR_TRAP_UP_2 0x0010020410
0674 #define A_ADDR_TRAP_UP_3 0x0010020418
0675 #define A_ADDR_TRAP_DOWN_0 0x0010020420
0676 #define A_ADDR_TRAP_DOWN_1 0x0010020428
0677 #define A_ADDR_TRAP_DOWN_2 0x0010020430
0678 #define A_ADDR_TRAP_DOWN_3 0x0010020438
0679 #define A_ADDR_TRAP_CFG_0 0x0010020440
0680 #define A_ADDR_TRAP_CFG_1 0x0010020448
0681 #define A_ADDR_TRAP_CFG_2 0x0010020450
0682 #define A_ADDR_TRAP_CFG_3 0x0010020458
0683 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1) || SIBYTE_HDR_FEATURE_CHIP(1480)
0684 #define A_ADDR_TRAP_REG_DEBUG 0x0010020460
0685 #endif
0686
0687 #define ADDR_TRAP_SPACING 8
0688 #define NUM_ADDR_TRAP 4
0689 #define A_ADDR_TRAP_UP(n) (A_ADDR_TRAP_UP_0 + ((n) * ADDR_TRAP_SPACING))
0690 #define A_ADDR_TRAP_DOWN(n) (A_ADDR_TRAP_DOWN_0 + ((n) * ADDR_TRAP_SPACING))
0691 #define A_ADDR_TRAP_CFG(n) (A_ADDR_TRAP_CFG_0 + ((n) * ADDR_TRAP_SPACING))
0692
0693
0694
0695
0696
0697
0698 #define A_IMR_CPU0_BASE 0x0010020000
0699 #define A_IMR_CPU1_BASE 0x0010022000
0700 #define IMR_REGISTER_SPACING 0x2000
0701 #define IMR_REGISTER_SPACING_SHIFT 13
0702
0703 #define A_IMR_MAPPER(cpu) (A_IMR_CPU0_BASE+(cpu)*IMR_REGISTER_SPACING)
0704 #define A_IMR_REGISTER(cpu, reg) (A_IMR_MAPPER(cpu)+(reg))
0705
0706 #define R_IMR_INTERRUPT_DIAG 0x0010
0707 #define R_IMR_INTERRUPT_LDT 0x0018
0708 #define R_IMR_INTERRUPT_MASK 0x0028
0709 #define R_IMR_INTERRUPT_TRACE 0x0038
0710 #define R_IMR_INTERRUPT_SOURCE_STATUS 0x0040
0711 #define R_IMR_LDT_INTERRUPT_SET 0x0048
0712 #define R_IMR_LDT_INTERRUPT 0x0018
0713 #define R_IMR_LDT_INTERRUPT_CLR 0x0020
0714 #define R_IMR_MAILBOX_CPU 0x00c0
0715 #define R_IMR_ALIAS_MAILBOX_CPU 0x1000
0716 #define R_IMR_MAILBOX_SET_CPU 0x00C8
0717 #define R_IMR_ALIAS_MAILBOX_SET_CPU 0x1008
0718 #define R_IMR_MAILBOX_CLR_CPU 0x00D0
0719 #define R_IMR_INTERRUPT_STATUS_BASE 0x0100
0720 #define R_IMR_INTERRUPT_STATUS_COUNT 7
0721 #define R_IMR_INTERRUPT_MAP_BASE 0x0200
0722 #define R_IMR_INTERRUPT_MAP_COUNT 64
0723
0724
0725
0726
0727
0728
0729 #define A_MAILBOX_REGISTER(reg,cpu) \
0730 (A_IMR_CPU0_BASE + (cpu * IMR_REGISTER_SPACING) + reg)
0731
0732
0733
0734
0735
0736 #define A_SCD_PERF_CNT_CFG 0x00100204C0
0737 #define A_SCD_PERF_CNT_0 0x00100204D0
0738 #define A_SCD_PERF_CNT_1 0x00100204D8
0739 #define A_SCD_PERF_CNT_2 0x00100204E0
0740 #define A_SCD_PERF_CNT_3 0x00100204E8
0741
0742 #define SCD_NUM_PERF_CNT 4
0743 #define SCD_PERF_CNT_SPACING 8
0744 #define A_SCD_PERF_CNT(n) (A_SCD_PERF_CNT_0+(n*SCD_PERF_CNT_SPACING))
0745
0746
0747
0748
0749
0750 #define A_SCD_BUS_ERR_STATUS 0x0010020880
0751 #if SIBYTE_HDR_FEATURE(1250, PASS2) || SIBYTE_HDR_FEATURE(112x, PASS1)
0752 #define A_SCD_BUS_ERR_STATUS_DEBUG 0x00100208D0
0753 #define A_BUS_ERR_STATUS_DEBUG 0x00100208D0
0754 #endif
0755 #define A_BUS_ERR_DATA_0 0x00100208A0
0756 #define A_BUS_ERR_DATA_1 0x00100208A8
0757 #define A_BUS_ERR_DATA_2 0x00100208B0
0758 #define A_BUS_ERR_DATA_3 0x00100208B8
0759 #define A_BUS_L2_ERRORS 0x00100208C0
0760 #define A_BUS_MEM_IO_ERRORS 0x00100208C8
0761
0762
0763
0764
0765
0766 #define A_SCD_JTAG_BASE 0x0010000000
0767
0768
0769
0770
0771
0772 #define A_SCD_TRACE_CFG 0x0010020A00
0773 #define A_SCD_TRACE_READ 0x0010020A08
0774 #define A_SCD_TRACE_EVENT_0 0x0010020A20
0775 #define A_SCD_TRACE_EVENT_1 0x0010020A28
0776 #define A_SCD_TRACE_EVENT_2 0x0010020A30
0777 #define A_SCD_TRACE_EVENT_3 0x0010020A38
0778 #define A_SCD_TRACE_SEQUENCE_0 0x0010020A40
0779 #define A_SCD_TRACE_SEQUENCE_1 0x0010020A48
0780 #define A_SCD_TRACE_SEQUENCE_2 0x0010020A50
0781 #define A_SCD_TRACE_SEQUENCE_3 0x0010020A58
0782 #define A_SCD_TRACE_EVENT_4 0x0010020A60
0783 #define A_SCD_TRACE_EVENT_5 0x0010020A68
0784 #define A_SCD_TRACE_EVENT_6 0x0010020A70
0785 #define A_SCD_TRACE_EVENT_7 0x0010020A78
0786 #define A_SCD_TRACE_SEQUENCE_4 0x0010020A80
0787 #define A_SCD_TRACE_SEQUENCE_5 0x0010020A88
0788 #define A_SCD_TRACE_SEQUENCE_6 0x0010020A90
0789 #define A_SCD_TRACE_SEQUENCE_7 0x0010020A98
0790
0791 #define TRACE_REGISTER_SPACING 8
0792 #define TRACE_NUM_REGISTERS 8
0793 #define A_SCD_TRACE_EVENT(n) (((n) & 4) ? \
0794 (A_SCD_TRACE_EVENT_4 + (((n) & 3) * TRACE_REGISTER_SPACING)) : \
0795 (A_SCD_TRACE_EVENT_0 + ((n) * TRACE_REGISTER_SPACING)))
0796 #define A_SCD_TRACE_SEQUENCE(n) (((n) & 4) ? \
0797 (A_SCD_TRACE_SEQUENCE_4 + (((n) & 3) * TRACE_REGISTER_SPACING)) : \
0798 (A_SCD_TRACE_SEQUENCE_0 + ((n) * TRACE_REGISTER_SPACING)))
0799
0800
0801
0802
0803
0804 #define A_DM_0 0x0010020B00
0805 #define A_DM_1 0x0010020B20
0806 #define A_DM_2 0x0010020B40
0807 #define A_DM_3 0x0010020B60
0808 #define DM_REGISTER_SPACING 0x20
0809 #define DM_NUM_CHANNELS 4
0810 #define A_DM_BASE(idx) (A_DM_0 + ((idx) * DM_REGISTER_SPACING))
0811 #define A_DM_REGISTER(idx, reg) (A_DM_BASE(idx) + (reg))
0812
0813 #define R_DM_DSCR_BASE 0x0000000000
0814 #define R_DM_DSCR_COUNT 0x0000000008
0815 #define R_DM_CUR_DSCR_ADDR 0x0000000010
0816 #define R_DM_DSCR_BASE_DEBUG 0x0000000018
0817
0818 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1)
0819 #define A_DM_PARTIAL_0 0x0010020ba0
0820 #define A_DM_PARTIAL_1 0x0010020ba8
0821 #define A_DM_PARTIAL_2 0x0010020bb0
0822 #define A_DM_PARTIAL_3 0x0010020bb8
0823 #define DM_PARTIAL_REGISTER_SPACING 0x8
0824 #define A_DM_PARTIAL(idx) (A_DM_PARTIAL_0 + ((idx) * DM_PARTIAL_REGISTER_SPACING))
0825 #endif
0826
0827 #if SIBYTE_HDR_FEATURE(1250, PASS3) || SIBYTE_HDR_FEATURE(112x, PASS1)
0828 #define A_DM_CRC_0 0x0010020b80
0829 #define A_DM_CRC_1 0x0010020b90
0830 #define DM_CRC_REGISTER_SPACING 0x10
0831 #define DM_CRC_NUM_CHANNELS 2
0832 #define A_DM_CRC_BASE(idx) (A_DM_CRC_0 + ((idx) * DM_CRC_REGISTER_SPACING))
0833 #define A_DM_CRC_REGISTER(idx, reg) (A_DM_CRC_BASE(idx) + (reg))
0834
0835 #define R_CRC_DEF_0 0x00
0836 #define R_CTCP_DEF_0 0x08
0837 #endif
0838
0839
0840
0841
0842
0843 #if SIBYTE_HDR_FEATURE_1250_112x
0844 #define A_PHYS_MEMORY_0 _SB_MAKE64(0x0000000000)
0845 #define A_PHYS_MEMORY_SIZE _SB_MAKE64((256*1024*1024))
0846 #define A_PHYS_SYSTEM_CTL _SB_MAKE64(0x0010000000)
0847 #define A_PHYS_IO_SYSTEM _SB_MAKE64(0x0010060000)
0848 #define A_PHYS_GENBUS _SB_MAKE64(0x0010090000)
0849 #define A_PHYS_GENBUS_END _SB_MAKE64(0x0040000000)
0850 #define A_PHYS_LDTPCI_IO_MATCH_BYTES_32 _SB_MAKE64(0x0040000000)
0851 #define A_PHYS_LDTPCI_IO_MATCH_BITS_32 _SB_MAKE64(0x0060000000)
0852 #define A_PHYS_MEMORY_1 _SB_MAKE64(0x0080000000)
0853 #define A_PHYS_MEMORY_2 _SB_MAKE64(0x0090000000)
0854 #define A_PHYS_MEMORY_3 _SB_MAKE64(0x00C0000000)
0855 #define A_PHYS_L2_CACHE_TEST _SB_MAKE64(0x00D0000000)
0856 #define A_PHYS_LDT_SPECIAL_MATCH_BYTES _SB_MAKE64(0x00D8000000)
0857 #define A_PHYS_LDTPCI_IO_MATCH_BYTES _SB_MAKE64(0x00DC000000)
0858 #define A_PHYS_LDTPCI_CFG_MATCH_BYTES _SB_MAKE64(0x00DE000000)
0859 #define A_PHYS_LDT_SPECIAL_MATCH_BITS _SB_MAKE64(0x00F8000000)
0860 #define A_PHYS_LDTPCI_IO_MATCH_BITS _SB_MAKE64(0x00FC000000)
0861 #define A_PHYS_LDTPCI_CFG_MATCH_BITS _SB_MAKE64(0x00FE000000)
0862 #define A_PHYS_MEMORY_EXP _SB_MAKE64(0x0100000000)
0863 #define A_PHYS_MEMORY_EXP_SIZE _SB_MAKE64((508*1024*1024*1024))
0864 #define A_PHYS_LDT_EXP _SB_MAKE64(0x8000000000)
0865 #define A_PHYS_PCI_FULLACCESS_BYTES _SB_MAKE64(0xF000000000)
0866 #define A_PHYS_PCI_FULLACCESS_BITS _SB_MAKE64(0xF100000000)
0867 #define A_PHYS_RESERVED _SB_MAKE64(0xF200000000)
0868 #define A_PHYS_RESERVED_SPECIAL_LDT _SB_MAKE64(0xFD00000000)
0869
0870 #define A_PHYS_L2CACHE_WAY_SIZE _SB_MAKE64(0x0000020000)
0871 #define PHYS_L2CACHE_NUM_WAYS 4
0872 #define A_PHYS_L2CACHE_TOTAL_SIZE _SB_MAKE64(0x0000080000)
0873 #define A_PHYS_L2CACHE_WAY0 _SB_MAKE64(0x00D0180000)
0874 #define A_PHYS_L2CACHE_WAY1 _SB_MAKE64(0x00D01A0000)
0875 #define A_PHYS_L2CACHE_WAY2 _SB_MAKE64(0x00D01C0000)
0876 #define A_PHYS_L2CACHE_WAY3 _SB_MAKE64(0x00D01E0000)
0877 #endif
0878
0879
0880 #endif