1 1.1 simonb /* ********************************************************************* 2 1.1 simonb * BCM1280/BCM1400 Board Support Package 3 1.1 simonb * 4 1.1 simonb * SCD Constants and Macros File: bcm1480_scd.h 5 1.1 simonb * 6 1.1 simonb * This module contains constants and macros useful for 7 1.1 simonb * manipulating the System Control and Debug module. 8 1.1 simonb * 9 1.1 simonb * BCM1400 specification level: 1X55_1X80-UM100-R (12/18/03) 10 1.1 simonb * 11 1.1 simonb ********************************************************************* 12 1.1 simonb * 13 1.1 simonb * Copyright 2000,2001,2002,2003,2004,2005 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_SCD_H 49 1.1 simonb #define _BCM1480_SCD_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 SCD since lots of stuff is the same. 55 1.1 simonb ********************************************************************* */ 56 1.1 simonb 57 1.1 simonb #include "sb1250_scd.h" 58 1.1 simonb 59 1.1 simonb /* ********************************************************************* 60 1.1 simonb * Some general notes: 61 1.1 simonb * 62 1.1 simonb * This file is basically a "what's new" header file. Since the 63 1.1 simonb * BCM1250 and the new BCM1480 (and derivatives) share many common 64 1.1 simonb * features, this file contains only what's new or changed from 65 1.1 simonb * the 1250. (above, you can see that we include the 1250 symbols 66 1.1 simonb * to get the base functionality). 67 1.1 simonb * 68 1.1 simonb * In software, be sure to use the correct symbols, particularly 69 1.1 simonb * for blocks that are different between the two chip families. 70 1.1 simonb * All BCM1480-specific symbols have _BCM1480_ in their names, 71 1.1 simonb * and all BCM1250-specific and "base" functions that are common in 72 1.1 simonb * both chips have no special names (this is for compatibility with 73 1.1 simonb * older include files). Therefore, if you're working with the 74 1.1 simonb * SCD, which is very different on each chip, A_SCD_xxx implies 75 1.1 simonb * the BCM1250 version and A_BCM1480_SCD_xxx implies the BCM1480 76 1.1 simonb * version. 77 1.1 simonb ********************************************************************* */ 78 1.1 simonb 79 1.1 simonb /* ********************************************************************* 80 1.1 simonb * System control/debug registers 81 1.1 simonb ********************************************************************* */ 82 1.1 simonb 83 1.1 simonb /* 84 1.1 simonb * System Identification and Revision Register (Table 12) 85 1.1 simonb * Register: SCD_SYSTEM_REVISION 86 1.1 simonb * This register is field compatible with the 1250. 87 1.1 simonb */ 88 1.1 simonb 89 1.1 simonb /* 90 1.1 simonb * New part definitions 91 1.1 simonb */ 92 1.1 simonb 93 1.1 simonb #define K_SYS_PART_BCM1480 0x1406 94 1.1 simonb #define K_SYS_PART_BCM1280 0x1206 95 1.1 simonb #define K_SYS_PART_BCM1455 0x1407 96 1.1 simonb #define K_SYS_PART_BCM1255 0x1257 97 1.1 simonb #define K_SYS_PART_BCM1158 0x1156 98 1.1 simonb 99 1.1 simonb /* 100 1.1 simonb * Manufacturing Information Register (Table 14) 101 1.1 simonb * Register: SCD_SYSTEM_MANUF 102 1.1 simonb */ 103 1.1 simonb 104 1.1 simonb /* 105 1.1 simonb * System Configuration Register (Table 15) 106 1.1 simonb * Register: SCD_SYSTEM_CFG 107 1.1 simonb * Entire register is different from 1250, all new constants below 108 1.1 simonb */ 109 1.1 simonb 110 1.1 simonb #define M_BCM1480_SYS_RESERVED0 _SB_MAKEMASK1(0) 111 1.1 simonb #define M_BCM1480_SYS_HT_MINRSTCNT _SB_MAKEMASK1(1) 112 1.1 simonb #define M_BCM1480_SYS_RESERVED2 _SB_MAKEMASK1(2) 113 1.1 simonb #define M_BCM1480_SYS_RESERVED3 _SB_MAKEMASK1(3) 114 1.1 simonb #define M_BCM1480_SYS_RESERVED4 _SB_MAKEMASK1(4) 115 1.1 simonb #define M_BCM1480_SYS_IOB_DIV _SB_MAKEMASK1(5) 116 1.1 simonb 117 1.1 simonb #define S_BCM1480_SYS_PLL_DIV _SB_MAKE64(6) 118 1.1 simonb #define M_BCM1480_SYS_PLL_DIV _SB_MAKEMASK(5,S_BCM1480_SYS_PLL_DIV) 119 1.1 simonb #define V_BCM1480_SYS_PLL_DIV(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_PLL_DIV) 120 1.1 simonb #define G_BCM1480_SYS_PLL_DIV(x) _SB_GETVALUE(x,S_BCM1480_SYS_PLL_DIV,M_BCM1480_SYS_PLL_DIV) 121 1.1 simonb 122 1.1 simonb #define S_BCM1480_SYS_SW_DIV _SB_MAKE64(11) 123 1.1 simonb #define M_BCM1480_SYS_SW_DIV _SB_MAKEMASK(5,S_BCM1480_SYS_SW_DIV) 124 1.1 simonb #define V_BCM1480_SYS_SW_DIV(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_SW_DIV) 125 1.1 simonb #define G_BCM1480_SYS_SW_DIV(x) _SB_GETVALUE(x,S_BCM1480_SYS_SW_DIV,M_BCM1480_SYS_SW_DIV) 126 1.1 simonb 127 1.1 simonb #define M_BCM1480_SYS_PCMCIA_ENABLE _SB_MAKEMASK1(16) 128 1.1 simonb #define M_BCM1480_SYS_DUART1_ENABLE _SB_MAKEMASK1(17) 129 1.1 simonb 130 1.1 simonb #define S_BCM1480_SYS_BOOT_MODE _SB_MAKE64(18) 131 1.1 simonb #define M_BCM1480_SYS_BOOT_MODE _SB_MAKEMASK(2,S_BCM1480_SYS_BOOT_MODE) 132 1.1 simonb #define V_BCM1480_SYS_BOOT_MODE(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_BOOT_MODE) 133 1.1 simonb #define G_BCM1480_SYS_BOOT_MODE(x) _SB_GETVALUE(x,S_BCM1480_SYS_BOOT_MODE,M_BCM1480_SYS_BOOT_MODE) 134 1.1 simonb #define K_BCM1480_SYS_BOOT_MODE_ROM32 0 135 1.1 simonb #define K_BCM1480_SYS_BOOT_MODE_ROM8 1 136 1.1 simonb #define K_BCM1480_SYS_BOOT_MODE_SMBUS_SMALL 2 137 1.1 simonb #define K_BCM1480_SYS_BOOT_MODE_SMBUS_BIG 3 138 1.1 simonb #define M_BCM1480_SYS_BOOT_MODE_SMBUS _SB_MAKEMASK1(19) 139 1.1 simonb 140 1.1 simonb #define M_BCM1480_SYS_PCI_HOST _SB_MAKEMASK1(20) 141 1.1 simonb #define M_BCM1480_SYS_PCI_ARBITER _SB_MAKEMASK1(21) 142 1.1 simonb #define M_BCM1480_SYS_BIG_ENDIAN _SB_MAKEMASK1(22) 143 1.1 simonb #define M_BCM1480_SYS_GENCLK_EN _SB_MAKEMASK1(23) 144 1.1 simonb #define M_BCM1480_SYS_GEN_PARITY_EN _SB_MAKEMASK1(24) 145 1.1 simonb #define M_BCM1480_SYS_RESERVED25 _SB_MAKEMASK1(25) 146 1.1 simonb 147 1.1 simonb #define S_BCM1480_SYS_CONFIG 26 148 1.1 simonb #define M_BCM1480_SYS_CONFIG _SB_MAKEMASK(6,S_BCM1480_SYS_CONFIG) 149 1.1 simonb #define V_BCM1480_SYS_CONFIG(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_CONFIG) 150 1.1 simonb #define G_BCM1480_SYS_CONFIG(x) _SB_GETVALUE(x,S_BCM1480_SYS_CONFIG,M_BCM1480_SYS_CONFIG) 151 1.1 simonb 152 1.1 simonb #define M_BCM1480_SYS_RESERVED32 _SB_MAKEMASK(32,15) 153 1.1 simonb 154 1.1 simonb #define S_BCM1480_SYS_NODEID 47 155 1.1 simonb #define M_BCM1480_SYS_NODEID _SB_MAKEMASK(4,S_BCM1480_SYS_NODEID) 156 1.1 simonb #define V_BCM1480_SYS_NODEID(x) _SB_MAKEVALUE(x,S_BCM1480_SYS_NODEID) 157 1.1 simonb #define G_BCM1480_SYS_NODEID(x) _SB_GETVALUE(x,S_BCM1480_SYS_NODEID,M_BCM1480_SYS_NODEID) 158 1.1 simonb 159 1.1 simonb #define M_BCM1480_SYS_CCNUMA_EN _SB_MAKEMASK1(51) 160 1.1 simonb #define M_BCM1480_SYS_CPU_RESET_0 _SB_MAKEMASK1(52) 161 1.1 simonb #define M_BCM1480_SYS_CPU_RESET_1 _SB_MAKEMASK1(53) 162 1.1 simonb #define M_BCM1480_SYS_CPU_RESET_2 _SB_MAKEMASK1(54) 163 1.1 simonb #define M_BCM1480_SYS_CPU_RESET_3 _SB_MAKEMASK1(55) 164 1.1 simonb #define S_BCM1480_SYS_DISABLECPU0 56 165 1.1 simonb #define M_BCM1480_SYS_DISABLECPU0 _SB_MAKEMASK1(S_BCM1480_SYS_DISABLECPU0) 166 1.1 simonb #define S_BCM1480_SYS_DISABLECPU1 57 167 1.1 simonb #define M_BCM1480_SYS_DISABLECPU1 _SB_MAKEMASK1(S_BCM1480_SYS_DISABLECPU1) 168 1.1 simonb #define S_BCM1480_SYS_DISABLECPU2 58 169 1.1 simonb #define M_BCM1480_SYS_DISABLECPU2 _SB_MAKEMASK1(S_BCM1480_SYS_DISABLECPU2) 170 1.1 simonb #define S_BCM1480_SYS_DISABLECPU3 59 171 1.1 simonb #define M_BCM1480_SYS_DISABLECPU3 _SB_MAKEMASK1(S_BCM1480_SYS_DISABLECPU3) 172 1.1 simonb 173 1.1 simonb #define M_BCM1480_SYS_SB_SOFTRES _SB_MAKEMASK1(60) 174 1.1 simonb #define M_BCM1480_SYS_EXT_RESET _SB_MAKEMASK1(61) 175 1.1 simonb #define M_BCM1480_SYS_SYSTEM_RESET _SB_MAKEMASK1(62) 176 1.1 simonb #define M_BCM1480_SYS_SW_FLAG _SB_MAKEMASK1(63) 177 1.1 simonb 178 1.1 simonb /* 179 1.1 simonb * Scratch Register (Table 16) 180 1.1 simonb * Register: SCD_SYSTEM_SCRATCH 181 1.1 simonb * Same as BCM1250 182 1.1 simonb */ 183 1.1 simonb 184 1.1 simonb 185 1.1 simonb /* 186 1.1 simonb * Mailbox Registers (Table 17) 187 1.1 simonb * Registers: SCD_MBOX_{0,1}_CPU_x 188 1.1 simonb * Same as BCM1250 189 1.1 simonb */ 190 1.1 simonb 191 1.1 simonb 192 1.1 simonb /* 193 1.1 simonb * See bcm1480_int.h for interrupt mapper registers. 194 1.1 simonb */ 195 1.1 simonb 196 1.1 simonb 197 1.1 simonb /* 198 1.1 simonb * Watchdog Timer Initial Count Registers (Table 23) 199 1.1 simonb * Registers: SCD_WDOG_INIT_CNT_x 200 1.1 simonb * 201 1.1 simonb * The watchdogs are almost the same as the 1250, except 202 1.1 simonb * the configuration register has more bits to control the 203 1.1 simonb * other CPUs. 204 1.1 simonb */ 205 1.1 simonb 206 1.1 simonb 207 1.1 simonb /* 208 1.1 simonb * Watchdog Timer Configuration Registers (Table 25) 209 1.1 simonb * Registers: SCD_WDOG_CFG_x 210 1.1 simonb */ 211 1.1 simonb 212 1.1 simonb #define M_BCM1480_SCD_WDOG_ENABLE _SB_MAKEMASK1(0) 213 1.1 simonb 214 1.1 simonb #define S_BCM1480_SCD_WDOG_RESET_TYPE 2 215 1.1 simonb #define M_BCM1480_SCD_WDOG_RESET_TYPE _SB_MAKEMASK(5,S_BCM1480_SCD_WDOG_RESET_TYPE) 216 1.1 simonb #define V_BCM1480_SCD_WDOG_RESET_TYPE(x) _SB_MAKEVALUE(x,S_BCM1480_SCD_WDOG_RESET_TYPE) 217 1.1 simonb #define G_BCM1480_SCD_WDOG_RESET_TYPE(x) _SB_GETVALUE(x,S_BCM1480_SCD_WDOG_RESET_TYPE,M_BCM1480_SCD_WDOG_RESET_TYPE) 218 1.1 simonb 219 1.1 simonb #define K_BCM1480_SCD_WDOG_RESET_FULL 0 /* actually, (x & 1) == 0 */ 220 1.1 simonb #define K_BCM1480_SCD_WDOG_RESET_SOFT 1 221 1.1 simonb #define K_BCM1480_SCD_WDOG_RESET_CPU0 3 222 1.1 simonb #define K_BCM1480_SCD_WDOG_RESET_CPU1 5 223 1.1 simonb #define K_BCM1480_SCD_WDOG_RESET_CPU2 9 224 1.1 simonb #define K_BCM1480_SCD_WDOG_RESET_CPU3 17 225 1.1 simonb #define K_BCM1480_SCD_WDOG_RESET_ALL_CPUS 31 226 1.1 simonb 227 1.1 simonb 228 1.1 simonb #define M_BCM1480_SCD_WDOG_HAS_RESET _SB_MAKEMASK1(8) 229 1.1 simonb 230 1.1 simonb /* 231 1.1 simonb * General Timer Initial Count Registers (Table 26) 232 1.1 simonb * Registers: SCD_TIMER_INIT_x 233 1.1 simonb * 234 1.1 simonb * The timer registers are the same as the BCM1250 235 1.1 simonb */ 236 1.1 simonb 237 1.1 simonb 238 1.1 simonb /* 239 1.1 simonb * ZBbus Count Register (Table 29) 240 1.1 simonb * Register: ZBBUS_CYCLE_COUNT 241 1.1 simonb * 242 1.1 simonb * Same as BCM1250 243 1.1 simonb */ 244 1.1 simonb 245 1.1 simonb /* 246 1.1 simonb * ZBbus Compare Registers (Table 30) 247 1.1 simonb * Registers: ZBBUS_CYCLE_CPx 248 1.1 simonb * 249 1.1 simonb * Same as BCM1250 250 1.1 simonb */ 251 1.1 simonb 252 1.1 simonb 253 1.1 simonb /* 254 1.1 simonb * System Performance Counter Configuration Register (Table 31) 255 1.1 simonb * Register: PERF_CNT_CFG_0 256 1.1 simonb * 257 1.1 simonb * SPC_CFG_SRC[0-3] is the same as the 1250. 258 1.1 simonb * SPC_CFG_SRC[4-7] only exist on the 1480 259 1.1 simonb * The clear/enable bits are in different locations on the 1250 and 1480. 260 1.1 simonb */ 261 1.1 simonb 262 1.1 simonb #define S_SPC_CFG_SRC4 32 263 1.1 simonb #define M_SPC_CFG_SRC4 _SB_MAKEMASK(8,S_SPC_CFG_SRC4) 264 1.1 simonb #define V_SPC_CFG_SRC4(x) _SB_MAKEVALUE(x,S_SPC_CFG_SRC4) 265 1.1 simonb #define G_SPC_CFG_SRC4(x) _SB_GETVALUE(x,S_SPC_CFG_SRC4,M_SPC_CFG_SRC4) 266 1.1 simonb 267 1.1 simonb #define S_SPC_CFG_SRC5 40 268 1.1 simonb #define M_SPC_CFG_SRC5 _SB_MAKEMASK(8,S_SPC_CFG_SRC5) 269 1.1 simonb #define V_SPC_CFG_SRC5(x) _SB_MAKEVALUE(x,S_SPC_CFG_SRC5) 270 1.1 simonb #define G_SPC_CFG_SRC5(x) _SB_GETVALUE(x,S_SPC_CFG_SRC5,M_SPC_CFG_SRC5) 271 1.1 simonb 272 1.1 simonb #define S_SPC_CFG_SRC6 48 273 1.1 simonb #define M_SPC_CFG_SRC6 _SB_MAKEMASK(8,S_SPC_CFG_SRC6) 274 1.1 simonb #define V_SPC_CFG_SRC6(x) _SB_MAKEVALUE(x,S_SPC_CFG_SRC6) 275 1.1 simonb #define G_SPC_CFG_SRC6(x) _SB_GETVALUE(x,S_SPC_CFG_SRC6,M_SPC_CFG_SRC6) 276 1.1 simonb 277 1.1 simonb #define S_SPC_CFG_SRC7 56 278 1.1 simonb #define M_SPC_CFG_SRC7 _SB_MAKEMASK(8,S_SPC_CFG_SRC7) 279 1.1 simonb #define V_SPC_CFG_SRC7(x) _SB_MAKEVALUE(x,S_SPC_CFG_SRC7) 280 1.1 simonb #define G_SPC_CFG_SRC7(x) _SB_GETVALUE(x,S_SPC_CFG_SRC7,M_SPC_CFG_SRC7) 281 1.1 simonb 282 1.1 simonb /* 283 1.1 simonb * System Performance Counter Control Register (Table 32) 284 1.1 simonb * Register: PERF_CNT_CFG_1 285 1.1 simonb * BCM1480 specific 286 1.1 simonb */ 287 1.1 simonb #define M_BCM1480_SPC_CFG_CLEAR _SB_MAKEMASK1(0) 288 1.1 simonb #define M_BCM1480_SPC_CFG_ENABLE _SB_MAKEMASK1(1) 289 1.1 simonb #if SIBYTE_HDR_FEATURE_CHIP(1480) 290 1.1 simonb #define M_SPC_CFG_CLEAR M_BCM1480_SPC_CFG_CLEAR 291 1.1 simonb #define M_SPC_CFG_ENABLE M_BCM1480_SPC_CFG_ENABLE 292 1.1 simonb #endif 293 1.1 simonb 294 1.1 simonb /* 295 1.1 simonb * System Performance Counters (Table 33) 296 1.1 simonb * Registers: PERF_CNT_x 297 1.1 simonb */ 298 1.1 simonb 299 1.1 simonb #define S_BCM1480_SPC_CNT_COUNT 0 300 1.1 simonb #define M_BCM1480_SPC_CNT_COUNT _SB_MAKEMASK(40,S_BCM1480_SPC_CNT_COUNT) 301 1.1 simonb #define V_BCM1480_SPC_CNT_COUNT(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CNT_COUNT) 302 1.1 simonb #define G_BCM1480_SPC_CNT_COUNT(x) _SB_GETVALUE(x,S_BCM1480_SPC_CNT_COUNT,M_BCM1480_SPC_CNT_COUNT) 303 1.1 simonb 304 1.1 simonb #define M_BCM1480_SPC_CNT_OFLOW _SB_MAKEMASK1(40) 305 1.1 simonb 306 1.1 simonb 307 1.1 simonb /* 308 1.1 simonb * Bus Watcher Error Status Register (Tables 36, 37) 309 1.1 simonb * Registers: BUS_ERR_STATUS, BUS_ERR_STATUS_DEBUG 310 1.1 simonb * Same as BCM1250. 311 1.1 simonb */ 312 1.1 simonb 313 1.1 simonb /* 314 1.1 simonb * Bus Watcher Error Data Registers (Table 38) 315 1.1 simonb * Registers: BUS_ERR_DATA_x 316 1.1 simonb * Same as BCM1250. 317 1.1 simonb */ 318 1.1 simonb 319 1.1 simonb /* 320 1.1 simonb * Bus Watcher L2 ECC Counter Register (Table 39) 321 1.1 simonb * Register: BUS_L2_ERRORS 322 1.1 simonb * Same as BCM1250. 323 1.1 simonb */ 324 1.1 simonb 325 1.1 simonb 326 1.1 simonb /* 327 1.1 simonb * Bus Watcher Memory and I/O Error Counter Register (Table 40) 328 1.1 simonb * Register: BUS_MEM_IO_ERRORS 329 1.1 simonb * Same as BCM1250. 330 1.1 simonb */ 331 1.1 simonb 332 1.1 simonb 333 1.1 simonb /* 334 1.1 simonb * Address Trap Registers 335 1.1 simonb * 336 1.1 simonb * Register layout same as BCM1250, almost. The bus agents 337 1.1 simonb * are different, and the address trap configuration bits are 338 1.1 simonb * slightly different. 339 1.1 simonb */ 340 1.1 simonb 341 1.1 simonb #define M_BCM1480_ATRAP_INDEX _SB_MAKEMASK(4,0) 342 1.1 simonb #define M_BCM1480_ATRAP_ADDRESS _SB_MAKEMASK(40,0) 343 1.1 simonb 344 1.1 simonb #define S_BCM1480_ATRAP_CFG_CNT 0 345 1.1 simonb #define M_BCM1480_ATRAP_CFG_CNT _SB_MAKEMASK(3,S_BCM1480_ATRAP_CFG_CNT) 346 1.1 simonb #define V_BCM1480_ATRAP_CFG_CNT(x) _SB_MAKEVALUE(x,S_BCM1480_ATRAP_CFG_CNT) 347 1.1 simonb #define G_BCM1480_ATRAP_CFG_CNT(x) _SB_GETVALUE(x,S_BCM1480_ATRAP_CFG_CNT,M_BCM1480_ATRAP_CFG_CNT) 348 1.1 simonb 349 1.1 simonb #define M_BCM1480_ATRAP_CFG_WRITE _SB_MAKEMASK1(3) 350 1.1 simonb #define M_BCM1480_ATRAP_CFG_ALL _SB_MAKEMASK1(4) 351 1.1 simonb #define M_BCM1480_ATRAP_CFG_INV _SB_MAKEMASK1(5) 352 1.1 simonb #define M_BCM1480_ATRAP_CFG_USESRC _SB_MAKEMASK1(6) 353 1.1 simonb #define M_BCM1480_ATRAP_CFG_SRCINV _SB_MAKEMASK1(7) 354 1.1 simonb 355 1.1 simonb #define S_BCM1480_ATRAP_CFG_AGENTID 8 356 1.1 simonb #define M_BCM1480_ATRAP_CFG_AGENTID _SB_MAKEMASK(4,S_BCM1480_ATRAP_CFG_AGENTID) 357 1.1 simonb #define V_BCM1480_ATRAP_CFG_AGENTID(x) _SB_MAKEVALUE(x,S_BCM1480_ATRAP_CFG_AGENTID) 358 1.1 simonb #define G_BCM1480_ATRAP_CFG_AGENTID(x) _SB_GETVALUE(x,S_BCM1480_ATRAP_CFG_AGENTID,M_BCM1480_ATRAP_CFG_AGENTID) 359 1.1 simonb 360 1.1 simonb 361 1.1 simonb #define K_BCM1480_BUS_AGENT_CPU0 0 362 1.1 simonb #define K_BCM1480_BUS_AGENT_CPU1 1 363 1.1 simonb #define K_BCM1480_BUS_AGENT_NC 2 364 1.1 simonb #define K_BCM1480_BUS_AGENT_IOB 3 365 1.1 simonb #define K_BCM1480_BUS_AGENT_SCD 4 366 1.1 simonb #define K_BCM1480_BUS_AGENT_L2C 6 367 1.1 simonb #define K_BCM1480_BUS_AGENT_MC 7 368 1.1 simonb #define K_BCM1480_BUS_AGENT_CPU2 8 369 1.1 simonb #define K_BCM1480_BUS_AGENT_CPU3 9 370 1.1 simonb #define K_BCM1480_BUS_AGENT_PM 10 371 1.1 simonb 372 1.1 simonb #define S_BCM1480_ATRAP_CFG_CATTR 12 373 1.1 simonb #define M_BCM1480_ATRAP_CFG_CATTR _SB_MAKEMASK(2,S_BCM1480_ATRAP_CFG_CATTR) 374 1.1 simonb #define V_BCM1480_ATRAP_CFG_CATTR(x) _SB_MAKEVALUE(x,S_BCM1480_ATRAP_CFG_CATTR) 375 1.1 simonb #define G_BCM1480_ATRAP_CFG_CATTR(x) _SB_GETVALUE(x,S_BCM1480_ATRAP_CFG_CATTR,M_BCM1480_ATRAP_CFG_CATTR) 376 1.1 simonb 377 1.1 simonb #define K_BCM1480_ATRAP_CFG_CATTR_IGNORE 0 378 1.1 simonb #define K_BCM1480_ATRAP_CFG_CATTR_UNC 1 379 1.1 simonb #define K_BCM1480_ATRAP_CFG_CATTR_NONCOH 2 380 1.1 simonb #define K_BCM1480_ATRAP_CFG_CATTR_COHERENT 3 381 1.1 simonb 382 1.1 simonb #define M_BCM1480_ATRAP_CFG_CATTRINV _SB_MAKEMASK1(14) 383 1.1 simonb 384 1.1 simonb 385 1.1 simonb /* 386 1.1 simonb * Trace Event Registers (Table 47) 387 1.1 simonb * Same as BCM1250. 388 1.1 simonb */ 389 1.1 simonb 390 1.1 simonb /* 391 1.1 simonb * Trace Sequence Control Registers (Table 48) 392 1.1 simonb * Registers: TRACE_SEQUENCE_x 393 1.1 simonb * 394 1.1 simonb * Same as BCM1250 except for two new fields. 395 1.1 simonb */ 396 1.1 simonb 397 1.1 simonb 398 1.1 simonb #define M_BCM1480_SCD_TRSEQ_TID_MATCH_EN _SB_MAKEMASK1(25) 399 1.1 simonb 400 1.1 simonb #define S_BCM1480_SCD_TRSEQ_SWFUNC 26 401 1.1 simonb #define M_BCM1480_SCD_TRSEQ_SWFUNC _SB_MAKEMASK(2,S_BCM1480_SCD_TRSEQ_SWFUNC) 402 1.1 simonb #define V_BCM1480_SCD_TRSEQ_SWFUNC(x) _SB_MAKEVALUE(x,S_BCM1480_SCD_TRSEQ_SWFUNC) 403 1.1 simonb #define G_BCM1480_SCD_TRSEQ_SWFUNC(x) _SB_GETVALUE(x,S_BCM1480_SCD_TRSEQ_SWFUNC,M_BCM1480_SCD_TRSEQ_SWFUNC) 404 1.1 simonb 405 1.1 simonb /* 406 1.1 simonb * Trace Control Register (Table 49) 407 1.1 simonb * Register: TRACE_CFG 408 1.1 simonb * 409 1.1 simonb * BCM1480 changes to this register (other than location of the CUR_ADDR field) 410 1.1 simonb * are defined below. 411 1.1 simonb */ 412 1.1 simonb 413 1.1 simonb #define S_BCM1480_SCD_TRACE_CFG_MODE 16 414 1.1 simonb #define M_BCM1480_SCD_TRACE_CFG_MODE _SB_MAKEMASK(2,S_BCM1480_SCD_TRACE_CFG_MODE) 415 1.1 simonb #define V_BCM1480_SCD_TRACE_CFG_MODE(x) _SB_MAKEVALUE(x,S_BCM1480_SCD_TRACE_CFG_MODE) 416 1.1 simonb #define G_BCM1480_SCD_TRACE_CFG_MODE(x) _SB_GETVALUE(x,S_BCM1480_SCD_TRACE_CFG_MODE,M_BCM1480_SCD_TRACE_CFG_MODE) 417 1.1 simonb 418 1.1 simonb #define K_BCM1480_SCD_TRACE_CFG_MODE_BLOCKERS 0 419 1.1 simonb #define K_BCM1480_SCD_TRACE_CFG_MODE_BYTEEN_INT 1 420 1.1 simonb #define K_BCM1480_SCD_TRACE_CFG_MODE_FLOW_ID 2 421 1.1 simonb 422 1.1 simonb #endif /* _BCM1480_SCD_H */ 423