📄 bcm1480_scd.h
字号:
/* * ZBbus Count Register (Table 29) * Register: ZBBUS_CYCLE_COUNT * * Same as BCM1250 *//* * ZBbus Compare Registers (Table 30) * Registers: ZBBUS_CYCLE_CPx * * Same as BCM1250 *//* * System Performance Counter Configuration Register (Table 31) * Register: PERF_CNT_CFG_0 * * Since the clear/enable bits are moved compared to the * 1250 and there are more fields, this register will be BCM1480 specific. */#define S_BCM1480_SPC_CFG_SRC0 0#define M_BCM1480_SPC_CFG_SRC0 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC0)#define V_BCM1480_SPC_CFG_SRC0(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC0)#define G_BCM1480_SPC_CFG_SRC0(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC0,M_BCM1480_SPC_CFG_SRC0)#define S_BCM1480_SPC_CFG_SRC1 8#define M_BCM1480_SPC_CFG_SRC1 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC1)#define V_BCM1480_SPC_CFG_SRC1(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC1)#define G_BCM1480_SPC_CFG_SRC1(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC1,M_BCM1480_SPC_CFG_SRC1)#define S_BCM1480_SPC_CFG_SRC2 16#define M_BCM1480_SPC_CFG_SRC2 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC2)#define V_BCM1480_SPC_CFG_SRC2(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC2)#define G_BCM1480_SPC_CFG_SRC2(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC2,M_BCM1480_SPC_CFG_SRC2)#define S_BCM1480_SPC_CFG_SRC3 24#define M_BCM1480_SPC_CFG_SRC3 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC3)#define V_BCM1480_SPC_CFG_SRC3(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC3)#define G_BCM1480_SPC_CFG_SRC3(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC3,M_BCM1480_SPC_CFG_SRC3)#define S_BCM1480_SPC_CFG_SRC4 32#define M_BCM1480_SPC_CFG_SRC4 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC4)#define V_BCM1480_SPC_CFG_SRC4(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC4)#define G_BCM1480_SPC_CFG_SRC4(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC4,M_BCM1480_SPC_CFG_SRC4)#define S_BCM1480_SPC_CFG_SRC5 40#define M_BCM1480_SPC_CFG_SRC5 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC5)#define V_BCM1480_SPC_CFG_SRC5(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC5)#define G_BCM1480_SPC_CFG_SRC5(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC5,M_BCM1480_SPC_CFG_SRC5)#define S_BCM1480_SPC_CFG_SRC6 48#define M_BCM1480_SPC_CFG_SRC6 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC6)#define V_BCM1480_SPC_CFG_SRC6(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC6)#define G_BCM1480_SPC_CFG_SRC6(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC6,M_BCM1480_SPC_CFG_SRC6)#define S_BCM1480_SPC_CFG_SRC7 56#define M_BCM1480_SPC_CFG_SRC7 _SB_MAKEMASK(8,S_BCM1480_SPC_CFG_SRC7)#define V_BCM1480_SPC_CFG_SRC7(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CFG_SRC7)#define G_BCM1480_SPC_CFG_SRC7(x) _SB_GETVALUE(x,S_BCM1480_SPC_CFG_SRC7,M_BCM1480_SPC_CFG_SRC7)/* * System Performance Counter Control Register (Table 32) * Register: PERF_CNT_CFG_1 * BCM1480 specific */#define M_BCM1480_SPC_CFG_CLEAR _SB_MAKEMASK1(0)#define M_BCM1480_SPC_CFG_ENABLE _SB_MAKEMASK1(1)/* * System Performance Counters (Table 33) * Registers: PERF_CNT_x */#define S_BCM1480_SPC_CNT_COUNT 0#define M_BCM1480_SPC_CNT_COUNT _SB_MAKEMASK(40,S_BCM1480_SPC_CNT_COUNT)#define V_BCM1480_SPC_CNT_COUNT(x) _SB_MAKEVALUE(x,S_BCM1480_SPC_CNT_COUNT)#define G_BCM1480_SPC_CNT_COUNT(x) _SB_GETVALUE(x,S_BCM1480_SPC_CNT_COUNT,M_BCM1480_SPC_CNT_COUNT)#define M_BCM1480_SPC_CNT_OFLOW _SB_MAKEMASK1(40)/* * Bus Watcher Error Status Register (Tables 36, 37) * Registers: BUS_ERR_STATUS, BUS_ERR_STATUS_DEBUG * Same as BCM1250. *//* * Bus Watcher Error Data Registers (Table 38) * Registers: BUS_ERR_DATA_x * Same as BCM1250. *//* * Bus Watcher L2 ECC Counter Register (Table 39) * Register: BUS_L2_ERRORS * Same as BCM1250. *//* * Bus Watcher Memory and I/O Error Counter Register (Table 40) * Register: BUS_MEM_IO_ERRORS * Same as BCM1250. *//* * Address Trap Registers * * Register layout same as BCM1250, almost. The bus agents * are different, and the address trap configuration bits are * slightly different. */#define M_BCM1480_ATRAP_INDEX _SB_MAKEMASK(4,0)#define M_BCM1480_ATRAP_ADDRESS _SB_MAKEMASK(40,0)#define S_BCM1480_ATRAP_CFG_CNT 0#define M_BCM1480_ATRAP_CFG_CNT _SB_MAKEMASK(3,S_BCM1480_ATRAP_CFG_CNT)#define V_BCM1480_ATRAP_CFG_CNT(x) _SB_MAKEVALUE(x,S_BCM1480_ATRAP_CFG_CNT)#define G_BCM1480_ATRAP_CFG_CNT(x) _SB_GETVALUE(x,S_BCM1480_ATRAP_CFG_CNT,M_BCM1480_ATRAP_CFG_CNT)#define M_BCM1480_ATRAP_CFG_WRITE _SB_MAKEMASK1(3)#define M_BCM1480_ATRAP_CFG_ALL _SB_MAKEMASK1(4)#define M_BCM1480_ATRAP_CFG_INV _SB_MAKEMASK1(5)#define M_BCM1480_ATRAP_CFG_USESRC _SB_MAKEMASK1(6)#define M_BCM1480_ATRAP_CFG_SRCINV _SB_MAKEMASK1(7)#define S_BCM1480_ATRAP_CFG_AGENTID 8#define M_BCM1480_ATRAP_CFG_AGENTID _SB_MAKEMASK(4,S_BCM1480_ATRAP_CFG_AGENTID)#define V_BCM1480_ATRAP_CFG_AGENTID(x) _SB_MAKEVALUE(x,S_BCM1480_ATRAP_CFG_AGENTID)#define G_BCM1480_ATRAP_CFG_AGENTID(x) _SB_GETVALUE(x,S_BCM1480_ATRAP_CFG_AGENTID,M_BCM1480_ATRAP_CFG_AGENTID)#define K_BCM1480_BUS_AGENT_CPU0 0#define K_BCM1480_BUS_AGENT_CPU1 1#define K_BCM1480_BUS_AGENT_NC 2#define K_BCM1480_BUS_AGENT_IOB 3#define K_BCM1480_BUS_AGENT_SCD 4#define K_BCM1480_BUS_AGENT_L2C 6#define K_BCM1480_BUS_AGENT_MC 7#define K_BCM1480_BUS_AGENT_CPU2 8#define K_BCM1480_BUS_AGENT_CPU3 9#define K_BCM1480_BUS_AGENT_PM 10#define S_BCM1480_ATRAP_CFG_CATTR 12#define M_BCM1480_ATRAP_CFG_CATTR _SB_MAKEMASK(2,S_BCM1480_ATRAP_CFG_CATTR)#define V_BCM1480_ATRAP_CFG_CATTR(x) _SB_MAKEVALUE(x,S_BCM1480_ATRAP_CFG_CATTR)#define G_BCM1480_ATRAP_CFG_CATTR(x) _SB_GETVALUE(x,S_BCM1480_ATRAP_CFG_CATTR,M_BCM1480_ATRAP_CFG_CATTR)#define K_BCM1480_ATRAP_CFG_CATTR_IGNORE 0#define K_BCM1480_ATRAP_CFG_CATTR_UNC 1#define K_BCM1480_ATRAP_CFG_CATTR_NONCOH 2#define K_BCM1480_ATRAP_CFG_CATTR_COHERENT 3#define M_BCM1480_ATRAP_CFG_CATTRINV _SB_MAKEMASK1(14)/* * Trace Event Registers (Table 47) * Same as BCM1250. *//* * Trace Sequence Control Registers (Table 48) * Registers: TRACE_SEQUENCE_x * * Same as BCM1250 except for two new fields. */#define M_BCM1480_SCD_TRSEQ_TID_MATCH_EN _SB_MAKEMASK1(25)#define S_BCM1480_SCD_TRSEQ_SWFUNC 26#define M_BCM1480_SCD_TRSEQ_SWFUNC _SB_MAKEMASK(2,S_BCM1480_SCD_TRSEQ_SWFUNC)#define V_BCM1480_SCD_TRSEQ_SWFUNC(x) _SB_MAKEVALUE(x,S_BCM1480_SCD_TRSEQ_SWFUNC)#define G_BCM1480_SCD_TRSEQ_SWFUNC(x) _SB_GETVALUE(x,S_BCM1480_SCD_TRSEQ_SWFUNC,M_BCM1480_SCD_TRSEQ_SWFUNC)/* * Trace Control Register (Table 49) * Register: TRACE_CFG * * Bits 0..8 are the same as the BCM1250, rest are different. * Entire register is redefined below. */#define M_BCM1480_SCD_TRACE_CFG_RESET _SB_MAKEMASK1(0)#define M_BCM1480_SCD_TRACE_CFG_START_READ _SB_MAKEMASK1(1)#define M_BCM1480_SCD_TRACE_CFG_START _SB_MAKEMASK1(2)#define M_BCM1480_SCD_TRACE_CFG_STOP _SB_MAKEMASK1(3)#define M_BCM1480_SCD_TRACE_CFG_FREEZE _SB_MAKEMASK1(4)#define M_BCM1480_SCD_TRACE_CFG_FREEZE_FULL _SB_MAKEMASK1(5)#define M_BCM1480_SCD_TRACE_CFG_DEBUG_FULL _SB_MAKEMASK1(6)#define M_BCM1480_SCD_TRACE_CFG_FULL _SB_MAKEMASK1(7)#define M_BCM1480_SCD_TRACE_CFG_FORCE_CNT _SB_MAKEMASK1(8)#define S_BCM1480_SCD_TRACE_CFG_MODE 16#define M_BCM1480_SCD_TRACE_CFG_MODE _SB_MAKEMASK(2,S_BCM1480_SCD_TRACE_CFG_MODE)#define V_BCM1480_SCD_TRACE_CFG_MODE(x) _SB_MAKEVALUE(x,S_BCM1480_SCD_TRACE_CFG_MODE)#define G_BCM1480_SCD_TRACE_CFG_MODE(x) _SB_GETVALUE(x,S_BCM1480_SCD_TRACE_CFG_MODE,M_BCM1480_SCD_TRACE_CFG_MODE)#define K_BCM1480_SCD_TRACE_CFG_MODE_BLOCKERS 0#define K_BCM1480_SCD_TRACE_CFG_MODE_BYTEEN_INT 1#define K_BCM1480_SCD_TRACE_CFG_MODE_FLOW_ID 2#define S_BCM1480_SCD_TRACE_CFG_CUR_ADDR 24#define M_BCM1480_SCD_TRACE_CFG_CUR_ADDR _SB_MAKEMASK(8,S_BCM1480_SCD_TRACE_CFG_CUR_ADDR)#define V_BCM1480_SCD_TRACE_CFG_CUR_ADDR(x) _SB_MAKEVALUE(x,S_BCM1480_SCD_TRACE_CFG_CUR_ADDR)#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)#endif /* _BCM1480_SCD_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -