# IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # $Source: src/usr/diag/prdf/common/plat/p9/p9_common_proc_regs.rule $ # # OpenPOWER HostBoot Project # # Contributors Listed Below - COPYRIGHT 2016,2018 # [+] International Business Machines Corp. # # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. See the License for the specific language governing # permissions and limitations under the License. # # IBM_PROLOG_END_TAG ################################################################################ # Additional registers for nimbus chip, not defined in XML ################################################################################ # This register helps us determine where in the IPL the attention occurred. # Possible values for this register (in ASCII): hostboot, bootload, shutdown register CORE_SCRATCH_REG_3 { name "Core scratch register 3"; scomaddr 0x41010A89; capture group default; }; ############################################################################ # N3 Chiplet PBEXTFIR ############################################################################ # External checkstop register - Used for FFDC and Fabric sorting only # Any attention generated from this FIR register indicates that there was a # checkstop attention raised on another chip. Currently, we do not do any # additional analysis in this FIR because we assume we will get an interrup # from the offending chip. This FIR will set PB_CHIPLET_FIR[2] which is # currently ignored. register PBEXTFIR { name "PowerBus EH EXTFIR"; scomaddr 0x05011C2E; capture group default; }; ############################################################################ # Misc Registers ############################################################################ register PB_CENT_MODE { name "PB.COM.PB_CENT_MODE"; scomaddr 0x05011C0A; capture group PbCentMode; }; ############################################################################ # P9 chip TP_LFIR ############################################################################ register TP_LFIR_AND { name "P9 chip TP_LFIR atomic AND"; scomaddr 0x0104000b; capture group never; access write_only; }; register TP_LFIR_MASK_OR { name "P9 chip TP_LFIR MASK atomic OR"; scomaddr 0x0104000f; capture group never; access write_only; }; ############################################################################ # Non-FIR Registers ############################################################################ register CFAM_FSI_STATUS { name "TPC.FSI.FSI2PIB.STATUS"; scomaddr 0x00001007; capture group never; }; register CFAM_FSI_GP7 { name "TPC.FSI.FSI_MAILBOX.FSXCOMP.FSXLOG.FSIGP7"; scomaddr 0x00002816; capture group never; }; register OSC_SW_SENSE { name "Osc Switch Sense 1"; scomaddr 0x0005001D; capture group PllFIRs; }; register TODWOF { name "Time of Day / WOF Counter"; scomaddr 0x00040020; capture group default; }; register TP_ERROR_REG { name "TP PCB Slave error reg"; scomaddr 0x010F001F; capture group PllFIRs; }; register TP_CONFIG_REG { name "TP PCB Slave config reg"; scomaddr 0x010F001E; capture group PllFIRs; }; register XBUS_ERROR_REG { name "XBUS PCB Slave error reg"; scomaddr 0x060F001F; capture group PllFIRs; }; register XBUS_CONFIG_REG { name "XBUS PCB Slave config reg"; scomaddr 0x060F001E; capture group PllFIRs; }; ############################################################################ # TOD Registers ############################################################################ register TOD_MPCR { name "TOD M Path Ctrl"; scomaddr 0x00040000; capture group TODReg; }; register TOD_PCRP0 { name "TOD Pri Port 0 Ctrl"; scomaddr 0x00040001; capture group TODReg; }; register TOD_PCRP1 { name "TOD Pri Port 1 Ctrl"; scomaddr 0x00040002; capture group TODReg; }; register TOD_SCRP0 { name "TOD Sec Port 0 Ctrl"; scomaddr 0x00040003; capture group TODReg; }; register TOD_SCRP1 { name "TOD Sec Port 1 Ctrl"; scomaddr 0x00040004; capture group TODReg; }; register TOD_SLAVE_PATH_CTRL { name "TOD SLAVE PATH CTRL"; scomaddr 0x00040005; capture group TODReg; }; register TOD_INTERNAL_PATH_CTRL { name "TOD INTERNAL PATH CTRL"; scomaddr 0x00040006; capture group TODReg; }; register TOD_CONFIG_CTRL { name "TOD Prim Sec Config Control"; scomaddr 0x00040007; capture group TODReg; }; register TOD_STATUSREGISTER { name "TOD PSS MSS Status Reg"; scomaddr 0x00040008; capture group TODReg; }; register TOD_MASTER_PATH_STATUS { name "TOD Master Path Status Reg"; scomaddr 0x00040009; capture group TODReg; }; register TOD_SPSR { name "TOD S PATH STATUS REG"; scomaddr 0x0004000A; capture group TODReg; }; register TOD_CCR { name "TOD CHIP CTRL REG"; scomaddr 0x00040010; capture group TODReg; }; register TOD_MASTER_PATH0_STEP_STEERING { name "TOD Master Path0 Step Steering"; scomaddr 0x0004000E; capture group TODReg; }; register TOD_MASTER_PATH1_STEP_STEERING { name "TOD Master Path1 Step Steering"; scomaddr 0x0004000F; capture group TODReg; }; register TOD_TRACE_DATASET_1 { name "TOD Trace Dataset 1"; scomaddr 0x0004001D; capture group TODReg; }; register TOD_TRACE_DATASET_2 { name "TOD Trace Dataset 2"; scomaddr 0x0004001E; capture group TODReg; }; register TOD_TRACE_DATASET_3 { name "TOD Trace Dataset 3"; scomaddr 0x0004001F; capture group TODReg; }; register OSC_ERROR_HOLD { name "OSC ERROR HOLD"; scomaddr 0x01020019; capture group TODReg; }; register OSC_ERROR_MASK { name "OSC ERROR MASK"; scomaddr 0x0102001A; capture group TODReg; }; register OSC_ERROR_MODE { name "OSC ERROR MODE"; scomaddr 0x0102001B; capture group TODReg; }; register TOD_FSM_REGISTER { name "TOD FSM Register"; scomaddr 0x00040024; capture group TODReg; }; register TOD_TX_TTYPE_CTRL_REG { name "TOD TX TType Ctrl reg"; scomaddr 0x00040027; capture group TODReg; }; register TOD_RX_TTYPE_CTRL_REG { name "TOD RX TType Ctrl reg"; scomaddr 0x00040029; capture group TODReg; }; register TOD_ERRORREGISTER { name "TOD Error and Interrupts"; scomaddr 0x00040030; capture group TODReg; reset (^, 0x40030); }; register TOD_ERRORMASK { name "TOD CERR Report"; scomaddr 0x00040032; capture group TODReg; }; register TOD_ERRORACTION { name "TOD Route Errors to Core"; scomaddr 0x00040033; capture group TODReg; }; ############################################################################ # P9 PROC target HDCT additions (open power chkstop analysis) ############################################################################ register OCC_ERROR_REPORT_REG { name "OCC ERROR REPORT REG"; scomaddr 0x0101080a; capture group default; }; register PB_ERROR_REPORT { name "PB ERROR REPORT REG"; scomaddr 0x020110a1; capture group default; }; register PB_PTY_ERROR_REPORT { name "PB PTY ERROR REPORT REG"; scomaddr 0x020110a2; capture group default; }; register DMA_CERR_0 { name "DMA CERR 0"; scomaddr 0x02011057; capture group default; }; register DMA_CERR_1 { name "DMA CERR 1"; scomaddr 0x02011058; capture group default; }; register PB_CENT_CR_ERROR { name "PB CENT CR ERROR"; scomaddr 0x05011c2c; capture group default; }; register PBA_ERR_REPORT_0 { name "PBA ERROR REPORT 0"; scomaddr 0x0501284c; capture group default; }; register PBA_ERR_REPORT_1 { name "PBA ERROR REPORT 1"; scomaddr 0x0501284d; capture group default; }; register PBA_ERR_REPORT_2 { name "PBA ERROR REPORT 2"; scomaddr 0x0501284e; capture group default; }; register PB_PTY_ERR_REPORT { name "PB PTY ERROR REPORT"; scomaddr 0x05012C22; capture group default; }; ############################################################################ # NPU CERR and debug registers for INTCQFIR ############################################################################ register INT_CQ_WOF { name "INT_CQ_WOF"; scomaddr 0x05013038; capture group intcqfir_ffdc; }; register INT_CQ_ERROR_HOLD_OUT { name "INT CQ Error Report Hold Out"; scomaddr 0x05013039; capture group intcqfir_ffdc; }; register INT_CQ_ERR_INFO0 { name "INT CQ Error Information Register 0"; scomaddr 0x0501303A; capture group intcqfir_ffdc; }; register INT_CQ_ERR_INFO1 { name "INT CQ Error Information Register 1"; scomaddr 0x0501303B; capture group intcqfir_ffdc; }; register INT_CQ_ERR_INFO2 { name "INT CQ Error Information Register 2"; scomaddr 0x0501303C; capture group intcqfir_ffdc; }; register INT_CQ_ERR_INFO3 { name "INT CQ Error Information Register 3"; scomaddr 0x0501303D; capture group intcqfir_ffdc; }; register INT_PC_ERR0_WOF { name "INT_PC_ERR0_WOF"; scomaddr 0x05013142; capture group intcqfir_ffdc; }; register INT_PC_ERR0_WOF_DETAIL { name "INT_PC_ERR0_WOF_DETAIL"; scomaddr 0x05013143; capture group intcqfir_ffdc; }; register INT_PC_ERR0_FATAL { name "INT PC Error0 Fatal Error Register"; scomaddr 0x05013144; capture group intcqfir_ffdc; }; register INT_PC_ERR0_RECOV { name "INT PC Error0 Recoverable Error Register"; scomaddr 0x05013145; capture group intcqfir_ffdc; }; register INT_PC_ERR0_INFO { name "INT PC Error0 Informational Error Register"; scomaddr 0x05013146; capture group intcqfir_ffdc; }; register INT_PC_ERR1_WOF { name "INT_PC_ERR1_WOF"; scomaddr 0x0501314A; capture group intcqfir_ffdc; }; register INT_PC_ERR1_WOF_DETAIL { name "INT_PC_ERR1_WOF_DETAIL"; scomaddr 0x0501314B; capture group intcqfir_ffdc; }; register INT_PC_ERR1_FATAL { name "INT PC Error1 Fatal Error Register"; scomaddr 0x0501314C; capture group intcqfir_ffdc; }; register INT_PC_ERR1_RECOV { name "INT PC Error1 Recoverable Error Register"; scomaddr 0x0501314D; capture group intcqfir_ffdc; }; register INT_PC_ERR1_INFO { name "INT PC Error1 Informational Error Register"; scomaddr 0x0501314E; capture group intcqfir_ffdc; }; register INT_PC_VPC_ERR1_WOF { name "INT_PC_VPC_ERR1_WOF"; scomaddr 0x0501317A; capture group intcqfir_ffdc; }; register INT_PC_VPC_ERR1_WOF_DETAIL { name "INT_PC_VPC_ERR1_WOF_DETAIL"; scomaddr 0x0501317B; capture group intcqfir_ffdc; }; register INT_PC_VPC_FATAL_ERR { name "INT PC VPC Fatal Errors Register"; scomaddr 0x0501317C; capture group intcqfir_ffdc; }; register INT_PC_VPC_RECOV_ERR { name "INT PC VPC Recoverable Errors Register"; scomaddr 0x0501317D; capture group intcqfir_ffdc; }; register INT_PC_VPC_INFO_ERR { name "INT PC VPC Informational Errors Register"; scomaddr 0x0501317E; capture group intcqfir_ffdc; }; register INT_VC_WOF_ERR_G0 { name "INT_VC_WOF_ERR_G0"; scomaddr 0x05013274; capture group intcqfir_ffdc; }; register INT_VC_WOF_ERR_G0_DETAIL { name "INT_VC_WOF_ERR_G0_DETAIL"; scomaddr 0x05013275; capture group intcqfir_ffdc; }; register INT_VC_WOF_ERR_G1 { name "INT_VC_WOF_ERR_G1"; scomaddr 0x05013276; capture group intcqfir_ffdc; }; register INT_VC_WOF_ERR_G1_DETAIL { name "INT_VC_WOF_ERR_G1_DETAIL"; scomaddr 0x05013277; capture group intcqfir_ffdc; }; register INT_VC_FATAL_ERR_G0 { name "INT VC Fatal Errors Group0 Register"; scomaddr 0x05013278; capture group intcqfir_ffdc; }; register INT_VC_RECOV_ERR_G0 { name "INT VC Recoverable Error Group0 Register"; scomaddr 0x05013279; capture group intcqfir_ffdc; }; register INT_VC_INFO_ERR_G0 { name "INT VC Informational Error Group0 Register"; scomaddr 0x0501327A; capture group intcqfir_ffdc; }; register INT_VC_FATAL_ERR_G1 { name "INT VC Fatal Errors Group1 Register"; scomaddr 0x0501327B; capture group intcqfir_ffdc; }; register INT_VC_RECOV_ERR_G1 { name "INT VC Recoverable Error Group1 Register"; scomaddr 0x0501327C; capture group intcqfir_ffdc; }; register INT_VC_INFO_ERR_G1 { name "INT VC Informational Error Group1 Register"; scomaddr 0x0501327D; capture group intcqfir_ffdc; };