diff options
author | Wael El-Essawy <welessa@us.ibm.com> | 2016-01-19 13:22:06 -0600 |
---|---|---|
committer | Wael El-Essawy <welessa@us.ibm.com> | 2016-04-05 12:42:49 -0400 |
commit | 1c880c957a74d066ae23bab4a52b63bcf5824293 (patch) | |
tree | cf142f293b436e786011cd9f42e6a1f80b8f3ffd /src/include | |
parent | 24f4095cc418f3a4b8a434e6d99e6a6d6c59a2be (diff) | |
download | talos-occ-1c880c957a74d066ae23bab4a52b63bcf5824293.tar.gz talos-occ-1c880c957a74d066ae23bab4a52b63bcf5824293.zip |
Enable Master-slave OCC communication
Change-Id: I445072e20d599e30f80cc8059b3f3b2a956c453e
RTC: 133154
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22005
Tested-by: FSP CI Jenkins
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com>
Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/registers/pba_firmware_constants.h | 51 | ||||
-rw-r--r-- | src/include/registers/pba_firmware_registers.h | 2590 | ||||
-rw-r--r-- | src/include/registers/pba_register_addresses.h | 168 |
3 files changed, 1268 insertions, 1541 deletions
diff --git a/src/include/registers/pba_firmware_constants.h b/src/include/registers/pba_firmware_constants.h new file mode 100644 index 0000000..d4b66fb --- /dev/null +++ b/src/include/registers/pba_firmware_constants.h @@ -0,0 +1,51 @@ +#define PBA_BARN_CMD_SCOPE_MASK SIXTYFOUR_BIT_CONSTANT(0xe000000000000000) +#define PBA_BARN_ADDR_MASK SIXTYFOUR_BIT_CONSTANT(0x0003fffffff00000) +#define PBA_BARMSKN_MASK_MASK SIXTYFOUR_BIT_CONSTANT(0x000001fffff00000) +#define PBA_BCUE_CTL_STOP SIXTYFOUR_BIT_CONSTANT(0x8000000000000000) +#define PBA_BCUE_CTL_START SIXTYFOUR_BIT_CONSTANT(0x4000000000000000) +#define PBA_BCDE_CTL_STOP SIXTYFOUR_BIT_CONSTANT(0x8000000000000000) +#define PBA_BCDE_CTL_START SIXTYFOUR_BIT_CONSTANT(0x4000000000000000) +#define PBA_FIR_OCI_APAR_ERR SIXTYFOUR_BIT_CONSTANT(0x8000000000000000) +#define PBA_FIR_PB_RDADRERR_FW SIXTYFOUR_BIT_CONSTANT(0x4000000000000000) +#define PBA_FIR_PB_RDDATATO_FW SIXTYFOUR_BIT_CONSTANT(0x2000000000000000) +#define PBA_FIR_PB_SUE_FW SIXTYFOUR_BIT_CONSTANT(0x1000000000000000) +#define PBA_FIR_PB_UE_FW SIXTYFOUR_BIT_CONSTANT(0x0800000000000000) +#define PBA_FIR_PB_CE_FW SIXTYFOUR_BIT_CONSTANT(0x0400000000000000) +#define PBA_FIR_OCI_SLAVE_INIT SIXTYFOUR_BIT_CONSTANT(0x0200000000000000) +#define PBA_FIR_OCI_WRPAR_ERR SIXTYFOUR_BIT_CONSTANT(0x0100000000000000) +#define PBA_FIR_OCI_REREQTO SIXTYFOUR_BIT_CONSTANT(0x0080000000000000) +#define PBA_FIR_PB_UNEXPCRESP SIXTYFOUR_BIT_CONSTANT(0x0040000000000000) +#define PBA_FIR_PB_UNEXPDATA SIXTYFOUR_BIT_CONSTANT(0x0020000000000000) +#define PBA_FIR_PB_PARITY_ERR SIXTYFOUR_BIT_CONSTANT(0x0010000000000000) +#define PBA_FIR_PB_WRADRERR_FW SIXTYFOUR_BIT_CONSTANT(0x0008000000000000) +#define PBA_FIR_PB_BADCRESP SIXTYFOUR_BIT_CONSTANT(0x0004000000000000) +#define PBA_FIR_PB_ACKDEAD_FW SIXTYFOUR_BIT_CONSTANT(0x0002000000000000) +#define PBA_FIR_PB_CRESPTO SIXTYFOUR_BIT_CONSTANT(0x0001000000000000) +#define PBA_FIR_BCUE_SETUP_ERR SIXTYFOUR_BIT_CONSTANT(0x0000800000000000) +#define PBA_FIR_BCUE_PB_ACK_DEAD SIXTYFOUR_BIT_CONSTANT(0x0000400000000000) +#define PBA_FIR_BCUE_PB_ADRERR SIXTYFOUR_BIT_CONSTANT(0x0000200000000000) +#define PBA_FIR_BCUE_OCI_DATAERR SIXTYFOUR_BIT_CONSTANT(0x0000100000000000) +#define PBA_FIR_BCDE_SETUP_ERR SIXTYFOUR_BIT_CONSTANT(0x0000080000000000) +#define PBA_FIR_BCDE_PB_ACK_DEAD SIXTYFOUR_BIT_CONSTANT(0x0000040000000000) +#define PBA_FIR_BCDE_PB_ADRERR SIXTYFOUR_BIT_CONSTANT(0x0000020000000000) +#define PBA_FIR_BCDE_RDDATATO_ERR SIXTYFOUR_BIT_CONSTANT(0x0000010000000000) +#define PBA_FIR_BCDE_SUE_ERR SIXTYFOUR_BIT_CONSTANT(0x0000008000000000) +#define PBA_FIR_BCDE_UE_ERR SIXTYFOUR_BIT_CONSTANT(0x0000004000000000) +#define PBA_FIR_BCDE_CE SIXTYFOUR_BIT_CONSTANT(0x0000002000000000) +#define PBA_FIR_BCDE_OCI_DATAERR SIXTYFOUR_BIT_CONSTANT(0x0000001000000000) +#define PBA_FIR_INTERNAL_ERR SIXTYFOUR_BIT_CONSTANT(0x0000000800000000) +#define PBA_FIR_ILLEGAL_CACHE_OP SIXTYFOUR_BIT_CONSTANT(0x0000000400000000) +#define PBA_FIR_OCI_BAD_REG_ADDR SIXTYFOUR_BIT_CONSTANT(0x0000000200000000) +#define PBA_FIR_AXPUSH_WRERR SIXTYFOUR_BIT_CONSTANT(0x0000000100000000) +#define PBA_FIR_AXRCV_DLO_ERR SIXTYFOUR_BIT_CONSTANT(0x0000000080000000) +#define PBA_FIR_AXRCV_DLO_TO SIXTYFOUR_BIT_CONSTANT(0x0000000040000000) +#define PBA_FIR_AXRCV_RSVDATA_TO SIXTYFOUR_BIT_CONSTANT(0x0000000020000000) +#define PBA_FIR_AXFLOW_ERR SIXTYFOUR_BIT_CONSTANT(0x0000000010000000) +#define PBA_FIR_AXSND_DHI_RTYTO SIXTYFOUR_BIT_CONSTANT(0x0000000008000000) +#define PBA_FIR_AXSND_DLO_RTYTO SIXTYFOUR_BIT_CONSTANT(0x0000000004000000) +#define PBA_FIR_AXSND_RSVTO SIXTYFOUR_BIT_CONSTANT(0x0000000002000000) +#define PBA_FIR_AXSND_RSVERR SIXTYFOUR_BIT_CONSTANT(0x0000000001000000) +#define PBA_FIR_PB_ACKDEAD_FW_WR SIXTYFOUR_BIT_CONSTANT(0x0000000000800000) +#define PBA_FIR_FIR_PARITY_ERR2 SIXTYFOUR_BIT_CONSTANT(0x0000000000080000) +#define PBA_FIR_FIR_PARITY_ERR SIXTYFOUR_BIT_CONSTANT(0x0000000000040000) + diff --git a/src/include/registers/pba_firmware_registers.h b/src/include/registers/pba_firmware_registers.h index e1b9f24..96e0b63 100644 --- a/src/include/registers/pba_firmware_registers.h +++ b/src/include/registers/pba_firmware_registers.h @@ -1,34 +1,10 @@ -/* IBM_PROLOG_BEGIN_TAG */ -/* This is an automatically generated prolog. */ -/* */ -/* $Source: src/include/registers/pba_firmware_registers.h $ */ -/* */ -/* OpenPOWER OnChipController Project */ -/* */ -/* Contributors Listed Below - COPYRIGHT 2015 */ -/* [+] 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 */ #ifndef __PBA_FIRMWARE_REGISTERS_H__ #define __PBA_FIRMWARE_REGISTERS_H__ -// $Id: pba_firmware_registers.h,v 1.1.1.1 2013/12/11 21:03:23 bcbrock Exp $ -// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ssx/pgp/registers/pba_firmware_registers.h,v $ +// $Id$ +// $Source$ //----------------------------------------------------------------------------- -// *! (C) Copyright International Business Machines Corp. 2013 +// *! (C) Copyright International Business Machines Corp. 2015 // *! All Rights Reserved -- Property of IBM // *! *** IBM Confidential *** //----------------------------------------------------------------------------- @@ -49,11 +25,11 @@ #ifndef __ASSEMBLER__ #include <stdint.h> +#include "pba_firmware_constants.h" - -typedef union pba_barn { +typedef union pba_mode { uint64_t value; struct { @@ -67,28 +43,74 @@ typedef union pba_barn { } words; struct { #ifdef _BIG_ENDIAN - uint64_t cmd_scope : 3; - uint64_t reserved0 : 1; - uint64_t reserved1 : 10; - uint64_t addr : 30; - uint64_t _reserved0 : 20; -#else - uint64_t _reserved0 : 20; - uint64_t addr : 30; - uint64_t reserved1 : 10; - uint64_t reserved0 : 1; - uint64_t cmd_scope : 3; + uint64_t reserved1 : 4; + uint64_t dis_rearb : 1; + uint64_t dis_mstid_match_pref_inv : 1; + uint64_t dis_slave_rdpipe : 1; + uint64_t dis_slave_wrpipe : 1; + uint64_t en_marker_ack : 1; + uint64_t reserved2 : 1; + uint64_t en_second_wrbuf : 1; + uint64_t dis_rerequest_to : 1; + uint64_t inject_type : 2; + uint64_t inject_mode : 2; + uint64_t pba_region : 2; + uint64_t oci_marker_space : 3; + uint64_t bcde_ocitrans : 2; + uint64_t bcue_ocitrans : 2; + uint64_t dis_master_rd_pipe : 1; + uint64_t dis_master_wr_pipe : 1; + uint64_t en_slv_fairness : 1; + uint64_t en_event_count : 1; + uint64_t pb_noci_event_sel : 1; + uint64_t slv_event_mux : 2; + uint64_t enable_debug_bus : 1; + uint64_t debug_pb_not_oci : 1; + uint64_t debug_oci_mode : 5; + uint64_t reserved3 : 1; + uint64_t ocislv_fairness_mask : 5; + uint64_t ocislv_rereq_hang_div : 5; + uint64_t dis_chgrate_count : 1; + uint64_t pbreq_event_mux : 2; + uint64_t reserved4 : 11; +#else + uint64_t reserved4 : 11; + uint64_t pbreq_event_mux : 2; + uint64_t dis_chgrate_count : 1; + uint64_t ocislv_rereq_hang_div : 5; + uint64_t ocislv_fairness_mask : 5; + uint64_t reserved3 : 1; + uint64_t debug_oci_mode : 5; + uint64_t debug_pb_not_oci : 1; + uint64_t enable_debug_bus : 1; + uint64_t slv_event_mux : 2; + uint64_t pb_noci_event_sel : 1; + uint64_t en_event_count : 1; + uint64_t en_slv_fairness : 1; + uint64_t dis_master_wr_pipe : 1; + uint64_t dis_master_rd_pipe : 1; + uint64_t bcue_ocitrans : 2; + uint64_t bcde_ocitrans : 2; + uint64_t oci_marker_space : 3; + uint64_t pba_region : 2; + uint64_t inject_mode : 2; + uint64_t inject_type : 2; + uint64_t dis_rerequest_to : 1; + uint64_t en_second_wrbuf : 1; + uint64_t reserved2 : 1; + uint64_t en_marker_ack : 1; + uint64_t dis_slave_wrpipe : 1; + uint64_t dis_slave_rdpipe : 1; + uint64_t dis_mstid_match_pref_inv : 1; + uint64_t dis_rearb : 1; + uint64_t reserved1 : 4; #endif // _BIG_ENDIAN } fields; -} pba_barn_t; +} pba_mode_t; -#endif // __ASSEMBLER__ -#define PBA_BARN_CMD_SCOPE_MASK SIXTYFOUR_BIT_CONSTANT(0xe000000000000000) -#define PBA_BARN_ADDR_MASK SIXTYFOUR_BIT_CONSTANT(0x0003fffffff00000) -#ifndef __ASSEMBLER__ -typedef union pba_barmskn { +typedef union pba_slvrst { uint64_t value; struct { @@ -102,23 +124,26 @@ typedef union pba_barmskn { } words; struct { #ifdef _BIG_ENDIAN - uint64_t reserved0 : 23; - uint64_t mask : 21; - uint64_t _reserved0 : 20; + uint64_t set : 3; + uint64_t reserved1 : 1; + uint64_t in_prog : 4; + uint64_t busy_status : 4; + uint64_t scope_attn_bar : 2; + uint64_t reserved2 : 50; #else - uint64_t _reserved0 : 20; - uint64_t mask : 21; - uint64_t reserved0 : 23; + uint64_t reserved2 : 50; + uint64_t scope_attn_bar : 2; + uint64_t busy_status : 4; + uint64_t in_prog : 4; + uint64_t reserved1 : 1; + uint64_t set : 3; #endif // _BIG_ENDIAN } fields; -} pba_barmskn_t; +} pba_slvrst_t; -#endif // __ASSEMBLER__ -#define PBA_BARMSKN_MASK_MASK SIXTYFOUR_BIT_CONSTANT(0x000001fffff00000) -#ifndef __ASSEMBLER__ -typedef union pba_fir { +typedef union pba_slvctln { uint64_t value; struct { @@ -132,149 +157,54 @@ typedef union pba_fir { } words; struct { #ifdef _BIG_ENDIAN - uint64_t oci_apar_err : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_ce_fw : 1; - uint64_t oci_slave_init : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_rereqto : 1; - uint64_t pb_unexpcresp : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_crespto : 1; - uint64_t bcue_setup_err : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t internal_err : 1; - uint64_t illegal_cache_op : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t axpush_wrerr : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axflow_err : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_rsverr : 1; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t reserved41 : 3; - uint64_t fir_parity_err2 : 1; - uint64_t fir_parity_err : 1; - uint64_t _reserved0 : 18; + uint64_t enable : 1; + uint64_t mid_match_value : 3; + uint64_t reserved1 : 1; + uint64_t mid_care_mask : 3; + uint64_t write_ttype : 3; + uint64_t reserved2 : 4; + uint64_t read_ttype : 1; + uint64_t read_prefetch_ctl : 2; + uint64_t buf_invalidate_ctl : 1; + uint64_t buf_alloc_w : 1; + uint64_t buf_alloc_a : 1; + uint64_t buf_alloc_b : 1; + uint64_t buf_alloc_c : 1; + uint64_t reserved3 : 1; + uint64_t dis_write_gather : 1; + uint64_t wr_gather_timeout : 3; + uint64_t write_tsize : 8; + uint64_t extaddr : 14; + uint64_t reserved4 : 1; + uint64_t reserved5 : 13; #else - uint64_t _reserved0 : 18; - uint64_t fir_parity_err : 1; - uint64_t fir_parity_err2 : 1; - uint64_t reserved41 : 3; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t axsnd_rsverr : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axflow_err : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axpush_wrerr : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t illegal_cache_op : 1; - uint64_t internal_err : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_setup_err : 1; - uint64_t pb_crespto : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_unexpcresp : 1; - uint64_t oci_rereqto : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_slave_init : 1; - uint64_t pb_ce_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t oci_apar_err : 1; + uint64_t reserved5 : 13; + uint64_t reserved4 : 1; + uint64_t extaddr : 14; + uint64_t write_tsize : 8; + uint64_t wr_gather_timeout : 3; + uint64_t dis_write_gather : 1; + uint64_t reserved3 : 1; + uint64_t buf_alloc_c : 1; + uint64_t buf_alloc_b : 1; + uint64_t buf_alloc_a : 1; + uint64_t buf_alloc_w : 1; + uint64_t buf_invalidate_ctl : 1; + uint64_t read_prefetch_ctl : 2; + uint64_t read_ttype : 1; + uint64_t reserved2 : 4; + uint64_t write_ttype : 3; + uint64_t mid_care_mask : 3; + uint64_t reserved1 : 1; + uint64_t mid_match_value : 3; + uint64_t enable : 1; #endif // _BIG_ENDIAN } fields; -} pba_fir_t; +} pba_slvctln_t; -#endif // __ASSEMBLER__ -#define PBA_FIR_OCI_APAR_ERR SIXTYFOUR_BIT_CONSTANT(0x8000000000000000) -#define PBA_FIR_PB_RDADRERR_FW SIXTYFOUR_BIT_CONSTANT(0x4000000000000000) -#define PBA_FIR_PB_RDDATATO_FW SIXTYFOUR_BIT_CONSTANT(0x2000000000000000) -#define PBA_FIR_PB_SUE_FW SIXTYFOUR_BIT_CONSTANT(0x1000000000000000) -#define PBA_FIR_PB_UE_FW SIXTYFOUR_BIT_CONSTANT(0x0800000000000000) -#define PBA_FIR_PB_CE_FW SIXTYFOUR_BIT_CONSTANT(0x0400000000000000) -#define PBA_FIR_OCI_SLAVE_INIT SIXTYFOUR_BIT_CONSTANT(0x0200000000000000) -#define PBA_FIR_OCI_WRPAR_ERR SIXTYFOUR_BIT_CONSTANT(0x0100000000000000) -#define PBA_FIR_OCI_REREQTO SIXTYFOUR_BIT_CONSTANT(0x0080000000000000) -#define PBA_FIR_PB_UNEXPCRESP SIXTYFOUR_BIT_CONSTANT(0x0040000000000000) -#define PBA_FIR_PB_UNEXPDATA SIXTYFOUR_BIT_CONSTANT(0x0020000000000000) -#define PBA_FIR_PB_PARITY_ERR SIXTYFOUR_BIT_CONSTANT(0x0010000000000000) -#define PBA_FIR_PB_WRADRERR_FW SIXTYFOUR_BIT_CONSTANT(0x0008000000000000) -#define PBA_FIR_PB_BADCRESP SIXTYFOUR_BIT_CONSTANT(0x0004000000000000) -#define PBA_FIR_PB_ACKDEAD_FW SIXTYFOUR_BIT_CONSTANT(0x0002000000000000) -#define PBA_FIR_PB_CRESPTO SIXTYFOUR_BIT_CONSTANT(0x0001000000000000) -#define PBA_FIR_BCUE_SETUP_ERR SIXTYFOUR_BIT_CONSTANT(0x0000800000000000) -#define PBA_FIR_BCUE_PB_ACK_DEAD SIXTYFOUR_BIT_CONSTANT(0x0000400000000000) -#define PBA_FIR_BCUE_PB_ADRERR SIXTYFOUR_BIT_CONSTANT(0x0000200000000000) -#define PBA_FIR_BCUE_OCI_DATAERR SIXTYFOUR_BIT_CONSTANT(0x0000100000000000) -#define PBA_FIR_BCDE_SETUP_ERR SIXTYFOUR_BIT_CONSTANT(0x0000080000000000) -#define PBA_FIR_BCDE_PB_ACK_DEAD SIXTYFOUR_BIT_CONSTANT(0x0000040000000000) -#define PBA_FIR_BCDE_PB_ADRERR SIXTYFOUR_BIT_CONSTANT(0x0000020000000000) -#define PBA_FIR_BCDE_RDDATATO_ERR SIXTYFOUR_BIT_CONSTANT(0x0000010000000000) -#define PBA_FIR_BCDE_SUE_ERR SIXTYFOUR_BIT_CONSTANT(0x0000008000000000) -#define PBA_FIR_BCDE_UE_ERR SIXTYFOUR_BIT_CONSTANT(0x0000004000000000) -#define PBA_FIR_BCDE_CE SIXTYFOUR_BIT_CONSTANT(0x0000002000000000) -#define PBA_FIR_BCDE_OCI_DATAERR SIXTYFOUR_BIT_CONSTANT(0x0000001000000000) -#define PBA_FIR_INTERNAL_ERR SIXTYFOUR_BIT_CONSTANT(0x0000000800000000) -#define PBA_FIR_ILLEGAL_CACHE_OP SIXTYFOUR_BIT_CONSTANT(0x0000000400000000) -#define PBA_FIR_OCI_BAD_REG_ADDR SIXTYFOUR_BIT_CONSTANT(0x0000000200000000) -#define PBA_FIR_AXPUSH_WRERR SIXTYFOUR_BIT_CONSTANT(0x0000000100000000) -#define PBA_FIR_AXRCV_DLO_ERR SIXTYFOUR_BIT_CONSTANT(0x0000000080000000) -#define PBA_FIR_AXRCV_DLO_TO SIXTYFOUR_BIT_CONSTANT(0x0000000040000000) -#define PBA_FIR_AXRCV_RSVDATA_TO SIXTYFOUR_BIT_CONSTANT(0x0000000020000000) -#define PBA_FIR_AXFLOW_ERR SIXTYFOUR_BIT_CONSTANT(0x0000000010000000) -#define PBA_FIR_AXSND_DHI_RTYTO SIXTYFOUR_BIT_CONSTANT(0x0000000008000000) -#define PBA_FIR_AXSND_DLO_RTYTO SIXTYFOUR_BIT_CONSTANT(0x0000000004000000) -#define PBA_FIR_AXSND_RSVTO SIXTYFOUR_BIT_CONSTANT(0x0000000002000000) -#define PBA_FIR_AXSND_RSVERR SIXTYFOUR_BIT_CONSTANT(0x0000000001000000) -#define PBA_FIR_PB_ACKDEAD_FW_WR SIXTYFOUR_BIT_CONSTANT(0x0000000000800000) -#define PBA_FIR_FIR_PARITY_ERR2 SIXTYFOUR_BIT_CONSTANT(0x0000000000080000) -#define PBA_FIR_FIR_PARITY_ERR SIXTYFOUR_BIT_CONSTANT(0x0000000000040000) -#ifndef __ASSEMBLER__ -typedef union pba_fir_and { +typedef union pba_bcde_ctl { uint64_t value; struct { @@ -288,104 +218,20 @@ typedef union pba_fir_and { } words; struct { #ifdef _BIG_ENDIAN - uint64_t oci_apar_err : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_ce_fw : 1; - uint64_t oci_slave_init : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_rereqto : 1; - uint64_t pb_unexpcresp : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_crespto : 1; - uint64_t bcue_setup_err : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t internal_err : 1; - uint64_t illegal_cache_op : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t axpush_wrerr : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axflow_err : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_rsverr : 1; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t reserved41 : 3; - uint64_t fir_parity_err2 : 1; - uint64_t fir_parity_err : 1; - uint64_t _reserved0 : 18; + uint64_t stop : 1; + uint64_t start : 1; + uint64_t reserved1 : 62; #else - uint64_t _reserved0 : 18; - uint64_t fir_parity_err : 1; - uint64_t fir_parity_err2 : 1; - uint64_t reserved41 : 3; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t axsnd_rsverr : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axflow_err : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axpush_wrerr : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t illegal_cache_op : 1; - uint64_t internal_err : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_setup_err : 1; - uint64_t pb_crespto : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_unexpcresp : 1; - uint64_t oci_rereqto : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_slave_init : 1; - uint64_t pb_ce_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t oci_apar_err : 1; + uint64_t reserved1 : 62; + uint64_t start : 1; + uint64_t stop : 1; #endif // _BIG_ENDIAN } fields; -} pba_fir_and_t; +} pba_bcde_ctl_t; -typedef union pba_fir_or { +typedef union pba_bcde_set { uint64_t value; struct { @@ -399,104 +245,20 @@ typedef union pba_fir_or { } words; struct { #ifdef _BIG_ENDIAN - uint64_t oci_apar_err : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_ce_fw : 1; - uint64_t oci_slave_init : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_rereqto : 1; - uint64_t pb_unexpcresp : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_crespto : 1; - uint64_t bcue_setup_err : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t internal_err : 1; - uint64_t illegal_cache_op : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t axpush_wrerr : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axflow_err : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_rsverr : 1; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t reserved41 : 3; - uint64_t fir_parity_err2 : 1; - uint64_t fir_parity_err : 1; - uint64_t _reserved0 : 18; + uint64_t reserved1 : 2; + uint64_t copy_length : 6; + uint64_t reserved2 : 56; #else - uint64_t _reserved0 : 18; - uint64_t fir_parity_err : 1; - uint64_t fir_parity_err2 : 1; - uint64_t reserved41 : 3; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t axsnd_rsverr : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axflow_err : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axpush_wrerr : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t illegal_cache_op : 1; - uint64_t internal_err : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_setup_err : 1; - uint64_t pb_crespto : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_unexpcresp : 1; - uint64_t oci_rereqto : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_slave_init : 1; - uint64_t pb_ce_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t oci_apar_err : 1; + uint64_t reserved2 : 56; + uint64_t copy_length : 6; + uint64_t reserved1 : 2; #endif // _BIG_ENDIAN } fields; -} pba_fir_or_t; +} pba_bcde_set_t; -typedef union pba_firmask { +typedef union pba_bcde_stat { uint64_t value; struct { @@ -510,104 +272,34 @@ typedef union pba_firmask { } words; struct { #ifdef _BIG_ENDIAN - uint64_t oci_apar_err : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_ce_fw : 1; - uint64_t oci_slave_init : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_rereqto : 1; - uint64_t pb_unexpcresp : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_crespto : 1; - uint64_t bcue_setup_err : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t internal_err : 1; - uint64_t illegal_cache_op : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t axpush_wrerr : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axflow_err : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_rsverr : 1; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t reserved41 : 3; - uint64_t fir_parity_err2 : 1; - uint64_t fir_parity_err : 1; - uint64_t _reserved0 : 18; + uint64_t running : 1; + uint64_t waiting : 1; + uint64_t wrcmp : 6; + uint64_t reserved1 : 6; + uint64_t rdcmp : 6; + uint64_t debug : 9; + uint64_t stopped : 1; + uint64_t error : 1; + uint64_t done : 1; + uint64_t reserved2 : 32; #else - uint64_t _reserved0 : 18; - uint64_t fir_parity_err : 1; - uint64_t fir_parity_err2 : 1; - uint64_t reserved41 : 3; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t axsnd_rsverr : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axflow_err : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axpush_wrerr : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t illegal_cache_op : 1; - uint64_t internal_err : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_setup_err : 1; - uint64_t pb_crespto : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_unexpcresp : 1; - uint64_t oci_rereqto : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_slave_init : 1; - uint64_t pb_ce_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t oci_apar_err : 1; + uint64_t reserved2 : 32; + uint64_t done : 1; + uint64_t error : 1; + uint64_t stopped : 1; + uint64_t debug : 9; + uint64_t rdcmp : 6; + uint64_t reserved1 : 6; + uint64_t wrcmp : 6; + uint64_t waiting : 1; + uint64_t running : 1; #endif // _BIG_ENDIAN } fields; -} pba_firmask_t; +} pba_bcde_stat_t; -typedef union pba_firmask_and { +typedef union pba_bcde_pbadr { uint64_t value; struct { @@ -621,104 +313,26 @@ typedef union pba_firmask_and { } words; struct { #ifdef _BIG_ENDIAN - uint64_t oci_apar_err : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_ce_fw : 1; - uint64_t oci_slave_init : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_rereqto : 1; - uint64_t pb_unexpcresp : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_crespto : 1; - uint64_t bcue_setup_err : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t internal_err : 1; - uint64_t illegal_cache_op : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t axpush_wrerr : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axflow_err : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_rsverr : 1; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t reserved41 : 3; - uint64_t fir_parity_err2 : 1; - uint64_t fir_parity_err : 1; - uint64_t _reserved0 : 18; + uint64_t reserved1 : 2; + uint64_t pb_offset : 23; + uint64_t reserved2 : 2; + uint64_t extaddr : 14; + uint64_t reserved3 : 2; + uint64_t reserved4 : 21; #else - uint64_t _reserved0 : 18; - uint64_t fir_parity_err : 1; - uint64_t fir_parity_err2 : 1; - uint64_t reserved41 : 3; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t axsnd_rsverr : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axflow_err : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axpush_wrerr : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t illegal_cache_op : 1; - uint64_t internal_err : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_setup_err : 1; - uint64_t pb_crespto : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_unexpcresp : 1; - uint64_t oci_rereqto : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_slave_init : 1; - uint64_t pb_ce_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t oci_apar_err : 1; + uint64_t reserved4 : 21; + uint64_t reserved3 : 2; + uint64_t extaddr : 14; + uint64_t reserved2 : 2; + uint64_t pb_offset : 23; + uint64_t reserved1 : 2; #endif // _BIG_ENDIAN } fields; -} pba_firmask_and_t; +} pba_bcde_pbadr_t; -typedef union pba_firmask_or { +typedef union pba_bcde_ocibar { uint64_t value; struct { @@ -732,104 +346,18 @@ typedef union pba_firmask_or { } words; struct { #ifdef _BIG_ENDIAN - uint64_t oci_apar_err : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_ce_fw : 1; - uint64_t oci_slave_init : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_rereqto : 1; - uint64_t pb_unexpcresp : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_crespto : 1; - uint64_t bcue_setup_err : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t internal_err : 1; - uint64_t illegal_cache_op : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t axpush_wrerr : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axflow_err : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_rsverr : 1; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t reserved41 : 3; - uint64_t fir_parity_err2 : 1; - uint64_t fir_parity_err : 1; - uint64_t _reserved0 : 18; + uint64_t addr : 25; + uint64_t reserved1 : 39; #else - uint64_t _reserved0 : 18; - uint64_t fir_parity_err : 1; - uint64_t fir_parity_err2 : 1; - uint64_t reserved41 : 3; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t axsnd_rsverr : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axflow_err : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axpush_wrerr : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t illegal_cache_op : 1; - uint64_t internal_err : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_setup_err : 1; - uint64_t pb_crespto : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_unexpcresp : 1; - uint64_t oci_rereqto : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_slave_init : 1; - uint64_t pb_ce_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t oci_apar_err : 1; + uint64_t reserved1 : 39; + uint64_t addr : 25; #endif // _BIG_ENDIAN } fields; -} pba_firmask_or_t; +} pba_bcde_ocibar_t; -typedef union pba_firact0 { +typedef union pba_bcue_ctl { uint64_t value; struct { @@ -843,104 +371,20 @@ typedef union pba_firact0 { } words; struct { #ifdef _BIG_ENDIAN - uint64_t oci_apar_err : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_ce_fw : 1; - uint64_t oci_slave_init : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_rereqto : 1; - uint64_t pb_unexpcresp : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_crespto : 1; - uint64_t bcue_setup_err : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t internal_err : 1; - uint64_t illegal_cache_op : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t axpush_wrerr : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axflow_err : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_rsverr : 1; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t reserved41 : 3; - uint64_t fir_parity_err2 : 1; - uint64_t fir_parity_err : 1; - uint64_t _reserved0 : 18; + uint64_t stop : 1; + uint64_t start : 1; + uint64_t reserved1 : 62; #else - uint64_t _reserved0 : 18; - uint64_t fir_parity_err : 1; - uint64_t fir_parity_err2 : 1; - uint64_t reserved41 : 3; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t axsnd_rsverr : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axflow_err : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axpush_wrerr : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t illegal_cache_op : 1; - uint64_t internal_err : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_setup_err : 1; - uint64_t pb_crespto : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_unexpcresp : 1; - uint64_t oci_rereqto : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_slave_init : 1; - uint64_t pb_ce_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t oci_apar_err : 1; + uint64_t reserved1 : 62; + uint64_t start : 1; + uint64_t stop : 1; #endif // _BIG_ENDIAN } fields; -} pba_firact0_t; +} pba_bcue_ctl_t; -typedef union pba_firact1 { +typedef union pba_bcue_set { uint64_t value; struct { @@ -954,104 +398,20 @@ typedef union pba_firact1 { } words; struct { #ifdef _BIG_ENDIAN - uint64_t oci_apar_err : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_ce_fw : 1; - uint64_t oci_slave_init : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_rereqto : 1; - uint64_t pb_unexpcresp : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_crespto : 1; - uint64_t bcue_setup_err : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t internal_err : 1; - uint64_t illegal_cache_op : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t axpush_wrerr : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axflow_err : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_rsverr : 1; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t reserved41 : 3; - uint64_t fir_parity_err2 : 1; - uint64_t fir_parity_err : 1; - uint64_t _reserved0 : 18; + uint64_t reserved1 : 2; + uint64_t copy_length : 6; + uint64_t reserved2 : 56; #else - uint64_t _reserved0 : 18; - uint64_t fir_parity_err : 1; - uint64_t fir_parity_err2 : 1; - uint64_t reserved41 : 3; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t axsnd_rsverr : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axflow_err : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axpush_wrerr : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t illegal_cache_op : 1; - uint64_t internal_err : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_setup_err : 1; - uint64_t pb_crespto : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_unexpcresp : 1; - uint64_t oci_rereqto : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_slave_init : 1; - uint64_t pb_ce_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t oci_apar_err : 1; + uint64_t reserved2 : 56; + uint64_t copy_length : 6; + uint64_t reserved1 : 2; #endif // _BIG_ENDIAN } fields; -} pba_firact1_t; +} pba_bcue_set_t; -typedef union pba_occact { +typedef union pba_bcue_stat { uint64_t value; struct { @@ -1065,104 +425,34 @@ typedef union pba_occact { } words; struct { #ifdef _BIG_ENDIAN - uint64_t oci_apar_err : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_ce_fw : 1; - uint64_t oci_slave_init : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_rereqto : 1; - uint64_t pb_unexpcresp : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_crespto : 1; - uint64_t bcue_setup_err : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t internal_err : 1; - uint64_t illegal_cache_op : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t axpush_wrerr : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axflow_err : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_rsverr : 1; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t reserved41 : 3; - uint64_t fir_parity_err2 : 1; - uint64_t fir_parity_err : 1; - uint64_t _reserved0 : 18; + uint64_t running : 1; + uint64_t waiting : 1; + uint64_t wrcmp : 6; + uint64_t reserved1 : 6; + uint64_t rdcmp : 6; + uint64_t debug : 9; + uint64_t stopped : 1; + uint64_t error : 1; + uint64_t done : 1; + uint64_t reserved2 : 32; #else - uint64_t _reserved0 : 18; - uint64_t fir_parity_err : 1; - uint64_t fir_parity_err2 : 1; - uint64_t reserved41 : 3; - uint64_t pb_ackdead_fw_wr : 1; - uint64_t axsnd_rsverr : 1; - uint64_t axsnd_rsvto : 1; - uint64_t axsnd_dlo_rtyto : 1; - uint64_t axsnd_dhi_rtyto : 1; - uint64_t axflow_err : 1; - uint64_t axrcv_rsvdata_to : 1; - uint64_t axrcv_dlo_to : 1; - uint64_t axrcv_dlo_err : 1; - uint64_t axpush_wrerr : 1; - uint64_t oci_bad_reg_addr : 1; - uint64_t illegal_cache_op : 1; - uint64_t internal_err : 1; - uint64_t bcde_oci_dataerr : 1; - uint64_t bcde_ce : 1; - uint64_t bcde_ue_err : 1; - uint64_t bcde_sue_err : 1; - uint64_t bcde_rddatato_err : 1; - uint64_t bcde_pb_adrerr : 1; - uint64_t bcde_pb_ack_dead : 1; - uint64_t bcde_setup_err : 1; - uint64_t bcue_oci_dataerr : 1; - uint64_t bcue_pb_adrerr : 1; - uint64_t bcue_pb_ack_dead : 1; - uint64_t bcue_setup_err : 1; - uint64_t pb_crespto : 1; - uint64_t pb_ackdead_fw : 1; - uint64_t pb_badcresp : 1; - uint64_t pb_wradrerr_fw : 1; - uint64_t pb_parity_err : 1; - uint64_t pb_unexpdata : 1; - uint64_t pb_unexpcresp : 1; - uint64_t oci_rereqto : 1; - uint64_t oci_wrpar_err : 1; - uint64_t oci_slave_init : 1; - uint64_t pb_ce_fw : 1; - uint64_t pb_ue_fw : 1; - uint64_t pb_sue_fw : 1; - uint64_t pb_rddatato_fw : 1; - uint64_t pb_rdadrerr_fw : 1; - uint64_t oci_apar_err : 1; + uint64_t reserved2 : 32; + uint64_t done : 1; + uint64_t error : 1; + uint64_t stopped : 1; + uint64_t debug : 9; + uint64_t rdcmp : 6; + uint64_t reserved1 : 6; + uint64_t wrcmp : 6; + uint64_t waiting : 1; + uint64_t running : 1; #endif // _BIG_ENDIAN } fields; -} pba_occact_t; +} pba_bcue_stat_t; -typedef union pba_cfg { +typedef union pba_bcue_pbadr { uint64_t value; struct { @@ -1176,62 +466,26 @@ typedef union pba_cfg { } words; struct { #ifdef _BIG_ENDIAN - uint64_t pbreq_slvfw_max_priority : 2; - uint64_t pbreq_bce_max_priority : 2; - uint64_t pbreq_data_hang_div : 5; - uint64_t pbreq_oper_hang_div : 5; - uint64_t pbreq_drop_priority_mask : 6; - uint64_t reserved20 : 4; - uint64_t chsw_hang_on_adrerror : 1; - uint64_t chsw_dis_ociabuspar_check : 1; - uint64_t chsw_dis_ocibepar_check : 1; - uint64_t chsw_hang_on_derror : 1; - uint64_t chsw_hang_on_rereq_timeout : 1; - uint64_t chsw_dis_write_match_rearb : 1; - uint64_t chsw_dis_ocidatapar_gen : 1; - uint64_t chsw_dis_ocidatapar_check : 1; - uint64_t chsw_dis_oper_hang : 1; - uint64_t chsw_dis_data_hang : 1; - uint64_t chsw_dis_ecc_check : 1; - uint64_t chsw_dis_retry_backoff : 1; - uint64_t chsw_hang_on_invalid_cresp : 1; - uint64_t chsw_en_scopeinc_on_bkill_inc : 1; - uint64_t chsw_dis_group_scope : 1; - uint64_t chsw_dis_rtag_parity_chk : 1; - uint64_t chsw_dis_pb_parity_chk : 1; - uint64_t _reserved0 : 23; + uint64_t reserved1 : 2; + uint64_t pb_offset : 23; + uint64_t reserved2 : 2; + uint64_t extaddr : 14; + uint64_t reserved3 : 2; + uint64_t reserved4 : 21; #else - uint64_t _reserved0 : 23; - uint64_t chsw_dis_pb_parity_chk : 1; - uint64_t chsw_dis_rtag_parity_chk : 1; - uint64_t chsw_dis_group_scope : 1; - uint64_t chsw_en_scopeinc_on_bkill_inc : 1; - uint64_t chsw_hang_on_invalid_cresp : 1; - uint64_t chsw_dis_retry_backoff : 1; - uint64_t chsw_dis_ecc_check : 1; - uint64_t chsw_dis_data_hang : 1; - uint64_t chsw_dis_oper_hang : 1; - uint64_t chsw_dis_ocidatapar_check : 1; - uint64_t chsw_dis_ocidatapar_gen : 1; - uint64_t chsw_dis_write_match_rearb : 1; - uint64_t chsw_hang_on_rereq_timeout : 1; - uint64_t chsw_hang_on_derror : 1; - uint64_t chsw_dis_ocibepar_check : 1; - uint64_t chsw_dis_ociabuspar_check : 1; - uint64_t chsw_hang_on_adrerror : 1; - uint64_t reserved20 : 4; - uint64_t pbreq_drop_priority_mask : 6; - uint64_t pbreq_oper_hang_div : 5; - uint64_t pbreq_data_hang_div : 5; - uint64_t pbreq_bce_max_priority : 2; - uint64_t pbreq_slvfw_max_priority : 2; + uint64_t reserved4 : 21; + uint64_t reserved3 : 2; + uint64_t extaddr : 14; + uint64_t reserved2 : 2; + uint64_t pb_offset : 23; + uint64_t reserved1 : 2; #endif // _BIG_ENDIAN } fields; -} pba_cfg_t; +} pba_bcue_pbadr_t; -typedef union pba_errpt0 { +typedef union pba_bcue_ocibar { uint64_t value; struct { @@ -1245,30 +499,18 @@ typedef union pba_errpt0 { } words; struct { #ifdef _BIG_ENDIAN - uint64_t cerr_pb_rddatato_fw : 6; - uint64_t cerr_pb_rdadrerr_fw : 6; - uint64_t cerr_pb_wradrerr_fw : 4; - uint64_t cerr_pb_ackdead_fw_rd : 6; - uint64_t cerr_pb_ackdead_fw_wr : 2; - uint64_t cerr_pb_unexpcresp : 11; - uint64_t cerr_pb_unexpdata : 6; - uint64_t _reserved0 : 23; + uint64_t addr : 25; + uint64_t reserved1 : 39; #else - uint64_t _reserved0 : 23; - uint64_t cerr_pb_unexpdata : 6; - uint64_t cerr_pb_unexpcresp : 11; - uint64_t cerr_pb_ackdead_fw_wr : 2; - uint64_t cerr_pb_ackdead_fw_rd : 6; - uint64_t cerr_pb_wradrerr_fw : 4; - uint64_t cerr_pb_rdadrerr_fw : 6; - uint64_t cerr_pb_rddatato_fw : 6; + uint64_t reserved1 : 39; + uint64_t addr : 25; #endif // _BIG_ENDIAN } fields; -} pba_errpt0_t; +} pba_bcue_ocibar_t; -typedef union pba_errpt1 { +typedef union pba_pbocrn { uint64_t value; struct { @@ -1282,28 +524,22 @@ typedef union pba_errpt1 { } words; struct { #ifdef _BIG_ENDIAN - uint64_t cerr_pb_badcresp : 12; - uint64_t cerr_pb_crespto : 12; - uint64_t cerr_oci_rereqto : 6; - uint64_t cerr_bcde_setup_err : 2; - uint64_t cerr_bcue_setup_err : 2; - uint64_t cerr_bcue_oci_dataerr : 2; - uint64_t _reserved0 : 28; + uint64_t reserved1 : 16; + uint64_t event : 16; + uint64_t reserved2 : 12; + uint64_t accum : 20; #else - uint64_t _reserved0 : 28; - uint64_t cerr_bcue_oci_dataerr : 2; - uint64_t cerr_bcue_setup_err : 2; - uint64_t cerr_bcde_setup_err : 2; - uint64_t cerr_oci_rereqto : 6; - uint64_t cerr_pb_crespto : 12; - uint64_t cerr_pb_badcresp : 12; + uint64_t accum : 20; + uint64_t reserved2 : 12; + uint64_t event : 16; + uint64_t reserved1 : 16; #endif // _BIG_ENDIAN } fields; -} pba_errpt1_t; +} pba_pbocrn_t; -typedef union pba_errpt2 { +typedef union pba_xsndtx { uint64_t value; struct { @@ -1317,36 +553,38 @@ typedef union pba_errpt2 { } words; struct { #ifdef _BIG_ENDIAN - uint64_t cerr_slv_internal_err : 8; - uint64_t cerr_bcde_internal_err : 4; - uint64_t cerr_bcue_internal_err : 4; - uint64_t cerr_bar_parity_err : 1; - uint64_t cerr_scomtb_err : 1; - uint64_t reserved18 : 2; - uint64_t cerr_pbdout_parity_err : 1; - uint64_t cerr_pb_parity_err : 3; - uint64_t cerr_axflow_err : 5; - uint64_t cerr_axpush_wrerr : 2; - uint64_t _reserved0 : 33; -#else - uint64_t _reserved0 : 33; - uint64_t cerr_axpush_wrerr : 2; - uint64_t cerr_axflow_err : 5; - uint64_t cerr_pb_parity_err : 3; - uint64_t cerr_pbdout_parity_err : 1; - uint64_t reserved18 : 2; - uint64_t cerr_scomtb_err : 1; - uint64_t cerr_bar_parity_err : 1; - uint64_t cerr_bcue_internal_err : 4; - uint64_t cerr_bcde_internal_err : 4; - uint64_t cerr_slv_internal_err : 8; + uint64_t snd_scope : 3; + uint64_t snd_qid : 1; + uint64_t snd_type : 1; + uint64_t snd_reservation : 1; + uint64_t reserved1 : 2; + uint64_t snd_groupid : 4; + uint64_t snd_chipid : 3; + uint64_t reserved2 : 1; + uint64_t vg_targe : 16; + uint64_t reserved3 : 27; + uint64_t snd_stop : 1; + uint64_t snd_cnt : 4; +#else + uint64_t snd_cnt : 4; + uint64_t snd_stop : 1; + uint64_t reserved3 : 27; + uint64_t vg_targe : 16; + uint64_t reserved2 : 1; + uint64_t snd_chipid : 3; + uint64_t snd_groupid : 4; + uint64_t reserved1 : 2; + uint64_t snd_reservation : 1; + uint64_t snd_type : 1; + uint64_t snd_qid : 1; + uint64_t snd_scope : 3; #endif // _BIG_ENDIAN } fields; -} pba_errpt2_t; +} pba_xsndtx_t; -typedef union pba_rbufvaln { +typedef union pba_xcfg { uint64_t value; struct { @@ -1360,36 +598,42 @@ typedef union pba_rbufvaln { } words; struct { #ifdef _BIG_ENDIAN - uint64_t rd_slvnum : 2; - uint64_t cur_rd_addr : 23; - uint64_t spare1 : 3; - uint64_t prefetch : 1; - uint64_t spare2 : 2; - uint64_t abort : 1; - uint64_t spare3 : 1; - uint64_t buffer_status : 7; - uint64_t spare4 : 1; - uint64_t masterid : 3; - uint64_t _reserved0 : 20; + uint64_t pbax_en : 1; + uint64_t reservation_en : 1; + uint64_t snd_reset : 1; + uint64_t rcv_reset : 1; + uint64_t rcv_groupid : 4; + uint64_t rcv_chipid : 3; + uint64_t reserved1 : 1; + uint64_t rcv_brdcst_group : 8; + uint64_t rcv_datato_div : 5; + uint64_t reserved2 : 2; + uint64_t snd_retry_count_overcom : 1; + uint64_t snd_retry_thresh : 8; + uint64_t snd_rsvto_div : 5; + uint64_t reserved3 : 23; #else - uint64_t _reserved0 : 20; - uint64_t masterid : 3; - uint64_t spare4 : 1; - uint64_t buffer_status : 7; - uint64_t spare3 : 1; - uint64_t abort : 1; - uint64_t spare2 : 2; - uint64_t prefetch : 1; - uint64_t spare1 : 3; - uint64_t cur_rd_addr : 23; - uint64_t rd_slvnum : 2; + uint64_t reserved3 : 23; + uint64_t snd_rsvto_div : 5; + uint64_t snd_retry_thresh : 8; + uint64_t snd_retry_count_overcom : 1; + uint64_t reserved2 : 2; + uint64_t rcv_datato_div : 5; + uint64_t rcv_brdcst_group : 8; + uint64_t reserved1 : 1; + uint64_t rcv_chipid : 3; + uint64_t rcv_groupid : 4; + uint64_t rcv_reset : 1; + uint64_t snd_reset : 1; + uint64_t reservation_en : 1; + uint64_t pbax_en : 1; #endif // _BIG_ENDIAN } fields; -} pba_rbufvaln_t; +} pba_xcfg_t; -typedef union pba_wbufvaln { +typedef union pba_xsndstat { uint64_t value; struct { @@ -1403,28 +647,26 @@ typedef union pba_wbufvaln { } words; struct { #ifdef _BIG_ENDIAN - uint64_t wr_slvnum : 2; - uint64_t start_wr_addr : 30; - uint64_t spare1 : 3; - uint64_t wr_buffer_status : 5; - uint64_t spare2 : 1; - uint64_t wr_byte_count : 7; - uint64_t spare3 : 16; + uint64_t snd_in_progress : 1; + uint64_t snd_error : 1; + uint64_t snd_phase_status : 2; + uint64_t snd_cnt_status : 4; + uint64_t snd_retry_count : 8; + uint64_t reserved1 : 48; #else - uint64_t spare3 : 16; - uint64_t wr_byte_count : 7; - uint64_t spare2 : 1; - uint64_t wr_buffer_status : 5; - uint64_t spare1 : 3; - uint64_t start_wr_addr : 30; - uint64_t wr_slvnum : 2; + uint64_t reserved1 : 48; + uint64_t snd_retry_count : 8; + uint64_t snd_cnt_status : 4; + uint64_t snd_phase_status : 2; + uint64_t snd_error : 1; + uint64_t snd_in_progress : 1; #endif // _BIG_ENDIAN } fields; -} pba_wbufvaln_t; +} pba_xsndstat_t; -typedef union pba_mode { +typedef union pba_xsnddat { uint64_t value; struct { @@ -1438,74 +680,18 @@ typedef union pba_mode { } words; struct { #ifdef _BIG_ENDIAN - uint64_t reserved0 : 4; - uint64_t dis_rearb : 1; - uint64_t dis_mstid_match_pref_inv : 1; - uint64_t dis_slave_rdpipe : 1; - uint64_t dis_slave_wrpipe : 1; - uint64_t en_marker_ack : 1; - uint64_t dis_slvmatch_order : 1; - uint64_t en_second_wrbuf : 1; - uint64_t dis_rerequest_to : 1; - uint64_t inject_type : 2; - uint64_t inject_mode : 2; - uint64_t pba_region : 2; - uint64_t oci_marker_space : 3; - uint64_t bcde_ocitrans : 2; - uint64_t bcue_ocitrans : 2; - uint64_t dis_master_rd_pipe : 1; - uint64_t dis_master_wr_pipe : 1; - uint64_t en_slave_fairness : 1; - uint64_t en_event_count : 1; - uint64_t pb_noci_event_sel : 1; - uint64_t slv_event_mux : 2; - uint64_t enable_debug_bus : 1; - uint64_t debug_pb_not_oci : 1; - uint64_t debug_oci_mode : 5; - uint64_t reserved2 : 1; - uint64_t ocislv_fairness_mask : 5; - uint64_t ocislv_rereq_hang_div : 5; - uint64_t dis_chgrate_count : 1; - uint64_t pbreq_event_mux : 2; - uint64_t _reserved0 : 11; + uint64_t pbax_datahi : 32; + uint64_t pbax_datalo : 32; #else - uint64_t _reserved0 : 11; - uint64_t pbreq_event_mux : 2; - uint64_t dis_chgrate_count : 1; - uint64_t ocislv_rereq_hang_div : 5; - uint64_t ocislv_fairness_mask : 5; - uint64_t reserved2 : 1; - uint64_t debug_oci_mode : 5; - uint64_t debug_pb_not_oci : 1; - uint64_t enable_debug_bus : 1; - uint64_t slv_event_mux : 2; - uint64_t pb_noci_event_sel : 1; - uint64_t en_event_count : 1; - uint64_t en_slave_fairness : 1; - uint64_t dis_master_wr_pipe : 1; - uint64_t dis_master_rd_pipe : 1; - uint64_t bcue_ocitrans : 2; - uint64_t bcde_ocitrans : 2; - uint64_t oci_marker_space : 3; - uint64_t pba_region : 2; - uint64_t inject_mode : 2; - uint64_t inject_type : 2; - uint64_t dis_rerequest_to : 1; - uint64_t en_second_wrbuf : 1; - uint64_t dis_slvmatch_order : 1; - uint64_t en_marker_ack : 1; - uint64_t dis_slave_wrpipe : 1; - uint64_t dis_slave_rdpipe : 1; - uint64_t dis_mstid_match_pref_inv : 1; - uint64_t dis_rearb : 1; - uint64_t reserved0 : 4; + uint64_t pbax_datalo : 32; + uint64_t pbax_datahi : 32; #endif // _BIG_ENDIAN } fields; -} pba_mode_t; +} pba_xsnddat_t; -typedef union pba_slvrst { +typedef union pba_xrcvstat { uint64_t value; struct { @@ -1519,24 +705,26 @@ typedef union pba_slvrst { } words; struct { #ifdef _BIG_ENDIAN - uint64_t set : 3; - uint64_t notimp1 : 1; - uint64_t in_prog : 4; - uint64_t busy_status : 4; - uint64_t _reserved0 : 52; + uint64_t rcv_in_progress : 1; + uint64_t rcv_error : 1; + uint64_t rcv_write_in_progress : 1; + uint64_t rcv_reservation_set : 1; + uint64_t rcv_capture : 16; + uint64_t reserved1 : 44; #else - uint64_t _reserved0 : 52; - uint64_t busy_status : 4; - uint64_t in_prog : 4; - uint64_t notimp1 : 1; - uint64_t set : 3; + uint64_t reserved1 : 44; + uint64_t rcv_capture : 16; + uint64_t rcv_reservation_set : 1; + uint64_t rcv_write_in_progress : 1; + uint64_t rcv_error : 1; + uint64_t rcv_in_progress : 1; #endif // _BIG_ENDIAN } fields; -} pba_slvrst_t; +} pba_xrcvstat_t; -typedef union pba_slvctln { +typedef union pba_xshbrn { uint64_t value; struct { @@ -1550,52 +738,18 @@ typedef union pba_slvctln { } words; struct { #ifdef _BIG_ENDIAN - uint64_t enable : 1; - uint64_t mid_match_value : 3; - uint64_t _reserved0 : 1; - uint64_t mid_care_mask : 3; - uint64_t write_ttype : 3; - uint64_t _reserved1 : 4; - uint64_t read_ttype : 1; - uint64_t read_prefetch_ctl : 2; - uint64_t buf_invalidate_ctl : 1; - uint64_t buf_alloc_w : 1; - uint64_t buf_alloc_a : 1; - uint64_t buf_alloc_b : 1; - uint64_t buf_alloc_c : 1; - uint64_t _reserved2 : 1; - uint64_t dis_write_gather : 1; - uint64_t wr_gather_timeout : 3; - uint64_t write_tsize : 7; - uint64_t extaddr : 14; - uint64_t _reserved3 : 15; + uint64_t push_start : 29; + uint64_t reserved1 : 35; #else - uint64_t _reserved3 : 15; - uint64_t extaddr : 14; - uint64_t write_tsize : 7; - uint64_t wr_gather_timeout : 3; - uint64_t dis_write_gather : 1; - uint64_t _reserved2 : 1; - uint64_t buf_alloc_c : 1; - uint64_t buf_alloc_b : 1; - uint64_t buf_alloc_a : 1; - uint64_t buf_alloc_w : 1; - uint64_t buf_invalidate_ctl : 1; - uint64_t read_prefetch_ctl : 2; - uint64_t read_ttype : 1; - uint64_t _reserved1 : 4; - uint64_t write_ttype : 3; - uint64_t mid_care_mask : 3; - uint64_t _reserved0 : 1; - uint64_t mid_match_value : 3; - uint64_t enable : 1; + uint64_t reserved1 : 35; + uint64_t push_start : 29; #endif // _BIG_ENDIAN } fields; -} pba_slvctln_t; +} pba_xshbrn_t; -typedef union pba_bcde_ctl { +typedef union pba_xshcsn { uint64_t value; struct { @@ -1609,24 +763,38 @@ typedef union pba_bcde_ctl { } words; struct { #ifdef _BIG_ENDIAN - uint64_t stop : 1; - uint64_t start : 1; - uint64_t _reserved0 : 62; + uint64_t push_full : 1; + uint64_t push_empty : 1; + uint64_t reserved1 : 2; + uint64_t push_intr_action : 2; + uint64_t push_length : 5; + uint64_t reserved2 : 2; + uint64_t push_write_ptr : 5; + uint64_t reserved3 : 3; + uint64_t push_read_ptr : 5; + uint64_t reserved4 : 5; + uint64_t push_enable : 1; + uint64_t reserved5 : 32; #else - uint64_t _reserved0 : 62; - uint64_t start : 1; - uint64_t stop : 1; + uint64_t reserved5 : 32; + uint64_t push_enable : 1; + uint64_t reserved4 : 5; + uint64_t push_read_ptr : 5; + uint64_t reserved3 : 3; + uint64_t push_write_ptr : 5; + uint64_t reserved2 : 2; + uint64_t push_length : 5; + uint64_t push_intr_action : 2; + uint64_t reserved1 : 2; + uint64_t push_empty : 1; + uint64_t push_full : 1; #endif // _BIG_ENDIAN } fields; -} pba_bcde_ctl_t; +} pba_xshcsn_t; -#endif // __ASSEMBLER__ -#define PBA_BCDE_CTL_STOP SIXTYFOUR_BIT_CONSTANT(0x8000000000000000) -#define PBA_BCDE_CTL_START SIXTYFOUR_BIT_CONSTANT(0x4000000000000000) -#ifndef __ASSEMBLER__ -typedef union pba_bcde_set { +typedef union pba_xshincn { uint64_t value; struct { @@ -1640,20 +808,16 @@ typedef union pba_bcde_set { } words; struct { #ifdef _BIG_ENDIAN - uint64_t _reserved0 : 2; - uint64_t copy_length : 6; - uint64_t _reserved1 : 56; + uint64_t reserved1 : 64; #else - uint64_t _reserved1 : 56; - uint64_t copy_length : 6; - uint64_t _reserved0 : 2; + uint64_t reserved1 : 64; #endif // _BIG_ENDIAN } fields; -} pba_bcde_set_t; +} pba_xshincn_t; -typedef union pba_bcde_stat { +typedef union pba_fir { uint64_t value; struct { @@ -1667,34 +831,108 @@ typedef union pba_bcde_stat { } words; struct { #ifdef _BIG_ENDIAN - uint64_t running : 1; - uint64_t waiting : 1; - uint64_t wrcmp : 6; - uint64_t _reserved0 : 6; - uint64_t rdcmp : 6; - uint64_t debug : 9; - uint64_t stopped : 1; - uint64_t error : 1; - uint64_t done : 1; - uint64_t _reserved1 : 32; + uint64_t oci_apar_err : 1; + uint64_t pb_rdadrerr_fw : 1; + uint64_t pb_rddatato_fw : 1; + uint64_t pb_sue_fw : 1; + uint64_t pb_ue_fw : 1; + uint64_t pb_ce_fw : 1; + uint64_t oci_slave_init : 1; + uint64_t oci_wrpar_err : 1; + uint64_t reserved1 : 1; + uint64_t pb_unexpcresp : 1; + uint64_t pb_unexpdata : 1; + uint64_t pb_parity_err : 1; + uint64_t pb_wradrerr_fw : 1; + uint64_t pb_badcresp : 1; + uint64_t pb_ackdead_fw_rd : 1; + uint64_t pb_operto : 1; + uint64_t bcue_setup_err : 1; + uint64_t bcue_pb_ack_dead : 1; + uint64_t bcue_pb_adrerr : 1; + uint64_t bcue_oci_daterr : 1; + uint64_t bcde_setup_err : 1; + uint64_t bcde_pb_ack_dead : 1; + uint64_t bcde_pb_adrerr : 1; + uint64_t bcde_rddatato_err : 1; + uint64_t bcde_sue_err : 1; + uint64_t bcde_ue_err : 1; + uint64_t bcde_ce : 1; + uint64_t bcde_oci_daterr : 1; + uint64_t internal_err : 1; + uint64_t illegal_cache_op : 1; + uint64_t oci_bad_reg_addr : 1; + uint64_t axpush_wrerr : 1; + uint64_t axrcv_dlo_err : 1; + uint64_t axrcv_dlo_to : 1; + uint64_t axrcv_rsvdata_to : 1; + uint64_t axflow_err : 1; + uint64_t axsnd_dhi_rtyto : 1; + uint64_t axsnd_dlo_rtyto : 1; + uint64_t axsnd_rsvto : 1; + uint64_t axsnd_rsverr : 1; + uint64_t pb_ackdead_fw_wr : 1; + uint64_t reserved2 : 1; + uint64_t reserved3 : 1; + uint64_t reserved4 : 1; + uint64_t fir_parity_err2 : 1; + uint64_t fir_parity_err : 1; + uint64_t reserved5 : 18; #else - uint64_t _reserved1 : 32; - uint64_t done : 1; - uint64_t error : 1; - uint64_t stopped : 1; - uint64_t debug : 9; - uint64_t rdcmp : 6; - uint64_t _reserved0 : 6; - uint64_t wrcmp : 6; - uint64_t waiting : 1; - uint64_t running : 1; + uint64_t reserved5 : 18; + uint64_t fir_parity_err : 1; + uint64_t fir_parity_err2 : 1; + uint64_t reserved4 : 1; + uint64_t reserved3 : 1; + uint64_t reserved2 : 1; + uint64_t pb_ackdead_fw_wr : 1; + uint64_t axsnd_rsverr : 1; + uint64_t axsnd_rsvto : 1; + uint64_t axsnd_dlo_rtyto : 1; + uint64_t axsnd_dhi_rtyto : 1; + uint64_t axflow_err : 1; + uint64_t axrcv_rsvdata_to : 1; + uint64_t axrcv_dlo_to : 1; + uint64_t axrcv_dlo_err : 1; + uint64_t axpush_wrerr : 1; + uint64_t oci_bad_reg_addr : 1; + uint64_t illegal_cache_op : 1; + uint64_t internal_err : 1; + uint64_t bcde_oci_daterr : 1; + uint64_t bcde_ce : 1; + uint64_t bcde_ue_err : 1; + uint64_t bcde_sue_err : 1; + uint64_t bcde_rddatato_err : 1; + uint64_t bcde_pb_adrerr : 1; + uint64_t bcde_pb_ack_dead : 1; + uint64_t bcde_setup_err : 1; + uint64_t bcue_oci_daterr : 1; + uint64_t bcue_pb_adrerr : 1; + uint64_t bcue_pb_ack_dead : 1; + uint64_t bcue_setup_err : 1; + uint64_t pb_operto : 1; + uint64_t pb_ackdead_fw_rd : 1; + uint64_t pb_badcresp : 1; + uint64_t pb_wradrerr_fw : 1; + uint64_t pb_parity_err : 1; + uint64_t pb_unexpdata : 1; + uint64_t pb_unexpcresp : 1; + uint64_t reserved1 : 1; + uint64_t oci_wrpar_err : 1; + uint64_t oci_slave_init : 1; + uint64_t pb_ce_fw : 1; + uint64_t pb_ue_fw : 1; + uint64_t pb_sue_fw : 1; + uint64_t pb_rddatato_fw : 1; + uint64_t pb_rdadrerr_fw : 1; + uint64_t oci_apar_err : 1; #endif // _BIG_ENDIAN } fields; -} pba_bcde_stat_t; +} pba_fir_t; -typedef union pba_bcde_pbadr { +typedef union pba_fir_and { uint64_t value; struct { @@ -1708,24 +946,108 @@ typedef union pba_bcde_pbadr { } words; struct { #ifdef _BIG_ENDIAN - uint64_t _reserved0 : 2; - uint64_t pb_offset : 23; - uint64_t _reserved1 : 2; - uint64_t extaddr : 14; - uint64_t _reserved2 : 23; + uint64_t oci_apar_err : 1; + uint64_t pb_rdadrerr_fw : 1; + uint64_t pb_rddatato_fw : 1; + uint64_t pb_sue_fw : 1; + uint64_t pb_ue_fw : 1; + uint64_t pb_ce_fw : 1; + uint64_t oci_slave_init : 1; + uint64_t oci_wrpar_err : 1; + uint64_t reserved1 : 1; + uint64_t pb_unexpcresp : 1; + uint64_t pb_unexpdata : 1; + uint64_t pb_parity_err : 1; + uint64_t pb_wradrerr_fw : 1; + uint64_t pb_badcresp : 1; + uint64_t pb_ackdead_fw_rd : 1; + uint64_t pb_operto : 1; + uint64_t bcue_setup_err : 1; + uint64_t bcue_pb_ack_dead : 1; + uint64_t bcue_pb_adrerr : 1; + uint64_t bcue_oci_daterr : 1; + uint64_t bcde_setup_err : 1; + uint64_t bcde_pb_ack_dead : 1; + uint64_t bcde_pb_adrerr : 1; + uint64_t bcde_rddatato_err : 1; + uint64_t bcde_sue_err : 1; + uint64_t bcde_ue_err : 1; + uint64_t bcde_ce : 1; + uint64_t bcde_oci_daterr : 1; + uint64_t internal_err : 1; + uint64_t illegal_cache_op : 1; + uint64_t oci_bad_reg_addr : 1; + uint64_t axpush_wrerr : 1; + uint64_t axrcv_dlo_err : 1; + uint64_t axrcv_dlo_to : 1; + uint64_t axrcv_rsvdata_to : 1; + uint64_t axflow_err : 1; + uint64_t axsnd_dhi_rtyto : 1; + uint64_t axsnd_dlo_rtyto : 1; + uint64_t axsnd_rsvto : 1; + uint64_t axsnd_rsverr : 1; + uint64_t pb_ackdead_fw_wr : 1; + uint64_t reserved2 : 1; + uint64_t reserved3 : 1; + uint64_t reserved4 : 1; + uint64_t fir_parity_err2 : 1; + uint64_t fir_parity_err : 1; + uint64_t reserved5 : 18; #else - uint64_t _reserved2 : 23; - uint64_t extaddr : 14; - uint64_t _reserved1 : 2; - uint64_t pb_offset : 23; - uint64_t _reserved0 : 2; + uint64_t reserved5 : 18; + uint64_t fir_parity_err : 1; + uint64_t fir_parity_err2 : 1; + uint64_t reserved4 : 1; + uint64_t reserved3 : 1; + uint64_t reserved2 : 1; + uint64_t pb_ackdead_fw_wr : 1; + uint64_t axsnd_rsverr : 1; + uint64_t axsnd_rsvto : 1; + uint64_t axsnd_dlo_rtyto : 1; + uint64_t axsnd_dhi_rtyto : 1; + uint64_t axflow_err : 1; + uint64_t axrcv_rsvdata_to : 1; + uint64_t axrcv_dlo_to : 1; + uint64_t axrcv_dlo_err : 1; + uint64_t axpush_wrerr : 1; + uint64_t oci_bad_reg_addr : 1; + uint64_t illegal_cache_op : 1; + uint64_t internal_err : 1; + uint64_t bcde_oci_daterr : 1; + uint64_t bcde_ce : 1; + uint64_t bcde_ue_err : 1; + uint64_t bcde_sue_err : 1; + uint64_t bcde_rddatato_err : 1; + uint64_t bcde_pb_adrerr : 1; + uint64_t bcde_pb_ack_dead : 1; + uint64_t bcde_setup_err : 1; + uint64_t bcue_oci_daterr : 1; + uint64_t bcue_pb_adrerr : 1; + uint64_t bcue_pb_ack_dead : 1; + uint64_t bcue_setup_err : 1; + uint64_t pb_operto : 1; + uint64_t pb_ackdead_fw_rd : 1; + uint64_t pb_badcresp : 1; + uint64_t pb_wradrerr_fw : 1; + uint64_t pb_parity_err : 1; + uint64_t pb_unexpdata : 1; + uint64_t pb_unexpcresp : 1; + uint64_t reserved1 : 1; + uint64_t oci_wrpar_err : 1; + uint64_t oci_slave_init : 1; + uint64_t pb_ce_fw : 1; + uint64_t pb_ue_fw : 1; + uint64_t pb_sue_fw : 1; + uint64_t pb_rddatato_fw : 1; + uint64_t pb_rdadrerr_fw : 1; + uint64_t oci_apar_err : 1; #endif // _BIG_ENDIAN } fields; -} pba_bcde_pbadr_t; +} pba_fir_and_t; -typedef union pba_bcde_ocibar { +typedef union pba_fir_or { uint64_t value; struct { @@ -1739,18 +1061,108 @@ typedef union pba_bcde_ocibar { } words; struct { #ifdef _BIG_ENDIAN - uint64_t addr : 25; - uint64_t _reserved0 : 39; + uint64_t oci_apar_err : 1; + uint64_t pb_rdadrerr_fw : 1; + uint64_t pb_rddatato_fw : 1; + uint64_t pb_sue_fw : 1; + uint64_t pb_ue_fw : 1; + uint64_t pb_ce_fw : 1; + uint64_t oci_slave_init : 1; + uint64_t oci_wrpar_err : 1; + uint64_t reserved1 : 1; + uint64_t pb_unexpcresp : 1; + uint64_t pb_unexpdata : 1; + uint64_t pb_parity_err : 1; + uint64_t pb_wradrerr_fw : 1; + uint64_t pb_badcresp : 1; + uint64_t pb_ackdead_fw_rd : 1; + uint64_t pb_operto : 1; + uint64_t bcue_setup_err : 1; + uint64_t bcue_pb_ack_dead : 1; + uint64_t bcue_pb_adrerr : 1; + uint64_t bcue_oci_daterr : 1; + uint64_t bcde_setup_err : 1; + uint64_t bcde_pb_ack_dead : 1; + uint64_t bcde_pb_adrerr : 1; + uint64_t bcde_rddatato_err : 1; + uint64_t bcde_sue_err : 1; + uint64_t bcde_ue_err : 1; + uint64_t bcde_ce : 1; + uint64_t bcde_oci_daterr : 1; + uint64_t internal_err : 1; + uint64_t illegal_cache_op : 1; + uint64_t oci_bad_reg_addr : 1; + uint64_t axpush_wrerr : 1; + uint64_t axrcv_dlo_err : 1; + uint64_t axrcv_dlo_to : 1; + uint64_t axrcv_rsvdata_to : 1; + uint64_t axflow_err : 1; + uint64_t axsnd_dhi_rtyto : 1; + uint64_t axsnd_dlo_rtyto : 1; + uint64_t axsnd_rsvto : 1; + uint64_t axsnd_rsverr : 1; + uint64_t pb_ackdead_fw_wr : 1; + uint64_t reserved2 : 1; + uint64_t reserved3 : 1; + uint64_t reserved4 : 1; + uint64_t fir_parity_err2 : 1; + uint64_t fir_parity_err : 1; + uint64_t reserved5 : 18; #else - uint64_t _reserved0 : 39; - uint64_t addr : 25; + uint64_t reserved5 : 18; + uint64_t fir_parity_err : 1; + uint64_t fir_parity_err2 : 1; + uint64_t reserved4 : 1; + uint64_t reserved3 : 1; + uint64_t reserved2 : 1; + uint64_t pb_ackdead_fw_wr : 1; + uint64_t axsnd_rsverr : 1; + uint64_t axsnd_rsvto : 1; + uint64_t axsnd_dlo_rtyto : 1; + uint64_t axsnd_dhi_rtyto : 1; + uint64_t axflow_err : 1; + uint64_t axrcv_rsvdata_to : 1; + uint64_t axrcv_dlo_to : 1; + uint64_t axrcv_dlo_err : 1; + uint64_t axpush_wrerr : 1; + uint64_t oci_bad_reg_addr : 1; + uint64_t illegal_cache_op : 1; + uint64_t internal_err : 1; + uint64_t bcde_oci_daterr : 1; + uint64_t bcde_ce : 1; + uint64_t bcde_ue_err : 1; + uint64_t bcde_sue_err : 1; + uint64_t bcde_rddatato_err : 1; + uint64_t bcde_pb_adrerr : 1; + uint64_t bcde_pb_ack_dead : 1; + uint64_t bcde_setup_err : 1; + uint64_t bcue_oci_daterr : 1; + uint64_t bcue_pb_adrerr : 1; + uint64_t bcue_pb_ack_dead : 1; + uint64_t bcue_setup_err : 1; + uint64_t pb_operto : 1; + uint64_t pb_ackdead_fw_rd : 1; + uint64_t pb_badcresp : 1; + uint64_t pb_wradrerr_fw : 1; + uint64_t pb_parity_err : 1; + uint64_t pb_unexpdata : 1; + uint64_t pb_unexpcresp : 1; + uint64_t reserved1 : 1; + uint64_t oci_wrpar_err : 1; + uint64_t oci_slave_init : 1; + uint64_t pb_ce_fw : 1; + uint64_t pb_ue_fw : 1; + uint64_t pb_sue_fw : 1; + uint64_t pb_rddatato_fw : 1; + uint64_t pb_rdadrerr_fw : 1; + uint64_t oci_apar_err : 1; #endif // _BIG_ENDIAN } fields; -} pba_bcde_ocibar_t; +} pba_fir_or_t; -typedef union pba_bcue_ctl { +typedef union pba_firmask { uint64_t value; struct { @@ -1764,24 +1176,104 @@ typedef union pba_bcue_ctl { } words; struct { #ifdef _BIG_ENDIAN - uint64_t stop : 1; - uint64_t start : 1; - uint64_t _reserved0 : 62; -#else - uint64_t _reserved0 : 62; - uint64_t start : 1; - uint64_t stop : 1; + uint64_t oci_apar_err_mask : 1; + uint64_t pb_rdadrerr_fw_mask : 1; + uint64_t pb_rddatato_fw_mask : 1; + uint64_t pb_sue_fw_mask : 1; + uint64_t pb_ue_fw_mask : 1; + uint64_t pb_ce_fw_mask : 1; + uint64_t oci_slave_init_mask : 1; + uint64_t oci_wrpar_err_mask : 1; + uint64_t reserved1 : 1; + uint64_t pb_unexpcresp_mask : 1; + uint64_t pb_unexpdata_mask : 1; + uint64_t pb_parity_err_mask : 1; + uint64_t pb_wradrerr_fw_mask : 1; + uint64_t pb_badcresp_mask : 1; + uint64_t pb_ackdead_fw_rd_mask : 1; + uint64_t pb_operto_mask : 1; + uint64_t bcue_setup_err_mask : 1; + uint64_t bcue_pb_ack_dead_mask : 1; + uint64_t bcue_pb_adrerr_mask : 1; + uint64_t bcue_oci_daterr_mask : 1; + uint64_t bcde_setup_err_mask : 1; + uint64_t bcde_pb_ack_dead_mask : 1; + uint64_t bcde_pb_adrerr_mask : 1; + uint64_t bcde_rddatato_err_mask : 1; + uint64_t bcde_sue_err_mask : 1; + uint64_t bcde_ue_err_mask : 1; + uint64_t bcde_ce_mask : 1; + uint64_t bcde_oci_daterr_mask : 1; + uint64_t internal_err_mask : 1; + uint64_t illegal_cache_op_mask : 1; + uint64_t oci_bad_reg_addr_mask : 1; + uint64_t axpush_wrerr_mask : 1; + uint64_t axrcv_dlo_err_mask : 1; + uint64_t axrcv_dlo_to_mask : 1; + uint64_t axrcv_rsvdata_to_mask : 1; + uint64_t axflow_err_mask : 1; + uint64_t axsnd_dhi_rtyto_mask : 1; + uint64_t axsnd_dlo_rtyto_mask : 1; + uint64_t axsnd_rsvto_mask : 1; + uint64_t axsnd_rsverr_mask : 1; + uint64_t pb_ackdead_fw_wr_mask : 1; + uint64_t reserved2 : 3; + uint64_t fir_parity_err2_mask : 1; + uint64_t fir_parity_err_mask : 1; + uint64_t reserved3 : 18; +#else + uint64_t reserved3 : 18; + uint64_t fir_parity_err_mask : 1; + uint64_t fir_parity_err2_mask : 1; + uint64_t reserved2 : 3; + uint64_t pb_ackdead_fw_wr_mask : 1; + uint64_t axsnd_rsverr_mask : 1; + uint64_t axsnd_rsvto_mask : 1; + uint64_t axsnd_dlo_rtyto_mask : 1; + uint64_t axsnd_dhi_rtyto_mask : 1; + uint64_t axflow_err_mask : 1; + uint64_t axrcv_rsvdata_to_mask : 1; + uint64_t axrcv_dlo_to_mask : 1; + uint64_t axrcv_dlo_err_mask : 1; + uint64_t axpush_wrerr_mask : 1; + uint64_t oci_bad_reg_addr_mask : 1; + uint64_t illegal_cache_op_mask : 1; + uint64_t internal_err_mask : 1; + uint64_t bcde_oci_daterr_mask : 1; + uint64_t bcde_ce_mask : 1; + uint64_t bcde_ue_err_mask : 1; + uint64_t bcde_sue_err_mask : 1; + uint64_t bcde_rddatato_err_mask : 1; + uint64_t bcde_pb_adrerr_mask : 1; + uint64_t bcde_pb_ack_dead_mask : 1; + uint64_t bcde_setup_err_mask : 1; + uint64_t bcue_oci_daterr_mask : 1; + uint64_t bcue_pb_adrerr_mask : 1; + uint64_t bcue_pb_ack_dead_mask : 1; + uint64_t bcue_setup_err_mask : 1; + uint64_t pb_operto_mask : 1; + uint64_t pb_ackdead_fw_rd_mask : 1; + uint64_t pb_badcresp_mask : 1; + uint64_t pb_wradrerr_fw_mask : 1; + uint64_t pb_parity_err_mask : 1; + uint64_t pb_unexpdata_mask : 1; + uint64_t pb_unexpcresp_mask : 1; + uint64_t reserved1 : 1; + uint64_t oci_wrpar_err_mask : 1; + uint64_t oci_slave_init_mask : 1; + uint64_t pb_ce_fw_mask : 1; + uint64_t pb_ue_fw_mask : 1; + uint64_t pb_sue_fw_mask : 1; + uint64_t pb_rddatato_fw_mask : 1; + uint64_t pb_rdadrerr_fw_mask : 1; + uint64_t oci_apar_err_mask : 1; #endif // _BIG_ENDIAN } fields; -} pba_bcue_ctl_t; +} pba_firmask_t; -#endif // __ASSEMBLER__ -#define PBA_BCUE_CTL_STOP SIXTYFOUR_BIT_CONSTANT(0x8000000000000000) -#define PBA_BCUE_CTL_START SIXTYFOUR_BIT_CONSTANT(0x4000000000000000) -#ifndef __ASSEMBLER__ -typedef union pba_bcue_set { +typedef union pba_firmask_and { uint64_t value; struct { @@ -1795,20 +1287,104 @@ typedef union pba_bcue_set { } words; struct { #ifdef _BIG_ENDIAN - uint64_t _reserved0 : 2; - uint64_t copy_length : 6; - uint64_t _reserved1 : 56; -#else - uint64_t _reserved1 : 56; - uint64_t copy_length : 6; - uint64_t _reserved0 : 2; + uint64_t oci_apar_err_mask : 1; + uint64_t pb_rdadrerr_fw_mask : 1; + uint64_t pb_rddatato_fw_mask : 1; + uint64_t pb_sue_fw_mask : 1; + uint64_t pb_ue_fw_mask : 1; + uint64_t pb_ce_fw_mask : 1; + uint64_t oci_slave_init_mask : 1; + uint64_t oci_wrpar_err_mask : 1; + uint64_t reserved1 : 1; + uint64_t pb_unexpcresp_mask : 1; + uint64_t pb_unexpdata_mask : 1; + uint64_t pb_parity_err_mask : 1; + uint64_t pb_wradrerr_fw_mask : 1; + uint64_t pb_badcresp_mask : 1; + uint64_t pb_ackdead_fw_rd_mask : 1; + uint64_t pb_operto_mask : 1; + uint64_t bcue_setup_err_mask : 1; + uint64_t bcue_pb_ack_dead_mask : 1; + uint64_t bcue_pb_adrerr_mask : 1; + uint64_t bcue_oci_daterr_mask : 1; + uint64_t bcde_setup_err_mask : 1; + uint64_t bcde_pb_ack_dead_mask : 1; + uint64_t bcde_pb_adrerr_mask : 1; + uint64_t bcde_rddatato_err_mask : 1; + uint64_t bcde_sue_err_mask : 1; + uint64_t bcde_ue_err_mask : 1; + uint64_t bcde_ce_mask : 1; + uint64_t bcde_oci_daterr_mask : 1; + uint64_t internal_err_mask : 1; + uint64_t illegal_cache_op_mask : 1; + uint64_t oci_bad_reg_addr_mask : 1; + uint64_t axpush_wrerr_mask : 1; + uint64_t axrcv_dlo_err_mask : 1; + uint64_t axrcv_dlo_to_mask : 1; + uint64_t axrcv_rsvdata_to_mask : 1; + uint64_t axflow_err_mask : 1; + uint64_t axsnd_dhi_rtyto_mask : 1; + uint64_t axsnd_dlo_rtyto_mask : 1; + uint64_t axsnd_rsvto_mask : 1; + uint64_t axsnd_rsverr_mask : 1; + uint64_t pb_ackdead_fw_wr_mask : 1; + uint64_t reserved2 : 3; + uint64_t fir_parity_err2_mask : 1; + uint64_t fir_parity_err_mask : 1; + uint64_t reserved3 : 18; +#else + uint64_t reserved3 : 18; + uint64_t fir_parity_err_mask : 1; + uint64_t fir_parity_err2_mask : 1; + uint64_t reserved2 : 3; + uint64_t pb_ackdead_fw_wr_mask : 1; + uint64_t axsnd_rsverr_mask : 1; + uint64_t axsnd_rsvto_mask : 1; + uint64_t axsnd_dlo_rtyto_mask : 1; + uint64_t axsnd_dhi_rtyto_mask : 1; + uint64_t axflow_err_mask : 1; + uint64_t axrcv_rsvdata_to_mask : 1; + uint64_t axrcv_dlo_to_mask : 1; + uint64_t axrcv_dlo_err_mask : 1; + uint64_t axpush_wrerr_mask : 1; + uint64_t oci_bad_reg_addr_mask : 1; + uint64_t illegal_cache_op_mask : 1; + uint64_t internal_err_mask : 1; + uint64_t bcde_oci_daterr_mask : 1; + uint64_t bcde_ce_mask : 1; + uint64_t bcde_ue_err_mask : 1; + uint64_t bcde_sue_err_mask : 1; + uint64_t bcde_rddatato_err_mask : 1; + uint64_t bcde_pb_adrerr_mask : 1; + uint64_t bcde_pb_ack_dead_mask : 1; + uint64_t bcde_setup_err_mask : 1; + uint64_t bcue_oci_daterr_mask : 1; + uint64_t bcue_pb_adrerr_mask : 1; + uint64_t bcue_pb_ack_dead_mask : 1; + uint64_t bcue_setup_err_mask : 1; + uint64_t pb_operto_mask : 1; + uint64_t pb_ackdead_fw_rd_mask : 1; + uint64_t pb_badcresp_mask : 1; + uint64_t pb_wradrerr_fw_mask : 1; + uint64_t pb_parity_err_mask : 1; + uint64_t pb_unexpdata_mask : 1; + uint64_t pb_unexpcresp_mask : 1; + uint64_t reserved1 : 1; + uint64_t oci_wrpar_err_mask : 1; + uint64_t oci_slave_init_mask : 1; + uint64_t pb_ce_fw_mask : 1; + uint64_t pb_ue_fw_mask : 1; + uint64_t pb_sue_fw_mask : 1; + uint64_t pb_rddatato_fw_mask : 1; + uint64_t pb_rdadrerr_fw_mask : 1; + uint64_t oci_apar_err_mask : 1; #endif // _BIG_ENDIAN } fields; -} pba_bcue_set_t; +} pba_firmask_and_t; -typedef union pba_bcue_stat { +typedef union pba_firmask_or { uint64_t value; struct { @@ -1822,34 +1398,104 @@ typedef union pba_bcue_stat { } words; struct { #ifdef _BIG_ENDIAN - uint64_t running : 1; - uint64_t waiting : 1; - uint64_t wrcmp : 6; - uint64_t _reserved0 : 6; - uint64_t rdcmp : 6; - uint64_t debug : 9; - uint64_t stopped : 1; - uint64_t error : 1; - uint64_t done : 1; - uint64_t _reserved1 : 32; -#else - uint64_t _reserved1 : 32; - uint64_t done : 1; - uint64_t error : 1; - uint64_t stopped : 1; - uint64_t debug : 9; - uint64_t rdcmp : 6; - uint64_t _reserved0 : 6; - uint64_t wrcmp : 6; - uint64_t waiting : 1; - uint64_t running : 1; + uint64_t oci_apar_err_mask : 1; + uint64_t pb_rdadrerr_fw_mask : 1; + uint64_t pb_rddatato_fw_mask : 1; + uint64_t pb_sue_fw_mask : 1; + uint64_t pb_ue_fw_mask : 1; + uint64_t pb_ce_fw_mask : 1; + uint64_t oci_slave_init_mask : 1; + uint64_t oci_wrpar_err_mask : 1; + uint64_t reserved1 : 1; + uint64_t pb_unexpcresp_mask : 1; + uint64_t pb_unexpdata_mask : 1; + uint64_t pb_parity_err_mask : 1; + uint64_t pb_wradrerr_fw_mask : 1; + uint64_t pb_badcresp_mask : 1; + uint64_t pb_ackdead_fw_rd_mask : 1; + uint64_t pb_operto_mask : 1; + uint64_t bcue_setup_err_mask : 1; + uint64_t bcue_pb_ack_dead_mask : 1; + uint64_t bcue_pb_adrerr_mask : 1; + uint64_t bcue_oci_daterr_mask : 1; + uint64_t bcde_setup_err_mask : 1; + uint64_t bcde_pb_ack_dead_mask : 1; + uint64_t bcde_pb_adrerr_mask : 1; + uint64_t bcde_rddatato_err_mask : 1; + uint64_t bcde_sue_err_mask : 1; + uint64_t bcde_ue_err_mask : 1; + uint64_t bcde_ce_mask : 1; + uint64_t bcde_oci_daterr_mask : 1; + uint64_t internal_err_mask : 1; + uint64_t illegal_cache_op_mask : 1; + uint64_t oci_bad_reg_addr_mask : 1; + uint64_t axpush_wrerr_mask : 1; + uint64_t axrcv_dlo_err_mask : 1; + uint64_t axrcv_dlo_to_mask : 1; + uint64_t axrcv_rsvdata_to_mask : 1; + uint64_t axflow_err_mask : 1; + uint64_t axsnd_dhi_rtyto_mask : 1; + uint64_t axsnd_dlo_rtyto_mask : 1; + uint64_t axsnd_rsvto_mask : 1; + uint64_t axsnd_rsverr_mask : 1; + uint64_t pb_ackdead_fw_wr_mask : 1; + uint64_t reserved2 : 3; + uint64_t fir_parity_err2_mask : 1; + uint64_t fir_parity_err_mask : 1; + uint64_t reserved3 : 18; +#else + uint64_t reserved3 : 18; + uint64_t fir_parity_err_mask : 1; + uint64_t fir_parity_err2_mask : 1; + uint64_t reserved2 : 3; + uint64_t pb_ackdead_fw_wr_mask : 1; + uint64_t axsnd_rsverr_mask : 1; + uint64_t axsnd_rsvto_mask : 1; + uint64_t axsnd_dlo_rtyto_mask : 1; + uint64_t axsnd_dhi_rtyto_mask : 1; + uint64_t axflow_err_mask : 1; + uint64_t axrcv_rsvdata_to_mask : 1; + uint64_t axrcv_dlo_to_mask : 1; + uint64_t axrcv_dlo_err_mask : 1; + uint64_t axpush_wrerr_mask : 1; + uint64_t oci_bad_reg_addr_mask : 1; + uint64_t illegal_cache_op_mask : 1; + uint64_t internal_err_mask : 1; + uint64_t bcde_oci_daterr_mask : 1; + uint64_t bcde_ce_mask : 1; + uint64_t bcde_ue_err_mask : 1; + uint64_t bcde_sue_err_mask : 1; + uint64_t bcde_rddatato_err_mask : 1; + uint64_t bcde_pb_adrerr_mask : 1; + uint64_t bcde_pb_ack_dead_mask : 1; + uint64_t bcde_setup_err_mask : 1; + uint64_t bcue_oci_daterr_mask : 1; + uint64_t bcue_pb_adrerr_mask : 1; + uint64_t bcue_pb_ack_dead_mask : 1; + uint64_t bcue_setup_err_mask : 1; + uint64_t pb_operto_mask : 1; + uint64_t pb_ackdead_fw_rd_mask : 1; + uint64_t pb_badcresp_mask : 1; + uint64_t pb_wradrerr_fw_mask : 1; + uint64_t pb_parity_err_mask : 1; + uint64_t pb_unexpdata_mask : 1; + uint64_t pb_unexpcresp_mask : 1; + uint64_t reserved1 : 1; + uint64_t oci_wrpar_err_mask : 1; + uint64_t oci_slave_init_mask : 1; + uint64_t pb_ce_fw_mask : 1; + uint64_t pb_ue_fw_mask : 1; + uint64_t pb_sue_fw_mask : 1; + uint64_t pb_rddatato_fw_mask : 1; + uint64_t pb_rdadrerr_fw_mask : 1; + uint64_t oci_apar_err_mask : 1; #endif // _BIG_ENDIAN } fields; -} pba_bcue_stat_t; +} pba_firmask_or_t; -typedef union pba_bcue_pbadr { +typedef union pba_firact0 { uint64_t value; struct { @@ -1863,24 +1509,18 @@ typedef union pba_bcue_pbadr { } words; struct { #ifdef _BIG_ENDIAN - uint64_t _reserved0 : 2; - uint64_t pb_offset : 23; - uint64_t _reserved1 : 2; - uint64_t extaddr : 14; - uint64_t _reserved2 : 23; + uint64_t fir_action0 : 46; + uint64_t reserved1 : 18; #else - uint64_t _reserved2 : 23; - uint64_t extaddr : 14; - uint64_t _reserved1 : 2; - uint64_t pb_offset : 23; - uint64_t _reserved0 : 2; + uint64_t reserved1 : 18; + uint64_t fir_action0 : 46; #endif // _BIG_ENDIAN } fields; -} pba_bcue_pbadr_t; +} pba_firact0_t; -typedef union pba_bcue_ocibar { +typedef union pba_firact1 { uint64_t value; struct { @@ -1894,18 +1534,18 @@ typedef union pba_bcue_ocibar { } words; struct { #ifdef _BIG_ENDIAN - uint64_t addr : 25; - uint64_t _reserved0 : 39; + uint64_t fir_action1 : 46; + uint64_t reserved1 : 18; #else - uint64_t _reserved0 : 39; - uint64_t addr : 25; + uint64_t reserved1 : 18; + uint64_t fir_action1 : 46; #endif // _BIG_ENDIAN } fields; -} pba_bcue_ocibar_t; +} pba_firact1_t; -typedef union pba_pbocrn { +typedef union pba_occact { uint64_t value; struct { @@ -1919,22 +1559,18 @@ typedef union pba_pbocrn { } words; struct { #ifdef _BIG_ENDIAN - uint64_t _reserved0 : 16; - uint64_t event : 16; - uint64_t _reserved1 : 12; - uint64_t accum : 20; + uint64_t occ_action_set : 44; + uint64_t reserved1 : 20; #else - uint64_t accum : 20; - uint64_t _reserved1 : 12; - uint64_t event : 16; - uint64_t _reserved0 : 16; + uint64_t reserved1 : 20; + uint64_t occ_action_set : 44; #endif // _BIG_ENDIAN } fields; -} pba_pbocrn_t; +} pba_occact_t; -typedef union pba_xsndtx { +typedef union pba_cfg { uint64_t value; struct { @@ -1948,32 +1584,74 @@ typedef union pba_xsndtx { } words; struct { #ifdef _BIG_ENDIAN - uint64_t snd_scope : 3; - uint64_t snd_qid : 1; - uint64_t snd_type : 1; - uint64_t snd_reservation : 1; - uint64_t spare6 : 2; - uint64_t snd_nodeid : 3; - uint64_t snd_chipid : 3; - uint64_t spare14 : 2; - uint64_t _reserved0 : 48; -#else - uint64_t _reserved0 : 48; - uint64_t spare14 : 2; - uint64_t snd_chipid : 3; - uint64_t snd_nodeid : 3; - uint64_t spare6 : 2; - uint64_t snd_reservation : 1; - uint64_t snd_type : 1; - uint64_t snd_qid : 1; - uint64_t snd_scope : 3; + uint64_t pbreq_slvfw_max_priority : 1; + uint64_t pbreq_exit_on_hang : 1; + uint64_t pbreq_bce_max_priority : 1; + uint64_t pbreq_exit_on_hang_pbax : 1; + uint64_t pbreq_data_hang_div : 5; + uint64_t pbreq_oper_hang_div : 5; + uint64_t pbreq_drop_priority_mask : 6; + uint64_t pbreq_exit_hang_div : 4; + uint64_t chsw_hang_on_adrerror : 1; + uint64_t chsw_dis_ociabuspar_check : 1; + uint64_t chsw_dis_ocibepar_check : 1; + uint64_t chsw_hang_on_derror : 1; + uint64_t reserved1 : 1; + uint64_t chsw_dis_write_match_rearb : 1; + uint64_t chsw_dis_ocidatapar_gen : 1; + uint64_t chsw_dis_ocidatapar_check : 1; + uint64_t chsw_dis_oper_hang : 1; + uint64_t chsw_dis_data_hang : 1; + uint64_t chsw_dis_ecc_check : 1; + uint64_t chsw_dis_retry_backoff : 1; + uint64_t chsw_exit_on_invalid_cresp : 1; + uint64_t reserved2 : 1; + uint64_t chsw_dis_group_scope : 1; + uint64_t chsw_dis_rtag_parity_chk : 1; + uint64_t chsw_dis_pb_parity_chk : 1; + uint64_t chsw_skip_group_scope : 1; + uint64_t chsw_use_pr_dma_inj : 1; + uint64_t chsw_use_cl_dma_inj : 1; + uint64_t reserved3 : 4; + uint64_t reserved4 : 16; +#else + uint64_t reserved4 : 16; + uint64_t reserved3 : 4; + uint64_t chsw_use_cl_dma_inj : 1; + uint64_t chsw_use_pr_dma_inj : 1; + uint64_t chsw_skip_group_scope : 1; + uint64_t chsw_dis_pb_parity_chk : 1; + uint64_t chsw_dis_rtag_parity_chk : 1; + uint64_t chsw_dis_group_scope : 1; + uint64_t reserved2 : 1; + uint64_t chsw_exit_on_invalid_cresp : 1; + uint64_t chsw_dis_retry_backoff : 1; + uint64_t chsw_dis_ecc_check : 1; + uint64_t chsw_dis_data_hang : 1; + uint64_t chsw_dis_oper_hang : 1; + uint64_t chsw_dis_ocidatapar_check : 1; + uint64_t chsw_dis_ocidatapar_gen : 1; + uint64_t chsw_dis_write_match_rearb : 1; + uint64_t reserved1 : 1; + uint64_t chsw_hang_on_derror : 1; + uint64_t chsw_dis_ocibepar_check : 1; + uint64_t chsw_dis_ociabuspar_check : 1; + uint64_t chsw_hang_on_adrerror : 1; + uint64_t pbreq_exit_hang_div : 4; + uint64_t pbreq_drop_priority_mask : 6; + uint64_t pbreq_oper_hang_div : 5; + uint64_t pbreq_data_hang_div : 5; + uint64_t pbreq_exit_on_hang_pbax : 1; + uint64_t pbreq_bce_max_priority : 1; + uint64_t pbreq_exit_on_hang : 1; + uint64_t pbreq_slvfw_max_priority : 1; #endif // _BIG_ENDIAN } fields; -} pba_xsndtx_t; +} pba_cfg_t; -typedef union pba_xcfg { +typedef union pba_errrpt0 { uint64_t value; struct { @@ -1987,42 +1665,30 @@ typedef union pba_xcfg { } words; struct { #ifdef _BIG_ENDIAN - uint64_t pbax_en : 1; - uint64_t reservation_en : 1; - uint64_t snd_reset : 1; - uint64_t rcv_reset : 1; - uint64_t rcv_nodeid : 3; - uint64_t rcv_chipid : 3; - uint64_t spare10 : 2; - uint64_t rcv_brdcst_group : 8; - uint64_t rcv_datato_div : 5; - uint64_t spare25 : 2; - uint64_t snd_retry_count_overcom : 1; - uint64_t snd_retry_thresh : 8; - uint64_t snd_rsvto_div : 5; - uint64_t _reserved0 : 23; + uint64_t cerr_pb_rddatato_fw : 6; + uint64_t cerr_pb_rdadrerr_fw : 6; + uint64_t cerr_pb_wradrerr_fw : 4; + uint64_t cerr_pb_ackdead_fw_rd : 6; + uint64_t cerr_pb_ackdead_fw_wr : 2; + uint64_t cerr_pb_unexpcresp : 11; + uint64_t cerr_pb_unexpdata : 6; + uint64_t reserved1 : 23; #else - uint64_t _reserved0 : 23; - uint64_t snd_rsvto_div : 5; - uint64_t snd_retry_thresh : 8; - uint64_t snd_retry_count_overcom : 1; - uint64_t spare25 : 2; - uint64_t rcv_datato_div : 5; - uint64_t rcv_brdcst_group : 8; - uint64_t spare10 : 2; - uint64_t rcv_chipid : 3; - uint64_t rcv_nodeid : 3; - uint64_t rcv_reset : 1; - uint64_t snd_reset : 1; - uint64_t reservation_en : 1; - uint64_t pbax_en : 1; + uint64_t reserved1 : 23; + uint64_t cerr_pb_unexpdata : 6; + uint64_t cerr_pb_unexpcresp : 11; + uint64_t cerr_pb_ackdead_fw_wr : 2; + uint64_t cerr_pb_ackdead_fw_rd : 6; + uint64_t cerr_pb_wradrerr_fw : 4; + uint64_t cerr_pb_rdadrerr_fw : 6; + uint64_t cerr_pb_rddatato_fw : 6; #endif // _BIG_ENDIAN } fields; -} pba_xcfg_t; +} pba_errrpt0_t; -typedef union pba_xsndstat { +typedef union pba_errrpt1 { uint64_t value; struct { @@ -2036,24 +1702,28 @@ typedef union pba_xsndstat { } words; struct { #ifdef _BIG_ENDIAN - uint64_t snd_in_progress : 1; - uint64_t snd_error : 1; - uint64_t snd_status : 6; - uint64_t snd_retry_count : 8; - uint64_t _reserved0 : 48; + uint64_t cerr_pb_badcresp : 12; + uint64_t cerr_pb_operto : 12; + uint64_t reserved1 : 6; + uint64_t cerr_bcde_setup_err : 2; + uint64_t cerr_bcue_setup_err : 2; + uint64_t cerr_bcue_oci_dataerr : 2; + uint64_t reserved2 : 28; #else - uint64_t _reserved0 : 48; - uint64_t snd_retry_count : 8; - uint64_t snd_status : 6; - uint64_t snd_error : 1; - uint64_t snd_in_progress : 1; + uint64_t reserved2 : 28; + uint64_t cerr_bcue_oci_dataerr : 2; + uint64_t cerr_bcue_setup_err : 2; + uint64_t cerr_bcde_setup_err : 2; + uint64_t reserved1 : 6; + uint64_t cerr_pb_operto : 12; + uint64_t cerr_pb_badcresp : 12; #endif // _BIG_ENDIAN } fields; -} pba_xsndstat_t; +} pba_errrpt1_t; -typedef union pba_xsnddat { +typedef union pba_errrpt2 { uint64_t value; struct { @@ -2067,18 +1737,36 @@ typedef union pba_xsnddat { } words; struct { #ifdef _BIG_ENDIAN - uint64_t pbax_datahi : 32; - uint64_t pbax_datalo : 32; + uint64_t cerr_slv_internal_err : 8; + uint64_t cerr_bcde_internal_err : 4; + uint64_t cerr_bcue_internal_err : 4; + uint64_t cerr_bar_parity_err : 1; + uint64_t cerr_scomtb_err : 1; + uint64_t cerr_spare : 2; + uint64_t cerr_pbdout_parity_err : 1; + uint64_t cerr_pb_parity_err : 3; + uint64_t cerr_axflow_err : 5; + uint64_t cerr_axpush_wrerr : 2; + uint64_t reserved1 : 33; #else - uint64_t pbax_datalo : 32; - uint64_t pbax_datahi : 32; + uint64_t reserved1 : 33; + uint64_t cerr_axpush_wrerr : 2; + uint64_t cerr_axflow_err : 5; + uint64_t cerr_pb_parity_err : 3; + uint64_t cerr_pbdout_parity_err : 1; + uint64_t cerr_spare : 2; + uint64_t cerr_scomtb_err : 1; + uint64_t cerr_bar_parity_err : 1; + uint64_t cerr_bcue_internal_err : 4; + uint64_t cerr_bcde_internal_err : 4; + uint64_t cerr_slv_internal_err : 8; #endif // _BIG_ENDIAN } fields; -} pba_xsnddat_t; +} pba_errrpt2_t; -typedef union pba_xrcvstat { +typedef union pba_rbufvaln { uint64_t value; struct { @@ -2092,26 +1780,36 @@ typedef union pba_xrcvstat { } words; struct { #ifdef _BIG_ENDIAN - uint64_t rcv_in_progress : 1; - uint64_t rcv_error : 1; - uint64_t rcv_write_in_progress : 1; - uint64_t rcv_reservation_set : 1; - uint64_t rcv_capture : 14; - uint64_t _reserved0 : 46; + uint64_t rd_slvnum : 2; + uint64_t cur_rd_addr : 23; + uint64_t reserved1 : 3; + uint64_t prefetch : 1; + uint64_t reserved2 : 2; + uint64_t abort : 1; + uint64_t reserved3 : 1; + uint64_t buffer_status : 7; + uint64_t reserved4 : 1; + uint64_t masterid : 3; + uint64_t reserved5 : 20; #else - uint64_t _reserved0 : 46; - uint64_t rcv_capture : 14; - uint64_t rcv_reservation_set : 1; - uint64_t rcv_write_in_progress : 1; - uint64_t rcv_error : 1; - uint64_t rcv_in_progress : 1; + uint64_t reserved5 : 20; + uint64_t masterid : 3; + uint64_t reserved4 : 1; + uint64_t buffer_status : 7; + uint64_t reserved3 : 1; + uint64_t abort : 1; + uint64_t reserved2 : 2; + uint64_t prefetch : 1; + uint64_t reserved1 : 3; + uint64_t cur_rd_addr : 23; + uint64_t rd_slvnum : 2; #endif // _BIG_ENDIAN } fields; -} pba_xrcvstat_t; +} pba_rbufvaln_t; -typedef union pba_xshbrn { +typedef union pba_wbufvaln { uint64_t value; struct { @@ -2125,18 +1823,28 @@ typedef union pba_xshbrn { } words; struct { #ifdef _BIG_ENDIAN - uint64_t push_start : 29; - uint64_t _reserved0 : 35; + uint64_t wr_slvnum : 2; + uint64_t start_wr_addr : 30; + uint64_t reserved1 : 3; + uint64_t wr_buffer_status : 5; + uint64_t reserved2 : 1; + uint64_t wr_byte_count : 7; + uint64_t reserved3 : 16; #else - uint64_t _reserved0 : 35; - uint64_t push_start : 29; + uint64_t reserved3 : 16; + uint64_t wr_byte_count : 7; + uint64_t reserved2 : 1; + uint64_t wr_buffer_status : 5; + uint64_t reserved1 : 3; + uint64_t start_wr_addr : 30; + uint64_t wr_slvnum : 2; #endif // _BIG_ENDIAN } fields; -} pba_xshbrn_t; +} pba_wbufvaln_t; -typedef union pba_xshcsn { +typedef union pba_barn { uint64_t value; struct { @@ -2150,38 +1858,26 @@ typedef union pba_xshcsn { } words; struct { #ifdef _BIG_ENDIAN - uint64_t push_full : 1; - uint64_t push_empty : 1; - uint64_t spare1 : 2; - uint64_t push_intr_action : 2; - uint64_t push_length : 5; - uint64_t notimp1 : 2; - uint64_t push_write_ptr : 5; - uint64_t notimp2 : 3; - uint64_t push_read_ptr : 5; - uint64_t notimp3 : 5; - uint64_t push_enable : 1; - uint64_t _reserved0 : 32; -#else - uint64_t _reserved0 : 32; - uint64_t push_enable : 1; - uint64_t notimp3 : 5; - uint64_t push_read_ptr : 5; - uint64_t notimp2 : 3; - uint64_t push_write_ptr : 5; - uint64_t notimp1 : 2; - uint64_t push_length : 5; - uint64_t push_intr_action : 2; - uint64_t spare1 : 2; - uint64_t push_empty : 1; - uint64_t push_full : 1; + uint64_t cmd_scope : 3; + uint64_t reserved1 : 1; + uint64_t reserved2 : 4; + uint64_t addr : 36; + uint64_t reserved3 : 4; + uint64_t vtarget : 16; +#else + uint64_t vtarget : 16; + uint64_t reserved3 : 4; + uint64_t addr : 36; + uint64_t reserved2 : 4; + uint64_t reserved1 : 1; + uint64_t cmd_scope : 3; #endif // _BIG_ENDIAN } fields; -} pba_xshcsn_t; +} pba_barn_t; -typedef union pba_xshincn { +typedef union pba_barmskn { uint64_t value; struct { @@ -2195,12 +1891,16 @@ typedef union pba_xshincn { } words; struct { #ifdef _BIG_ENDIAN - uint64_t reserved : 64; + uint64_t reserved1 : 23; + uint64_t mask : 21; + uint64_t reserved2 : 20; #else - uint64_t reserved : 64; + uint64_t reserved2 : 20; + uint64_t mask : 21; + uint64_t reserved1 : 23; #endif // _BIG_ENDIAN } fields; -} pba_xshincn_t; +} pba_barmskn_t; #endif // __ASSEMBLER__ diff --git a/src/include/registers/pba_register_addresses.h b/src/include/registers/pba_register_addresses.h index 7ebf9f1..064062e 100644 --- a/src/include/registers/pba_register_addresses.h +++ b/src/include/registers/pba_register_addresses.h @@ -1,34 +1,10 @@ -/* IBM_PROLOG_BEGIN_TAG */ -/* This is an automatically generated prolog. */ -/* */ -/* $Source: src/include/registers/pba_register_addresses.h $ */ -/* */ -/* OpenPOWER OnChipController Project */ -/* */ -/* Contributors Listed Below - COPYRIGHT 2015 */ -/* [+] 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 */ #ifndef __PBA_REGISTER_ADDRESSES_H__ #define __PBA_REGISTER_ADDRESSES_H__ -// $Id: pba_register_addresses.h,v 1.1.1.1 2013/12/11 21:03:23 bcbrock Exp $ -// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ssx/pgp/registers/pba_register_addresses.h,v $ +// $Id$ +// $Source$ //----------------------------------------------------------------------------- -// *! (C) Copyright International Business Machines Corp. 2013 +// *! (C) Copyright International Business Machines Corp. 2015 // *! All Rights Reserved -- Property of IBM // *! *** IBM Confidential *** //----------------------------------------------------------------------------- @@ -39,80 +15,80 @@ // *** WARNING *** - This file is generated automatically, do not edit. -#define TRUSTEDPIB_BASE 0x02013f00 -#define PBA_BARN(n) (PBA_BAR0 + ((PBA_BAR1 - PBA_BAR0) * (n))) -#define PBA_BAR0 0x02013f00 -#define PBA_BAR1 0x02013f01 -#define PBA_BAR2 0x02013f02 -#define PBA_BAR3 0x02013f03 -#define PBA_BARMSKN(n) (PBA_BARMSK0 + ((PBA_BARMSK1 - PBA_BARMSK0) * (n))) -#define PBA_BARMSK0 0x02013f04 -#define PBA_BARMSK1 0x02013f05 -#define PBA_BARMSK2 0x02013f06 -#define PBA_BARMSK3 0x02013f07 -#define PIB_BASE 0x02010840 -#define PBA_FIR 0x02010840 -#define PBA_FIR_AND 0x02010841 -#define PBA_FIR_OR 0x02010842 -#define PBA_FIRMASK 0x02010843 -#define PBA_FIRMASK_AND 0x02010844 -#define PBA_FIRMASK_OR 0x02010845 -#define PBA_FIRACT0 0x02010846 -#define PBA_FIRACT1 0x02010847 -#define PBA_OCCACT 0x0201084a -#define PBA_CFG 0x0201084b -#define PBA_ERRPT0 0x0201084c -#define PBA_ERRPT1 0x0201084d -#define PBA_ERRPT2 0x0201084e -#define PBA_RBUFVALN(n) (PBA_RBUFVAL0 + ((PBA_RBUFVAL1 - PBA_RBUFVAL0) * (n))) -#define PBA_RBUFVAL0 0x02010850 -#define PBA_RBUFVAL1 0x02010851 -#define PBA_RBUFVAL2 0x02010852 -#define PBA_RBUFVAL3 0x02010853 -#define PBA_RBUFVAL4 0x02010854 -#define PBA_RBUFVAL5 0x02010855 -#define PBA_WBUFVALN(n) (PBA_WBUFVAL0 + ((PBA_WBUFVAL1 - PBA_WBUFVAL0) * (n))) -#define PBA_WBUFVAL0 0x02010858 -#define PBA_WBUFVAL1 0x02010859 -#define OCI_BASE 0x40020000 -#define PBA_MODE 0x40020000 -#define PBA_SLVRST 0x40020008 +#define PBA_OCI_BASE 0xC0040000 +#define PBA_MODE 0xc0040000 +#define PBA_SLVRST 0xc0040008 #define PBA_SLVCTLN(n) (PBA_SLVCTL0 + ((PBA_SLVCTL1 - PBA_SLVCTL0) * (n))) -#define PBA_SLVCTL0 0x40020020 -#define PBA_SLVCTL1 0x40020028 -#define PBA_SLVCTL2 0x40020030 -#define PBA_SLVCTL3 0x40020038 -#define PBA_BCDE_CTL 0x40020080 -#define PBA_BCDE_SET 0x40020088 -#define PBA_BCDE_STAT 0x40020090 -#define PBA_BCDE_PBADR 0x40020098 -#define PBA_BCDE_OCIBAR 0x400200a0 -#define PBA_BCUE_CTL 0x400200a8 -#define PBA_BCUE_SET 0x400200b0 -#define PBA_BCUE_STAT 0x400200b8 -#define PBA_BCUE_PBADR 0x400200c0 -#define PBA_BCUE_OCIBAR 0x400200c8 +#define PBA_SLVCTL0 0xc0040020 +#define PBA_SLVCTL1 0xc0040028 +#define PBA_SLVCTL2 0xc0040030 +#define PBA_SLVCTL3 0xc0040038 +#define PBA_BCDE_CTL 0xc0040080 +#define PBA_BCDE_SET 0xc0040088 +#define PBA_BCDE_STAT 0xc0040090 +#define PBA_BCDE_PBADR 0xc0040098 +#define PBA_BCDE_OCIBAR 0xc00400a0 +#define PBA_BCUE_CTL 0xc00400a8 +#define PBA_BCUE_SET 0xc00400b0 +#define PBA_BCUE_STAT 0xc00400b8 +#define PBA_BCUE_PBADR 0xc00400c0 +#define PBA_BCUE_OCIBAR 0xc00400c8 #define PBA_PBOCRN(n) (PBA_PBOCR0 + ((PBA_PBOCR1 - PBA_PBOCR0) * (n))) -#define PBA_PBOCR0 0x400200d0 -#define PBA_PBOCR1 0x400200d8 -#define PBA_PBOCR2 0x400200e0 -#define PBA_PBOCR3 0x400200e8 -#define PBA_PBOCR4 0x400200f0 -#define PBA_PBOCR5 0x400200f8 -#define PBA_XSNDTX 0x40020100 -#define PBA_XCFG 0x40020108 -#define PBA_XSNDSTAT 0x40020110 -#define PBA_XSNDDAT 0x40020118 -#define PBA_XRCVSTAT 0x40020120 +#define PBA_PBOCR0 0xc00400d0 +#define PBA_PBOCR1 0xc00400d8 +#define PBA_PBOCR2 0xc00400e0 +#define PBA_PBOCR3 0xc00400e8 +#define PBA_PBOCR4 0xc00400f0 +#define PBA_PBOCR5 0xc00400f8 +#define PBA_XSNDTX 0xc0040100 +#define PBA_XCFG 0xc0040108 +#define PBA_XSNDSTAT 0xc0040110 +#define PBA_XSNDDAT 0xc0040118 +#define PBA_XRCVSTAT 0xc0040120 #define PBA_XSHBRN(n) (PBA_XSHBR0 + ((PBA_XSHBR1 - PBA_XSHBR0) * (n))) -#define PBA_XSHBR0 0x40020130 -#define PBA_XSHBR1 0x40020150 +#define PBA_XSHBR0 0xc0040130 +#define PBA_XSHBR1 0xc0040150 #define PBA_XSHCSN(n) (PBA_XSHCS0 + ((PBA_XSHCS1 - PBA_XSHCS0) * (n))) -#define PBA_XSHCS0 0x40020138 -#define PBA_XSHCS1 0x40020158 +#define PBA_XSHCS0 0xc0040138 +#define PBA_XSHCS1 0xc0040158 #define PBA_XSHINCN(n) (PBA_XSHINC0 + ((PBA_XSHINC1 - PBA_XSHINC0) * (n))) -#define PBA_XSHINC0 0x40020140 -#define PBA_XSHINC1 0x40020160 +#define PBA_XSHINC0 0xc0040140 +#define PBA_XSHINC1 0xc0040160 +#define PBA_PIB_BASE 0x68000 +#define PBA_FIR 0x00068000 +#define PBA_FIR_AND 0x00068001 +#define PBA_FIR_OR 0x00068002 +#define PBA_FIRMASK 0x00068003 +#define PBA_FIRMASK_AND 0x00068004 +#define PBA_FIRMASK_OR 0x00068005 +#define PBA_FIRACT0 0x00068006 +#define PBA_FIRACT1 0x00068007 +#define PBA_OCCACT 0x0006800a +#define PBA_CFG 0x0006800b +#define PBA_ERRRPT0 0x0006800c +#define PBA_ERRRPT1 0x0006800d +#define PBA_ERRRPT2 0x0006800e +#define PBA_RBUFVALN(n) (PBA_RBUFVAL0 + ((PBA_RBUFVAL1 - PBA_RBUFVAL0) * (n))) +#define PBA_RBUFVAL0 0x00068010 +#define PBA_RBUFVAL1 0x00068011 +#define PBA_RBUFVAL2 0x00068012 +#define PBA_RBUFVAL3 0x00068013 +#define PBA_RBUFVAL4 0x00068014 +#define PBA_RBUFVAL5 0x00068015 +#define PBA_WBUFVALN(n) (PBA_WBUFVAL0 + ((PBA_WBUFVAL1 - PBA_WBUFVAL0) * (n))) +#define PBA_WBUFVAL0 0x00068018 +#define PBA_WBUFVAL1 0x00068019 +#define PBA_TRUSTEDPIB_BASE 0x68020 +#define PBA_BARN(n) (PBA_BAR0 + ((PBA_BAR1 - PBA_BAR0) * (n))) +#define PBA_BAR0 0x00068020 +#define PBA_BAR1 0x00068021 +#define PBA_BAR2 0x00068022 +#define PBA_BAR3 0x00068023 +#define PBA_BARMSKN(n) (PBA_BARMSK0 + ((PBA_BARMSK1 - PBA_BARMSK0) * (n))) +#define PBA_BARMSK0 0x00068024 +#define PBA_BARMSK1 0x00068025 +#define PBA_BARMSK2 0x00068026 +#define PBA_BARMSK3 0x00068027 #endif // __PBA_REGISTER_ADDRESSES_H__ |