summaryrefslogtreecommitdiffstats
path: root/src/common/mca_addresses.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/mca_addresses.h')
-rw-r--r--src/common/mca_addresses.h64
1 files changed, 42 insertions, 22 deletions
diff --git a/src/common/mca_addresses.h b/src/common/mca_addresses.h
index 0417419..d6eced3 100644
--- a/src/common/mca_addresses.h
+++ b/src/common/mca_addresses.h
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2017 */
+/* Contributors Listed Below - COPYRIGHT 2015,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -31,32 +31,35 @@
#define NUM_NIMBUS_MCAS (MAX_NUM_MCU_PORTS * NUM_NIMBUS_MC_PAIRS)
// Base Address of NIMBUS MCA.
-#define DIMM_MCA_BASE_ADDRESS 0x07010800
+#define DIMM_MCA_BASE_ADDRESS 0x07010800
-#define MCA_MCPAIR_SPACE 0x01000000
-#define MCA_PORT_SPACE 0x40
-#define MC_PORT_SPACE(mc,port) ((MCA_MCPAIR_SPACE * (mc)) + ( MCA_PORT_SPACE * (port)))
+#define MCA_MCPAIR_SPACE 0x01000000
+#define MCA_PORT_SPACE 0x40
+#define MC_PORT_SPACE(mc,port) ((MCA_MCPAIR_SPACE * (mc)) + ( MCA_PORT_SPACE * (port)))
-#define POWER_CTRL_REG0_OFFSET 0x0134
-#define POWER_CTRL_REG0_ADDRESS (DIMM_MCA_BASE_ADDRESS + POWER_CTRL_REG0_OFFSET)
+#define POWER_CTRL_REG0_OFFSET 0x0134
+#define POWER_CTRL_REG0_ADDRESS (DIMM_MCA_BASE_ADDRESS + POWER_CTRL_REG0_OFFSET)
-#define STR_REG0_OFFSET 0x0135
-#define STR_REG0_ADDRESS (DIMM_MCA_BASE_ADDRESS + STR_REG0_OFFSET)
+#define STR_REG0_OFFSET 0x0135
+#define STR_REG0_ADDRESS (DIMM_MCA_BASE_ADDRESS + STR_REG0_OFFSET)
-#define N_M_TCR_OFFSET 0x0116
-#define N_M_TCR_ADDRESS (DIMM_MCA_BASE_ADDRESS + N_M_TCR_OFFSET)
+#define PERF_MON_COUNTS0_OFFSET 0x0137
+#define PERF_MON_COUNTS0_ADDRESS (DIMM_MCA_BASE_ADDRESS + PERF_MON_COUNTS0_OFFSET)
-#define DEADMAN_TIMER_OFFSET 0x013C
-#define DEADMAN_TIMER_ADDRESS (DIMM_MCA_BASE_ADDRESS + DEADMAN_TIMER_OFFSET)
+#define N_M_TCR_OFFSET 0x0116
+#define N_M_TCR_ADDRESS (DIMM_MCA_BASE_ADDRESS + N_M_TCR_OFFSET)
-#define EMERGENCY_THROTTLE_OFFSET 0x0125
-#define EMERGENCY_THROTTLE_ADDRESS (DIMM_MCA_BASE_ADDRESS + EMERGENCY_THROTTLE_OFFSET)
-#define ER_THROTTLE_IN_PROGRESS_MASK 0x8000000000000000
+#define PERF_MON_COUNTS_IDLE_OFFSET 0x013C
+#define PERF_MON_COUNTS_IDLE_ADDRESS (DIMM_MCA_BASE_ADDRESS + PERF_MON_COUNTS_IDLE_OFFSET)
-#define MCA_CAL_FIR_OFFSET 0x0100
-#define MCA_CAL_FIR_ADDRESS (DIMM_MCA_BASE_ADDRESS + MCA_CAL_FIR_OFFSET)
-#define MCA_FIR_THROTTLE_ENGAGED_MASK 0x0200000000000000
+#define EMERGENCY_THROTTLE_OFFSET 0x0125
+#define EMERGENCY_THROTTLE_ADDRESS (DIMM_MCA_BASE_ADDRESS + EMERGENCY_THROTTLE_OFFSET)
+#define ER_THROTTLE_IN_PROGRESS_MASK 0x8000000000000000
+
+#define MCA_CAL_FIR_OFFSET 0x0100
+#define MCA_CAL_FIR_ADDRESS (DIMM_MCA_BASE_ADDRESS + MCA_CAL_FIR_OFFSET)
+#define MCA_FIR_THROTTLE_ENGAGED_MASK 0x0200000000000000
// Memory Power Control
@@ -101,7 +104,7 @@ mc23.port3 0x080108C0 + 0x00000116 = 0x080109D6
#define N_M_DIMM_TCR(mc,port) (N_M_TCR_ADDRESS + MC_PORT_SPACE(mc,port))
/*
-MC/Port Address MCA Port Address Deadman Offset SCOM Address
+MC/Port Address MCA Port Address "Deadman" Offset SCOM Address
mc01.port0 0x07010800 + 0x0000013C = 0x0701093C
mc01.port1 0x07010840 + 0x0000013C = 0x0701097C
mc01.port2 0x07010880 + 0x0000013C = 0x070109BC
@@ -112,8 +115,25 @@ mc23.port2 0x08010880 + 0x0000013C = 0x080109BC
mc23.port3 0x080108C0 + 0x0000013C = 0x080109FC
*/
-// NIMBUS DIMM Deadman SCOM Register Addresses macro
-#define DEADMAN_TIMER_MCA(mca) (DEADMAN_TIMER_ADDRESS + MC_PORT_SPACE((mca>>2),(mca&3)))
+// NIMBUS DIMM Performance Monitor -- Idle Threshold Counter
+// This register effectively acts as a deadman register.
+// Reading it will reset the deadman counter.
+#define PERF_MON_COUNTS_IDLE_MCA(mca) (PERF_MON_COUNTS_IDLE_ADDRESS + MC_PORT_SPACE((mca>>2),(mca&3)))
+
+/*
+MC/Port Address MCA Port Address "Deadman" Offset SCOM Address
+mc01.port0 0x07010800 + 0x00000137 = 0x07010937
+mc01.port1 0x07010840 + 0x00000137 = 0x07010977
+mc01.port2 0x07010880 + 0x00000137 = 0x070109B7
+mc01.port3 0x070108C0 + 0x00000137 = 0x070109F7
+mc23.port0 0x08010800 + 0x00000137 = 0x08010937
+mc23.port1 0x08010840 + 0x00000137 = 0x08010977
+mc23.port2 0x08010880 + 0x00000137 = 0x080109B7
+mc23.port3 0x080108C0 + 0x00000137 = 0x080109F7
+ */
+
+// NIMBUS DIMM Performance Monitor -- Read/Write Count
+#define PERF_MON_COUNTS0_MCA(mca) (PERF_MON_COUNTS0_ADDRESS + MC_PORT_SPACE((mca>>2),(mca&3)))
// Emergency Mode Throttle Register
/*
OpenPOWER on IntegriCloud