bcm1480_regs.h revision 1.1 1 1.1 simonb /* *********************************************************************
2 1.1 simonb * BCM1255/BCM1280/BCM1455/BCM1480 Board Support Package
3 1.1 simonb *
4 1.1 simonb * Register Definitions File: bcm1480_regs.h
5 1.1 simonb *
6 1.1 simonb * This module contains the addresses of the on-chip peripherals
7 1.1 simonb * on the BCM1280 and BCM1480.
8 1.1 simonb *
9 1.1 simonb * BCM1480 specification level: 1X55_1X80-UM100-D4 (11/24/03)
10 1.1 simonb *
11 1.1 simonb *********************************************************************
12 1.1 simonb *
13 1.1 simonb * Copyright 2000,2001,2002,2003,2004
14 1.1 simonb * Broadcom Corporation. All rights reserved.
15 1.1 simonb *
16 1.1 simonb * This software is furnished under license and may be used and
17 1.1 simonb * copied only in accordance with the following terms and
18 1.1 simonb * conditions. Subject to these conditions, you may download,
19 1.1 simonb * copy, install, use, modify and distribute modified or unmodified
20 1.1 simonb * copies of this software in source and/or binary form. No title
21 1.1 simonb * or ownership is transferred hereby.
22 1.1 simonb *
23 1.1 simonb * 1) Any source code used, modified or distributed must reproduce
24 1.1 simonb * and retain this copyright notice and list of conditions
25 1.1 simonb * as they appear in the source file.
26 1.1 simonb *
27 1.1 simonb * 2) No right is granted to use any trade name, trademark, or
28 1.1 simonb * logo of Broadcom Corporation. The "Broadcom Corporation"
29 1.1 simonb * name may not be used to endorse or promote products derived
30 1.1 simonb * from this software without the prior written permission of
31 1.1 simonb * Broadcom Corporation.
32 1.1 simonb *
33 1.1 simonb * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR
34 1.1 simonb * IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED
35 1.1 simonb * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
36 1.1 simonb * PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT
37 1.1 simonb * SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN
38 1.1 simonb * PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR DIRECT, INDIRECT,
39 1.1 simonb * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
40 1.1 simonb * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
41 1.1 simonb * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
42 1.1 simonb * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
43 1.1 simonb * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
44 1.1 simonb * TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF
45 1.1 simonb * THE POSSIBILITY OF SUCH DAMAGE.
46 1.1 simonb ********************************************************************* */
47 1.1 simonb
48 1.1 simonb #ifndef _BCM1480_REGS_H
49 1.1 simonb #define _BCM1480_REGS_H
50 1.1 simonb
51 1.1 simonb #include "sb1250_defs.h"
52 1.1 simonb
53 1.1 simonb /* *********************************************************************
54 1.1 simonb * Pull in the BCM1250's registers since a great deal of the 1480's
55 1.1 simonb * functions are the same as the BCM1250.
56 1.1 simonb ********************************************************************* */
57 1.1 simonb
58 1.1 simonb #include "sb1250_regs.h"
59 1.1 simonb
60 1.1 simonb
61 1.1 simonb /* *********************************************************************
62 1.1 simonb * Some general notes:
63 1.1 simonb *
64 1.1 simonb * Register addresses are grouped by function and follow the order
65 1.1 simonb * of the User Manual.
66 1.1 simonb *
67 1.1 simonb * For the most part, when there is more than one peripheral
68 1.1 simonb * of the same type on the SOC, the constants below will be
69 1.1 simonb * offsets from the base of each peripheral. For example,
70 1.1 simonb * the MAC registers are described as offsets from the first
71 1.1 simonb * MAC register, and there will be a MAC_REGISTER() macro
72 1.1 simonb * to calculate the base address of a given MAC.
73 1.1 simonb *
74 1.1 simonb * The information in this file is based on the BCM1X55/BCM1X80
75 1.1 simonb * User Manual, Document 1X55_1X80-UM100-R, 22/12/03.
76 1.1 simonb *
77 1.1 simonb * This file is basically a "what's new" header file. Since the
78 1.1 simonb * BCM1250 and the new BCM1480 (and derivatives) share many common
79 1.1 simonb * features, this file contains only what's new or changed from
80 1.1 simonb * the 1250. (above, you can see that we include the 1250 symbols
81 1.1 simonb * to get the base functionality).
82 1.1 simonb *
83 1.1 simonb * In software, be sure to use the correct symbols, particularly
84 1.1 simonb * for blocks that are different between the two chip families.
85 1.1 simonb * All BCM1480-specific symbols have _BCM1480_ in their names,
86 1.1 simonb * and all BCM1250-specific and "base" functions that are common in
87 1.1 simonb * both chips have no special names (this is for compatibility with
88 1.1 simonb * older include files). Therefore, if you're working with the
89 1.1 simonb * SCD, which is very different on each chip, A_SCD_xxx implies
90 1.1 simonb * the BCM1250 version and A_BCM1480_SCD_xxx implies the BCM1480
91 1.1 simonb * version.
92 1.1 simonb ********************************************************************* */
93 1.1 simonb
94 1.1 simonb
95 1.1 simonb /* *********************************************************************
96 1.1 simonb * Memory Controller Registers (Section 6)
97 1.1 simonb ********************************************************************* */
98 1.1 simonb
99 1.1 simonb #define A_BCM1480_MC_BASE_0 0x0010050000
100 1.1 simonb #define A_BCM1480_MC_BASE_1 0x0010051000
101 1.1 simonb #define A_BCM1480_MC_BASE_2 0x0010052000
102 1.1 simonb #define A_BCM1480_MC_BASE_3 0x0010053000
103 1.1 simonb #define BCM1480_MC_REGISTER_SPACING 0x1000
104 1.1 simonb
105 1.1 simonb #define A_BCM1480_MC_BASE(ctlid) (A_BCM1480_MC_BASE_0+(ctlid)*BCM1480_MC_REGISTER_SPACING)
106 1.1 simonb #define A_BCM1480_MC_REGISTER(ctlid,reg) (A_BCM1480_MC_BASE(ctlid)+(reg))
107 1.1 simonb
108 1.1 simonb #define R_BCM1480_MC_CONFIG 0x0000000100
109 1.1 simonb #define R_BCM1480_MC_CS_START 0x0000000120
110 1.1 simonb #define R_BCM1480_MC_CS_END 0x0000000140
111 1.1 simonb #define S_BCM1480_MC_CS_STARTEND 24
112 1.1 simonb
113 1.1 simonb #define R_BCM1480_MC_CS01_ROW0 0x0000000180
114 1.1 simonb #define R_BCM1480_MC_CS01_ROW1 0x00000001A0
115 1.1 simonb #define R_BCM1480_MC_CS23_ROW0 0x0000000200
116 1.1 simonb #define R_BCM1480_MC_CS23_ROW1 0x0000000220
117 1.1 simonb #define R_BCM1480_MC_CS01_COL0 0x0000000280
118 1.1 simonb #define R_BCM1480_MC_CS01_COL1 0x00000002A0
119 1.1 simonb #define R_BCM1480_MC_CS23_COL0 0x0000000300
120 1.1 simonb #define R_BCM1480_MC_CS23_COL1 0x0000000320
121 1.1 simonb
122 1.1 simonb #define R_BCM1480_MC_CSX_BASE 0x0000000180
123 1.1 simonb #define R_BCM1480_MC_CSX_ROW0 0x0000000000 /* relative to CSX_BASE */
124 1.1 simonb #define R_BCM1480_MC_CSX_ROW1 0x0000000020 /* relative to CSX_BASE */
125 1.1 simonb #define R_BCM1480_MC_CSX_COL0 0x0000000100 /* relative to CSX_BASE */
126 1.1 simonb #define R_BCM1480_MC_CSX_COL1 0x0000000120 /* relative to CSX_BASE */
127 1.1 simonb #define BCM1480_MC_CSX_SPACING 0x0000000080 /* CS23 relative to CS01 */
128 1.1 simonb
129 1.1 simonb #define R_BCM1480_MC_CS01_BA 0x0000000380
130 1.1 simonb #define R_BCM1480_MC_CS23_BA 0x00000003A0
131 1.1 simonb #define R_BCM1480_MC_DRAMCMD 0x0000000400
132 1.1 simonb #define R_BCM1480_MC_DRAMMODE 0x0000000420
133 1.1 simonb #define R_BCM1480_MC_CLOCK_CFG 0x0000000440
134 1.1 simonb #define R_BCM1480_MC_MCLK_CFG R_BCM1480_MC_CLOCK_CFG
135 1.1 simonb #define R_BCM1480_MC_TEST_DATA 0x0000000480
136 1.1 simonb #define R_BCM1480_MC_TEST_ECC 0x00000004A0
137 1.1 simonb #define R_BCM1480_MC_TIMING1 0x00000004C0
138 1.1 simonb #define R_BCM1480_MC_TIMING2 0x00000004E0
139 1.1 simonb #define R_BCM1480_MC_DLL_CFG 0x0000000500
140 1.1 simonb #define R_BCM1480_MC_DRIVE_CFG 0x0000000520
141 1.1 simonb
142 1.1 simonb #if SIBYTE_HDR_FEATURE(1480, PASS2)
143 1.1 simonb #define R_BCM1480_MC_ODT 0x0000000460
144 1.1 simonb #define R_BCM1480_MC_ECC_STATUS 0x0000000540
145 1.1 simonb #endif
146 1.1 simonb
147 1.1 simonb /* Global registers (single instance) */
148 1.1 simonb #define A_BCM1480_MC_GLB_CONFIG 0x0010054100
149 1.1 simonb #define A_BCM1480_MC_GLB_INTLV 0x0010054120
150 1.1 simonb #define A_BCM1480_MC_GLB_ECC_STATUS 0x0010054140
151 1.1 simonb #define A_BCM1480_MC_GLB_ECC_ADDR 0x0010054160
152 1.1 simonb #define A_BCM1480_MC_GLB_ECC_CORRECT 0x0010054180
153 1.1 simonb #define A_BCM1480_MC_GLB_PERF_CNT_CONTROL 0x00100541A0
154 1.1 simonb
155 1.1 simonb /* *********************************************************************
156 1.1 simonb * L2 Cache Control Registers (Section 5)
157 1.1 simonb ********************************************************************* */
158 1.1 simonb
159 1.1 simonb #define A_BCM1480_L2_BASE 0x0010040000
160 1.1 simonb
161 1.1 simonb #define A_BCM1480_L2_READ_TAG 0x0010040018
162 1.1 simonb #define A_BCM1480_L2_ECC_TAG 0x0010040038
163 1.1 simonb #define A_BCM1480_L2_MISC0_VALUE 0x0010040058
164 1.1 simonb #define A_BCM1480_L2_MISC1_VALUE 0x0010040078
165 1.1 simonb #define A_BCM1480_L2_MISC2_VALUE 0x0010040098
166 1.1 simonb #define A_BCM1480_L2_MISC_CONFIG 0x0010040040 /* x040 */
167 1.1 simonb #define A_BCM1480_L2_CACHE_DISABLE 0x0010040060 /* x060 */
168 1.1 simonb #define A_BCM1480_L2_MAKECACHEDISABLE(x) (A_BCM1480_L2_CACHE_DISABLE | (((x)&0xF) << 12))
169 1.1 simonb #define A_BCM1480_L2_WAY_ENABLE_3_0 0x0010040080 /* x080 */
170 1.1 simonb #define A_BCM1480_L2_WAY_ENABLE_7_4 0x00100400A0 /* x0A0 */
171 1.1 simonb #define A_BCM1480_L2_MAKE_WAY_ENABLE_LO(x) (A_BCM1480_L2_WAY_ENABLE_3_0 | (((x)&0xF) << 12))
172 1.1 simonb #define A_BCM1480_L2_MAKE_WAY_ENABLE_HI(x) (A_BCM1480_L2_WAY_ENABLE_7_4 | (((x)&0xF) << 12))
173 1.1 simonb #define A_BCM1480_L2_MAKE_WAY_DISABLE_LO(x) (A_BCM1480_L2_WAY_ENABLE_3_0 | (((~x)&0xF) << 12))
174 1.1 simonb #define A_BCM1480_L2_MAKE_WAY_DISABLE_HI(x) (A_BCM1480_L2_WAY_ENABLE_7_4 | (((~x)&0xF) << 12))
175 1.1 simonb #define A_BCM1480_L2_WAY_LOCAL_3_0 0x0010040100 /* x100 */
176 1.1 simonb #define A_BCM1480_L2_WAY_LOCAL_7_4 0x0010040120 /* x120 */
177 1.1 simonb #define A_BCM1480_L2_WAY_REMOTE_3_0 0x0010040140 /* x140 */
178 1.1 simonb #define A_BCM1480_L2_WAY_REMOTE_7_4 0x0010040160 /* x160 */
179 1.1 simonb #define A_BCM1480_L2_WAY_AGENT_3_0 0x00100400C0 /* xxC0 */
180 1.1 simonb #define A_BCM1480_L2_WAY_AGENT_7_4 0x00100400E0 /* xxE0 */
181 1.1 simonb #define A_BCM1480_L2_WAY_ENABLE(A, banks) (A | (((~(banks))&0x0F) << 8))
182 1.1 simonb #define A_BCM1480_L2_BANK_BASE 0x00D0300000
183 1.1 simonb #define A_BCM1480_L2_BANK_ADDRESS(b) (A_BCM1480_L2_BANK_BASE | (((b)&0x7)<<17))
184 1.1 simonb #define A_BCM1480_L2_MGMT_TAG_BASE 0x00D0000000
185 1.1 simonb
186 1.1 simonb
187 1.1 simonb /* *********************************************************************
188 1.1 simonb * PCI-X Interface Registers (Section 7)
189 1.1 simonb ********************************************************************* */
190 1.1 simonb
191 1.1 simonb #define A_BCM1480_PCI_BASE 0x0010061400
192 1.1 simonb
193 1.1 simonb #define A_BCM1480_PCI_RESET 0x0010061400
194 1.1 simonb #define A_BCM1480_PCI_DLL 0x0010061500
195 1.1 simonb
196 1.1 simonb #define A_BCM1480_PCI_TYPE00_HEADER 0x002E000000
197 1.1 simonb
198 1.1 simonb /* *********************************************************************
199 1.1 simonb * Ethernet MAC Registers (Section 11) and DMA Registers (Section 10.6)
200 1.1 simonb ********************************************************************* */
201 1.1 simonb
202 1.1 simonb /* No register changes with Rev.C BCM1250, but one additional MAC */
203 1.1 simonb
204 1.1 simonb #define A_BCM1480_MAC_BASE_2 0x0010066000
205 1.1 simonb
206 1.1 simonb #ifndef A_MAC_BASE_2
207 1.1 simonb #define A_MAC_BASE_2 A_BCM1480_MAC_BASE_2
208 1.1 simonb #endif
209 1.1 simonb
210 1.1 simonb #define A_BCM1480_MAC_BASE_3 0x0010067000
211 1.1 simonb #define A_MAC_BASE_3 A_BCM1480_MAC_BASE_3
212 1.1 simonb
213 1.1 simonb #define R_BCM1480_MAC_DMA_OODPKTLOST 0x00000038
214 1.1 simonb
215 1.1 simonb #ifndef R_MAC_DMA_OODPKTLOST
216 1.1 simonb #define R_MAC_DMA_OODPKTLOST R_BCM1480_MAC_DMA_OODPKTLOST
217 1.1 simonb #endif
218 1.1 simonb
219 1.1 simonb
220 1.1 simonb /* *********************************************************************
221 1.1 simonb * DUART Registers (Section 14)
222 1.1 simonb ********************************************************************* */
223 1.1 simonb
224 1.1 simonb /* No significant differences from BCM1250, two DUARTs */
225 1.1 simonb
226 1.1 simonb /* Conventions, per user manual:
227 1.1 simonb * DUART generic, channels A,B,C,D
228 1.1 simonb * DUART0 implementing channels A,B
229 1.1 simonb * DUART1 inplementing channels C,D
230 1.1 simonb */
231 1.1 simonb
232 1.1 simonb #define BCM1480_DUART_NUM_PORTS 4
233 1.1 simonb
234 1.1 simonb #define A_BCM1480_DUART0 0x0010060000
235 1.1 simonb #define A_BCM1480_DUART1 0x0010060500
236 1.1 simonb #define A_BCM1480_DUART(chan) ((((chan)&2) == 0)? A_BCM1480_DUART0 : A_BCM1480_DUART1)
237 1.1 simonb
238 1.1 simonb #define BCM1480_DUART_CHANREG_SPACING 0x100
239 1.1 simonb #define A_BCM1480_DUART_CHANREG(chan,reg) (A_BCM1480_DUART(chan) \
240 1.1 simonb + BCM1480_DUART_CHANREG_SPACING*((chan)&1) \
241 1.1 simonb + (reg))
242 1.1 simonb #define R_BCM1480_DUART_CHANREG(chan,reg) (BCM1480_DUART_CHANREG_SPACING*((chan)&1) + (reg))
243 1.1 simonb
244 1.1 simonb #define R_BCM1480_DUART_IMRREG(chan) (R_DUART_IMR_A + ((chan)&1)*DUART_IMRISR_SPACING)
245 1.1 simonb #define R_BCM1480_DUART_ISRREG(chan) (R_DUART_ISR_A + ((chan)&1)*DUART_IMRISR_SPACING)
246 1.1 simonb
247 1.1 simonb #define A_BCM1480_DUART_IMRREG(chan) (A_BCM1480_DUART(chan) + R_BCM1480_DUART_IMRREG(chan))
248 1.1 simonb #define A_BCM1480_DUART_ISRREG(chan) (A_BCM1480_DUART(chan) + R_BCM1480_DUART_ISRREG(chan))
249 1.1 simonb #define A_BCM1480_DUART_IN_PORT(chan) (A_BCM1480_DUART(chan) + R_DUART_INP_ORT)
250 1.1 simonb
251 1.1 simonb /*
252 1.1 simonb * These constants are the absolute addresses.
253 1.1 simonb */
254 1.1 simonb
255 1.1 simonb #define A_BCM1480_DUART_MODE_REG_1_C 0x0010060500
256 1.1 simonb #define A_BCM1480_DUART_MODE_REG_2_C 0x0010060510
257 1.1 simonb #define A_BCM1480_DUART_STATUS_C 0x0010060520
258 1.1 simonb #define A_BCM1480_DUART_CLK_SEL_C 0x0010060530
259 1.1 simonb #define A_BCM1480_DUART_FULL_CTL_C 0x0010060540
260 1.1 simonb #define A_BCM1480_DUART_CMD_C 0x0010060550
261 1.1 simonb #define A_BCM1480_DUART_RX_HOLD_C 0x0010060560
262 1.1 simonb #define A_BCM1480_DUART_TX_HOLD_C 0x0010060570
263 1.1 simonb #define A_BCM1480_DUART_OPCR_C 0x0010060580
264 1.1 simonb #define A_BCM1480_DUART_AUX_CTRL_C 0x0010060590
265 1.1 simonb
266 1.1 simonb #define A_BCM1480_DUART_MODE_REG_1_D 0x0010060600
267 1.1 simonb #define A_BCM1480_DUART_MODE_REG_2_D 0x0010060610
268 1.1 simonb #define A_BCM1480_DUART_STATUS_D 0x0010060620
269 1.1 simonb #define A_BCM1480_DUART_CLK_SEL_D 0x0010060630
270 1.1 simonb #define A_BCM1480_DUART_FULL_CTL_D 0x0010060640
271 1.1 simonb #define A_BCM1480_DUART_CMD_D 0x0010060650
272 1.1 simonb #define A_BCM1480_DUART_RX_HOLD_D 0x0010060660
273 1.1 simonb #define A_BCM1480_DUART_TX_HOLD_D 0x0010060670
274 1.1 simonb #define A_BCM1480_DUART_OPCR_D 0x0010060680
275 1.1 simonb #define A_BCM1480_DUART_AUX_CTRL_D 0x0010060690
276 1.1 simonb
277 1.1 simonb #define A_BCM1480_DUART_INPORT_CHNG_CD 0x0010060700
278 1.1 simonb #define A_BCM1480_DUART_AUX_CTRL_CD 0x0010060710
279 1.1 simonb #define A_BCM1480_DUART_ISR_C 0x0010060720
280 1.1 simonb #define A_BCM1480_DUART_IMR_C 0x0010060730
281 1.1 simonb #define A_BCM1480_DUART_ISR_D 0x0010060740
282 1.1 simonb #define A_BCM1480_DUART_IMR_D 0x0010060750
283 1.1 simonb #define A_BCM1480_DUART_OUT_PORT_CD 0x0010060760
284 1.1 simonb #define A_BCM1480_DUART_OPCR_CD 0x0010060770
285 1.1 simonb #define A_BCM1480_DUART_IN_PORT_CD 0x0010060780
286 1.1 simonb #define A_BCM1480_DUART_ISR_CD 0x0010060790
287 1.1 simonb #define A_BCM1480_DUART_IMR_CD 0x00100607A0
288 1.1 simonb #define A_BCM1480_DUART_SET_OPR_CD 0x00100607B0
289 1.1 simonb #define A_BCM1480_DUART_CLEAR_OPR_CD 0x00100607C0
290 1.1 simonb #define A_BCM1480_DUART_INPORT_CHNG_C 0x00100607D0
291 1.1 simonb #define A_BCM1480_DUART_INPORT_CHNG_D 0x00100607E0
292 1.1 simonb
293 1.1 simonb
294 1.1 simonb /* *********************************************************************
295 1.1 simonb * Generic Bus Registers (Section 15) and PCMCIA Registers (Section 16)
296 1.1 simonb ********************************************************************* */
297 1.1 simonb
298 1.1 simonb #define A_BCM1480_IO_PCMCIA_CFG_B 0x0010061A58
299 1.1 simonb #define A_BCM1480_IO_PCMCIA_STATUS_B 0x0010061A68
300 1.1 simonb
301 1.1 simonb /* *********************************************************************
302 1.1 simonb * GPIO Registers (Section 17)
303 1.1 simonb ********************************************************************* */
304 1.1 simonb
305 1.1 simonb /* One additional GPIO register, placed _before_ the BCM1250's GPIO block base */
306 1.1 simonb
307 1.1 simonb #define A_BCM1480_GPIO_INT_ADD_TYPE 0x0010061A78
308 1.1 simonb #define R_BCM1480_GPIO_INT_ADD_TYPE (-8)
309 1.1 simonb
310 1.1 simonb #define A_GPIO_INT_ADD_TYPE A_BCM1480_GPIO_INT_ADD_TYPE
311 1.1 simonb #define R_GPIO_INT_ADD_TYPE R_BCM1480_GPIO_INT_ADD_TYPE
312 1.1 simonb
313 1.1 simonb /* *********************************************************************
314 1.1 simonb * SMBus Registers (Section 18)
315 1.1 simonb ********************************************************************* */
316 1.1 simonb
317 1.1 simonb /* No changes from BCM1250 */
318 1.1 simonb
319 1.1 simonb /* *********************************************************************
320 1.1 simonb * Timer Registers (Sections 4.6)
321 1.1 simonb ********************************************************************* */
322 1.1 simonb
323 1.1 simonb /* BCM1480 has two additional watchdogs */
324 1.1 simonb
325 1.1 simonb /* Watchdog timers */
326 1.1 simonb
327 1.1 simonb #define A_BCM1480_SCD_WDOG_2 0x0010022050
328 1.1 simonb #define A_BCM1480_SCD_WDOG_3 0x0010022150
329 1.1 simonb
330 1.1 simonb #define BCM1480_SCD_NUM_WDOGS 4
331 1.1 simonb
332 1.1 simonb #define A_BCM1480_SCD_WDOG_BASE(w) (A_BCM1480_SCD_WDOG_0+((w)&2)*0x1000 + ((w)&1)*0x100)
333 1.1 simonb #define A_BCM1480_SCD_WDOG_REGISTER(w,r) (A_BCM1480_SCD_WDOG_BASE(w) + (r))
334 1.1 simonb
335 1.1 simonb #define A_BCM1480_SCD_WDOG_INIT_2 0x0010022050
336 1.1 simonb #define A_BCM1480_SCD_WDOG_CNT_2 0x0010022058
337 1.1 simonb #define A_BCM1480_SCD_WDOG_CFG_2 0x0010022060
338 1.1 simonb
339 1.1 simonb #define A_BCM1480_SCD_WDOG_INIT_3 0x0010022150
340 1.1 simonb #define A_BCM1480_SCD_WDOG_CNT_3 0x0010022158
341 1.1 simonb #define A_BCM1480_SCD_WDOG_CFG_3 0x0010022160
342 1.1 simonb
343 1.1 simonb /* BCM1480 has two additional compare registers */
344 1.1 simonb
345 1.1 simonb #define A_BCM1480_SCD_ZBBUS_CYCLE_COUNT A_SCD_ZBBUS_CYCLE_COUNT
346 1.1 simonb #define A_BCM1480_SCD_ZBBUS_CYCLE_CP_BASE 0x0010020C00
347 1.1 simonb #define A_BCM1480_SCD_ZBBUS_CYCLE_CP0 A_SCD_ZBBUS_CYCLE_CP0
348 1.1 simonb #define A_BCM1480_SCD_ZBBUS_CYCLE_CP1 A_SCD_ZBBUS_CYCLE_CP1
349 1.1 simonb #define A_BCM1480_SCD_ZBBUS_CYCLE_CP2 0x0010020C10
350 1.1 simonb #define A_BCM1480_SCD_ZBBUS_CYCLE_CP3 0x0010020C18
351 1.1 simonb
352 1.1 simonb /* *********************************************************************
353 1.1 simonb * System Control Registers (Section 4.2)
354 1.1 simonb ********************************************************************* */
355 1.1 simonb
356 1.1 simonb /* Scratch register in different place */
357 1.1 simonb
358 1.1 simonb #define A_BCM1480_SCD_SCRATCH 0x100200A0
359 1.1 simonb
360 1.1 simonb /* *********************************************************************
361 1.1 simonb * System Address Trap Registers (Section 4.9)
362 1.1 simonb ********************************************************************* */
363 1.1 simonb
364 1.1 simonb /* No changes from BCM1250 */
365 1.1 simonb
366 1.1 simonb /* *********************************************************************
367 1.1 simonb * System Interrupt Mapper Registers (Sections 4.3-4.5)
368 1.1 simonb ********************************************************************* */
369 1.1 simonb
370 1.1 simonb #define A_BCM1480_IMR_CPU0_BASE 0x0010020000
371 1.1 simonb #define A_BCM1480_IMR_CPU1_BASE 0x0010022000
372 1.1 simonb #define A_BCM1480_IMR_CPU2_BASE 0x0010024000
373 1.1 simonb #define A_BCM1480_IMR_CPU3_BASE 0x0010026000
374 1.1 simonb #define BCM1480_IMR_REGISTER_SPACING 0x2000
375 1.1 simonb #define BCM1480_IMR_REGISTER_SPACING_SHIFT 13
376 1.1 simonb
377 1.1 simonb #define A_BCM1480_IMR_MAPPER(cpu) (A_BCM1480_IMR_CPU0_BASE+(cpu)*BCM1480_IMR_REGISTER_SPACING)
378 1.1 simonb #define A_BCM1480_IMR_REGISTER(cpu,reg) (A_BCM1480_IMR_MAPPER(cpu)+(reg))
379 1.1 simonb
380 1.1 simonb /* Most IMR registers are 128 bits, implemented as non-contiguous
381 1.1 simonb 64-bit registers high (_H) and low (_L) */
382 1.1 simonb #define BCM1480_IMR_HL_SPACING 0x1000
383 1.1 simonb
384 1.1 simonb #define R_BCM1480_IMR_INTERRUPT_DIAG_H 0x0010
385 1.1 simonb #define R_BCM1480_IMR_LDT_INTERRUPT_H 0x0018
386 1.1 simonb #define R_BCM1480_IMR_LDT_INTERRUPT_CLR_H 0x0020
387 1.1 simonb #define R_BCM1480_IMR_INTERRUPT_MASK_H 0x0028
388 1.1 simonb #define R_BCM1480_IMR_INTERRUPT_TRACE_H 0x0038
389 1.1 simonb #define R_BCM1480_IMR_INTERRUPT_SOURCE_STATUS_H 0x0040
390 1.1 simonb #define R_BCM1480_IMR_LDT_INTERRUPT_SET 0x0048
391 1.1 simonb #define R_BCM1480_IMR_MAILBOX_0_CPU 0x00C0
392 1.1 simonb #define R_BCM1480_IMR_MAILBOX_0_SET_CPU 0x00C8
393 1.1 simonb #define R_BCM1480_IMR_MAILBOX_0_CLR_CPU 0x00D0
394 1.1 simonb #define R_BCM1480_IMR_MAILBOX_1_CPU 0x00E0
395 1.1 simonb #define R_BCM1480_IMR_MAILBOX_1_SET_CPU 0x00E8
396 1.1 simonb #define R_BCM1480_IMR_MAILBOX_1_CLR_CPU 0x00F0
397 1.1 simonb #define R_BCM1480_IMR_INTERRUPT_STATUS_BASE_H 0x0100
398 1.1 simonb #define BCM1480_IMR_INTERRUPT_STATUS_COUNT 8
399 1.1 simonb #define R_BCM1480_IMR_INTERRUPT_MAP_BASE_H 0x0200
400 1.1 simonb #define BCM1480_IMR_INTERRUPT_MAP_COUNT 64
401 1.1 simonb
402 1.1 simonb #define R_BCM1480_IMR_INTERRUPT_DIAG_L 0x1010
403 1.1 simonb #define R_BCM1480_IMR_LDT_INTERRUPT_L 0x1018
404 1.1 simonb #define R_BCM1480_IMR_LDT_INTERRUPT_CLR_L 0x1020
405 1.1 simonb #define R_BCM1480_IMR_INTERRUPT_MASK_L 0x1028
406 1.1 simonb #define R_BCM1480_IMR_INTERRUPT_TRACE_L 0x1038
407 1.1 simonb #define R_BCM1480_IMR_INTERRUPT_SOURCE_STATUS_L 0x1040
408 1.1 simonb #define R_BCM1480_IMR_INTERRUPT_STATUS_BASE_L 0x1100
409 1.1 simonb #define R_BCM1480_IMR_INTERRUPT_MAP_BASE_L 0x1200
410 1.1 simonb
411 1.1 simonb #define A_BCM1480_IMR_ALIAS_MAILBOX_CPU0_BASE 0x0010028000
412 1.1 simonb #define A_BCM1480_IMR_ALIAS_MAILBOX_CPU1_BASE 0x0010028100
413 1.1 simonb #define A_BCM1480_IMR_ALIAS_MAILBOX_CPU2_BASE 0x0010028200
414 1.1 simonb #define A_BCM1480_IMR_ALIAS_MAILBOX_CPU3_BASE 0x0010028300
415 1.1 simonb #define BCM1480_IMR_ALIAS_MAILBOX_SPACING 0100
416 1.1 simonb
417 1.1 simonb #define A_BCM1480_IMR_ALIAS_MAILBOX(cpu) (A_BCM1480_IMR_ALIAS_MAILBOX_CPU0_BASE + \
418 1.1 simonb (cpu)*BCM1480_IMR_ALIAS_MAILBOX_SPACING)
419 1.1 simonb #define A_BCM1480_IMR_ALIAS_MAILBOX_REGISTER(cpu,reg) (A_BCM1480_IMR_ALIAS_MAILBOX(cpu)+(reg))
420 1.1 simonb
421 1.1 simonb #define R_BCM1480_IMR_ALIAS_MAILBOX_0 0x0000 /* 0x0x0 */
422 1.1 simonb #define R_BCM1480_IMR_ALIAS_MAILBOX_0_SET 0x0008 /* 0x0x8 */
423 1.1 simonb
424 1.1 simonb /*
425 1.1 simonb * these macros work together to build the address of a mailbox
426 1.1 simonb * register, e.g., A_BCM1480_MAILBOX_REGISTER(0,R_BCM1480_IMR_MAILBOX_SET,2)
427 1.1 simonb * for mbox_0_set_cpu2 returns 0x00100240C8
428 1.1 simonb */
429 1.1 simonb #define R_BCM1480_IMR_MAILBOX_CPU 0x00
430 1.1 simonb #define R_BCM1480_IMR_MAILBOX_SET 0x08
431 1.1 simonb #define R_BCM1480_IMR_MAILBOX_CLR 0x10
432 1.1 simonb #define R_BCM1480_IMR_MAILBOX_NUM_SPACING 0x20
433 1.1 simonb #define A_BCM1480_MAILBOX_REGISTER(num,reg,cpu) \
434 1.1 simonb (A_BCM1480_IMR_CPU0_BASE + \
435 1.1 simonb (num * R_BCM1480_IMR_MAILBOX_NUM_SPACING) + \
436 1.1 simonb (cpu * BCM1480_IMR_REGISTER_SPACING) + \
437 1.1 simonb (R_BCM1480_IMR_MAILBOX_0_CPU + reg))
438 1.1 simonb
439 1.1 simonb /* *********************************************************************
440 1.1 simonb * System Performance Counter Registers (Section 4.7)
441 1.1 simonb ********************************************************************* */
442 1.1 simonb
443 1.1 simonb /* BCM1480 has four more performance counter registers, and two control
444 1.1 simonb registers. */
445 1.1 simonb
446 1.1 simonb #define A_BCM1480_SCD_PERF_CNT_BASE 0x00100204C0
447 1.1 simonb
448 1.1 simonb #define A_BCM1480_SCD_PERF_CNT_CFG0 0x00100204C0
449 1.1 simonb #define A_BCM1480_SCD_PERF_CNT_CFG_0 A_BCM1480_SCD_PERF_CNT_CFG0
450 1.1 simonb #define A_BCM1480_SCD_PERF_CNT_CFG1 0x00100204C8
451 1.1 simonb #define A_BCM1480_SCD_PERF_CNT_CFG_1 A_BCM1480_SCD_PERF_CNT_CFG1
452 1.1 simonb
453 1.1 simonb #define A_BCM1480_SCD_PERF_CNT_0 A_SCD_PERF_CNT_0
454 1.1 simonb #define A_BCM1480_SCD_PERF_CNT_1 A_SCD_PERF_CNT_1
455 1.1 simonb #define A_BCM1480_SCD_PERF_CNT_2 A_SCD_PERF_CNT_2
456 1.1 simonb #define A_BCM1480_SCD_PERF_CNT_3 A_SCD_PERF_CNT_3
457 1.1 simonb
458 1.1 simonb #define A_BCM1480_SCD_PERF_CNT_4 0x00100204F0
459 1.1 simonb #define A_BCM1480_SCD_PERF_CNT_5 0x00100204F8
460 1.1 simonb #define A_BCM1480_SCD_PERF_CNT_6 0x0010020500
461 1.1 simonb #define A_BCM1480_SCD_PERF_CNT_7 0x0010020508
462 1.1 simonb
463 1.1 simonb #define BCM1480_SCD_NUM_PERF_CNT 8
464 1.1 simonb #define BCM1480_SCD_PERF_CNT_SPACING 8
465 1.1 simonb #define A_BCM1480_SCD_PERF_CNT(n) (A_SCD_PERF_CNT_0+(n*BCM1480_SCD_PERF_CNT_SPACING))
466 1.1 simonb
467 1.1 simonb /* *********************************************************************
468 1.1 simonb * System Bus Watcher Registers (Section 4.8)
469 1.1 simonb ********************************************************************* */
470 1.1 simonb
471 1.1 simonb
472 1.1 simonb /* Same as 1250 except BUS_ERR_STATUS_DEBUG is in a different place. */
473 1.1 simonb
474 1.1 simonb #define A_BCM1480_BUS_ERR_STATUS_DEBUG 0x00100208D8
475 1.1 simonb
476 1.1 simonb /* *********************************************************************
477 1.1 simonb * System Debug Controller Registers (Section 19)
478 1.1 simonb ********************************************************************* */
479 1.1 simonb
480 1.1 simonb /* Same as 1250 */
481 1.1 simonb
482 1.1 simonb /* *********************************************************************
483 1.1 simonb * System Trace Unit Registers (Sections 4.10)
484 1.1 simonb ********************************************************************* */
485 1.1 simonb
486 1.1 simonb /* Same as 1250 */
487 1.1 simonb
488 1.1 simonb /* *********************************************************************
489 1.1 simonb * Data Mover DMA Registers (Section 10.7)
490 1.1 simonb ********************************************************************* */
491 1.1 simonb
492 1.1 simonb /* Same as 1250 */
493 1.1 simonb
494 1.1 simonb
495 1.1 simonb /* *********************************************************************
496 1.1 simonb * HyperTransport Interface Registers (Section 8)
497 1.1 simonb ********************************************************************* */
498 1.1 simonb
499 1.1 simonb #define BCM1480_HT_NUM_PORTS 3
500 1.1 simonb #define BCM1480_HT_PORT_SPACING 0x800
501 1.1 simonb #define A_BCM1480_HT_PORT_HEADER(x) (A_BCM1480_HT_PORT0_HEADER + ((x)*BCM1480_HT_PORT_SPACING))
502 1.1 simonb
503 1.1 simonb #define A_BCM1480_HT_PORT0_HEADER 0x00FE000000
504 1.1 simonb #define A_BCM1480_HT_PORT1_HEADER 0x00FE000800
505 1.1 simonb #define A_BCM1480_HT_PORT2_HEADER 0x00FE001000
506 1.1 simonb #define A_BCM1480_HT_TYPE00_HEADER 0x00FE002000
507 1.1 simonb
508 1.1 simonb
509 1.1 simonb /* *********************************************************************
510 1.1 simonb * Node Controller Registers (Section 9)
511 1.1 simonb ********************************************************************* */
512 1.1 simonb
513 1.1 simonb #define A_BCM1480_NC_BASE 0x00DFBD0000
514 1.1 simonb
515 1.1 simonb #define A_BCM1480_NC_RLD_FIELD 0x00DFBD0000
516 1.1 simonb #define A_BCM1480_NC_RLD_TRIGGER 0x00DFBD0020
517 1.1 simonb #define A_BCM1480_NC_RLD_BAD_ERROR 0x00DFBD0040
518 1.1 simonb #define A_BCM1480_NC_RLD_COR_ERROR 0x00DFBD0060
519 1.1 simonb #define A_BCM1480_NC_RLD_ECC_STATUS 0x00DFBD0080
520 1.1 simonb #define A_BCM1480_NC_RLD_WAY_ENABLE 0x00DFBD00A0
521 1.1 simonb #define A_BCM1480_NC_RLD_RANDOM_LFSR 0x00DFBD00C0
522 1.1 simonb
523 1.1 simonb #define A_BCM1480_NC_INTERRUPT_STATUS 0x00DFBD00E0
524 1.1 simonb #define A_BCM1480_NC_INTERRUPT_ENABLE 0x00DFBD0100
525 1.1 simonb #define A_BCM1480_NC_TIMEOUT_COUNTER 0x00DFBD0120
526 1.1 simonb #define A_BCM1480_NC_TIMEOUT_COUNTER_SEL 0x00DFBD0140
527 1.1 simonb
528 1.1 simonb #define A_BCM1480_NC_CREDIT_STATUS_REG0 0x00DFBD0200
529 1.1 simonb #define A_BCM1480_NC_CREDIT_STATUS_REG1 0x00DFBD0220
530 1.1 simonb #define A_BCM1480_NC_CREDIT_STATUS_REG2 0x00DFBD0240
531 1.1 simonb #define A_BCM1480_NC_CREDIT_STATUS_REG3 0x00DFBD0260
532 1.1 simonb #define A_BCM1480_NC_CREDIT_STATUS_REG4 0x00DFBD0280
533 1.1 simonb #define A_BCM1480_NC_CREDIT_STATUS_REG5 0x00DFBD02A0
534 1.1 simonb #define A_BCM1480_NC_CREDIT_STATUS_REG6 0x00DFBD02C0
535 1.1 simonb #define A_BCM1480_NC_CREDIT_STATUS_REG7 0x00DFBD02E0
536 1.1 simonb #define A_BCM1480_NC_CREDIT_STATUS_REG8 0x00DFBD0300
537 1.1 simonb #define A_BCM1480_NC_CREDIT_STATUS_REG9 0x00DFBD0320
538 1.1 simonb #define A_BCM1480_NC_CREDIT_STATUS_REG10 0x00DFBE0000
539 1.1 simonb #define A_BCM1480_NC_CREDIT_STATUS_REG11 0x00DFBE0020
540 1.1 simonb #define A_BCM1480_NC_CREDIT_STATUS_REG12 0x00DFBE0040
541 1.1 simonb
542 1.1 simonb #define A_BCM1480_NC_SR_TIMEOUT_COUNTER 0x00DFBE0060
543 1.1 simonb #define A_BCM1480_NC_SR_TIMEOUT_COUNTER_SEL 0x00DFBE0080
544 1.1 simonb
545 1.1 simonb
546 1.1 simonb /* *********************************************************************
547 1.1 simonb * H&R Block Configuration Registers (Section 12.4)
548 1.1 simonb ********************************************************************* */
549 1.1 simonb
550 1.1 simonb #define A_BCM1480_HR_BASE_0 0x00DF820000
551 1.1 simonb #define A_BCM1480_HR_BASE_1 0x00DF8A0000
552 1.1 simonb #define A_BCM1480_HR_BASE_2 0x00DF920000
553 1.1 simonb #define BCM1480_HR_REGISTER_SPACING 0x80000
554 1.1 simonb
555 1.1 simonb #define A_BCM1480_HR_BASE(idx) (A_BCM1480_HR_BASE_0 + ((idx)*BCM1480_HR_REGISTER_SPACING))
556 1.1 simonb #define A_BCM1480_HR_REGISTER(idx,reg) (A_BCM1480_HR_BASE(idx) + (reg))
557 1.1 simonb
558 1.1 simonb #define R_BCM1480_HR_CFG 0x0000000000
559 1.1 simonb
560 1.1 simonb #define R_BCM1480_HR_MAPPING 0x0000010010
561 1.1 simonb
562 1.1 simonb #define BCM1480_HR_RULE_SPACING 0x0000000010
563 1.1 simonb #define BCM1480_HR_NUM_RULES 16
564 1.1 simonb #define BCM1480_HR_OP_OFFSET 0x0000000100
565 1.1 simonb #define BCM1480_HR_TYPE_OFFSET 0x0000000108
566 1.1 simonb #define R_BCM1480_HR_RULE_OP(idx) (BCM1480_HR_OP_OFFSET + ((idx)*BCM1480_HR_RULE_SPACING))
567 1.1 simonb #define R_BCM1480_HR_RULE_TYPE(idx) (BCM1480_HR_TYPE_OFFSET + ((idx)*BCM1480_HR_RULE_SPACING))
568 1.1 simonb
569 1.1 simonb #define BCM1480_HR_LEAF_SPACING 0x0000000010
570 1.1 simonb #define BCM1480_HR_NUM_LEAVES 10
571 1.1 simonb #define BCM1480_HR_LEAF_OFFSET 0x0000000300
572 1.1 simonb #define R_BCM1480_HR_HA_LEAF0(idx) (BCM1480_HR_LEAF_OFFSET + ((idx)*BCM1480_HR_LEAF_SPACING))
573 1.1 simonb
574 1.1 simonb #define R_BCM1480_HR_EX_LEAF0 0x00000003A0
575 1.1 simonb
576 1.1 simonb #define BCM1480_HR_PATH_SPACING 0x0000000010
577 1.1 simonb #define BCM1480_HR_NUM_PATHS 16
578 1.1 simonb #define BCM1480_HR_PATH_OFFSET 0x0000000600
579 1.1 simonb #define R_BCM1480_HR_PATH(idx) (BCM1480_HR_PATH_OFFSET + ((idx)*BCM1480_HR_PATH_SPACING))
580 1.1 simonb
581 1.1 simonb #define R_BCM1480_HR_PATH_DEFAULT 0x0000000700
582 1.1 simonb
583 1.1 simonb #define BCM1480_HR_ROUTE_SPACING 8
584 1.1 simonb #define BCM1480_HR_NUM_ROUTES 512
585 1.1 simonb #define BCM1480_HR_ROUTE_OFFSET 0x0000001000
586 1.1 simonb #define R_BCM1480_HR_RT_WORD(idx) (BCM1480_HR_ROUTE_OFFSET + ((idx)*BCM1480_HR_ROUTE_SPACING))
587 1.1 simonb
588 1.1 simonb
589 1.1 simonb /* checked to here - ehs */
590 1.1 simonb /* *********************************************************************
591 1.1 simonb * Packet Manager DMA Registers (Section 12.5)
592 1.1 simonb ********************************************************************* */
593 1.1 simonb
594 1.1 simonb #define A_BCM1480_PM_BASE 0x0010056000
595 1.1 simonb
596 1.1 simonb #define A_BCM1480_PMI_LCL_0 0x0010058000
597 1.1 simonb #define A_BCM1480_PMO_LCL_0 0x001005C000
598 1.1 simonb #define A_BCM1480_PMI_OFFSET_0 (A_BCM1480_PMI_LCL_0 - A_BCM1480_PM_BASE)
599 1.1 simonb #define A_BCM1480_PMO_OFFSET_0 (A_BCM1480_PMO_LCL_0 - A_BCM1480_PM_BASE)
600 1.1 simonb
601 1.1 simonb #define BCM1480_PM_LCL_REGISTER_SPACING 0x100
602 1.1 simonb #define BCM1480_PM_NUM_CHANNELS 32
603 1.1 simonb
604 1.1 simonb #define A_BCM1480_PMI_LCL_BASE(idx) (A_BCM1480_PMI_LCL_0 + ((idx)*BCM1480_PM_LCL_REGISTER_SPACING))
605 1.1 simonb #define A_BCM1480_PMI_LCL_REGISTER(idx,reg) (A_BCM1480_PMI_LCL_BASE(idx) + (reg))
606 1.1 simonb #define A_BCM1480_PMO_LCL_BASE(idx) (A_BCM1480_PMO_LCL_0 + ((idx)*BCM1480_PM_LCL_REGISTER_SPACING))
607 1.1 simonb #define A_BCM1480_PMO_LCL_REGISTER(idx,reg) (A_BCM1480_PMO_LCL_BASE(idx) + (reg))
608 1.1 simonb
609 1.1 simonb #define BCM1480_PM_INT_PACKING 8
610 1.1 simonb #define BCM1480_PM_INT_FUNCTION_SPACING 0x40
611 1.1 simonb #define BCM1480_PM_INT_NUM_FUNCTIONS 3
612 1.1 simonb
613 1.1 simonb /*
614 1.1 simonb * DMA channel registers relative to A_BCM1480_PMI_LCL_BASE(n) and A_BCM1480_PMO_LCL_BASE(n)
615 1.1 simonb */
616 1.1 simonb
617 1.1 simonb #define R_BCM1480_PM_BASE_SIZE 0x0000000000
618 1.1 simonb #define R_BCM1480_PM_CNT 0x0000000008
619 1.1 simonb #define R_BCM1480_PM_PFCNT 0x0000000010
620 1.1 simonb #define R_BCM1480_PM_LAST 0x0000000018
621 1.1 simonb #define R_BCM1480_PM_PFINDX 0x0000000020
622 1.1 simonb #define R_BCM1480_PM_INT_WMK 0x0000000028
623 1.1 simonb #define R_BCM1480_PM_CONFIG0 0x0000000030
624 1.1 simonb #define R_BCM1480_PM_LOCALDEBUG 0x0000000078
625 1.1 simonb #define R_BCM1480_PM_CACHEABILITY 0x0000000080 /* PMI only */
626 1.1 simonb #define R_BCM1480_PM_INT_CNFG 0x0000000088
627 1.1 simonb #define R_BCM1480_PM_DESC_MERGE_TIMER 0x0000000090
628 1.1 simonb #define R_BCM1480_PM_LOCALDEBUG_PIB 0x00000000F8 /* PMI only */
629 1.1 simonb #define R_BCM1480_PM_LOCALDEBUG_POB 0x00000000F8 /* PMO only */
630 1.1 simonb
631 1.1 simonb /*
632 1.1 simonb * Global Registers (Not Channelized)
633 1.1 simonb */
634 1.1 simonb
635 1.1 simonb #define A_BCM1480_PMI_GLB_0 0x0010056000
636 1.1 simonb #define A_BCM1480_PMO_GLB_0 0x0010057000
637 1.1 simonb
638 1.1 simonb /*
639 1.1 simonb * PM to TX Mapping Register relative to A_BCM1480_PMI_GLB_0 and A_BCM1480_PMO_GLB_0
640 1.1 simonb */
641 1.1 simonb
642 1.1 simonb #define R_BCM1480_PM_PMO_MAPPING 0x00000008C8 /* PMO only */
643 1.1 simonb
644 1.1 simonb #define A_BCM1480_PM_PMO_MAPPING (A_BCM1480_PMO_GLB_0 + R_BCM1480_PM_PMO_MAPPING)
645 1.1 simonb
646 1.1 simonb /*
647 1.1 simonb * Interrupt mapping registers
648 1.1 simonb */
649 1.1 simonb
650 1.1 simonb
651 1.1 simonb #define A_BCM1480_PMI_INT_0 0x0010056800
652 1.1 simonb #define A_BCM1480_PMI_INT(q) (A_BCM1480_PMI_INT_0 + ((q>>8)<<8))
653 1.1 simonb #define A_BCM1480_PMI_INT_OFFSET_0 (A_BCM1480_PMI_INT_0 - A_BCM1480_PM_BASE)
654 1.1 simonb #define A_BCM1480_PMO_INT_0 0x0010057800
655 1.1 simonb #define A_BCM1480_PMO_INT(q) (A_BCM1480_PMO_INT_0 + ((q>>8)<<8))
656 1.1 simonb #define A_BCM1480_PMO_INT_OFFSET_0 (A_BCM1480_PMO_INT_0 - A_BCM1480_PM_BASE)
657 1.1 simonb
658 1.1 simonb /*
659 1.1 simonb * Interrupt registers relative to A_BCM1480_PMI_INT_0 and A_BCM1480_PMO_INT_0
660 1.1 simonb */
661 1.1 simonb
662 1.1 simonb #define R_BCM1480_PM_INT_ST 0x0000000000
663 1.1 simonb #define R_BCM1480_PM_INT_MSK 0x0000000040
664 1.1 simonb #define R_BCM1480_PM_INT_CLR 0x0000000080
665 1.1 simonb #define R_BCM1480_PM_MRGD_INT 0x00000000C0
666 1.1 simonb
667 1.1 simonb /*
668 1.1 simonb * Debug registers (global)
669 1.1 simonb */
670 1.1 simonb
671 1.1 simonb #define A_BCM1480_PM_GLOBALDEBUGMODE_PMI 0x0010056000
672 1.1 simonb #define A_BCM1480_PM_GLOBALDEBUG_PID 0x00100567F8
673 1.1 simonb #define A_BCM1480_PM_GLOBALDEBUG_PIB 0x0010056FF8
674 1.1 simonb #define A_BCM1480_PM_GLOBALDEBUGMODE_PMO 0x0010057000
675 1.1 simonb #define A_BCM1480_PM_GLOBALDEBUG_POD 0x00100577F8
676 1.1 simonb #define A_BCM1480_PM_GLOBALDEBUG_POB 0x0010057FF8
677 1.1 simonb
678 1.1 simonb /* *********************************************************************
679 1.1 simonb * Switch performance counters
680 1.1 simonb ********************************************************************* */
681 1.1 simonb
682 1.1 simonb #define A_BCM1480_SWPERF_CFG 0xdfb91800
683 1.1 simonb #define A_BCM1480_SWPERF_CNT0 0xdfb91880
684 1.1 simonb #define A_BCM1480_SWPERF_CNT1 0xdfb91888
685 1.1 simonb #define A_BCM1480_SWPERF_CNT2 0xdfb91890
686 1.1 simonb #define A_BCM1480_SWPERF_CNT3 0xdfb91898
687 1.1 simonb
688 1.1 simonb
689 1.1 simonb /* *********************************************************************
690 1.1 simonb * Switch Trace Unit
691 1.1 simonb ********************************************************************* */
692 1.1 simonb
693 1.1 simonb #define A_BCM1480_SWTRC_MATCH_CONTROL_0 0xDFB91000
694 1.1 simonb #define A_BCM1480_SWTRC_MATCH_DATA_VALUE_0 0xDFB91100
695 1.1 simonb #define A_BCM1480_SWTRC_MATCH_DATA_MASK_0 0xDFB91108
696 1.1 simonb #define A_BCM1480_SWTRC_MATCH_TAG_VALUE_0 0xDFB91200
697 1.1 simonb #define A_BCM1480_SWTRC_MATCH_TAG_MAKS_0 0xDFB91208
698 1.1 simonb #define A_BCM1480_SWTRC_EVENT_0 0xDFB91300
699 1.1 simonb #define A_BCM1480_SWTRC_SEQUENCE_0 0xDFB91400
700 1.1 simonb
701 1.1 simonb #define A_BCM1480_SWTRC_CFG 0xDFB91500
702 1.1 simonb #define A_BCM1480_SWTRC_READ 0xDFB91508
703 1.1 simonb
704 1.1 simonb #define A_BCM1480_SWDEBUG_SCHEDSTOP 0xDFB92000
705 1.1 simonb
706 1.1 simonb #define A_BCM1480_SWTRC_MATCH_CONTROL(x) (A_BCM1480_SWTRC_MATCH_CONTROL_0 + ((x)*8))
707 1.1 simonb #define A_BCM1480_SWTRC_EVENT(x) (A_BCM1480_SWTRC_EVENT_0 + ((x)*8))
708 1.1 simonb #define A_BCM1480_SWTRC_SEQUENCE(x) (A_BCM1480_SWTRC_SEQUENCE_0 + ((x)*8))
709 1.1 simonb
710 1.1 simonb #define A_BCM1480_SWTRC_MATCH_DATA_VALUE(x) (A_BCM1480_SWTRC_MATCH_DATA_VALUE_0 + ((x)*16))
711 1.1 simonb #define A_BCM1480_SWTRC_MATCH_DATA_MASK(x) (A_BCM1480_SWTRC_MATCH_DATA_MASK_0 + ((x)*16))
712 1.1 simonb #define A_BCM1480_SWTRC_MATCH_TAG_VALUE(x) (A_BCM1480_SWTRC_MATCH_TAG_VALUE_0 + ((x)*16))
713 1.1 simonb #define A_BCM1480_SWTRC_MATCH_TAG_MASK(x) (A_BCM1480_SWTRC_MATCH_TAG_MASK_0 + ((x)*16))
714 1.1 simonb
715 1.1 simonb
716 1.1 simonb
717 1.1 simonb /* *********************************************************************
718 1.1 simonb * High-Speed Port Registers (Section 13)
719 1.1 simonb ********************************************************************* */
720 1.1 simonb
721 1.1 simonb #define A_BCM1480_HSP_BASE_0 0x00DF810000
722 1.1 simonb #define A_BCM1480_HSP_BASE_1 0x00DF890000
723 1.1 simonb #define A_BCM1480_HSP_BASE_2 0x00DF910000
724 1.1 simonb #define BCM1480_HSP_REGISTER_SPACING 0x80000
725 1.1 simonb
726 1.1 simonb #define A_BCM1480_HSP_BASE(idx) (A_BCM1480_HSP_BASE_0 + ((idx)*BCM1480_HSP_REGISTER_SPACING))
727 1.1 simonb #define A_BCM1480_HSP_REGISTER(idx,reg) (A_BCM1480_HSP_BASE(idx) + (reg))
728 1.1 simonb
729 1.1 simonb #define R_BCM1480_HSP_RX_SPI4_CFG_0 0x0000000000
730 1.1 simonb #define R_BCM1480_HSP_RX_SPI4_CFG_1 0x0000000008
731 1.1 simonb #define R_BCM1480_HSP_RX_SPI4_DESKEW_OVERRIDE 0x0000000010
732 1.1 simonb #define R_BCM1480_HSP_RX_SPI4_DESKEW_DATAPATH 0x0000000018
733 1.1 simonb #define R_BCM1480_HSP_RX_SPI4_PORT_INT_EN 0x0000000020
734 1.1 simonb #define R_BCM1480_HSP_RX_SPI4_PORT_INT_STATUS 0x0000000028
735 1.1 simonb
736 1.1 simonb #define R_BCM1480_HSP_RX_SPI4_CALENDAR_0 0x0000000200
737 1.1 simonb #define R_BCM1480_HSP_RX_SPI4_CALENDAR_1 0x0000000208
738 1.1 simonb
739 1.1 simonb #define R_BCM1480_HSP_RX_PLL_CNFG 0x0000000800
740 1.1 simonb #define R_BCM1480_HSP_RX_CALIBRATION 0x0000000808
741 1.1 simonb #define R_BCM1480_HSP_RX_TEST 0x0000000810
742 1.1 simonb #define R_BCM1480_HSP_RX_DIAG_DETAILS 0x0000000818
743 1.1 simonb #define R_BCM1480_HSP_RX_DIAG_CRC_0 0x0000000820
744 1.1 simonb #define R_BCM1480_HSP_RX_DIAG_CRC_1 0x0000000828
745 1.1 simonb #define R_BCM1480_HSP_RX_DIAG_HTCMD 0x0000000830
746 1.1 simonb #define R_BCM1480_HSP_RX_DIAG_PKTCTL 0x0000000838
747 1.1 simonb
748 1.1 simonb #define R_BCM1480_HSP_RX_VIS_FLCTRL_COUNTER 0x0000000870
749 1.1 simonb
750 1.1 simonb #define R_BCM1480_HSP_RX_PKT_RAMALLOC_0 0x0000020020
751 1.1 simonb #define R_BCM1480_HSP_RX_PKT_RAMALLOC_1 0x0000020028
752 1.1 simonb #define R_BCM1480_HSP_RX_PKT_RAMALLOC_2 0x0000020030
753 1.1 simonb #define R_BCM1480_HSP_RX_PKT_RAMALLOC_3 0x0000020038
754 1.1 simonb #define R_BCM1480_HSP_RX_PKT_RAMALLOC_4 0x0000020040
755 1.1 simonb #define R_BCM1480_HSP_RX_PKT_RAMALLOC_5 0x0000020048
756 1.1 simonb #define R_BCM1480_HSP_RX_PKT_RAMALLOC_6 0x0000020050
757 1.1 simonb #define R_BCM1480_HSP_RX_PKT_RAMALLOC_7 0x0000020058
758 1.1 simonb #define R_BCM1480_HSP_RX_PKT_RAMALLOC(idx) (R_BCM1480_HSP_RX_PKT_RAMALLOC_0 + 8*(idx))
759 1.1 simonb
760 1.1 simonb /* XXX Following registers were shuffled. Renamed/renumbered per errata. */
761 1.1 simonb #define R_BCM1480_HSP_RX_HT_RAMALLOC_0 0x0000020078
762 1.1 simonb #define R_BCM1480_HSP_RX_HT_RAMALLOC_1 0x0000020080
763 1.1 simonb #define R_BCM1480_HSP_RX_HT_RAMALLOC_2 0x0000020088
764 1.1 simonb #define R_BCM1480_HSP_RX_HT_RAMALLOC_3 0x0000020090
765 1.1 simonb #define R_BCM1480_HSP_RX_HT_RAMALLOC_4 0x0000020098
766 1.1 simonb #define R_BCM1480_HSP_RX_HT_RAMALLOC_5 0x00000200A0
767 1.1 simonb
768 1.1 simonb #define R_BCM1480_HSP_RX_SPI_WATERMARK_0 0x00000200B0
769 1.1 simonb #define R_BCM1480_HSP_RX_SPI_WATERMARK_1 0x00000200B8
770 1.1 simonb #define R_BCM1480_HSP_RX_SPI_WATERMARK_2 0x00000200C0
771 1.1 simonb #define R_BCM1480_HSP_RX_SPI_WATERMARK_3 0x00000200C8
772 1.1 simonb #define R_BCM1480_HSP_RX_SPI_WATERMARK_4 0x00000200D0
773 1.1 simonb #define R_BCM1480_HSP_RX_SPI_WATERMARK_5 0x00000200D8
774 1.1 simonb #define R_BCM1480_HSP_RX_SPI_WATERMARK_6 0x00000200E0
775 1.1 simonb #define R_BCM1480_HSP_RX_SPI_WATERMARK_7 0x00000200E8
776 1.1 simonb #define R_BCM1480_HSP_RX_SPI_WATERMARK(idx) (R_BCM1480_HSP_RX_SPI_WATERMARK_0 + 8*(idx))
777 1.1 simonb
778 1.1 simonb #define R_BCM1480_HSP_RX_VIS_CMDQ_0 0x00000200F0
779 1.1 simonb #define R_BCM1480_HSP_RX_VIS_CMDQ_1 0x00000200F8
780 1.1 simonb #define R_BCM1480_HSP_RX_VIS_CMDQ_2 0x0000020100
781 1.1 simonb #define R_BCM1480_HSP_RX_RAM_READCTL 0x0000020108
782 1.1 simonb #define R_BCM1480_HSP_RX_RAM_READWINDOW 0x0000020110
783 1.1 simonb #define R_BCM1480_HSP_RX_RF_READCTL 0x0000020118
784 1.1 simonb #define R_BCM1480_HSP_RX_RF_READWINDOW 0x0000020120
785 1.1 simonb
786 1.1 simonb #define R_BCM1480_HSP_TX_SPI4_CFG_0 0x0000040000
787 1.1 simonb #define R_BCM1480_HSP_TX_SPI4_CFG_1 0x0000040008
788 1.1 simonb #define R_BCM1480_HSP_TX_SPI4_TRAINING_FMT 0x0000040010
789 1.1 simonb
790 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RAMALLOC_0 0x0000040020
791 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RAMALLOC_1 0x0000040028
792 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RAMALLOC_2 0x0000040030
793 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RAMALLOC_3 0x0000040038
794 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RAMALLOC_4 0x0000040040
795 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RAMALLOC_5 0x0000040048
796 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RAMALLOC_6 0x0000040050
797 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RAMALLOC_7 0x0000040058
798 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RAMALLOC(idx) (R_BCM1480_HSP_TX_PKT_RAMALLOC_0 + 8*(idx))
799 1.1 simonb #define R_BCM1480_HSP_TX_NPC_RAMALLOC 0x0000040078
800 1.1 simonb #define R_BCM1480_HSP_TX_RSP_RAMALLOC 0x0000040080
801 1.1 simonb #define R_BCM1480_HSP_TX_PC_RAMALLOC 0x0000040088
802 1.1 simonb #define R_BCM1480_HSP_TX_HTCC_RAMALLOC_0 0x0000040090
803 1.1 simonb #define R_BCM1480_HSP_TX_HTCC_RAMALLOC_1 0x0000040098
804 1.1 simonb #define R_BCM1480_HSP_TX_HTCC_RAMALLOC_2 0x00000400A0
805 1.1 simonb
806 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RXPHITCNT_0 0x00000400B0
807 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RXPHITCNT_1 0x00000400B8
808 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RXPHITCNT_2 0x00000400C0
809 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RXPHITCNT_3 0x00000400C8
810 1.1 simonb #define R_BCM1480_HSP_TX_PKT_RXPHITCNT(idx) (R_BCM1480_HSP_TX_PKT_RXPHITCNT_0 + 8*(idx))
811 1.1 simonb #define R_BCM1480_HSP_TX_HTIO_RXPHITCNT 0x00000400D0
812 1.1 simonb #define R_BCM1480_HSP_TX_HTCC_RXPHITCNT 0x00000400D8
813 1.1 simonb
814 1.1 simonb #define R_BCM1480_HSP_TX_PKT_TXPHITCNT_0 0x00000400E0
815 1.1 simonb #define R_BCM1480_HSP_TX_PKT_TXPHITCNT_1 0x00000400E8
816 1.1 simonb #define R_BCM1480_HSP_TX_PKT_TXPHITCNT_2 0x00000400F0
817 1.1 simonb #define R_BCM1480_HSP_TX_PKT_TXPHITCNT_3 0x00000400F8
818 1.1 simonb #define R_BCM1480_HSP_TX_PKT_TXPHITCNT(idx) (R_BCM1480_HSP_TX_PKT_TXPHITCNT_0 + 8*(idx))
819 1.1 simonb #define R_BCM1480_HSP_TX_HTIO_TXPHITCNT 0x0000040100
820 1.1 simonb #define R_BCM1480_HSP_TX_HTCC_TXPHITCNT 0x0000040108
821 1.1 simonb
822 1.1 simonb #define R_BCM1480_HSP_TX_SPI4_CALENDAR_0 0x0000040200
823 1.1 simonb #define R_BCM1480_HSP_TX_SPI4_CALENDAR_1 0x0000040208
824 1.1 simonb
825 1.1 simonb #define R_BCM1480_HSP_TX_PLL_CNFG 0x0000040800
826 1.1 simonb #define R_BCM1480_HSP_TX_CALIBRATION 0x0000040808
827 1.1 simonb #define R_BCM1480_HSP_TX_TEST 0x0000040810
828 1.1 simonb
829 1.1 simonb #define R_BCM1480_HSP_TX_VIS_CMDQ_0 0x0000040840
830 1.1 simonb #define R_BCM1480_HSP_TX_VIS_CMDQ_1 0x0000040848
831 1.1 simonb #define R_BCM1480_HSP_TX_VIS_CMDQ_2 0x0000040850
832 1.1 simonb #define R_BCM1480_HSP_TX_RAM_READCTL 0x0000040860
833 1.1 simonb #define R_BCM1480_HSP_TX_RAM_READWINDOW 0x0000040868
834 1.1 simonb #define R_BCM1480_HSP_TX_RF_READCTL 0x0000040870
835 1.1 simonb #define R_BCM1480_HSP_TX_RF_READWINDOW 0x0000040878
836 1.1 simonb
837 1.1 simonb #define R_BCM1480_HSP_TX_SPI4_PORT_INT_STATUS 0x0000040880
838 1.1 simonb #define R_BCM1480_HSP_TX_SPI4_PORT_INT_EN 0x0000040888
839 1.1 simonb
840 1.1 simonb #define R_BCM1480_HSP_TX_NEXT_ADDR_BASE 0x000040400
841 1.1 simonb #define R_BCM1480_HSP_TX_NEXT_ADDR_REGISTER(x) (R_BCM1480_HSP_TX_NEXT_ADDR_BASE+ 8*(x))
842 1.1 simonb
843 1.1 simonb
844 1.1 simonb
845 1.1 simonb /* *********************************************************************
846 1.1 simonb * Physical Address Map (Table 10 and Figure 7)
847 1.1 simonb ********************************************************************* */
848 1.1 simonb
849 1.1 simonb #define A_BCM1480_PHYS_MEMORY_0 _SB_MAKE64(0x0000000000)
850 1.1 simonb #define A_BCM1480_PHYS_MEMORY_SIZE _SB_MAKE64((256*1024*1024))
851 1.1 simonb #define A_BCM1480_PHYS_SYSTEM_CTL _SB_MAKE64(0x0010000000)
852 1.1 simonb #define A_BCM1480_PHYS_IO_SYSTEM _SB_MAKE64(0x0010060000)
853 1.1 simonb #define A_BCM1480_PHYS_GENBUS _SB_MAKE64(0x0010090000)
854 1.1 simonb #define A_BCM1480_PHYS_GENBUS_END _SB_MAKE64(0x0028000000)
855 1.1 simonb #define A_BCM1480_PHYS_PCI_MISC_MATCH_BYTES _SB_MAKE64(0x0028000000)
856 1.1 simonb #define A_BCM1480_PHYS_PCI_IACK_MATCH_BYTES _SB_MAKE64(0x0029000000)
857 1.1 simonb #define A_BCM1480_PHYS_PCI_IO_MATCH_BYTES _SB_MAKE64(0x002C000000)
858 1.1 simonb #define A_BCM1480_PHYS_PCI_CFG_MATCH_BYTES _SB_MAKE64(0x002E000000)
859 1.1 simonb #define A_BCM1480_PHYS_PCI_OMAP_MATCH_BYTES _SB_MAKE64(0x002F000000)
860 1.1 simonb #define A_BCM1480_PHYS_PCI_MEM_MATCH_BYTES _SB_MAKE64(0x0030000000)
861 1.1 simonb #define A_BCM1480_PHYS_HT_MEM_MATCH_BYTES _SB_MAKE64(0x0040000000)
862 1.1 simonb #define A_BCM1480_PHYS_HT_MEM_MATCH_BITS _SB_MAKE64(0x0060000000)
863 1.1 simonb #define A_BCM1480_PHYS_MEMORY_1 _SB_MAKE64(0x0080000000)
864 1.1 simonb #define A_BCM1480_PHYS_MEMORY_2 _SB_MAKE64(0x0090000000)
865 1.1 simonb #define A_BCM1480_PHYS_PCI_MISC_MATCH_BITS _SB_MAKE64(0x00A8000000)
866 1.1 simonb #define A_BCM1480_PHYS_PCI_IACK_MATCH_BITS _SB_MAKE64(0x00A9000000)
867 1.1 simonb #define A_BCM1480_PHYS_PCI_IO_MATCH_BITS _SB_MAKE64(0x00AC000000)
868 1.1 simonb #define A_BCM1480_PHYS_PCI_CFG_MATCH_BITS _SB_MAKE64(0x00AE000000)
869 1.1 simonb #define A_BCM1480_PHYS_PCI_OMAP_MATCH_BITS _SB_MAKE64(0x00AF000000)
870 1.1 simonb #define A_BCM1480_PHYS_PCI_MEM_MATCH_BITS _SB_MAKE64(0x00B0000000)
871 1.1 simonb #define A_BCM1480_PHYS_MEMORY_3 _SB_MAKE64(0x00C0000000)
872 1.1 simonb #define A_BCM1480_PHYS_L2_CACHE_TEST _SB_MAKE64(0x00D0000000)
873 1.1 simonb #define A_BCM1480_PHYS_HT_SPECIAL_MATCH_BYTES _SB_MAKE64(0x00D8000000)
874 1.1 simonb #define A_BCM1480_PHYS_HT_IO_MATCH_BYTES _SB_MAKE64(0x00DC000000)
875 1.1 simonb #define A_BCM1480_PHYS_HT_CFG_MATCH_BYTES _SB_MAKE64(0x00DE000000)
876 1.1 simonb #define A_BCM1480_PHYS_HS_SUBSYS _SB_MAKE64(0x00DF000000)
877 1.1 simonb #define A_BCM1480_PHYS_HT_SPECIAL_MATCH_BITS _SB_MAKE64(0x00F8000000)
878 1.1 simonb #define A_BCM1480_PHYS_HT_IO_MATCH_BITS _SB_MAKE64(0x00FC000000)
879 1.1 simonb #define A_BCM1480_PHYS_HT_CFG_MATCH_BITS _SB_MAKE64(0x00FE000000)
880 1.1 simonb #define A_BCM1480_PHYS_MEMORY_EXP _SB_MAKE64(0x0100000000)
881 1.1 simonb #define A_BCM1480_PHYS_MEMORY_EXP_SIZE _SB_MAKE64((508*1024*1024*1024))
882 1.1 simonb #define A_BCM1480_PHYS_PCI_UPPER _SB_MAKE64(0x1000000000)
883 1.1 simonb #define A_BCM1480_PHYS_HT_UPPER_MATCH_BYTES _SB_MAKE64(0x2000000000)
884 1.1 simonb #define A_BCM1480_PHYS_HT_UPPER_MATCH_BITS _SB_MAKE64(0x3000000000)
885 1.1 simonb #define A_BCM1480_PHYS_HT_NODE_ALIAS _SB_MAKE64(0x4000000000)
886 1.1 simonb #define A_BCM1480_PHYS_HT_FULLACCESS _SB_MAKE64(0xF000000000)
887 1.1 simonb
888 1.1 simonb
889 1.1 simonb /* *********************************************************************
890 1.1 simonb * L2 Cache as RAM (Table 54)
891 1.1 simonb ********************************************************************* */
892 1.1 simonb
893 1.1 simonb #define A_BCM1480_PHYS_L2CACHE_WAY_SIZE _SB_MAKE64(0x0000020000)
894 1.1 simonb #define BCM1480_PHYS_L2CACHE_NUM_WAYS 8
895 1.1 simonb #define A_BCM1480_PHYS_L2CACHE_TOTAL_SIZE _SB_MAKE64(0x0000100000)
896 1.1 simonb #define A_BCM1480_PHYS_L2CACHE_WAY0 _SB_MAKE64(0x00D0300000)
897 1.1 simonb #define A_BCM1480_PHYS_L2CACHE_WAY1 _SB_MAKE64(0x00D0320000)
898 1.1 simonb #define A_BCM1480_PHYS_L2CACHE_WAY2 _SB_MAKE64(0x00D0340000)
899 1.1 simonb #define A_BCM1480_PHYS_L2CACHE_WAY3 _SB_MAKE64(0x00D0360000)
900 1.1 simonb #define A_BCM1480_PHYS_L2CACHE_WAY4 _SB_MAKE64(0x00D0380000)
901 1.1 simonb #define A_BCM1480_PHYS_L2CACHE_WAY5 _SB_MAKE64(0x00D03A0000)
902 1.1 simonb #define A_BCM1480_PHYS_L2CACHE_WAY6 _SB_MAKE64(0x00D03C0000)
903 1.1 simonb #define A_BCM1480_PHYS_L2CACHE_WAY7 _SB_MAKE64(0x00D03E0000)
904 1.1 simonb
905 1.1 simonb #endif /* _BCM1480_REGS_H */
906