diff options
author | Andrew Isaacson <adi@broadcom.com> | 2005-10-20 02:55:11 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2005-10-29 14:32:45 -0400 |
commit | 4cbf2beac2265b3619be9c8e88ff4ff45b49d7c2 (patch) | |
tree | fa7701264e60759b080b7953bcfad081a51e63d2 /include/asm-mips/sibyte/bcm1480_scd.h | |
parent | d121ced21d79eab7726bfe6b1e33da4ae86072c0 (diff) |
BCM1480 headers
Add header files for BCM1480/1280/1455/1255 family of chips, and
update sb1250 headers which are shared by BCM1480 family.
Signed-Off-By: Andy Isaacson <adi@broadcom.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
diff --git a/include/asm-mips/sibyte/bcm1480_int.h b/include/asm-mips/sibyte/bcm1480_int.h
new file mode 100644
Diffstat (limited to 'include/asm-mips/sibyte/bcm1480_scd.h')
-rw-r--r-- | include/asm-mips/sibyte/bcm1480_scd.h | 436 |
1 files changed, 436 insertions, 0 deletions
diff --git a/include/asm-mips/sibyte/bcm1480_scd.h b/include/asm-mips/sibyte/bcm1480_scd.h new file mode 100644 index 000000000000..648bed96780f --- /dev/null +++ b/include/asm-mips/sibyte/bcm1480_scd.h | |||
@@ -0,0 +1,436 @@ | |||
1 | /* ********************************************************************* | ||
2 | * BCM1280/BCM1400 Board Support Package | ||
3 | * | ||
4 | * SCD Constants and Macros File: bcm1480_scd.h | ||
5 | * | ||
6 | * This module contains constants and macros useful for | ||
7 | * manipulating the System Control and Debug module. | ||
8 | * | ||
9 | * BCM1400 specification level: 1X55_1X80-UM100-R (12/18/03) | ||
10 | * | ||
11 | ********************************************************************* | ||
12 | * | ||
13 | * Copyright 2000,2001,2002,2003 | ||
14 | * Broadcom Corporation. All rights reserved. | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or | ||
17 | * modify it under the terms of the GNU General Public License as | ||
18 | * published by the Free Software Foundation; either version 2 of | ||
19 | * the License, or (at your option) any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; if not, write to the Free Software | ||
28 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | ||
29 | * MA 02111-1307 USA | ||
30 | ********************************************************************* */ | ||
31 | |||
32 | #ifndef _BCM1480_SCD_H | ||
33 | #define _BCM1480_SCD_H | ||
34 | |||
35 | #include "sb1250_defs.h" | ||
36 | |||
37 | /* ********************************************************************* | ||
38 | * Pull in the BCM1250's SCD since lots of stuff is the same. | ||
39 | ********************************************************************* */ | ||
40 | |||
41 | #include "sb1250_scd.h" | ||
42 | |||
43 | /* ********************************************************************* | ||
44 | * Some general notes: | ||
45 | * | ||
46 | * This file is basically a "what's new" header file. Since the | ||
47 | * BCM1250 and the new BCM1480 (and derivatives) share many common | ||
48 | * features, this file contains only what's new or changed from | ||
49 | * the 1250. (above, you can see that we include the 1250 symbols | ||
50 | * to get the base functionality). | ||
51 | * | ||
52 | * In software, be sure to use the correct symbols, particularly | ||
53 | * for blocks that are different between the two chip families. | ||
54 | * All BCM1480-specific symbols have _BCM1480_ in their names, | ||
55 | * and all BCM1250-specific and "base" functions that are common in | ||
56 | * both chips have no special names (this is for compatibility with | ||
57 | * older include files). Therefore, if you're working with the | ||
58 | * SCD, which is very different on each chip, A_SCD_xxx implies | ||
59 | * the BCM1250 version and A_BCM1480_SCD_xxx implies the BCM1480 | ||
60 | * version. | ||
61 | ********************************************************************* */ | ||
62 | |||
63 | /* ********************************************************************* | ||
64 | * System control/debug registers | ||
65 | ********************************************************************* */ | ||
66 | |||
67 | /* | ||
68 | * System Identification and Revision Register (Table 12) | ||
69 | * Register: SCD_SYSTEM_REVISION | ||
70 | * This register is field compatible with the 1250. | ||
71 | */ | ||
72 | |||
73 | /* | ||
74 | * New part definitions | ||
75 | */ | ||
76 | |||
77 | #define K_SYS_PART_BCM1480 0x1406 | ||
78 | #define K_SYS_PART_BCM1280 0x1206 | ||
79 | #define K_SYS_PART_BCM1455 0x1407 | ||
80 | #define K_SYS_PART_BCM1255 0x1257 | ||
81 | |||
82 | /* | ||
83 | * Manufacturing Information Register (Table 14) | ||
84 | * Register: SCD_SYSTEM_MANUF | ||
85 | */ | ||
86 | |||
87 | /* | ||
88 | * System Configuration Register (Table 15) | ||
89 | * Register: SCD_SYSTEM_CFG | ||
90 | * Entire register is different from 1250, all new constants below | ||
91 | */ | ||
92 | |||
93 | #define M_BCM1480_SYS_RESERVED0 _SB_MAKEMASK1(0) | ||
94 | #define M_BCM1480_SYS_HT_MINRSTCNT _SB_MAKEMASK1(1) | ||
95 | #define M_BCM1480_SYS_RESERVED2 _SB_MAKEMASK1(2) | ||
96 | #define M_BCM1480_SYS_RESERVED3 _SB_MAKEMASK1(3) | ||
97 | #define M_BCM1480_SYS_RESERVED4 _SB_MAKEMASK1(4) | ||
98 | #define M_BCM1480_SYS_IOB_DIV _SB_MAKEMASK1(5) | ||
99 | |||
100 | #define S_BCM1480_SYS_PLL_DIV _SB_MAKE64(6) | ||
101 | #define M_BCM1480_SYS_PLL_DIV _SB_MAKEMASK(5,S_BCM1480_SYS_PLL_DIV) | ||
102 | #define V_BCM1480_SYS_PLL_DIV(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_PLL_DIV) | ||
103 | #define G_BCM1480_SYS_PLL_DIV(x) _SB_GETVALUE(x,S_BCM1480_SYS_PLL_DIV,M_BCM1480_SYS_PLL_DIV) | ||
104 | |||
105 | #define S_BCM1480_SYS_SW_DIV _SB_MAKE64(11) | ||
106 | #define M_BCM1480_SYS_SW_DIV _SB_MAKEMASK(5,S_BCM1480_SYS_SW_DIV) | ||
107 | #define V_BCM1480_SYS_SW_DIV(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_SW_DIV) | ||
108 | #define G_BCM1480_SYS_SW_DIV(x) _SB_GETVALUE(x,S_BCM1480_SYS_SW_DIV,M_BCM1480_SYS_SW_DIV) | ||
109 | |||
110 | #define M_BCM1480_SYS_PCMCIA_ENABLE _SB_MAKEMASK1(16) | ||
111 | #define M_BCM1480_SYS_DUART1_ENABLE _SB_MAKEMASK1(17) | ||
112 | |||
113 | #define S_BCM1480_SYS_BOOT_MODE _SB_MAKE64(18) | ||
114 | #define M_BCM1480_SYS_BOOT_MODE _SB_MAKEMASK(2,S_BCM1480_SYS_BOOT_MODE) | ||
115 | #define V_BCM1480_SYS_BOOT_MODE(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_BOOT_MODE) | ||
116 | #define G_BCM1480_SYS_BOOT_MODE(x) _SB_GETVALUE(x,S_BCM1480_SYS_BOOT_MODE,M_BCM1480_SYS_BOOT_MODE) | ||
117 | #define K_BCM1480_SYS_BOOT_MODE_ROM32 0 | ||
118 | #define K_BCM1480_SYS_BOOT_MODE_ROM8 1 | ||
119 | #define K_BCM1480_SYS_BOOT_MODE_SMBUS_SMALL 2 | ||
120 | #define K_BCM1480_SYS_BOOT_MODE_SMBUS_BIG 3 | ||
121 | #define M_BCM1480_SYS_BOOT_MODE_SMBUS _SB_MAKEMASK1(19) | ||
122 | |||
123 | #define M_BCM1480_SYS_PCI_HOST _SB_MAKEMASK1(20) | ||
124 | #define M_BCM1480_SYS_PCI_ARBITER _SB_MAKEMASK1(21) | ||
125 | #define M_BCM1480_SYS_BIG_ENDIAN _SB_MAKEMASK1(22) | ||
126 | #define M_BCM1480_SYS_GENCLK_EN _SB_MAKEMASK1(23) | ||
127 | #define M_BCM1480_SYS_GEN_PARITY_EN _SB_MAKEMASK1(24) | ||
128 | #define M_BCM1480_SYS_RESERVED25 _SB_MAKEMASK1(25) | ||
129 | |||
130 | #define S_BCM1480_SYS_CONFIG 26 | ||
131 | #define M_BCM1480_SYS_CONFIG _SB_MAKEMASK(6,S_BCM1480_SYS_CONFIG) | ||
132 | #define V_BCM1480_SYS_CONFIG(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_CONFIG) | ||
133 | #define G_BCM1480_SYS_CONFIG(x) _SB_GETVALUE(x,S_BCM1480_SYS_CONFIG,M_BCM1480_SYS_CONFIG) | ||
134 | |||
135 | #define M_BCM1480_SYS_RESERVED32 _SB_MAKEMASK(32,15) | ||
136 | |||
137 | #define S_BCM1480_SYS_NODEID 47 | ||
138 | #define M_BCM1480_SYS_NODEID _SB_MAKEMASK(4,S_BCM1480_SYS_NODEID) | ||
139 | #define V_BCM1480_SYS_NODEID(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_NODEID) | ||
140 | #define G_BCM1480_SYS_NODEID(x) _SB_GETVALUE(x,S_BCM1480_SYS_NODEID,M_BCM1480_SYS_NODEID) | ||
141 | |||
142 | #define M_BCM1480_SYS_CCNUMA_EN _SB_MAKEMASK1(51) | ||
143 | #define M_BCM1480_SYS_CPU_RESET_0 _SB_MAKEMASK1(52) | ||
144 | #define M_BCM1480_SYS_CPU_RESET_1 _SB_MAKEMASK1(53) | ||
145 | #define M_BCM1480_SYS_CPU_RESET_2 _SB_MAKEMASK1(54) | ||
146 | #define M_BCM1480_SYS_CPU_RESET_3 _SB_MAKEMASK1(55) | ||
147 | #define S_BCM1480_SYS_DISABLECPU0 56 | ||
148 | #define M_BCM1480_SYS_DISABLECPU0 _SB_MAKEMASK1(S_BCM1480_SYS_DISABLECPU0) | ||
149 | #define S_BCM1480_SYS_DISABLECPU1 57 | ||
150 | #define M_BCM1480_SYS_DISABLECPU1 _SB_MAKEMASK1(S_BCM1480_SYS_DISABLECPU1) | ||
151 | #define S_BCM1480_SYS_DISABLECPU2 58 | ||
152 | #define M_BCM1480_SYS_DISABLECPU2 _SB_MAKEMASK1(S_BCM1480_SYS_DISABLECPU2) | ||
153 | #define S_BCM1480_SYS_DISABLECPU3 59 | ||
154 | #define M_BCM1480_SYS_DISABLECPU3 _SB_MAKEMASK1(S_BCM1480_SYS_DISABLECPU3) | ||
155 | |||
156 | #define M_BCM1480_SYS_SB_SOFTRES _SB_MAKEMASK1(60) | ||
157 | #define M_BCM1480_SYS_EXT_RESET _SB_MAKEMASK1(61) | ||
158 | #define M_BCM1480_SYS_SYSTEM_RESET _SB_MAKEMASK1(62) | ||
159 | #define M_BCM1480_SYS_SW_FLAG _SB_MAKEMASK1(63) | ||
160 | |||
161 | /* | ||
162 | * Scratch Register (Table 16) | ||
163 | * Register: SCD_SYSTEM_SCRATCH | ||
164 | * Same as BCM1250 | ||
165 | */ | ||
166 | |||
167 | |||
168 | /* | ||
169 | * Mailbox Registers (Table 17) | ||
170 | * Registers: SCD_MBOX_{0,1}_CPU_x | ||
171 | * Same as BCM1250 | ||
172 | */ | ||
173 | |||
174 | |||
175 | /* | ||
176 | * See bcm1480_int.h for interrupt mapper registers. | ||
177 | */ | ||
178 | |||
179 | |||
180 | /* | ||
181 | * Watchdog Timer Initial Count Registers (Table 23) | ||
182 | * Registers: SCD_WDOG_INIT_CNT_x | ||
183 | * | ||
184 | * The watchdogs are almost the same as the 1250, except | ||
185 | * the configuration register has more bits to control the | ||
186 | * other CPUs. | ||
187 | */ | ||
188 | |||
189 | |||
190 | /* | ||
191 | * Watchdog Timer Configuration Registers (Table 25) | ||
192 | * Registers: SCD_WDOG_CFG_x | ||
193 | */ | ||
194 | |||
195 | #define M_BCM1480_SCD_WDOG_ENABLE _SB_MAKEMASK1(0) | ||
196 | |||
197 | #define S_BCM1480_SCD_WDOG_RESET_TYPE 2 | ||
198 | #define M_BCM1480_SCD_WDOG_RESET_TYPE _SB_MAKEMASK(5,S_BCM1480_SCD_WDOG_RESET_TYPE) | ||
199 | #define V_BCM1480_SCD_WDOG_RESET_TYPE(x) _SB_MAKEVALUE(x,S_BCM1480_SCD_WDOG_RESET_TYPE) | ||
200 | #define G_BCM1480_SCD_WDOG_RESET_TYPE(x) _SB_GETVALUE(x,S_BCM1480_SCD_WDOG_RESET_TYPE,M_BCM1480_SCD_WDOG_RESET_TYPE) | ||
201 | |||
202 | #define K_BCM1480_SCD_WDOG_RESET_FULL 0 /* actually, (x & 1) == 0 */ | ||
203 | #define K_BCM1480_SCD_WDOG_RESET_SOFT 1 | ||
204 | #define K_BCM1480_SCD_WDOG_RESET_CPU0 3 | ||
205 | #define K_BCM1480_SCD_WDOG_RESET_CPU1 5 | ||
206 | #define K_BCM1480_SCD_WDOG_RESET_CPU2 9 | ||
207 | #define K_BCM1480_SCD_WDOG_RESET_CPU3 17 | ||
208 | #define K_BCM1480_SCD_WDOG_RESET_ALL_CPUS 31 | ||
209 | |||
210 | |||
211 | #define M_BCM1480_SCD_WDOG_HAS_RESET _SB_MAKEMASK1(8) | ||
212 | |||
213 | /* | ||
214 | * General Timer Initial Count Registers (Table 26) | ||
215 | * Registers: SCD_TIMER_INIT_x | ||
216 | * | ||
217 | * The timer registers are the same as the BCM1250 | ||
218 | */ | ||
219 | |||
220 | |||
221 | /* | ||
222 | * ZBbus Count Register (Table 29) | ||
223 | * Register: ZBBUS_CYCLE_COUNT | ||
224 | * | ||
225 | * Same as BCM1250 | ||
226 | */ | ||
227 | |||
228 | /* | ||
229 | * ZBbus Compare Registers (Table 30) | ||
230 | * Registers: ZBBUS_CYCLE_CPx | ||
231 | * | ||
232 | * Same as BCM1250 | ||
233 | */ | ||
234 | |||
235 | |||
236 | /* | ||
237 | * System Performance Counter Configuration Register (Table 31) | ||
238 | * Register: PERF_CNT_CFG_0 | ||
239 | * | ||
240 | * Since the clear/enable bits are moved compared to the | ||
241 | * 1250 and there are more fields, this register will be BCM1480 specific. | ||
242 | */ | ||
243 | |||
244 | #define S_BCM1480_SPC_CFG_SRC0 0 | ||
245 | #define M_BCM1480_SPC_CFG_SRC0 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC0) | ||
246 | #define V_BCM1480_SPC_CFG_SRC0(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC0) | ||
247 | #define G_BCM1480_SPC_CFG_SRC0(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC0,M_BCM1480_SPC_CFG_SRC0) | ||
248 | |||
249 | #define S_BCM1480_SPC_CFG_SRC1 8 | ||
250 | #define M_BCM1480_SPC_CFG_SRC1 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC1) | ||
251 | #define V_BCM1480_SPC_CFG_SRC1(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC1) | ||
252 | #define G_BCM1480_SPC_CFG_SRC1(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC1,M_BCM1480_SPC_CFG_SRC1) | ||
253 | |||
254 | #define S_BCM1480_SPC_CFG_SRC2 16 | ||
255 | #define M_BCM1480_SPC_CFG_SRC2 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC2) | ||
256 | #define V_BCM1480_SPC_CFG_SRC2(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC2) | ||
257 | #define G_BCM1480_SPC_CFG_SRC2(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC2,M_BCM1480_SPC_CFG_SRC2) | ||
258 | |||
259 | #define S_BCM1480_SPC_CFG_SRC3 24 | ||
260 | #define M_BCM1480_SPC_CFG_SRC3 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC3) | ||
261 | #define V_BCM1480_SPC_CFG_SRC3(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC3) | ||
262 | #define G_BCM1480_SPC_CFG_SRC3(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC3,M_BCM1480_SPC_CFG_SRC3) | ||
263 | |||
264 | #define S_BCM1480_SPC_CFG_SRC4 32 | ||
265 | #define M_BCM1480_SPC_CFG_SRC4 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC4) | ||
266 | #define V_BCM1480_SPC_CFG_SRC4(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC4) | ||
267 | #define G_BCM1480_SPC_CFG_SRC4(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC4,M_BCM1480_SPC_CFG_SRC4) | ||
268 | |||
269 | #define S_BCM1480_SPC_CFG_SRC5 40 | ||
270 | #define M_BCM1480_SPC_CFG_SRC5 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC5) | ||
271 | #define V_BCM1480_SPC_CFG_SRC5(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC5) | ||
272 | #define G_BCM1480_SPC_CFG_SRC5(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC5,M_BCM1480_SPC_CFG_SRC5) | ||
273 | |||
274 | #define S_BCM1480_SPC_CFG_SRC6 48 | ||
275 | #define M_BCM1480_SPC_CFG_SRC6 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC6) | ||
276 | #define V_BCM1480_SPC_CFG_SRC6(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC6) | ||
277 | #define G_BCM1480_SPC_CFG_SRC6(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC6,M_BCM1480_SPC_CFG_SRC6) | ||
278 | |||
279 | #define S_BCM1480_SPC_CFG_SRC7 56 | ||
280 | #define M_BCM1480_SPC_CFG_SRC7 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC7) | ||
281 | #define V_BCM1480_SPC_CFG_SRC7(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC7) | ||
282 | #define G_BCM1480_SPC_CFG_SRC7(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC7,M_BCM1480_SPC_CFG_SRC7) | ||
283 | |||
284 | /* | ||
285 | * System Performance Counter Control Register (Table 32) | ||
286 | * Register: PERF_CNT_CFG_1 | ||
287 | * BCM1480 specific | ||
288 | */ | ||
289 | |||
290 | #define M_BCM1480_SPC_CFG_CLEAR _SB_MAKEMASK1(0) | ||
291 | #define M_BCM1480_SPC_CFG_ENABLE _SB_MAKEMASK1(1) | ||
292 | |||
293 | /* | ||
294 | * System Performance Counters (Table 33) | ||
295 | * Registers: PERF_CNT_x | ||
296 | */ | ||
297 | |||
298 | #define S_BCM1480_SPC_CNT_COUNT 0 | ||
299 | #define M_BCM1480_SPC_CNT_COUNT _SB_MAKEMASK(40,S_BCM1480_SPC_CNT_COUNT) | ||
300 | #define V_BCM1480_SPC_CNT_COUNT(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CNT_COUNT) | ||
301 | #define G_BCM1480_SPC_CNT_COUNT(x) _SB_GETVALUE(x,S_BCM1480_SPC_CNT_COUNT,M_BCM1480_SPC_CNT_COUNT) | ||
302 | |||
303 | #define M_BCM1480_SPC_CNT_OFLOW _SB_MAKEMASK1(40) | ||
304 | |||
305 | |||
306 | /* | ||
307 | * Bus Watcher Error Status Register (Tables 36, 37) | ||
308 | * Registers: BUS_ERR_STATUS, BUS_ERR_STATUS_DEBUG | ||
309 | * Same as BCM1250. | ||
310 | */ | ||
311 | |||
312 | /* | ||
313 | * Bus Watcher Error Data Registers (Table 38) | ||
314 | * Registers: BUS_ERR_DATA_x | ||
315 | * Same as BCM1250. | ||
316 | */ | ||
317 | |||
318 | /* | ||
319 | * Bus Watcher L2 ECC Counter Register (Table 39) | ||
320 | * Register: BUS_L2_ERRORS | ||
321 | * Same as BCM1250. | ||
322 | */ | ||
323 | |||
324 | |||
325 | /* | ||
326 | * Bus Watcher Memory and I/O Error Counter Register (Table 40) | ||
327 | * Register: BUS_MEM_IO_ERRORS | ||
328 | * Same as BCM1250. | ||
329 | */ | ||
330 | |||
331 | |||
332 | /* | ||
333 | * Address Trap Registers | ||
334 | * | ||
335 | * Register layout same as BCM1250, almost. The bus agents | ||
336 | * are different, and the address trap configuration bits are | ||
337 | * slightly different. | ||
338 | */ | ||
339 | |||
340 | #define M_BCM1480_ATRAP_INDEX _SB_MAKEMASK(4,0) | ||
341 | #define M_BCM1480_ATRAP_ADDRESS _SB_MAKEMASK(40,0) | ||
342 | |||
343 | #define S_BCM1480_ATRAP_CFG_CNT 0 | ||
344 | #define M_BCM1480_ATRAP_CFG_CNT _SB_MAKEMASK(3,S_BCM1480_ATRAP_CFG_CNT) | ||
345 | #define V_BCM1480_ATRAP_CFG_CNT(x) _SB_MAKEVALUE(x,S_BCM1480_ATRAP_CFG_CNT) | ||
346 | #define G_BCM1480_ATRAP_CFG_CNT(x) _SB_GETVALUE(x,S_BCM1480_ATRAP_CFG_CNT,M_BCM1480_ATRAP_CFG_CNT) | ||
347 | |||
348 | #define M_BCM1480_ATRAP_CFG_WRITE _SB_MAKEMASK1(3) | ||
349 | #define M_BCM1480_ATRAP_CFG_ALL _SB_MAKEMASK1(4) | ||
350 | #define M_BCM1480_ATRAP_CFG_INV _SB_MAKEMASK1(5) | ||
351 | #define M_BCM1480_ATRAP_CFG_USESRC _SB_MAKEMASK1(6) | ||
352 | #define M_BCM1480_ATRAP_CFG_SRCINV _SB_MAKEMASK1(7) | ||
353 | |||
354 | #define S_BCM1480_ATRAP_CFG_AGENTID 8 | ||
355 | #define M_BCM1480_ATRAP_CFG_AGENTID _SB_MAKEMASK(4,S_BCM1480_ATRAP_CFG_AGENTID) | ||
356 | #define V_BCM1480_ATRAP_CFG_AGENTID(x) _SB_MAKEVALUE(x,S_BCM1480_ATRAP_CFG_AGENTID) | ||
357 | #define G_BCM1480_ATRAP_CFG_AGENTID(x) _SB_GETVALUE(x,S_BCM1480_ATRAP_CFG_AGENTID,M_BCM1480_ATRAP_CFG_AGENTID) | ||
358 | |||
359 | |||
360 | #define K_BCM1480_BUS_AGENT_CPU0 0 | ||
361 | #define K_BCM1480_BUS_AGENT_CPU1 1 | ||
362 | #define K_BCM1480_BUS_AGENT_NC 2 | ||
363 | #define K_BCM1480_BUS_AGENT_IOB 3 | ||
364 | #define K_BCM1480_BUS_AGENT_SCD 4 | ||
365 | #define K_BCM1480_BUS_AGENT_L2C 6 | ||
366 | #define K_BCM1480_BUS_AGENT_MC 7 | ||
367 | #define K_BCM1480_BUS_AGENT_CPU2 8 | ||
368 | #define K_BCM1480_BUS_AGENT_CPU3 9 | ||
369 | #define K_BCM1480_BUS_AGENT_PM 10 | ||
370 | |||
371 | #define S_BCM1480_ATRAP_CFG_CATTR 12 | ||
372 | #define M_BCM1480_ATRAP_CFG_CATTR _SB_MAKEMASK(2,S_BCM1480_ATRAP_CFG_CATTR) | ||
373 | #define V_BCM1480_ATRAP_CFG_CATTR(x) _SB_MAKEVALUE(x,S_BCM1480_ATRAP_CFG_CATTR) | ||
374 | #define G_BCM1480_ATRAP_CFG_CATTR(x) _SB_GETVALUE(x,S_BCM1480_ATRAP_CFG_CATTR,M_BCM1480_ATRAP_CFG_CATTR) | ||
375 | |||
376 | #define K_BCM1480_ATRAP_CFG_CATTR_IGNORE 0 | ||
377 | #define K_BCM1480_ATRAP_CFG_CATTR_UNC 1 | ||
378 | #define K_BCM1480_ATRAP_CFG_CATTR_NONCOH 2 | ||
379 | #define K_BCM1480_ATRAP_CFG_CATTR_COHERENT 3 | ||
380 | |||
381 | #define M_BCM1480_ATRAP_CFG_CATTRINV _SB_MAKEMASK1(14) | ||
382 | |||
383 | |||
384 | /* | ||
385 | * Trace Event Registers (Table 47) | ||
386 | * Same as BCM1250. | ||
387 | */ | ||
388 | |||
389 | /* | ||
390 | * Trace Sequence Control Registers (Table 48) | ||
391 | * Registers: TRACE_SEQUENCE_x | ||
392 | * | ||
393 | * Same as BCM1250 except for two new fields. | ||
394 | */ | ||
395 | |||
396 | |||
397 | #define M_BCM1480_SCD_TRSEQ_TID_MATCH_EN _SB_MAKEMASK1(25) | ||
398 | |||
399 | #define S_BCM1480_SCD_TRSEQ_SWFUNC 26 | ||
400 | #define M_BCM1480_SCD_TRSEQ_SWFUNC _SB_MAKEMASK(2,S_BCM1480_SCD_TRSEQ_SWFUNC) | ||
401 | #define V_BCM1480_SCD_TRSEQ_SWFUNC(x) _SB_MAKEVALUE(x,S_BCM1480_SCD_TRSEQ_SWFUNC) | ||
402 | #define G_BCM1480_SCD_TRSEQ_SWFUNC(x) _SB_GETVALUE(x,S_BCM1480_SCD_TRSEQ_SWFUNC,M_BCM1480_SCD_TRSEQ_SWFUNC) | ||
403 | |||
404 | /* | ||
405 | * Trace Control Register (Table 49) | ||
406 | * Register: TRACE_CFG | ||
407 | * | ||
408 | * Bits 0..8 are the same as the BCM1250, rest are different. | ||
409 | * Entire register is redefined below. | ||
410 | */ | ||
411 | |||
412 | #define M_BCM1480_SCD_TRACE_CFG_RESET _SB_MAKEMASK1(0) | ||
413 | #define M_BCM1480_SCD_TRACE_CFG_START_READ _SB_MAKEMASK1(1) | ||
414 | #define M_BCM1480_SCD_TRACE_CFG_START _SB_MAKEMASK1(2) | ||
415 | #define M_BCM1480_SCD_TRACE_CFG_STOP _SB_MAKEMASK1(3) | ||
416 | #define M_BCM1480_SCD_TRACE_CFG_FREEZE _SB_MAKEMASK1(4) | ||
417 | #define M_BCM1480_SCD_TRACE_CFG_FREEZE_FULL _SB_MAKEMASK1(5) | ||
418 | #define M_BCM1480_SCD_TRACE_CFG_DEBUG_FULL _SB_MAKEMASK1(6) | ||
419 | #define M_BCM1480_SCD_TRACE_CFG_FULL _SB_MAKEMASK1(7) | ||
420 | #define M_BCM1480_SCD_TRACE_CFG_FORCE_CNT _SB_MAKEMASK1(8) | ||
421 | |||
422 | #define S_BCM1480_SCD_TRACE_CFG_MODE 16 | ||
423 | #define M_BCM1480_SCD_TRACE_CFG_MODE _SB_MAKEMASK(2,S_BCM1480_SCD_TRACE_CFG_MODE) | ||
424 | #define V_BCM1480_SCD_TRACE_CFG_MODE(x) _SB_MAKEVALUE(x,S_BCM1480_SCD_TRACE_CFG_MODE) | ||
425 | #define G_BCM1480_SCD_TRACE_CFG_MODE(x) _SB_GETVALUE(x,S_BCM1480_SCD_TRACE_CFG_MODE,M_BCM1480_SCD_TRACE_CFG_MODE) | ||
426 | |||
427 | #define K_BCM1480_SCD_TRACE_CFG_MODE_BLOCKERS 0 | ||
428 | #define K_BCM1480_SCD_TRACE_CFG_MODE_BYTEEN_INT 1 | ||
429 | #define K_BCM1480_SCD_TRACE_CFG_MODE_FLOW_ID 2 | ||
430 | |||
431 | #define S_BCM1480_SCD_TRACE_CFG_CUR_ADDR 24 | ||
432 | #define M_BCM1480_SCD_TRACE_CFG_CUR_ADDR _SB_MAKEMASK(8,S_BCM1480_SCD_TRACE_CFG_CUR_ADDR) | ||
433 | #define V_BCM1480_SCD_TRACE_CFG_CUR_ADDR(x) _SB_MAKEVALUE(x,S_BCM1480_SCD_TRACE_CFG_CUR_ADDR) | ||
434 | #define G_BCM1480_SCD_TRACE_CFG_CUR_ADDR(x) _SB_GETVALUE(x,S_BCM1480_SCD_TRACE_CFG_CUR_ADDR,M_BCM1480_SCD_TRACE_CFG_CUR_ADDR) | ||
435 | |||
436 | #endif /* _BCM1480_SCD_H */ | ||