Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*  *********************************************************************
0003     *  SB1250 Board Support Package
0004     *
0005     *  Register Definitions         File: sb1250_regs.h
0006     *
0007     *  This module contains the addresses of the on-chip peripherals
0008     *  on the SB1250.
0009     *
0010     *  SB1250 specification level:  01/02/2002
0011     *
0012     *********************************************************************
0013     *
0014     *  Copyright 2000,2001,2002,2003
0015     *  Broadcom Corporation. All rights reserved.
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     *  Some general notes:
0028     *
0029     *  For the most part, when there is more than one peripheral
0030     *  of the same type on the SOC, the constants below will be
0031     *  offsets from the base of each peripheral.  For example,
0032     *  the MAC registers are described as offsets from the first
0033     *  MAC register, and there will be a MAC_REGISTER() macro
0034     *  to calculate the base address of a given MAC.
0035     *
0036     *  The information in this file is based on the SB1250 SOC
0037     *  manual version 0.2, July 2000.
0038     ********************************************************************* */
0039 
0040 
0041 /*  *********************************************************************
0042     * Memory Controller Registers
0043     ********************************************************************* */
0044 
0045 /*
0046  * XXX: can't remove MC base 0 if 112x, since it's used by other macros,
0047  * since there is one reg there (but it could get its addr/offset constant).
0048  */
0049 
0050 #if SIBYTE_HDR_FEATURE_1250_112x        /* This MC only on 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    /* relative to CSX_BASE, above */
0070 #define R_MC_CSX_COL            0x0000000020    /* relative to CSX_BASE, above */
0071 #define R_MC_CSX_BA         0x0000000040    /* relative to CSX_BASE, above */
0072 #define MC_CSX_SPACING          0x0000000060    /* relative to CSX_BASE, above */
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  /* 1250 & 112x */
0092 
0093 /*  *********************************************************************
0094     * L2 Cache Control Registers
0095     ********************************************************************* */
0096 
0097 #if SIBYTE_HDR_FEATURE_1250_112x    /* This L2C only on 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 /* 1250 PASS3 || 112x PASS1 */
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 /* 1250 PASS2 || 112x PASS1 */
0113 
0114 /* Backward-compatibility definitions.  */
0115 /* XXX: discourage people from using these constants.  */
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     * PCI Interface Registers
0124     ********************************************************************* */
0125 
0126 #if SIBYTE_HDR_FEATURE_1250_112x    /* This PCI/HT only on 1250/112x */
0127 #define A_PCI_TYPE00_HEADER     0x00DE000000
0128 #define A_PCI_TYPE01_HEADER     0x00DE000800
0129 #endif
0130 
0131 
0132 /*  *********************************************************************
0133     * Ethernet DMA and MACs
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 /* 1250 */
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           /* channels per direction */
0148 
0149 /* XXX: not correct; depends on SOC type.  */
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 /* Relative to A_MAC_CHANNEL_BASE */
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  * DMA channel registers, relative to A_MAC_DMA_CHANNEL_BASE
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  /* rx only */
0195 #endif /* 1250 PASS3 || 112x PASS1 */
0196 
0197 /*
0198  * RMON Counters
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 /* Counter #6 (0x30) now reserved */
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 /* Updated to spec 0.2 */
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 /* 1250 PASS3 || 112x PASS1 || 1480 */
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 /* 1250 PASS2 || 112x PASS1 || 1480 */
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     * DUART Registers
0259     ********************************************************************* */
0260 
0261 
0262 #if SIBYTE_HDR_FEATURE_1250_112x    /* This MC only on 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  /* 1250 & 112x */
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 /* 1250 PASS2 || 112x PASS1 || 1480 */
0286 
0287 
0288 /*
0289  * The IMR and ISR can't be addressed with A_DUART_CHANREG,
0290  * so use these macros instead.
0291  */
0292 
0293 #if SIBYTE_HDR_FEATURE_1250_112x    /* This MC only on 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  /* 1250 & 112x */
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  * These constants are the absolute addresses.
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 /* 1250 PASS2 || 112x PASS1 */
0372 
0373 
0374 /*  *********************************************************************
0375     * Synchronous Serial Registers
0376     ********************************************************************* */
0377 
0378 
0379 #if SIBYTE_HDR_FEATURE_1250_112x    /* sync serial only on 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   /* Relative to A_SER_BASE_x */
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  * DMA channel registers, relative to A_SER_DMA_CHANNEL_BASE
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 /* RMON Counters */
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  /* 1250/112x */
0471 
0472 /*  *********************************************************************
0473     * Generic Bus Registers
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     * GPIO Registers
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     * SMBus Registers
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     * Timer Registers
0590     ********************************************************************* */
0591 
0592 /*
0593  * Watchdog timers
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  * Generic timers
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 /* 1250 PASS2 || 112x PASS1 */
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     * System Control Registers
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     * System Address Trap Registers
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 /* 1250 PASS2 || 112x PASS1 || 1480 */
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     * System Interrupt Mapper Registers
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  * these macros work together to build the address of a mailbox
0726  * register, e.g., A_MAILBOX_REGISTER(R_IMR_MAILBOX_SET_CPU,1)
0727  * for mbox_0_set_cpu2 returns 0x00100240C8
0728  */
0729 #define A_MAILBOX_REGISTER(reg,cpu) \
0730     (A_IMR_CPU0_BASE + (cpu * IMR_REGISTER_SPACING) + reg)
0731 
0732 /*  *********************************************************************
0733     * System Performance Counter Registers
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     * System Bus Watcher Registers
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 /* 1250 PASS2 || 112x PASS1 */
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     * System Debug Controller Registers
0764     ********************************************************************* */
0765 
0766 #define A_SCD_JTAG_BASE         0x0010000000
0767 
0768 /*  *********************************************************************
0769     * System Trace Buffer Registers
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     * System Generic DMA Registers
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 /* 1250 PASS3 || 112x PASS1 */
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 /* 1250 PASS3 || 112x PASS1 */
0838 
0839 /*  *********************************************************************
0840     *  Physical Address Map
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