diff options
6 files changed, 8282 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_lib.C b/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_lib.C new file mode 100644 index 000000000..528bd67d0 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_lib.C @@ -0,0 +1,446 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: chips/p9/procedures/hwp/lib/p9_avsbus_lib.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* IBM_PROLOG_END_TAG */ +/// +/// @file p9_avsbus_lib.C +/// @brief Library functions for AVSBus +/// +// *HW Owner : Sudheendra K Srivathsa <sudheendraks@in.ibm.com> +// *FW Owner : Sangeetha T S <sangeet2@in.ibm.com> +// *Team : PM +// *Consumed by : HB +// *Level : 2 +/// +/// @todo (to be considered in L2/L3 development) AVSBus timing parameters +/// as attributes or not. They were hardcoded in P8. + +#include <p9_avsbus_lib.H> +#include <p9_avsbus_registers.H> +#include <p9_ocb_firmware_registers.h> + +//############################################################################## +// Function which generates a 3 bit CRC value for 29 bit data +//############################################################################## +uint32_t +avsCRCcalc(const uint32_t i_data) +{ + //Polynomial= x^3 + x^2 + 1 = 1*x^3 + 0*x^2 + 1*x^1 + 1*x^0 = divisor(1011) + + uint32_t l_crc_value = 0; + uint32_t l_polynomial = 0xb0000000; + uint32_t l_msb = 0x80000000; + + l_crc_value = i_data & p9avslib::AVS_CRC_DATA_MASK; + + while (l_crc_value & p9avslib::AVS_CRC_DATA_MASK) + { + if (l_crc_value & l_msb) + { + //if l_msb is 1'b1, divide by l_polynomial and shift l_polynomial + // to the right + l_crc_value = l_crc_value ^ l_polynomial; + l_polynomial = l_polynomial >> 1; + } + else + { + // if l_msb is zero, shift l_polynomial + l_polynomial = l_polynomial >> 1; + } + + l_msb = l_msb >> 1; + } + + return l_crc_value; +} +//############################################################################## + + +//############################################################################## +// Function which initializes the OCB O2S registers +//############################################################################## +fapi2::ReturnCode +avsInitExtVoltageControl(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& + i_target, + const p9avslib::avsBusNum i_avsBusNum, + const uint8_t i_o2sBridgeNum) +{ + + fapi2::buffer<uint64_t> l_data64; + // if using interrupt clear ongoing in OITR1 and OIEPR0 + + FAPI_TRY(putScom(i_target, OCB_OITR1, 0)); //edge + FAPI_TRY(putScom(i_target, OCB_OIEPR0, 0)); + + // O2SCTRLF + // [ 0: 5] o2s_frame_size = 32; -> 0x20 + // [ 6:11] o2s_out_count1 = 32; -> 0x20 + // [12:17] o2s_in_delay1 = 0; No concurrent input + // [18:23] o2s_in_l_count1 = X; No input on first frame + + //uint32_t O2SCTRLF_value = 0b10000010000011111100000000000000; + ocb_o2sctrlf0a_t O2SCTRLF_value; + + O2SCTRLF_value.fields.o2s_frame_size_an = p9avslib::O2S_FRAME_SIZE; + O2SCTRLF_value.fields.o2s_out_count1_an = p9avslib::O2S_FRAME_SIZE; + O2SCTRLF_value.fields.o2s_in_delay1_an = p9avslib::O2S_IN_DELAY1; + + l_data64.insertFromRight<0, 6>(O2SCTRLF_value.fields.o2s_frame_size_an); + l_data64.insertFromRight<6, 6>(O2SCTRLF_value.fields.o2s_out_count1_an); + l_data64.insertFromRight<12, 6>(O2SCTRLF_value.fields.o2s_in_delay1_an); + + FAPI_TRY(putScom(i_target, + p9avslib::OCB_O2SCTRLF[i_avsBusNum][i_o2sBridgeNum], l_data64)); + // Note to self: the buffer is a 32bit buffer. make sure it is left + // aligned for the SCOM + + // O2SCTRLS + // [ 0: 5] o2s_out_count2 = 0; + // [ 6:11] o2s_in_delay2 = 0; + // [12:17] o2s_in_l_count2 = 32; -> 0x20; + + // uint32_t O2SCTRLS_value = 0b00000000000010000000000000000000; + ocb_o2sctrls0a_t O2SCTRLS_value; + O2SCTRLS_value.fields.o2s_in_count2_an = p9avslib::O2S_FRAME_SIZE; + + //O2SCTRLS_value.value = 0b00000000000010000000000000000000; + + l_data64.flush<0>(); + l_data64.insertFromRight<12, 6>(O2SCTRLS_value.fields.o2s_in_count2_an); + + FAPI_TRY(putScom(i_target, + p9avslib::OCB_O2SCTRLS[i_avsBusNum][i_o2sBridgeNum], l_data64)); + + // O2SCTRL2 + // [ 0] o2s_bridge_enable + // [ 1] pmcocr1_reserved_1 + // [ 2] o2s_cpol = 0; Low idle clock + // [ 3] o2s_cpha = 0; First edge + // [ 4:13] o2s_clock_divider = 0xFA Yield 1MHz with 2GHz nest + // [14:16] pmcocr1_reserved_2 + // [ 17] o2s_nr_of_frames = 1; Two frames + // [18:20] o2s_port_enable (only port 0 (18) by default + + // Divider calculation (which can be overwritten) + // Nest Frequency: 2000MHz (0x7D0) + // AVSBus Frequency: 1MHz (0x1) (eg 1us per bit) + // + // Divider = Nest Frequency / (AVSBus Frequency * 8) - 1 + // + // @note: PPE can multiply by a recipricol. A precomputed + // 1 / (AVSBus frequency *8) held in an attribute allows a + // fully l_data64 driven computation without a divide operation. + + + // uint32_t O2SCTRL1_value = 0b10000000000100000100000000000000; + + // uint32_t nest_freq; + // FAPI_ATTR_GET(ATTR_PB_FREQ, &nest_freq); + + ocb_o2sctrl10a_t O2SCTRL1_value; + O2SCTRL1_value.fields.o2s_bridge_enable_an = 1; + O2SCTRL1_value.fields.o2s_clock_divider_an = 0x04;//@todo attr candidate + O2SCTRL1_value.fields.o2s_nr_of_frames_an = 1; + +// O2SCTRL2_value.value = 0b00000000000000000000000000000000; + + l_data64.flush<0>(); + l_data64.insertFromRight<0, 1>(O2SCTRL1_value.fields.o2s_bridge_enable_an); + l_data64.insertFromRight<4, 10>(O2SCTRL1_value.fields.o2s_clock_divider_an); + l_data64.insertFromRight<17, 1>(O2SCTRL1_value.fields.o2s_nr_of_frames_an); + + FAPI_TRY(putScom(i_target, + p9avslib::OCB_O2SCTRL1[i_avsBusNum][i_o2sBridgeNum], l_data64)); + + // O2SCTRL1 + // OCC O2S Control2 + // [ 0:16] o2s_inter_frame_delay = filled in with ATTR l_data64 + // Needs to be 10us or greater for SPIVID part operation + // Set to ~16us for conservatism using a 100ns hang pulse + // 16us = 16000ns -> 16000/100 = 160 = 0xA0; aligned to 0:16 -> 0x005 + ocb_o2sctrl20a_t O2SCTRL2_value; + O2SCTRL2_value.fields.o2s_inter_frame_delay_an = 0x0; + + l_data64.flush<0>(); + l_data64.insertFromRight<0, 17> + (O2SCTRL2_value.fields.o2s_inter_frame_delay_an); + + FAPI_TRY(putScom(i_target, + p9avslib::OCB_O2SCTRL2[i_avsBusNum][i_o2sBridgeNum], l_data64)); + +fapi_try_exit: + return fapi2::current_err; +} +//############################################################################## + + +//############################################################################## +// Function polls OCB status register O2SST for o2s_ongoing=0 +//############################################################################## +fapi2::ReturnCode +avsPollVoltageTransDone(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& + i_target, + const uint8_t i_avsBusNum, + const uint8_t i_o2sBridgeNum) +{ + fapi2::buffer<uint64_t> l_data64; + + uint8_t l_count = 0; + + while (l_count < p9avslib::MAX_POLL_COUNT_AVS) + { + FAPI_TRY(getScom(i_target, p9avslib::OCB_O2SST[i_avsBusNum] + [i_o2sBridgeNum], l_data64), "Error in polling ongoing bit"); + + l_data64 &= 0x8000000000000000ull; + + if (l_data64 == 0) + { + break; // Leave the polling loop as "ongoing" has deasserted + } + + l_count++; + // May put a delay (or sleep) in here to keep off of the OCI bus + } + + // Check for timeout condition + if (l_count >= p9avslib::MAX_POLL_COUNT_AVS) + { + + // @todo L3: Added Timeout FAPI2_SET_RC error point + // This will set current_err to a non success value that can be + // checked by the caller. + + } + +fapi_try_exit: + return fapi2::current_err; +} +//############################################################################## + +//############################################################################## +// Function which outputs a downstream command +//############################################################################## +fapi2::ReturnCode +avsDriveCommand(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + const uint8_t i_avsBusNum, + const uint8_t i_o2sBridgeNum, + const uint32_t i_RailSelect, + const uint32_t i_CmdType, + const uint32_t i_CmdGroup, + const uint32_t i_CmdDataType, + const uint32_t i_CmdData) +{ + + fapi2::buffer<uint64_t> l_data64; + fapi2::buffer<uint32_t> l_data64WithoutCRC; + + fapi2::ReturnCode l_rc; + + uint32_t l_StartCode = 0b01; + uint32_t l_Reserved = 0b000; + uint32_t l_crc; + + // clear sticky bits in o2s_status_reg + // @todo check this register in the EPM code + l_data64.setBit<1, 1>(); + FAPI_TRY(putScom(i_target, + p9avslib::OCB_O2SCMD[i_avsBusNum][i_o2sBridgeNum], l_data64)); + + //unmask pmc_o2s_ongoing in OISR1 + FAPI_TRY(getScom(i_target, OCB_OIMR1, l_data64)); + l_data64 &= p9avslib::OCB_OIMR1_MASK_VALUES[i_avsBusNum][i_o2sBridgeNum]; + FAPI_TRY(putScom(i_target, OCB_OIMR1, l_data64)); + + // @todo: double check on Endianess definition + // compose and send frame + // CRC(31:29), + // l_Reserved(28:13) (read), CmdData(28:13) (write) + // RailSelect(12:9), + // l_CmdDataType(8:5), + // l_CmdGroup(4), + // l_CmdType(3:2), + // l_StartCode(1:0) + l_data64.flush<0>(); + + //l_data64 = l_data64 | + // (l_StartCode << 60) | + // (i_CmdType << 28) | + // (i_CmdGroup << 27) | + // (i_CmdDataType << 23) | + // (i_RailSelect << 19) | + // (l_Reserved << 3); + l_data64.insertFromRight<0, 2>(l_StartCode); + l_data64.insertFromRight<2, 2>(i_CmdType); + l_data64.insertFromRight<4, 1>(i_CmdGroup); + l_data64.insertFromRight<5, 4>(i_CmdDataType); + l_data64.insertFromRight<9, 4>(i_RailSelect); + l_data64.insertFromRight<13, 16>(i_CmdData); + l_data64.insertFromRight<29, 3>(l_Reserved); + + l_data64.extract(l_data64WithoutCRC, 0, 32); + + // generate CRC + l_crc = avsCRCcalc(l_data64WithoutCRC); + + l_data64.insertFromRight<29, 3>(l_crc); + FAPI_TRY(putScom(i_target, + p9avslib::OCB_O2SWD[i_avsBusNum][i_o2sBridgeNum], l_data64)); + + // Wait on o2s_ongoing = 0 + FAPI_TRY(avsPollVoltageTransDone(i_target, i_avsBusNum, i_o2sBridgeNum)); + // Note: caller will check for the specific timeout return code. + +fapi_try_exit: + return fapi2::current_err; +} + +//############################################################################## +// Function which writes to OCB registers to initiate a AVS read transaction +//############################################################################## +fapi2::ReturnCode +avsVoltageRead(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + const uint8_t i_avsBusNum, + const uint8_t i_o2sBridgeNum, + const uint32_t i_RailSelect, + uint32_t* o_Voltage) +{ + + fapi2::buffer<uint64_t> l_data64; + + uint32_t l_CmdType = 3; // read + uint32_t l_CmdGroup = 0; + uint32_t l_CmdDataType = 0; + uint32_t l_outboundCmdData = 0; // @todo check the spec on this for a read + + // Drive a Read Command + FAPI_TRY(avsDriveCommand(i_target, + i_avsBusNum, + i_o2sBridgeNum, + i_RailSelect, + l_CmdType, + l_CmdGroup, + l_CmdDataType, + l_outboundCmdData)); + + // Read returned voltage value from Read frame + FAPI_TRY(putScom(i_target, + p9avslib::OCB_O2SRD[i_avsBusNum][i_o2sBridgeNum], l_data64)); + *o_Voltage = ((l_data64 >> 8) & 0x0000FFFF) >> 32; + + // @todo L3 insert SET_HWP_RC macro with FFDC + // FFDC: + // i_avsBusNum + // i_o2sBridgeNum, + // i_RailSelect, + // l_CmdType, + // l_CmdGroup + // l_CmdDataType + // O2S Registers (need to create in XML + +fapi_try_exit: + return fapi2::current_err; +} +//############################################################################## + +//############################################################################## +// Function which writes to OCB registers to initiate a AVS write transaction +//############################################################################## +fapi2::ReturnCode +avsVoltageWrite(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + const uint8_t i_avsBusNum, + const uint8_t i_o2sBridgeNum, + const uint32_t i_RailSelect, + const uint32_t i_Voltage) +{ + + uint32_t l_CmdType = 0; // write and commit + uint32_t l_CmdGroup = 0; + uint32_t l_CmdDataType = 0; + + // Drive a Write Command + FAPI_TRY(avsDriveCommand(i_target, + i_avsBusNum, + i_o2sBridgeNum, + i_RailSelect, + l_CmdType, + l_CmdGroup, + l_CmdDataType, + i_Voltage)); // @todo command data flow + + // @todo L3 insert SET_HWP_RC macro with FFDC + // FFDC: + // i_avsBusNum + // i_o2sBridgeNum, + // i_RailSelect, + // l_CmdType, + // l_CmdGroup + // l_CmdDataType + // O2S Registers (need to create in XML) + +fapi_try_exit: + return fapi2::current_err; +} +//############################################################################## + + +//############################################################################## +// Function which writes to OCB registers to initialize the AVS Slave with an +// idle frame +//############################################################################## +fapi2::ReturnCode +avsIdleFrame(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + const uint8_t i_avsBusNum, + const uint8_t i_o2sBridgeNum) +{ + fapi2::buffer<uint64_t> l_idleframe = 0xFFFFFFFF00000000ull; + fapi2::buffer<uint64_t> l_scomdata; + + // clear sticky bits in o2s_status_reg + l_scomdata.setBit<1, 1>(); + FAPI_TRY(putScom(i_target, + p9avslib::OCB_O2SCMD[i_avsBusNum][i_o2sBridgeNum], + l_scomdata), + "Error clearing sticky bits in o2s_status_reg"); + + //unmask pmc_o2s_ongoing in OISR1 + FAPI_TRY(getScom(i_target, OCB_OIMR1, l_scomdata)); + l_scomdata &= p9avslib::OCB_OIMR1_MASK_VALUES[i_avsBusNum][i_o2sBridgeNum]; + FAPI_TRY(putScom(i_target, OCB_OIMR1, l_scomdata)); + + // Send the idle frame + l_scomdata = l_idleframe << 32; + FAPI_TRY(putScom(i_target, + p9avslib::OCB_O2SWD[i_avsBusNum][i_o2sBridgeNum], l_scomdata)); + + // Wait on o2s_ongoing = 0 + FAPI_TRY(avsPollVoltageTransDone(i_target, i_avsBusNum, i_o2sBridgeNum)); + + // @todo L3 insert SET_HWP_RC macro with FFDC + // FFDC: + // i_avsBusNum + // i_o2sBridgeNum, + // i_RailSelect, + // l_CmdType, + // l_CmdGroup + // l_CmdDataType + // O2S Registers (need to create in XML + +fapi_try_exit: + return fapi2::current_err; +} +//############################################################################## diff --git a/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_lib.H b/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_lib.H new file mode 100644 index 000000000..97878bc33 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_lib.H @@ -0,0 +1,260 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: chips/p9/procedures/hwp/lib/p9_avsbus_lib.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* IBM_PROLOG_END_TAG */ + +/// +/// @file p9_avsbus_lib.H +/// @brief Library functions for AVSBus +/// +/// *HW Owner : Sudheendra K Srivathsa <sudheendraks@in.ibm.com> +/// *FW Owner : Sangeetha T S <sangeet2@in.ibm.com> +/// *Team : PM +/// *Consumed by : HB +/// *Level : 2 +/// +/// @todo (to be considered in L2/L3 development) AVSBus timing parameters +/// as attributes or not. They were hardcoded in P8. + +#ifndef __P9_AVSBUS_LIB_H__ +#define __P9_AVSBUS_LIB_H__ + +#include <fapi2.H> + +namespace p9avslib +{ +enum avsRails +{ + VDD, + VDN, + VCS +}; + +enum avsBusNum +{ + AVSBUSVDD = 0, + AVSBUSVDN = 1, + AVSBUSVCS = 0 +}; + +union avsMasterFrame +{ + uint32_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t StartCode : 2; + uint32_t Cmd : 2; + uint32_t CmdGroup : 1; + uint32_t CmdDataType: 4; + uint32_t Select : 4; + uint32_t CmdData : 16; + uint32_t CRC : 3; +#else + uint32_t CRC : 3; + uint32_t CmdData : 16; + uint32_t Select : 4; + uint32_t CmdDataType: 4; + uint32_t CmdGroup : 1; + uint32_t Cmd : 2; + uint32_t StartCode : 2; +#endif // _BIG_ENDIAN + } fields; +}; + +union avsSlaveFrame +{ + uint32_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t SlaveAck : 2; + uint32_t reserved1 : 1; + uint32_t StatusResp : 5; + uint32_t CmdData : 16; + uint32_t reserved5 : 5; + uint32_t CRC : 3; +#else + uint32_t CRC : 3; + uint32_t reserved5 : 5; + uint32_t CmdData : 16; + uint32_t StatusResp : 5; + uint32_t reserved1 : 1; + uint32_t SlaveAck : 2; +#endif // _BIG_ENDIAN + + } fields; +}; + +union avsStatus +{ + uint16_t value; + struct + { +#ifdef _BIG_ENDIAN + uint16_t VDone : 1; // Voltage done + uint16_t OCW : 1; // IOUT_OC_WARNING (Output over-current) + uint16_t UCW : 1; // VOUT_UV_WARNING (Output under-voltage) + uint16_t OTW : 1; // IOUT_OT_WARNING (Over-temperature) + uint16_t OPW : 1; // POUT_OP_WARNING (Output over-power) + uint16_t Reserved_3 : 3; + uint16_t MfrSpcfc_8 : 8; // Mfg Specific defined by the AVSBus Slave +#else + uint16_t MfrSpcfc_8 : 8; // Mfg Specific defined by the AVSBus Slave + uint16_t Reserved_3 : 3; + uint16_t OPW : 1; // POUT_OP_WARNING (Output over-power) + uint16_t OTW : 1; // IOUT_OT_WARNING (Over-temperature) + uint16_t UCW : 1; // VOUT_UV_WARNING (Output under-voltage) + uint16_t OCW : 1; // IOUT_OC_WARNING (Output over-current) + uint16_t VDone : 1; // Voltage done +#endif // _BIG_ENDIAN + } fields; +}; + +enum avslibconstants +{ + +// @todo: This should be calculated based on time (eg 100ms) and the projected +// time that a SCOM poll will take. +// const uint32_t MAX_POLL_COUNT_AVS = 0x1000; + MAX_POLL_COUNT_AVS = 0x1000, + AVS_CRC_DATA_MASK = 0xfffffff8, + O2S_FRAME_SIZE = 0x20, + O2S_IN_DELAY1 = 0x3F + +}; + +// Constant definitions +//const uint64_t O2S_FRAME_SIZE = 0x20; + +// OIMR Mask Values +const uint32_t OCB_OIMR1_MASK_VALUES[2][2] = +{ + 0xFFFFFBFF, //bit 21 + 0xFFFFFCFF, //bit 22 + 0xFFFFFBFF, //bit 23 + 0xFFFFFEFF //bit 24 +}; + +//const uint64_t OCB_O2SST_MASK = 0x8000000000000000; + +} //end of p9avslib namespace + +///@brief Generates a 3 bit CRC value for 29 bit data +///@param[i] i_data +///@return 3 bit CRC result (right aligned) + +uint32_t avsCRCcalc(uint32_t i_data); + + + +///@brief Initialize an O2S bridge for AVSBus usage +///@param[i] i_target Chip target +///@param[i] i_avsBusNum AVSBus Number (0 or 1) +///@param[i] i_o2sBridgeNum O2S Bridge Number (0 or 1) +///@return FAPI2::ReturnCode defined in XML + +fapi2::ReturnCode +avsInitExtVoltageControl(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + const p9avslib::avsBusNum i_avsBusNum, + const uint8_t i_o2sBridgeNum); + + +///@brief Polls OCB status register O2SST for o2s_ongoing=0 +///@param[i] i_target Chip target +///@param[i] i_avsBusNum AVSBus Number (0 or 1) +///@param[i] i_o2sBridgeNum O2S Bridge Number (0 or 1) +///@return FAPI2::SUCCESS +///@return FAPI2::RC_PROCPM_AVSBUS_TIMEOUT + +fapi2::ReturnCode +avsPollVoltageTransDone(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + const uint8_t i_avsBusNum, + const uint8_t i_o2sBridgeNum); + + + +///@brief Drives a downstream command to a select bus via a selected bridge +///@param[i] i_target Chip target +///@param[i] i_avsBusNum AVSBus Number (0 or 1) +///@param[i] i_o2sBridgeNum O2S Bridge Number (0 or 1) +///@param[i] i_RailSelect Rail Select (value depends on the system implementation) +///@param[i] i_CmdType Defined by AVSBus spec (4b, right justified) +///@param[i] i_CmdGroup Defined by AVSBus spec (0 = AVSBus defined; 1 = Mfg defined) +///@param[i] i_CmdData Defined by AVSBus spec and command dependent (16b, right justified) +///@return FAPI2::SUCCESS +///@return FAPI2::RC_PROCPM_AVSBUS_TIMEOUT + +fapi2::ReturnCode +avsDriveCommand(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + const uint8_t i_avsBusNum, + const uint8_t i_o2sBridgeNum, + const uint32_t i_RailSelect, + const uint32_t i_CmdType, + const uint32_t i_CmdGroup, + const uint32_t i_CmdDataType, + const uint32_t i_CmdData); + + + +///@brief Perform an AVS read transaction +///@param[i] i_target Chip target +///@param[i] i_avsBusNum AVSBus Number (0 or 1) +///@param[i] i_o2sBridgeNum O2S Bridge Number (0 or 1) +///@param[i] i_RailSelect Rail Select (value depends on the system implementation) +///@param[o] o_CmdData Defined by AVSBus spec and command dependent (16b, right justified) +///@return FAPI2::SUCCESS +///@return FAPI2::RC_PROCPM_AVSBUS_TIMEOUT + +fapi2::ReturnCode +avsVoltageRead(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + const uint8_t i_avsBusNum, + const uint8_t i_o2sBridgeNum, + const uint32_t i_RailSelect, + uint32_t* o_Voltage); + + +///@brief Perform an AVS write transaction +///@param[i] i_target Chip target +///@param[i] i_avsBusNum AVSBus Number (0 or 1) +///@param[i] i_o2sBridgeNum O2S Bridge Number (0 or 1) +///@param[i] i_RailSelect Rail Select (value depends on the system implementation) +///@param[i] i_CmdData Defined by AVSBus spec and command dependent (16b, right justified) +///@return FAPI2::SUCCESS +///@return FAPI2::RC_PROCPM_AVSBUS_TIMEOUT + +fapi2::ReturnCode +avsVoltageWrite(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + const uint8_t i_avsBusNum, + const uint8_t i_o2sBridgeNum, + const uint32_t i_RailSelect, + const uint32_t o_Voltage); + + +///@brief Drive an Idle Frame on an AVSBus +///@param[i] i_target Chip target +///@param[i] i_avsBusNum AVSBus Number (0 or 1) +///@param[i] i_o2sBridgeNum O2S Bridge Number (0 or 1) +///@return FAPI2::SUCCESS + +fapi2::ReturnCode +avsIdleFrame(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target, + const uint8_t i_avsBusNum, + const uint8_t i_o2sBridgeNum); + + +#endif // __P9_AVSBUS_LIB_H__ diff --git a/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_lib.mk b/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_lib.mk new file mode 100644 index 000000000..566bbbf4f --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_lib.mk @@ -0,0 +1,22 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: chips/p9/procedures/hwp/lib/p9_avsbus_lib.mk $ +# +# IBM CONFIDENTIAL +# +# EKB Project +# +# COPYRIGHT 2015,2016 +# [+] International Business Machines Corp. +# +# +# The source code for this program is not published or otherwise +# divested of its trade secrets, irrespective of what has been +# deposited with the U.S. Copyright Office. +# +# IBM_PROLOG_END_TAG +MODULE=p9_avsbus_lib +$(call ADD_MODULE_INCDIR,$(PROCEDURE),$(PROJECT_ROOT)/chips/p9/procedures/hwp/pm/include/registers) +#p9_avsbus_lib_PATH+=$(PROJECT_ROOT)/chips/p9/procedures/hwp/lib +$(call BUILD_MODULE) diff --git a/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_registers.H b/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_registers.H new file mode 100644 index 000000000..9c7726770 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_registers.H @@ -0,0 +1,32 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: chips/p9/procedures/hwp/lib/p9_avsbus_registers.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* IBM_PROLOG_END_TAG */ + +/// +/// @file p9_avsbus_registers.H +/// @brief Include of the relevent register header based on the platform +/// +// *HW Owner : Sudheendra K Srivathsa <sudheendraks@in.ibm.com> +// *FW Owner : Sangeetha T S <sangeet2@in.ibm.com> +// *Team : PM +// *Consumed by : HB +// *Level : 2 +/// + +// Include SCOM address header file +#include <p9_avsbus_scom.H> diff --git a/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_scom.H b/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_scom.H new file mode 100644 index 000000000..c72183816 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/lib/p9_avsbus_scom.H @@ -0,0 +1,175 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: chips/p9/procedures/hwp/lib/p9_avsbus_scom.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* IBM_PROLOG_END_TAG */ + +/// +/// @file p9_avsbus_scom.H +/// @brief Specific elements for AVSBus access via SCOM +/// +// *HW Owner : Sudheendra K Srivathsa <sudheendraks@in.ibm.com> +// *FW Owner : Sangeetha T S <sangeet2@in.ibm.com> +// *Team : PM +// *Consumed by : HB +// *Level : 2 +/// + +#include <p9_misc_scom_addresses.H> + +#ifndef __P9_AVSBUS_SCOM_H__ +#define __P9_AVSBUS_SCOM_H__ + +namespace p9avslib +{ +//#define OCB_OCI_BASE PU_OCB_OCI_OCI_BASE +#define OCB_OISR0 PU_OCB_OCI_OISR0_SCOM +#define OCB_OISR0_CLR PU_OCB_OCI_OISR0_SCOM1 +#define OCB_OISR0_OR PU_OCB_OCI_OISR0_SCOM2 +#define OCB_OIMR0 PU_OCB_OCI_OIMR0_SCOM +#define OCB_OIMR0_CLR PU_OCB_OCI_OIMR0_SCOM1 +#define OCB_OIMR0_OR PU_OCB_OCI_OIMR0_SCOM2 +#define OCB_OITR0 PU_OCB_OCI_OITR0_SCOM +#define OCB_OITR0_CLR PU_OCB_OCI_OITR0_SCOM1 +#define OCB_OITR0_OR PU_OCB_OCI_OITR0_SCOM2 +#define OCB_OIEPR0 PU_OCB_OCI_OIEPR0_SCOM +#define OCB_OIEPR0_CLR PU_OCB_OCI_OIEPR0_SCOM1 +#define OCB_OIEPR0_OR PU_OCB_OCI_OIEPR0_SCOM2 +#define OCB_OISR1 PU_OCB_OCI_OISR1_SCOM +#define OCB_OISR1_CLR PU_OCB_OCI_OISR1_SCOM1 +#define OCB_OISR1_OR PU_OCB_OCI_OISR1_SCOM2 +#define OCB_OIMR1 PU_OCB_OCI_OIMR1_SCOM +#define OCB_OIMR1_CLR PU_OCB_OCI_OIMR1_SCOM1 +#define OCB_OIMR1_OR PU_OCB_OCI_OIMR1_SCOM2 +#define OCB_OITR1 PU_OCB_OCI_OITR1_SCOM +#define OCB_OITR1_CLR PU_OCB_OCI_OITR1_SCOM1 +#define OCB_OITR1_OR PU_OCB_OCI_OITR1_SCOM2 +#define OCB_OIEPR1 PU_OCB_OCI_OIEPR1_SCOM +#define OCB_OIEPR1_CLR PU_OCB_OCI_OIEPR1_SCOM1 +#define OCB_OIEPR1_OR PU_OCB_OCI_OIEPR1_SCOM2 + +/// Need SCOM SBE, HB, PHYP or OPAL accesses + +#define OCB_O2SCTRLF0A PU_OCB_OCI_O2SCTRLF0A_SCOM +#define OCB_O2SCTRLS0A PU_OCB_OCI_O2SCTRLS0A_SCOM +#define OCB_O2SCTRL10A PU_OCB_OCI_O2SCTRL10A_SCOM +#define OCB_O2SCTRL20A PU_OCB_OCI_O2SCTRL20A_SCOM +#define OCB_O2SST0A PU_OCB_OCI_O2SST0A_SCOM +#define OCB_O2SCMD0A PU_OCB_OCI_O2SCMD0A_SCOM +#define OCB_O2SWD0A PU_OCB_OCI_O2SWD0A_SCOM +#define OCB_O2SRD0A PU_OCB_OCI_O2SRD0A_SCOM +#define OCB_O2SCTRLF0B PU_OCB_OCI_O2SCTRLF0B_SCOM +#define OCB_O2SCTRLS0B PU_OCB_OCI_O2SCTRLS0B_SCOM +#define OCB_O2SCTRL10B PU_OCB_OCI_O2SCTRL10B_SCOM +#define OCB_O2SCTRL20B PU_OCB_OCI_O2SCTRL20B_SCOM +#define OCB_O2SST0B PU_OCB_OCI_O2SST0B_SCOM +#define OCB_O2SCMD0B PU_OCB_OCI_O2SCMD0B_SCOM +#define OCB_O2SWD0B PU_OCB_OCI_O2SWD0B_SCOM +#define OCB_O2SRD0B PU_OCB_OCI_O2SRD0B_SCOM +#define OCB_O2SCTRLF1A PU_OCB_OCI_O2SCTRLF1A_SCOM +#define OCB_O2SCTRLS1A PU_OCB_OCI_O2SCTRLS1A_SCOM +#define OCB_O2SCTRL11A PU_OCB_OCI_O2SCTRL11A_SCOM +#define OCB_O2SCTRL21A PU_OCB_OCI_O2SCTRL21A_SCOM +#define OCB_O2SST1A PU_OCB_OCI_O2SST1A_SCOM +#define OCB_O2SCMD1A PU_OCB_OCI_O2SCMD1A_SCOM +#define OCB_O2SWD1A PU_OCB_OCI_O2SWD1A_SCOM +#define OCB_O2SRD1A PU_OCB_OCI_O2SRD1A_SCOM +#define OCB_O2SCTRLF1B PU_OCB_OCI_O2SCTRLF1B_SCOM +#define OCB_O2SCTRLS1B PU_OCB_OCI_O2SCTRLS1B_SCOM +#define OCB_O2SCTRL11B PU_OCB_OCI_O2SCTRL11B_SCOM +#define OCB_O2SCTRL21B PU_OCB_OCI_O2SCTRL21B_SCOM +#define OCB_O2SST1B PU_OCB_OCI_O2SST1B_SCOM +#define OCB_O2SCMD1B PU_OCB_OCI_O2SCMD1B_SCOM +#define OCB_O2SWD1B PU_OCB_OCI_O2SWD1B_SCOM +#define OCB_O2SRD1B PU_OCB_OCI_O2SRD1B_SCOM + + +//#define OCB_O2SRD1B + +// O2S Control Frame Registers +const uint32_t OCB_O2SCTRLF[2][2] = +{ + OCB_O2SCTRLF0A, + OCB_O2SCTRLF0B, + OCB_O2SCTRLF1A, + OCB_O2SCTRLF1B +}; + +// O2S Control Status Registers +const uint32_t OCB_O2SCTRLS[2][2] = +{ + OCB_O2SCTRLS0A, + OCB_O2SCTRLS0B, + OCB_O2SCTRLS1A, + OCB_O2SCTRLS1B +}; + +// O2S Control 1 Registers +const uint32_t OCB_O2SCTRL1[2][2] = +{ + OCB_O2SCTRL10A, + OCB_O2SCTRL10B, + OCB_O2SCTRL11A, + OCB_O2SCTRL11B +}; + +// O2S Control 2 Registers +const uint32_t OCB_O2SCTRL2[2][2] = +{ + OCB_O2SCTRL20A, + OCB_O2SCTRL20B, + OCB_O2SCTRL21A, + OCB_O2SCTRL21B +}; + +// O2S Status Registers +const uint32_t OCB_O2SST[2][2] = +{ + OCB_O2SST0A, + OCB_O2SST0B, + OCB_O2SST1A, + OCB_O2SST1B +}; + +// O2S Command Registers +const uint32_t OCB_O2SCMD[2][2] = +{ + OCB_O2SCMD0A, + OCB_O2SCMD0B, + OCB_O2SCMD1A, + OCB_O2SCMD1B +}; + +// O2S Write Data Registers +const uint32_t OCB_O2SWD[2][2] = +{ + OCB_O2SWD0A, + OCB_O2SWD0B, + OCB_O2SWD1A, + OCB_O2SWD1B +}; + +// O2S Read Data Registers +const uint32_t OCB_O2SRD[2][2] = +{ + OCB_O2SRD0A, + OCB_O2SRD0B, + OCB_O2SRD1A, + OCB_O2SRD1A +}; + +} //end of p9avslib namespace +#endif // __P9_AVSBUS_SCOM_H__ diff --git a/src/import/chips/p9/procedures/hwp/pm/include/registers/p9_ocb_firmware_registers.h b/src/import/chips/p9/procedures/hwp/pm/include/registers/p9_ocb_firmware_registers.h new file mode 100755 index 000000000..e6ef07dce --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/pm/include/registers/p9_ocb_firmware_registers.h @@ -0,0 +1,7347 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: chips/p9/procedures/hwp/pm/include/registers/p9_ocb_firmware_registers.h $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* IBM_PROLOG_END_TAG */ +#ifndef P9_OCB_FIRMWARE_REGISTERS_H__ +#define P9_OCB_FIRMWARE_REGISTERS_H__ + +// $Id$ +// $Source$ +//----------------------------------------------------------------------------- +// *! (C) Copyright International Business Machines Corp. 2015 +// *! All Rights Reserved -- Property of IBM +// *! *** IBM Confidential *** +//----------------------------------------------------------------------------- + +/// \file ocb_firmware_registers.h +/// \brief C register structs for the OCB unit + +// *** WARNING *** - This file is generated automatically, do not edit. + +#ifndef SIXTYFOUR_BIT_CONSTANT + #ifdef __ASSEMBLER__ + #define SIXTYFOUR_BIT_CONSTANT(x) x + #else + #define SIXTYFOUR_BIT_CONSTANT(x) x##ull + #endif +#endif + +#ifndef __ASSEMBLER__ + +#include <stdint.h> + + + + +typedef union ocb_oisr0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t debugger : 1; + uint64_t trace_trigger : 1; + uint64_t occ_error : 1; + uint64_t pba_error : 1; + uint64_t srt_error : 1; + uint64_t gpe0_error : 1; + uint64_t gpe1_error : 1; + uint64_t gpe2_error : 1; + uint64_t gpe3_error : 1; + uint64_t ppc405_halt : 1; + uint64_t ocb_error : 1; + uint64_t spipss_error : 1; + uint64_t check_stop_ppc405 : 1; + uint64_t check_stop_gpe0 : 1; + uint64_t check_stop_gpe1 : 1; + uint64_t check_stop_gpe2 : 1; + uint64_t check_stop_gpe3 : 1; + uint64_t occ_malf_alert : 1; + uint64_t adu_malf_alert : 1; + uint64_t external_trap : 1; + uint64_t ivrm_pvref_error : 1; + uint64_t occ_timer0 : 1; + uint64_t occ_timer1 : 1; + uint64_t avs_slave0 : 1; + uint64_t avs_slave1 : 1; + uint64_t ipi0_hi_priority : 1; + uint64_t ipi1_hi_priority : 1; + uint64_t ipi2_hi_priority : 1; + uint64_t ipi3_hi_priority : 1; + uint64_t ipi4_hi_priority : 1; + uint64_t adcfsm_ongoing : 1; + uint64_t spare_31 : 1; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t spare_31 : 1; + uint64_t adcfsm_ongoing : 1; + uint64_t ipi4_hi_priority : 1; + uint64_t ipi3_hi_priority : 1; + uint64_t ipi2_hi_priority : 1; + uint64_t ipi1_hi_priority : 1; + uint64_t ipi0_hi_priority : 1; + uint64_t avs_slave1 : 1; + uint64_t avs_slave0 : 1; + uint64_t occ_timer1 : 1; + uint64_t occ_timer0 : 1; + uint64_t ivrm_pvref_error : 1; + uint64_t external_trap : 1; + uint64_t adu_malf_alert : 1; + uint64_t occ_malf_alert : 1; + uint64_t check_stop_gpe3 : 1; + uint64_t check_stop_gpe2 : 1; + uint64_t check_stop_gpe1 : 1; + uint64_t check_stop_gpe0 : 1; + uint64_t check_stop_ppc405 : 1; + uint64_t spipss_error : 1; + uint64_t ocb_error : 1; + uint64_t ppc405_halt : 1; + uint64_t gpe3_error : 1; + uint64_t gpe2_error : 1; + uint64_t gpe1_error : 1; + uint64_t gpe0_error : 1; + uint64_t srt_error : 1; + uint64_t pba_error : 1; + uint64_t occ_error : 1; + uint64_t trace_trigger : 1; + uint64_t debugger : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_oisr0_t; + + + +typedef union ocb_oisr0_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t debugger : 1; + uint64_t trace_trigger : 1; + uint64_t occ_error : 1; + uint64_t pba_error : 1; + uint64_t srt_error : 1; + uint64_t gpe0_error : 1; + uint64_t gpe1_error : 1; + uint64_t gpe2_error : 1; + uint64_t gpe3_error : 1; + uint64_t ppc405_halt : 1; + uint64_t ocb_error : 1; + uint64_t spipss_error : 1; + uint64_t check_stop_ppc405 : 1; + uint64_t check_stop_gpe0 : 1; + uint64_t check_stop_gpe1 : 1; + uint64_t check_stop_gpe2 : 1; + uint64_t check_stop_gpe3 : 1; + uint64_t occ_malf_alert : 1; + uint64_t adu_malf_alert : 1; + uint64_t external_trap : 1; + uint64_t ivrm_pvref_error : 1; + uint64_t occ_timer0 : 1; + uint64_t occ_timer1 : 1; + uint64_t avs_slave0 : 1; + uint64_t avs_slave1 : 1; + uint64_t ipi0_hi_priority : 1; + uint64_t ipi1_hi_priority : 1; + uint64_t ipi2_hi_priority : 1; + uint64_t ipi3_hi_priority : 1; + uint64_t ipi4_hi_priority : 1; + uint64_t adcfsm_ongoing : 1; + uint64_t spare_31 : 1; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t spare_31 : 1; + uint64_t adcfsm_ongoing : 1; + uint64_t ipi4_hi_priority : 1; + uint64_t ipi3_hi_priority : 1; + uint64_t ipi2_hi_priority : 1; + uint64_t ipi1_hi_priority : 1; + uint64_t ipi0_hi_priority : 1; + uint64_t avs_slave1 : 1; + uint64_t avs_slave0 : 1; + uint64_t occ_timer1 : 1; + uint64_t occ_timer0 : 1; + uint64_t ivrm_pvref_error : 1; + uint64_t external_trap : 1; + uint64_t adu_malf_alert : 1; + uint64_t occ_malf_alert : 1; + uint64_t check_stop_gpe3 : 1; + uint64_t check_stop_gpe2 : 1; + uint64_t check_stop_gpe1 : 1; + uint64_t check_stop_gpe0 : 1; + uint64_t check_stop_ppc405 : 1; + uint64_t spipss_error : 1; + uint64_t ocb_error : 1; + uint64_t ppc405_halt : 1; + uint64_t gpe3_error : 1; + uint64_t gpe2_error : 1; + uint64_t gpe1_error : 1; + uint64_t gpe0_error : 1; + uint64_t srt_error : 1; + uint64_t pba_error : 1; + uint64_t occ_error : 1; + uint64_t trace_trigger : 1; + uint64_t debugger : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_oisr0_clr_t; + + + +typedef union ocb_oisr0_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t debugger : 1; + uint64_t trace_trigger : 1; + uint64_t occ_error : 1; + uint64_t pba_error : 1; + uint64_t srt_error : 1; + uint64_t gpe0_error : 1; + uint64_t gpe1_error : 1; + uint64_t gpe2_error : 1; + uint64_t gpe3_error : 1; + uint64_t ppc405_halt : 1; + uint64_t ocb_error : 1; + uint64_t spipss_error : 1; + uint64_t check_stop_ppc405 : 1; + uint64_t check_stop_gpe0 : 1; + uint64_t check_stop_gpe1 : 1; + uint64_t check_stop_gpe2 : 1; + uint64_t check_stop_gpe3 : 1; + uint64_t occ_malf_alert : 1; + uint64_t adu_malf_alert : 1; + uint64_t external_trap : 1; + uint64_t ivrm_pvref_error : 1; + uint64_t occ_timer0 : 1; + uint64_t occ_timer1 : 1; + uint64_t avs_slave0 : 1; + uint64_t avs_slave1 : 1; + uint64_t ipi0_hi_priority : 1; + uint64_t ipi1_hi_priority : 1; + uint64_t ipi2_hi_priority : 1; + uint64_t ipi3_hi_priority : 1; + uint64_t ipi4_hi_priority : 1; + uint64_t adcfsm_ongoing : 1; + uint64_t spare_31 : 1; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t spare_31 : 1; + uint64_t adcfsm_ongoing : 1; + uint64_t ipi4_hi_priority : 1; + uint64_t ipi3_hi_priority : 1; + uint64_t ipi2_hi_priority : 1; + uint64_t ipi1_hi_priority : 1; + uint64_t ipi0_hi_priority : 1; + uint64_t avs_slave1 : 1; + uint64_t avs_slave0 : 1; + uint64_t occ_timer1 : 1; + uint64_t occ_timer0 : 1; + uint64_t ivrm_pvref_error : 1; + uint64_t external_trap : 1; + uint64_t adu_malf_alert : 1; + uint64_t occ_malf_alert : 1; + uint64_t check_stop_gpe3 : 1; + uint64_t check_stop_gpe2 : 1; + uint64_t check_stop_gpe1 : 1; + uint64_t check_stop_gpe0 : 1; + uint64_t check_stop_ppc405 : 1; + uint64_t spipss_error : 1; + uint64_t ocb_error : 1; + uint64_t ppc405_halt : 1; + uint64_t gpe3_error : 1; + uint64_t gpe2_error : 1; + uint64_t gpe1_error : 1; + uint64_t gpe0_error : 1; + uint64_t srt_error : 1; + uint64_t pba_error : 1; + uint64_t occ_error : 1; + uint64_t trace_trigger : 1; + uint64_t debugger : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_oisr0_or_t; + + + +typedef union ocb_oimr0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_mask_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_mask_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oimr0_t; + + + +typedef union ocb_oimr0_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_mask_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_mask_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oimr0_clr_t; + + + +typedef union ocb_oimr0_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_mask_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_mask_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oimr0_or_t; + + + +typedef union ocb_oitr0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_type_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_type_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oitr0_t; + + + +typedef union ocb_oitr0_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_type_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_type_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oitr0_clr_t; + + + +typedef union ocb_oitr0_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_type_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_type_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oitr0_or_t; + + + +typedef union ocb_oiepr0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_edge_pol_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_edge_pol_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oiepr0_t; + + + +typedef union ocb_oiepr0_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_edge_pol_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_edge_pol_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oiepr0_clr_t; + + + +typedef union ocb_oiepr0_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_edge_pol_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_edge_pol_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oiepr0_or_t; + + + +typedef union ocb_oisr1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pbax_occ_send : 1; + uint64_t pbax_occ_push0 : 1; + uint64_t pbax_occ_push1 : 1; + uint64_t pba_bcde_attn : 1; + uint64_t pba_bcue_attn : 1; + uint64_t occ_strm0_pull : 1; + uint64_t occ_strm0_push : 1; + uint64_t occ_strm1_pull : 1; + uint64_t occ_strm1_push : 1; + uint64_t occ_strm2_pull : 1; + uint64_t occ_strm2_push : 1; + uint64_t occ_strm3_pull : 1; + uint64_t occ_strm3_push : 1; + uint64_t pmc_pcb_intr_type0_pending : 1; + uint64_t pmc_pcb_intr_type1_pending : 1; + uint64_t pmc_pcb_intr_type2_pending : 1; + uint64_t pmc_pcb_intr_type3_pending : 1; + uint64_t pmc_pcb_intr_type4_pending : 1; + uint64_t pmc_pcb_intr_type5_pending : 1; + uint64_t pmc_pcb_intr_type6_pending : 1; + uint64_t pmc_pcb_intr_type7_pending : 1; + uint64_t pmc_o2s_0a_ongoing : 1; + uint64_t pmc_o2s_0b_ongoing : 1; + uint64_t pmc_o2s_1a_ongoing : 1; + uint64_t pmc_o2s_1b_ongoing : 1; + uint64_t pssbridge_ongoing : 1; + uint64_t ipi0_lo_priority : 1; + uint64_t ipi1_lo_priority : 1; + uint64_t ipi2_lo_priority : 1; + uint64_t ipi3_lo_priority : 1; + uint64_t ipi4_lo_priority : 1; + uint64_t spare_31 : 1; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t spare_31 : 1; + uint64_t ipi4_lo_priority : 1; + uint64_t ipi3_lo_priority : 1; + uint64_t ipi2_lo_priority : 1; + uint64_t ipi1_lo_priority : 1; + uint64_t ipi0_lo_priority : 1; + uint64_t pssbridge_ongoing : 1; + uint64_t pmc_o2s_1b_ongoing : 1; + uint64_t pmc_o2s_1a_ongoing : 1; + uint64_t pmc_o2s_0b_ongoing : 1; + uint64_t pmc_o2s_0a_ongoing : 1; + uint64_t pmc_pcb_intr_type7_pending : 1; + uint64_t pmc_pcb_intr_type6_pending : 1; + uint64_t pmc_pcb_intr_type5_pending : 1; + uint64_t pmc_pcb_intr_type4_pending : 1; + uint64_t pmc_pcb_intr_type3_pending : 1; + uint64_t pmc_pcb_intr_type2_pending : 1; + uint64_t pmc_pcb_intr_type1_pending : 1; + uint64_t pmc_pcb_intr_type0_pending : 1; + uint64_t occ_strm3_push : 1; + uint64_t occ_strm3_pull : 1; + uint64_t occ_strm2_push : 1; + uint64_t occ_strm2_pull : 1; + uint64_t occ_strm1_push : 1; + uint64_t occ_strm1_pull : 1; + uint64_t occ_strm0_push : 1; + uint64_t occ_strm0_pull : 1; + uint64_t pba_bcue_attn : 1; + uint64_t pba_bcde_attn : 1; + uint64_t pbax_occ_push1 : 1; + uint64_t pbax_occ_push0 : 1; + uint64_t pbax_occ_send : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_oisr1_t; + + + +typedef union ocb_oisr1_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pbax_occ_send : 1; + uint64_t pbax_occ_push0 : 1; + uint64_t pbax_occ_push1 : 1; + uint64_t pba_bcde_attn : 1; + uint64_t pba_bcue_attn : 1; + uint64_t occ_strm0_pull : 1; + uint64_t occ_strm0_push : 1; + uint64_t occ_strm1_pull : 1; + uint64_t occ_strm1_push : 1; + uint64_t occ_strm2_pull : 1; + uint64_t occ_strm2_push : 1; + uint64_t occ_strm3_pull : 1; + uint64_t occ_strm3_push : 1; + uint64_t pmc_pcb_intr_type0_pending : 1; + uint64_t pmc_pcb_intr_type1_pending : 1; + uint64_t pmc_pcb_intr_type2_pending : 1; + uint64_t pmc_pcb_intr_type3_pending : 1; + uint64_t pmc_pcb_intr_type4_pending : 1; + uint64_t pmc_pcb_intr_type5_pending : 1; + uint64_t pmc_pcb_intr_type6_pending : 1; + uint64_t pmc_pcb_intr_type7_pending : 1; + uint64_t pmc_o2s_0a_ongoing : 1; + uint64_t pmc_o2s_0b_ongoing : 1; + uint64_t pmc_o2s_1a_ongoing : 1; + uint64_t pmc_o2s_1b_ongoing : 1; + uint64_t pssbridge_ongoing : 1; + uint64_t ipi0_lo_priority : 1; + uint64_t ipi1_lo_priority : 1; + uint64_t ipi2_lo_priority : 1; + uint64_t ipi3_lo_priority : 1; + uint64_t ipi4_lo_priority : 1; + uint64_t spare_31 : 1; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t spare_31 : 1; + uint64_t ipi4_lo_priority : 1; + uint64_t ipi3_lo_priority : 1; + uint64_t ipi2_lo_priority : 1; + uint64_t ipi1_lo_priority : 1; + uint64_t ipi0_lo_priority : 1; + uint64_t pssbridge_ongoing : 1; + uint64_t pmc_o2s_1b_ongoing : 1; + uint64_t pmc_o2s_1a_ongoing : 1; + uint64_t pmc_o2s_0b_ongoing : 1; + uint64_t pmc_o2s_0a_ongoing : 1; + uint64_t pmc_pcb_intr_type7_pending : 1; + uint64_t pmc_pcb_intr_type6_pending : 1; + uint64_t pmc_pcb_intr_type5_pending : 1; + uint64_t pmc_pcb_intr_type4_pending : 1; + uint64_t pmc_pcb_intr_type3_pending : 1; + uint64_t pmc_pcb_intr_type2_pending : 1; + uint64_t pmc_pcb_intr_type1_pending : 1; + uint64_t pmc_pcb_intr_type0_pending : 1; + uint64_t occ_strm3_push : 1; + uint64_t occ_strm3_pull : 1; + uint64_t occ_strm2_push : 1; + uint64_t occ_strm2_pull : 1; + uint64_t occ_strm1_push : 1; + uint64_t occ_strm1_pull : 1; + uint64_t occ_strm0_push : 1; + uint64_t occ_strm0_pull : 1; + uint64_t pba_bcue_attn : 1; + uint64_t pba_bcde_attn : 1; + uint64_t pbax_occ_push1 : 1; + uint64_t pbax_occ_push0 : 1; + uint64_t pbax_occ_send : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_oisr1_clr_t; + + + +typedef union ocb_oisr1_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pbax_occ_send : 1; + uint64_t pbax_occ_push0 : 1; + uint64_t pbax_occ_push1 : 1; + uint64_t pba_bcde_attn : 1; + uint64_t pba_bcue_attn : 1; + uint64_t occ_strm0_pull : 1; + uint64_t occ_strm0_push : 1; + uint64_t occ_strm1_pull : 1; + uint64_t occ_strm1_push : 1; + uint64_t occ_strm2_pull : 1; + uint64_t occ_strm2_push : 1; + uint64_t occ_strm3_pull : 1; + uint64_t occ_strm3_push : 1; + uint64_t pmc_pcb_intr_type0_pending : 1; + uint64_t pmc_pcb_intr_type1_pending : 1; + uint64_t pmc_pcb_intr_type2_pending : 1; + uint64_t pmc_pcb_intr_type3_pending : 1; + uint64_t pmc_pcb_intr_type4_pending : 1; + uint64_t pmc_pcb_intr_type5_pending : 1; + uint64_t pmc_pcb_intr_type6_pending : 1; + uint64_t pmc_pcb_intr_type7_pending : 1; + uint64_t pmc_o2s_0a_ongoing : 1; + uint64_t pmc_o2s_0b_ongoing : 1; + uint64_t pmc_o2s_1a_ongoing : 1; + uint64_t pmc_o2s_1b_ongoing : 1; + uint64_t pssbridge_ongoing : 1; + uint64_t ipi0_lo_priority : 1; + uint64_t ipi1_lo_priority : 1; + uint64_t ipi2_lo_priority : 1; + uint64_t ipi3_lo_priority : 1; + uint64_t ipi4_lo_priority : 1; + uint64_t spare_31 : 1; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t spare_31 : 1; + uint64_t ipi4_lo_priority : 1; + uint64_t ipi3_lo_priority : 1; + uint64_t ipi2_lo_priority : 1; + uint64_t ipi1_lo_priority : 1; + uint64_t ipi0_lo_priority : 1; + uint64_t pssbridge_ongoing : 1; + uint64_t pmc_o2s_1b_ongoing : 1; + uint64_t pmc_o2s_1a_ongoing : 1; + uint64_t pmc_o2s_0b_ongoing : 1; + uint64_t pmc_o2s_0a_ongoing : 1; + uint64_t pmc_pcb_intr_type7_pending : 1; + uint64_t pmc_pcb_intr_type6_pending : 1; + uint64_t pmc_pcb_intr_type5_pending : 1; + uint64_t pmc_pcb_intr_type4_pending : 1; + uint64_t pmc_pcb_intr_type3_pending : 1; + uint64_t pmc_pcb_intr_type2_pending : 1; + uint64_t pmc_pcb_intr_type1_pending : 1; + uint64_t pmc_pcb_intr_type0_pending : 1; + uint64_t occ_strm3_push : 1; + uint64_t occ_strm3_pull : 1; + uint64_t occ_strm2_push : 1; + uint64_t occ_strm2_pull : 1; + uint64_t occ_strm1_push : 1; + uint64_t occ_strm1_pull : 1; + uint64_t occ_strm0_push : 1; + uint64_t occ_strm0_pull : 1; + uint64_t pba_bcue_attn : 1; + uint64_t pba_bcde_attn : 1; + uint64_t pbax_occ_push1 : 1; + uint64_t pbax_occ_push0 : 1; + uint64_t pbax_occ_send : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_oisr1_or_t; + + + +typedef union ocb_oimr1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_mask_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_mask_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oimr1_t; + + + +typedef union ocb_oimr1_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_mask_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_mask_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oimr1_clr_t; + + + +typedef union ocb_oimr1_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_mask_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_mask_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oimr1_or_t; + + + +typedef union ocb_oitr1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_type_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_type_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oitr1_t; + + + +typedef union ocb_oitr1_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_type_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_type_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oitr1_clr_t; + + + +typedef union ocb_oitr1_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_type_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_type_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oitr1_or_t; + + + +typedef union ocb_oiepr1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_edge_pol_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_edge_pol_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oiepr1_t; + + + +typedef union ocb_oiepr1_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_edge_pol_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_edge_pol_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oiepr1_clr_t; + + + +typedef union ocb_oiepr1_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_edge_pol_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_edge_pol_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oiepr1_or_t; + + + +typedef union ocb_oirr0a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr0a_t; + + + +typedef union ocb_oirr0a_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr0a_clr_t; + + + +typedef union ocb_oirr0a_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr0a_or_t; + + + +typedef union ocb_oirr0b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr0b_t; + + + +typedef union ocb_oirr0b_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr0b_clr_t; + + + +typedef union ocb_oirr0b_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr0b_or_t; + + + +typedef union ocb_oirr0c +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr0c_t; + + + +typedef union ocb_oirr0c_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr0c_clr_t; + + + +typedef union ocb_oirr0c_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr0c_or_t; + + + +typedef union ocb_oirr1a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr1a_t; + + + +typedef union ocb_oirr1a_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr1a_clr_t; + + + +typedef union ocb_oirr1a_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr1a_or_t; + + + +typedef union ocb_oirr1b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr1b_t; + + + +typedef union ocb_oirr1b_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr1b_clr_t; + + + +typedef union ocb_oirr1b_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr1b_or_t; + + + +typedef union ocb_oirr1c +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr1c_t; + + + +typedef union ocb_oirr1c_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr1c_clr_t; + + + +typedef union ocb_oirr1c_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_route_a_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_route_a_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oirr1c_or_t; + + + +typedef union ocb_onisr0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_noncrit_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_noncrit_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_onisr0_t; + + + +typedef union ocb_ocisr0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_crit_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_crit_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocisr0_t; + + + +typedef union ocb_ouisr0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_uncon_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_uncon_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_ouisr0_t; + + + +typedef union ocb_odisr0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_debug_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_debug_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_odisr0_t; + + + +typedef union ocb_g0isr0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_gpe0_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_gpe0_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_g0isr0_t; + + + +typedef union ocb_g1isr0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_gpe1_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_gpe1_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_g1isr0_t; + + + +typedef union ocb_g2isr0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_gpe2_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_gpe2_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_g2isr0_t; + + + +typedef union ocb_g3isr0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_gpe3_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_gpe3_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_g3isr0_t; + + + +typedef union ocb_onisr1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_noncrit_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_noncrit_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_onisr1_t; + + + +typedef union ocb_ocisr1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_crit_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_crit_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocisr1_t; + + + +typedef union ocb_ouisr1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_uncon_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_uncon_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_ouisr1_t; + + + +typedef union ocb_odisr1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_debug_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_debug_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_odisr1_t; + + + +typedef union ocb_g0isr1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_gpe0_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_gpe0_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_g0isr1_t; + + + +typedef union ocb_g1isr1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_gpe1_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_gpe1_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_g1isr1_t; + + + +typedef union ocb_g2isr1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_gpe2_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_gpe2_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_g2isr1_t; + + + +typedef union ocb_g3isr1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t interrupt_gpe3_status_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t interrupt_gpe3_status_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_g3isr1_t; + + + +typedef union ocb_occmisc +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t core_ext_intr : 1; + uint64_t spare : 15; + uint64_t reserved1 : 48; +#else + uint64_t reserved1 : 48; + uint64_t spare : 15; + uint64_t core_ext_intr : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_occmisc_t; + + + +typedef union ocb_occmisc_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t core_ext_intr : 1; + uint64_t spare : 15; + uint64_t reserved1 : 48; +#else + uint64_t reserved1 : 48; + uint64_t spare : 15; + uint64_t core_ext_intr : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_occmisc_clr_t; + + + +typedef union ocb_occmisc_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t core_ext_intr : 1; + uint64_t spare : 15; + uint64_t reserved1 : 48; +#else + uint64_t reserved1 : 48; + uint64_t spare : 15; + uint64_t core_ext_intr : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_occmisc_or_t; + + + +typedef union ocb_ohtmcr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t htm_src_sel : 2; + uint64_t htm_stop : 1; + uint64_t htm_marker_slave_adrs : 3; + uint64_t event2halt_mode : 2; + uint64_t event2halt_en : 11; + uint64_t reserved1 : 4; + uint64_t event2halt_occ : 1; + uint64_t event2halt_gpe0 : 1; + uint64_t event2halt_gpe1 : 1; + uint64_t event2halt_gpe2 : 1; + uint64_t event2halt_gpe3 : 1; + uint64_t reserved2 : 3; + uint64_t event2halt_halt_state : 1; + uint64_t reserved3 : 32; +#else + uint64_t reserved3 : 32; + uint64_t event2halt_halt_state : 1; + uint64_t reserved2 : 3; + uint64_t event2halt_gpe3 : 1; + uint64_t event2halt_gpe2 : 1; + uint64_t event2halt_gpe1 : 1; + uint64_t event2halt_gpe0 : 1; + uint64_t event2halt_occ : 1; + uint64_t reserved1 : 4; + uint64_t event2halt_en : 11; + uint64_t event2halt_mode : 2; + uint64_t htm_marker_slave_adrs : 3; + uint64_t htm_stop : 1; + uint64_t htm_src_sel : 2; +#endif // _BIG_ENDIAN + } fields; +} ocb_ohtmcr_t; + + + +typedef union ocb_oehdr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t event2halt_delay : 20; + uint64_t reserved1 : 44; +#else + uint64_t reserved1 : 44; + uint64_t event2halt_delay : 20; +#endif // _BIG_ENDIAN + } fields; +} ocb_oehdr_t; + + + +typedef union ocb_ocicfg +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t m0_priority : 2; + uint64_t m1_priority : 2; + uint64_t m2_priority : 2; + uint64_t m3_priority : 2; + uint64_t m4_priority : 2; + uint64_t m5_priority : 2; + uint64_t m6_priority : 2; + uint64_t m7_priority : 2; + uint64_t m0_priority_sel : 1; + uint64_t m1_priority_sel : 1; + uint64_t m2_priority_sel : 1; + uint64_t m3_priority_sel : 1; + uint64_t ocicfg_reserved_20 : 1; + uint64_t m5_priority_sel : 1; + uint64_t ocicfg_reserved_23 : 1; + uint64_t m7_priority_sel : 1; + uint64_t plbarb_lockerr : 1; + uint64_t spare_24_31 : 7; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t spare_24_31 : 7; + uint64_t plbarb_lockerr : 1; + uint64_t m7_priority_sel : 1; + uint64_t ocicfg_reserved_23 : 1; + uint64_t m5_priority_sel : 1; + uint64_t ocicfg_reserved_20 : 1; + uint64_t m3_priority_sel : 1; + uint64_t m2_priority_sel : 1; + uint64_t m1_priority_sel : 1; + uint64_t m0_priority_sel : 1; + uint64_t m7_priority : 2; + uint64_t m6_priority : 2; + uint64_t m5_priority : 2; + uint64_t m4_priority : 2; + uint64_t m3_priority : 2; + uint64_t m2_priority : 2; + uint64_t m1_priority : 2; + uint64_t m0_priority : 2; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocicfg_t; + + + +typedef union ocb_occs0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_scratch_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t occ_scratch_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_occs0_t; + + + +typedef union ocb_occs1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_scratch_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t occ_scratch_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_occs1_t; + + + +typedef union ocb_occs2 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_scratch_n : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t occ_scratch_n : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_occs2_t; + + + +typedef union ocb_occflg +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_flags : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t occ_flags : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_occflg_t; + + + +typedef union ocb_occflg_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_flags : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t occ_flags : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_occflg_clr_t; + + + +typedef union ocb_occflg_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_flags : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t occ_flags : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_occflg_or_t; + + + +typedef union ocb_occhbr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_heartbeat_count : 16; + uint64_t occ_heartbeat_en : 1; + uint64_t reserved1 : 47; +#else + uint64_t reserved1 : 47; + uint64_t occ_heartbeat_en : 1; + uint64_t occ_heartbeat_count : 16; +#endif // _BIG_ENDIAN + } fields; +} ocb_occhbr_t; + + + +typedef union ocb_ccsr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t core_config : 24; + uint64_t reserved1 : 40; +#else + uint64_t reserved1 : 40; + uint64_t core_config : 24; +#endif // _BIG_ENDIAN + } fields; +} ocb_ccsr_t; + + + +typedef union ocb_ccsr_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t core_config : 24; + uint64_t reserved1 : 40; +#else + uint64_t reserved1 : 40; + uint64_t core_config : 24; +#endif // _BIG_ENDIAN + } fields; +} ocb_ccsr_clr_t; + + + +typedef union ocb_ccsr_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t core_config : 24; + uint64_t reserved1 : 40; +#else + uint64_t reserved1 : 40; + uint64_t core_config : 24; +#endif // _BIG_ENDIAN + } fields; +} ocb_ccsr_or_t; + + + +typedef union ocb_qcsr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 12; + uint64_t l3_config : 12; + uint64_t reserved2 : 39; + uint64_t change_in_progress : 1; +#else + uint64_t change_in_progress : 1; + uint64_t reserved2 : 39; + uint64_t l3_config : 12; + uint64_t reserved1 : 12; +#endif // _BIG_ENDIAN + } fields; +} ocb_qcsr_t; + + + +typedef union ocb_qcsr_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 12; + uint64_t l3_config : 12; + uint64_t reserved2 : 39; + uint64_t change_in_progress : 1; +#else + uint64_t change_in_progress : 1; + uint64_t reserved2 : 39; + uint64_t l3_config : 12; + uint64_t reserved1 : 12; +#endif // _BIG_ENDIAN + } fields; +} ocb_qcsr_clr_t; + + + +typedef union ocb_qcsr_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 12; + uint64_t l3_config : 12; + uint64_t reserved2 : 39; + uint64_t change_in_progress : 1; +#else + uint64_t change_in_progress : 1; + uint64_t reserved2 : 39; + uint64_t l3_config : 12; + uint64_t reserved1 : 12; +#endif // _BIG_ENDIAN + } fields; +} ocb_qcsr_or_t; + + + +typedef union ocb_qssr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t l2_stopped : 12; + uint64_t l3_stopped : 12; + uint64_t quad_stopped : 6; + uint64_t reserved1 : 1; + uint64_t stop_in_progress : 1; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t stop_in_progress : 1; + uint64_t reserved1 : 1; + uint64_t quad_stopped : 6; + uint64_t l3_stopped : 12; + uint64_t l2_stopped : 12; +#endif // _BIG_ENDIAN + } fields; +} ocb_qssr_t; + + + +typedef union ocb_qssr_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t l2_stopped : 12; + uint64_t l3_stopped : 12; + uint64_t quad_stopped : 6; + uint64_t reserved1 : 1; + uint64_t stop_in_progress : 1; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t stop_in_progress : 1; + uint64_t reserved1 : 1; + uint64_t quad_stopped : 6; + uint64_t l3_stopped : 12; + uint64_t l2_stopped : 12; +#endif // _BIG_ENDIAN + } fields; +} ocb_qssr_clr_t; + + + +typedef union ocb_qssr_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t l2_stopped : 12; + uint64_t l3_stopped : 12; + uint64_t quad_stopped : 6; + uint64_t reserved1 : 1; + uint64_t stop_in_progress : 1; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t stop_in_progress : 1; + uint64_t reserved1 : 1; + uint64_t quad_stopped : 6; + uint64_t l3_stopped : 12; + uint64_t l2_stopped : 12; +#endif // _BIG_ENDIAN + } fields; +} ocb_qssr_or_t; + + + +typedef union ocb_otbr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t ocb_timebase : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t ocb_timebase : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_otbr_t; + + + +typedef union ocb_otrn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t timeout : 1; + uint64_t control : 1; + uint64_t auto_reload : 1; + uint64_t spare : 13; + uint64_t timer : 16; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t timer : 16; + uint64_t spare : 13; + uint64_t auto_reload : 1; + uint64_t control : 1; + uint64_t timeout : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_otrn_t; + + + +typedef union ocb_ocbslbrn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pull_oci_region : 3; + uint64_t pull_start : 26; + uint64_t reserved1 : 35; +#else + uint64_t reserved1 : 35; + uint64_t pull_start : 26; + uint64_t pull_oci_region : 3; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbslbrn_t; + + + +typedef union ocb_ocbslcsn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pull_full : 1; + uint64_t pull_empty : 1; + uint64_t spare : 2; + uint64_t pull_intr_action : 2; + uint64_t pull_length : 5; + uint64_t reserved1 : 2; + uint64_t pull_write_ptr : 5; + uint64_t reserved2 : 3; + uint64_t pull_read_ptr : 5; + uint64_t reserved3 : 5; + uint64_t pull_enable : 1; + uint64_t reserved4 : 32; +#else + uint64_t reserved4 : 32; + uint64_t pull_enable : 1; + uint64_t reserved3 : 5; + uint64_t pull_read_ptr : 5; + uint64_t reserved2 : 3; + uint64_t pull_write_ptr : 5; + uint64_t reserved1 : 2; + uint64_t pull_length : 5; + uint64_t pull_intr_action : 2; + uint64_t spare : 2; + uint64_t pull_empty : 1; + uint64_t pull_full : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbslcsn_t; + + + +typedef union ocb_ocbslin +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 64; +#else + uint64_t reserved1 : 64; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbslin_t; + + + +typedef union ocb_ocbshbrn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t push_oci_region : 3; + uint64_t push_start : 26; + uint64_t reserved1 : 35; +#else + uint64_t reserved1 : 35; + uint64_t push_start : 26; + uint64_t push_oci_region : 3; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbshbrn_t; + + + +typedef union ocb_ocbshcsn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t push_full : 1; + uint64_t push_empty : 1; + uint64_t spare : 2; + uint64_t push_intr_action : 2; + uint64_t push_length : 5; + uint64_t reserved1 : 2; + uint64_t push_write_ptr : 5; + uint64_t reserved2 : 3; + uint64_t push_read_ptr : 5; + uint64_t reserved3 : 5; + uint64_t push_enable : 1; + uint64_t reserved4 : 32; +#else + uint64_t reserved4 : 32; + uint64_t push_enable : 1; + uint64_t reserved3 : 5; + uint64_t push_read_ptr : 5; + uint64_t reserved2 : 3; + uint64_t push_write_ptr : 5; + uint64_t reserved1 : 2; + uint64_t push_length : 5; + uint64_t push_intr_action : 2; + uint64_t spare : 2; + uint64_t push_empty : 1; + uint64_t push_full : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbshcsn_t; + + + +typedef union ocb_ocbshin +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 64; +#else + uint64_t reserved1 : 64; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbshin_t; + + + +typedef union ocb_ocbsesn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t push_read_underflow : 1; + uint64_t pull_write_overflow : 1; + uint64_t reserved1 : 62; +#else + uint64_t reserved1 : 62; + uint64_t pull_write_overflow : 1; + uint64_t push_read_underflow : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbsesn_t; + + + +typedef union ocb_ocblwcrn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t linear_window_enable : 1; + uint64_t spare_0 : 2; + uint64_t linear_window_bar : 17; + uint64_t linear_window_mask : 12; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t linear_window_mask : 12; + uint64_t linear_window_bar : 17; + uint64_t spare_0 : 2; + uint64_t linear_window_enable : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocblwcrn_t; + + + +typedef union ocb_ocblwsrn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t linear_window_scresp : 3; + uint64_t spare0 : 5; + uint64_t reserved1 : 56; +#else + uint64_t reserved1 : 56; + uint64_t spare0 : 5; + uint64_t linear_window_scresp : 3; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocblwsrn_t; + + + +typedef union ocb_ocblwsbrn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t linear_window_region : 3; + uint64_t linear_window_base : 7; + uint64_t reserved1 : 54; +#else + uint64_t reserved1 : 54; + uint64_t linear_window_base : 7; + uint64_t linear_window_region : 3; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocblwsbrn_t; + + + +typedef union ocb_opit0cn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_core_n : 10; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t pcb_intr_type_a_core_n : 10; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit0cn_t; + + + +typedef union ocb_opit1cn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_core_n : 10; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t pcb_intr_type_a_core_n : 10; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit1cn_t; + + + +typedef union ocb_opit2cn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_core_n : 10; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t pcb_intr_type_a_core_n : 10; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit2cn_t; + + + +typedef union ocb_opit3cn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_core_n : 10; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t pcb_intr_type_a_core_n : 10; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit3cn_t; + + + +typedef union ocb_opit4cn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_core_n : 10; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t pcb_intr_type_a_core_n : 10; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit4cn_t; + + + +typedef union ocb_opit5cn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_core_n : 10; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t pcb_intr_type_a_core_n : 10; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit5cn_t; + + + +typedef union ocb_opit6xn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_quad_n : 4; + uint64_t reserved2 : 6; + uint64_t reserved3 : 32; +#else + uint64_t reserved3 : 32; + uint64_t reserved2 : 6; + uint64_t pcb_intr_type_a_quad_n : 4; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit6xn_t; + + + +typedef union ocb_opit7xn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_quad_n : 1; + uint64_t reserved2 : 9; + uint64_t reserved3 : 32; +#else + uint64_t reserved3 : 32; + uint64_t reserved2 : 9; + uint64_t pcb_intr_type_a_quad_n : 1; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit7xn_t; + + + +typedef union ocb_opit0cnrp +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_reset_core_n : 10; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t pcb_intr_type_a_reset_core_n : 10; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit0cnrp_t; + + + +typedef union ocb_opit1cnrp +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_reset_core_n : 10; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t pcb_intr_type_a_reset_core_n : 10; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit1cnrp_t; + + + +typedef union ocb_opit2cnrp +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_reset_core_n : 10; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t pcb_intr_type_a_reset_core_n : 10; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit2cnrp_t; + + + +typedef union ocb_opit3cnrp +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_reset_core_n : 10; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t pcb_intr_type_a_reset_core_n : 10; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit3cnrp_t; + + + +typedef union ocb_opit4cnrp +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_reset_core_n : 10; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t pcb_intr_type_a_reset_core_n : 10; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit4cnrp_t; + + + +typedef union ocb_opit5cnrp +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_reset_core_n : 10; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t pcb_intr_type_a_reset_core_n : 10; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit5cnrp_t; + + + +typedef union ocb_opit6xnrp +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_reset_quad_n : 4; + uint64_t reserved2 : 6; + uint64_t reserved3 : 32; +#else + uint64_t reserved3 : 32; + uint64_t reserved2 : 6; + uint64_t pcb_intr_type_a_reset_quad_n : 4; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit6xnrp_t; + + + +typedef union ocb_opit7xnrp +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 22; + uint64_t pcb_intr_type_a_reset_quad_n : 1; + uint64_t reserved2 : 9; + uint64_t reserved3 : 32; +#else + uint64_t reserved3 : 32; + uint64_t reserved2 : 9; + uint64_t pcb_intr_type_a_reset_quad_n : 1; + uint64_t reserved1 : 22; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit7xnrp_t; + + + +typedef union ocb_opitnpra +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pcb_intr_type_n_pending_0 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t pcb_intr_type_n_pending_6 : 1; + uint64_t pcb_intr_type_n_pending_7 : 1; + uint64_t pcb_intr_type_n_pending_8 : 1; + uint64_t pcb_intr_type_n_pending_9 : 1; + uint64_t pcb_intr_type_n_pending_10 : 1; + uint64_t pcb_intr_type_n_pending_11 : 1; + uint64_t pcb_intr_type_n_pending_12 : 1; + uint64_t pcb_intr_type_n_pending_13 : 1; + uint64_t pcb_intr_type_n_pending_14 : 1; + uint64_t pcb_intr_type_n_pending_15 : 1; + uint64_t pcb_intr_type_n_pending_16 : 1; + uint64_t pcb_intr_type_n_pending_17 : 1; + uint64_t pcb_intr_type_n_pending_18 : 1; + uint64_t pcb_intr_type_n_pending_19 : 1; + uint64_t pcb_intr_type_n_pending_20 : 1; + uint64_t pcb_intr_type_n_pending_21 : 1; + uint64_t pcb_intr_type_n_pending_22 : 1; + uint64_t pcb_intr_type_n_pending_23 : 1; + uint64_t reserved1 : 8; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t reserved1 : 8; + uint64_t pcb_intr_type_n_pending_23 : 1; + uint64_t pcb_intr_type_n_pending_22 : 1; + uint64_t pcb_intr_type_n_pending_21 : 1; + uint64_t pcb_intr_type_n_pending_20 : 1; + uint64_t pcb_intr_type_n_pending_19 : 1; + uint64_t pcb_intr_type_n_pending_18 : 1; + uint64_t pcb_intr_type_n_pending_17 : 1; + uint64_t pcb_intr_type_n_pending_16 : 1; + uint64_t pcb_intr_type_n_pending_15 : 1; + uint64_t pcb_intr_type_n_pending_14 : 1; + uint64_t pcb_intr_type_n_pending_13 : 1; + uint64_t pcb_intr_type_n_pending_12 : 1; + uint64_t pcb_intr_type_n_pending_11 : 1; + uint64_t pcb_intr_type_n_pending_10 : 1; + uint64_t pcb_intr_type_n_pending_9 : 1; + uint64_t pcb_intr_type_n_pending_8 : 1; + uint64_t pcb_intr_type_n_pending_7 : 1; + uint64_t pcb_intr_type_n_pending_6 : 1; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_opitnpra_t; + + + +typedef union ocb_opitnpra_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pcb_intr_type_n_pending_0 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t pcb_intr_type_n_pending_6 : 1; + uint64_t pcb_intr_type_n_pending_7 : 1; + uint64_t pcb_intr_type_n_pending_8 : 1; + uint64_t pcb_intr_type_n_pending_9 : 1; + uint64_t pcb_intr_type_n_pending_10 : 1; + uint64_t pcb_intr_type_n_pending_11 : 1; + uint64_t pcb_intr_type_n_pending_12 : 1; + uint64_t pcb_intr_type_n_pending_13 : 1; + uint64_t pcb_intr_type_n_pending_14 : 1; + uint64_t pcb_intr_type_n_pending_15 : 1; + uint64_t pcb_intr_type_n_pending_16 : 1; + uint64_t pcb_intr_type_n_pending_17 : 1; + uint64_t pcb_intr_type_n_pending_18 : 1; + uint64_t pcb_intr_type_n_pending_19 : 1; + uint64_t pcb_intr_type_n_pending_20 : 1; + uint64_t pcb_intr_type_n_pending_21 : 1; + uint64_t pcb_intr_type_n_pending_22 : 1; + uint64_t pcb_intr_type_n_pending_23 : 1; + uint64_t reserved1 : 8; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t reserved1 : 8; + uint64_t pcb_intr_type_n_pending_23 : 1; + uint64_t pcb_intr_type_n_pending_22 : 1; + uint64_t pcb_intr_type_n_pending_21 : 1; + uint64_t pcb_intr_type_n_pending_20 : 1; + uint64_t pcb_intr_type_n_pending_19 : 1; + uint64_t pcb_intr_type_n_pending_18 : 1; + uint64_t pcb_intr_type_n_pending_17 : 1; + uint64_t pcb_intr_type_n_pending_16 : 1; + uint64_t pcb_intr_type_n_pending_15 : 1; + uint64_t pcb_intr_type_n_pending_14 : 1; + uint64_t pcb_intr_type_n_pending_13 : 1; + uint64_t pcb_intr_type_n_pending_12 : 1; + uint64_t pcb_intr_type_n_pending_11 : 1; + uint64_t pcb_intr_type_n_pending_10 : 1; + uint64_t pcb_intr_type_n_pending_9 : 1; + uint64_t pcb_intr_type_n_pending_8 : 1; + uint64_t pcb_intr_type_n_pending_7 : 1; + uint64_t pcb_intr_type_n_pending_6 : 1; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_opitnpra_clr_t; + + + +typedef union ocb_opitnpra_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pcb_intr_type_n_pending_0 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t pcb_intr_type_n_pending_6 : 1; + uint64_t pcb_intr_type_n_pending_7 : 1; + uint64_t pcb_intr_type_n_pending_8 : 1; + uint64_t pcb_intr_type_n_pending_9 : 1; + uint64_t pcb_intr_type_n_pending_10 : 1; + uint64_t pcb_intr_type_n_pending_11 : 1; + uint64_t pcb_intr_type_n_pending_12 : 1; + uint64_t pcb_intr_type_n_pending_13 : 1; + uint64_t pcb_intr_type_n_pending_14 : 1; + uint64_t pcb_intr_type_n_pending_15 : 1; + uint64_t pcb_intr_type_n_pending_16 : 1; + uint64_t pcb_intr_type_n_pending_17 : 1; + uint64_t pcb_intr_type_n_pending_18 : 1; + uint64_t pcb_intr_type_n_pending_19 : 1; + uint64_t pcb_intr_type_n_pending_20 : 1; + uint64_t pcb_intr_type_n_pending_21 : 1; + uint64_t pcb_intr_type_n_pending_22 : 1; + uint64_t pcb_intr_type_n_pending_23 : 1; + uint64_t reserved1 : 8; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t reserved1 : 8; + uint64_t pcb_intr_type_n_pending_23 : 1; + uint64_t pcb_intr_type_n_pending_22 : 1; + uint64_t pcb_intr_type_n_pending_21 : 1; + uint64_t pcb_intr_type_n_pending_20 : 1; + uint64_t pcb_intr_type_n_pending_19 : 1; + uint64_t pcb_intr_type_n_pending_18 : 1; + uint64_t pcb_intr_type_n_pending_17 : 1; + uint64_t pcb_intr_type_n_pending_16 : 1; + uint64_t pcb_intr_type_n_pending_15 : 1; + uint64_t pcb_intr_type_n_pending_14 : 1; + uint64_t pcb_intr_type_n_pending_13 : 1; + uint64_t pcb_intr_type_n_pending_12 : 1; + uint64_t pcb_intr_type_n_pending_11 : 1; + uint64_t pcb_intr_type_n_pending_10 : 1; + uint64_t pcb_intr_type_n_pending_9 : 1; + uint64_t pcb_intr_type_n_pending_8 : 1; + uint64_t pcb_intr_type_n_pending_7 : 1; + uint64_t pcb_intr_type_n_pending_6 : 1; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_opitnpra_or_t; + + + +typedef union ocb_opit6prb +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pcb_intr_type_n_pending_0 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t reserved1 : 26; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t reserved1 : 26; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit6prb_t; + + + +typedef union ocb_opit6prb_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pcb_intr_type_n_pending_0 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t reserved1 : 26; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t reserved1 : 26; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit6prb_clr_t; + + + +typedef union ocb_opit6prb_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pcb_intr_type_n_pending_0 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t reserved1 : 26; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t reserved1 : 26; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit6prb_or_t; + + + +typedef union ocb_opit7prb +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pcb_intr_type_n_pending_0 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t reserved1 : 26; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t reserved1 : 26; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit7prb_t; + + + +typedef union ocb_opit7prb_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pcb_intr_type_n_pending_0 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t reserved1 : 26; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t reserved1 : 26; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit7prb_clr_t; + + + +typedef union ocb_opit7prb_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pcb_intr_type_n_pending_0 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t reserved1 : 26; + uint64_t reserved2 : 32; +#else + uint64_t reserved2 : 32; + uint64_t reserved1 : 26; + uint64_t pcb_intr_type_n_pending_5 : 1; + uint64_t pcb_intr_type_n_pending_4 : 1; + uint64_t pcb_intr_type_n_pending_3 : 1; + uint64_t pcb_intr_type_n_pending_2 : 1; + uint64_t pcb_intr_type_n_pending_1 : 1; + uint64_t pcb_intr_type_n_pending_0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_opit7prb_or_t; + + + +typedef union ocb_o2sctrlf0a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_frame_size_an : 6; + uint64_t o2s_out_count1_an : 6; + uint64_t o2s_in_delay1_an : 6; + uint64_t o2s_in_count1_an : 6; + uint64_t reserved1 : 40; +#else + uint64_t reserved1 : 40; + uint64_t o2s_in_count1_an : 6; + uint64_t o2s_in_delay1_an : 6; + uint64_t o2s_out_count1_an : 6; + uint64_t o2s_frame_size_an : 6; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrlf0a_t; + + + +typedef union ocb_o2sctrls0a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_out_count2_an : 6; + uint64_t o2s_in_delay2_an : 6; + uint64_t o2s_in_count2_an : 6; + uint64_t reserved1 : 46; +#else + uint64_t reserved1 : 46; + uint64_t o2s_in_count2_an : 6; + uint64_t o2s_in_delay2_an : 6; + uint64_t o2s_out_count2_an : 6; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrls0a_t; + + + +typedef union ocb_o2sctrl10a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_bridge_enable_an : 1; + uint64_t o2sctrl1an_reserved_1 : 1; + uint64_t o2s_cpol_an : 1; + uint64_t o2s_cpha_an : 1; + uint64_t o2s_clock_divider_an : 10; + uint64_t o2sctrl1an_reserved_14_16 : 3; + uint64_t o2s_nr_of_frames_an : 1; + uint64_t reserved1 : 46; +#else + uint64_t reserved1 : 46; + uint64_t o2s_nr_of_frames_an : 1; + uint64_t o2sctrl1an_reserved_14_16 : 3; + uint64_t o2s_clock_divider_an : 10; + uint64_t o2s_cpha_an : 1; + uint64_t o2s_cpol_an : 1; + uint64_t o2sctrl1an_reserved_1 : 1; + uint64_t o2s_bridge_enable_an : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrl10a_t; + + + +typedef union ocb_o2sctrl20a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_inter_frame_delay_an : 17; + uint64_t reserved1 : 47; +#else + uint64_t reserved1 : 47; + uint64_t o2s_inter_frame_delay_an : 17; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrl20a_t; + + + +typedef union ocb_o2sst0a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_ongoing_an : 1; + uint64_t o2sstan_reserved_1_4 : 4; + uint64_t o2s_write_while_bridge_busy_err_an : 1; + uint64_t o2sstan_reserved_6 : 1; + uint64_t o2s_fsm_err_an : 1; + uint64_t reserved1 : 56; +#else + uint64_t reserved1 : 56; + uint64_t o2s_fsm_err_an : 1; + uint64_t o2sstan_reserved_6 : 1; + uint64_t o2s_write_while_bridge_busy_err_an : 1; + uint64_t o2sstan_reserved_1_4 : 4; + uint64_t o2s_ongoing_an : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sst0a_t; + + + +typedef union ocb_o2scmd0a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2scmdan_reserved_0 : 1; + uint64_t o2s_clear_sticky_bits_an : 1; + uint64_t reserved1 : 62; +#else + uint64_t reserved1 : 62; + uint64_t o2s_clear_sticky_bits_an : 1; + uint64_t o2scmdan_reserved_0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2scmd0a_t; + + + +typedef union ocb_o2swd0a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_wdata_an : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t o2s_wdata_an : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2swd0a_t; + + + +typedef union ocb_o2srd0a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_rdata_an : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t o2s_rdata_an : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2srd0a_t; + + + +typedef union ocb_o2sctrlf0b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_frame_size_an : 6; + uint64_t o2s_out_count1_an : 6; + uint64_t o2s_in_delay1_an : 6; + uint64_t o2s_in_count1_an : 6; + uint64_t reserved1 : 40; +#else + uint64_t reserved1 : 40; + uint64_t o2s_in_count1_an : 6; + uint64_t o2s_in_delay1_an : 6; + uint64_t o2s_out_count1_an : 6; + uint64_t o2s_frame_size_an : 6; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrlf0b_t; + + + +typedef union ocb_o2sctrls0b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_out_count2_an : 6; + uint64_t o2s_in_delay2_an : 6; + uint64_t o2s_in_count2_an : 6; + uint64_t reserved1 : 46; +#else + uint64_t reserved1 : 46; + uint64_t o2s_in_count2_an : 6; + uint64_t o2s_in_delay2_an : 6; + uint64_t o2s_out_count2_an : 6; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrls0b_t; + + + +typedef union ocb_o2sctrl10b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_bridge_enable_an : 1; + uint64_t o2sctrl1an_reserved_1 : 1; + uint64_t o2s_cpol_an : 1; + uint64_t o2s_cpha_an : 1; + uint64_t o2s_clock_divider_an : 10; + uint64_t o2sctrl1an_reserved_14_16 : 3; + uint64_t o2s_nr_of_frames_an : 1; + uint64_t reserved1 : 46; +#else + uint64_t reserved1 : 46; + uint64_t o2s_nr_of_frames_an : 1; + uint64_t o2sctrl1an_reserved_14_16 : 3; + uint64_t o2s_clock_divider_an : 10; + uint64_t o2s_cpha_an : 1; + uint64_t o2s_cpol_an : 1; + uint64_t o2sctrl1an_reserved_1 : 1; + uint64_t o2s_bridge_enable_an : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrl10b_t; + + + +typedef union ocb_o2sctrl20b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_inter_frame_delay_an : 17; + uint64_t reserved1 : 47; +#else + uint64_t reserved1 : 47; + uint64_t o2s_inter_frame_delay_an : 17; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrl20b_t; + + + +typedef union ocb_o2sst0b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_ongoing_an : 1; + uint64_t o2sstan_reserved_1_4 : 4; + uint64_t o2s_write_while_bridge_busy_err_an : 1; + uint64_t o2sstan_reserved_6 : 1; + uint64_t o2s_fsm_err_an : 1; + uint64_t reserved1 : 56; +#else + uint64_t reserved1 : 56; + uint64_t o2s_fsm_err_an : 1; + uint64_t o2sstan_reserved_6 : 1; + uint64_t o2s_write_while_bridge_busy_err_an : 1; + uint64_t o2sstan_reserved_1_4 : 4; + uint64_t o2s_ongoing_an : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sst0b_t; + + + +typedef union ocb_o2scmd0b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2scmdan_reserved_0 : 1; + uint64_t o2s_clear_sticky_bits_an : 1; + uint64_t reserved1 : 62; +#else + uint64_t reserved1 : 62; + uint64_t o2s_clear_sticky_bits_an : 1; + uint64_t o2scmdan_reserved_0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2scmd0b_t; + + + +typedef union ocb_o2swd0b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_wdata_an : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t o2s_wdata_an : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2swd0b_t; + + + +typedef union ocb_o2srd0b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_rdata_an : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t o2s_rdata_an : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2srd0b_t; + + + +typedef union ocb_o2sctrlf1a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_frame_size_an : 6; + uint64_t o2s_out_count1_an : 6; + uint64_t o2s_in_delay1_an : 6; + uint64_t o2s_in_count1_an : 6; + uint64_t reserved1 : 40; +#else + uint64_t reserved1 : 40; + uint64_t o2s_in_count1_an : 6; + uint64_t o2s_in_delay1_an : 6; + uint64_t o2s_out_count1_an : 6; + uint64_t o2s_frame_size_an : 6; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrlf1a_t; + + + +typedef union ocb_o2sctrls1a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_out_count2_an : 6; + uint64_t o2s_in_delay2_an : 6; + uint64_t o2s_in_count2_an : 6; + uint64_t reserved1 : 46; +#else + uint64_t reserved1 : 46; + uint64_t o2s_in_count2_an : 6; + uint64_t o2s_in_delay2_an : 6; + uint64_t o2s_out_count2_an : 6; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrls1a_t; + + + +typedef union ocb_o2sctrl11a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_bridge_enable_an : 1; + uint64_t o2sctrl1an_reserved_1 : 1; + uint64_t o2s_cpol_an : 1; + uint64_t o2s_cpha_an : 1; + uint64_t o2s_clock_divider_an : 10; + uint64_t o2sctrl1an_reserved_14_16 : 3; + uint64_t o2s_nr_of_frames_an : 1; + uint64_t reserved1 : 46; +#else + uint64_t reserved1 : 46; + uint64_t o2s_nr_of_frames_an : 1; + uint64_t o2sctrl1an_reserved_14_16 : 3; + uint64_t o2s_clock_divider_an : 10; + uint64_t o2s_cpha_an : 1; + uint64_t o2s_cpol_an : 1; + uint64_t o2sctrl1an_reserved_1 : 1; + uint64_t o2s_bridge_enable_an : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrl11a_t; + + + +typedef union ocb_o2sctrl21a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_inter_frame_delay_an : 17; + uint64_t reserved1 : 47; +#else + uint64_t reserved1 : 47; + uint64_t o2s_inter_frame_delay_an : 17; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrl21a_t; + + + +typedef union ocb_o2sst1a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_ongoing_an : 1; + uint64_t o2sstan_reserved_1_4 : 4; + uint64_t o2s_write_while_bridge_busy_err_an : 1; + uint64_t o2sstan_reserved_6 : 1; + uint64_t o2s_fsm_err_an : 1; + uint64_t reserved1 : 56; +#else + uint64_t reserved1 : 56; + uint64_t o2s_fsm_err_an : 1; + uint64_t o2sstan_reserved_6 : 1; + uint64_t o2s_write_while_bridge_busy_err_an : 1; + uint64_t o2sstan_reserved_1_4 : 4; + uint64_t o2s_ongoing_an : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sst1a_t; + + + +typedef union ocb_o2scmd1a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2scmdan_reserved_0 : 1; + uint64_t o2s_clear_sticky_bits_an : 1; + uint64_t reserved1 : 62; +#else + uint64_t reserved1 : 62; + uint64_t o2s_clear_sticky_bits_an : 1; + uint64_t o2scmdan_reserved_0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2scmd1a_t; + + + +typedef union ocb_o2swd1a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_wdata_an : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t o2s_wdata_an : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2swd1a_t; + + + +typedef union ocb_o2srd1a +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_rdata_an : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t o2s_rdata_an : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2srd1a_t; + + + +typedef union ocb_o2sctrlf1b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_frame_size_an : 6; + uint64_t o2s_out_count1_an : 6; + uint64_t o2s_in_delay1_an : 6; + uint64_t o2s_in_count1_an : 6; + uint64_t reserved1 : 40; +#else + uint64_t reserved1 : 40; + uint64_t o2s_in_count1_an : 6; + uint64_t o2s_in_delay1_an : 6; + uint64_t o2s_out_count1_an : 6; + uint64_t o2s_frame_size_an : 6; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrlf1b_t; + + + +typedef union ocb_o2sctrls1b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_out_count2_an : 6; + uint64_t o2s_in_delay2_an : 6; + uint64_t o2s_in_count2_an : 6; + uint64_t reserved1 : 46; +#else + uint64_t reserved1 : 46; + uint64_t o2s_in_count2_an : 6; + uint64_t o2s_in_delay2_an : 6; + uint64_t o2s_out_count2_an : 6; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrls1b_t; + + + +typedef union ocb_o2sctrl11b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_bridge_enable_an : 1; + uint64_t o2sctrl1an_reserved_1 : 1; + uint64_t o2s_cpol_an : 1; + uint64_t o2s_cpha_an : 1; + uint64_t o2s_clock_divider_an : 10; + uint64_t o2sctrl1an_reserved_14_16 : 3; + uint64_t o2s_nr_of_frames_an : 1; + uint64_t reserved1 : 46; +#else + uint64_t reserved1 : 46; + uint64_t o2s_nr_of_frames_an : 1; + uint64_t o2sctrl1an_reserved_14_16 : 3; + uint64_t o2s_clock_divider_an : 10; + uint64_t o2s_cpha_an : 1; + uint64_t o2s_cpol_an : 1; + uint64_t o2sctrl1an_reserved_1 : 1; + uint64_t o2s_bridge_enable_an : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrl11b_t; + + + +typedef union ocb_o2sctrl21b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_inter_frame_delay_an : 17; + uint64_t reserved1 : 47; +#else + uint64_t reserved1 : 47; + uint64_t o2s_inter_frame_delay_an : 17; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sctrl21b_t; + + + +typedef union ocb_o2sst1b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_ongoing_an : 1; + uint64_t o2sstan_reserved_1_4 : 4; + uint64_t o2s_write_while_bridge_busy_err_an : 1; + uint64_t o2sstan_reserved_6 : 1; + uint64_t o2s_fsm_err_an : 1; + uint64_t reserved1 : 56; +#else + uint64_t reserved1 : 56; + uint64_t o2s_fsm_err_an : 1; + uint64_t o2sstan_reserved_6 : 1; + uint64_t o2s_write_while_bridge_busy_err_an : 1; + uint64_t o2sstan_reserved_1_4 : 4; + uint64_t o2s_ongoing_an : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2sst1b_t; + + + +typedef union ocb_o2scmd1b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2scmdan_reserved_0 : 1; + uint64_t o2s_clear_sticky_bits_an : 1; + uint64_t reserved1 : 62; +#else + uint64_t reserved1 : 62; + uint64_t o2s_clear_sticky_bits_an : 1; + uint64_t o2scmdan_reserved_0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2scmd1b_t; + + + +typedef union ocb_o2swd1b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_wdata_an : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t o2s_wdata_an : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2swd1b_t; + + + +typedef union ocb_o2srd1b +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t o2s_rdata_an : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t o2s_rdata_an : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_o2srd1b_t; + + + +typedef union ocb_ocr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t core_reset : 1; + uint64_t chip_reset : 1; + uint64_t system_reset : 1; + uint64_t oci_arb_reset : 1; + uint64_t trace_disable : 1; + uint64_t trace_event : 1; + uint64_t dbg_unconditional_event : 1; + uint64_t ext_interrupt : 1; + uint64_t critical_interrupt : 1; + uint64_t pib_slave_reset_to_405_enable : 1; + uint64_t ocr_dbg_halt : 1; + uint64_t spare : 5; + uint64_t reserved1 : 48; +#else + uint64_t reserved1 : 48; + uint64_t spare : 5; + uint64_t ocr_dbg_halt : 1; + uint64_t pib_slave_reset_to_405_enable : 1; + uint64_t critical_interrupt : 1; + uint64_t ext_interrupt : 1; + uint64_t dbg_unconditional_event : 1; + uint64_t trace_event : 1; + uint64_t trace_disable : 1; + uint64_t oci_arb_reset : 1; + uint64_t system_reset : 1; + uint64_t chip_reset : 1; + uint64_t core_reset : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocr_t; + + + +typedef union ocb_ocr_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t core_reset : 1; + uint64_t chip_reset : 1; + uint64_t system_reset : 1; + uint64_t oci_arb_reset : 1; + uint64_t trace_disable : 1; + uint64_t trace_event : 1; + uint64_t dbg_unconditional_event : 1; + uint64_t ext_interrupt : 1; + uint64_t critical_interrupt : 1; + uint64_t pib_slave_reset_to_405_enable : 1; + uint64_t ocr_dbg_halt : 1; + uint64_t spare : 5; + uint64_t reserved1 : 48; +#else + uint64_t reserved1 : 48; + uint64_t spare : 5; + uint64_t ocr_dbg_halt : 1; + uint64_t pib_slave_reset_to_405_enable : 1; + uint64_t critical_interrupt : 1; + uint64_t ext_interrupt : 1; + uint64_t dbg_unconditional_event : 1; + uint64_t trace_event : 1; + uint64_t trace_disable : 1; + uint64_t oci_arb_reset : 1; + uint64_t system_reset : 1; + uint64_t chip_reset : 1; + uint64_t core_reset : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocr_clr_t; + + + +typedef union ocb_ocr_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t core_reset : 1; + uint64_t chip_reset : 1; + uint64_t system_reset : 1; + uint64_t oci_arb_reset : 1; + uint64_t trace_disable : 1; + uint64_t trace_event : 1; + uint64_t dbg_unconditional_event : 1; + uint64_t ext_interrupt : 1; + uint64_t critical_interrupt : 1; + uint64_t pib_slave_reset_to_405_enable : 1; + uint64_t ocr_dbg_halt : 1; + uint64_t spare : 5; + uint64_t reserved1 : 48; +#else + uint64_t reserved1 : 48; + uint64_t spare : 5; + uint64_t ocr_dbg_halt : 1; + uint64_t pib_slave_reset_to_405_enable : 1; + uint64_t critical_interrupt : 1; + uint64_t ext_interrupt : 1; + uint64_t dbg_unconditional_event : 1; + uint64_t trace_event : 1; + uint64_t trace_disable : 1; + uint64_t oci_arb_reset : 1; + uint64_t system_reset : 1; + uint64_t chip_reset : 1; + uint64_t core_reset : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocr_or_t; + + + +typedef union ocb_ocdbg +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t mst_dis_abusparen : 1; + uint64_t mst_dis_beparen : 1; + uint64_t mst_dis_wrdbusparen : 1; + uint64_t mst_dis_rddbuspar : 1; + uint64_t mst_spare : 1; + uint64_t slv_dis_sack : 1; + uint64_t slv_dis_abuspar : 1; + uint64_t slv_dis_bepar : 1; + uint64_t slv_dis_be : 1; + uint64_t slv_dis_wrdbuspar : 1; + uint64_t slv_dis_rddbusparen : 1; + uint64_t slv_spare : 1; + uint64_t spare : 4; + uint64_t reserved1 : 48; +#else + uint64_t reserved1 : 48; + uint64_t spare : 4; + uint64_t slv_spare : 1; + uint64_t slv_dis_rddbusparen : 1; + uint64_t slv_dis_wrdbuspar : 1; + uint64_t slv_dis_be : 1; + uint64_t slv_dis_bepar : 1; + uint64_t slv_dis_abuspar : 1; + uint64_t slv_dis_sack : 1; + uint64_t mst_spare : 1; + uint64_t mst_dis_rddbuspar : 1; + uint64_t mst_dis_wrdbusparen : 1; + uint64_t mst_dis_beparen : 1; + uint64_t mst_dis_abusparen : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocdbg_t; + + + +typedef union ocb_ojcfg +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t jtag_src_sel : 1; + uint64_t run_tck : 1; + uint64_t tck_width : 3; + uint64_t jtag_trst_b : 1; + uint64_t dbg_halt : 1; + uint64_t reserved1 : 57; +#else + uint64_t reserved1 : 57; + uint64_t dbg_halt : 1; + uint64_t jtag_trst_b : 1; + uint64_t tck_width : 3; + uint64_t run_tck : 1; + uint64_t jtag_src_sel : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ojcfg_t; + + + +typedef union ocb_ojcfg_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t jtag_src_sel : 1; + uint64_t run_tck : 1; + uint64_t tck_width : 3; + uint64_t jtag_trst_b : 1; + uint64_t dbg_halt : 1; + uint64_t reserved1 : 57; +#else + uint64_t reserved1 : 57; + uint64_t dbg_halt : 1; + uint64_t jtag_trst_b : 1; + uint64_t tck_width : 3; + uint64_t run_tck : 1; + uint64_t jtag_src_sel : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ojcfg_clr_t; + + + +typedef union ocb_ojcfg_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t jtag_src_sel : 1; + uint64_t run_tck : 1; + uint64_t tck_width : 3; + uint64_t jtag_trst_b : 1; + uint64_t dbg_halt : 1; + uint64_t reserved1 : 57; +#else + uint64_t reserved1 : 57; + uint64_t dbg_halt : 1; + uint64_t jtag_trst_b : 1; + uint64_t tck_width : 3; + uint64_t run_tck : 1; + uint64_t jtag_src_sel : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ojcfg_or_t; + + + +typedef union ocb_ojfrst +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t reserved1 : 64; +#else + uint64_t reserved1 : 64; +#endif // _BIG_ENDIAN + } fields; +} ocb_ojfrst_t; + + + +typedef union ocb_ojic +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t start_jtag_cmd : 1; + uint64_t do_ir : 1; + uint64_t do_dr : 1; + uint64_t do_tap_reset : 1; + uint64_t wr_valid : 1; + uint64_t reserved1 : 7; + uint64_t jtag_instr : 4; + uint64_t reserved2 : 48; +#else + uint64_t reserved2 : 48; + uint64_t jtag_instr : 4; + uint64_t reserved1 : 7; + uint64_t wr_valid : 1; + uint64_t do_tap_reset : 1; + uint64_t do_dr : 1; + uint64_t do_ir : 1; + uint64_t start_jtag_cmd : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ojic_t; + + + +typedef union ocb_ojic_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t start_jtag_cmd : 1; + uint64_t do_ir : 1; + uint64_t do_dr : 1; + uint64_t do_tap_reset : 1; + uint64_t wr_valid : 1; + uint64_t reserved1 : 7; + uint64_t jtag_instr : 4; + uint64_t reserved2 : 48; +#else + uint64_t reserved2 : 48; + uint64_t jtag_instr : 4; + uint64_t reserved1 : 7; + uint64_t wr_valid : 1; + uint64_t do_tap_reset : 1; + uint64_t do_dr : 1; + uint64_t do_ir : 1; + uint64_t start_jtag_cmd : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ojic_clr_t; + + + +typedef union ocb_ojic_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t start_jtag_cmd : 1; + uint64_t do_ir : 1; + uint64_t do_dr : 1; + uint64_t do_tap_reset : 1; + uint64_t wr_valid : 1; + uint64_t reserved1 : 7; + uint64_t jtag_instr : 4; + uint64_t reserved2 : 48; +#else + uint64_t reserved2 : 48; + uint64_t jtag_instr : 4; + uint64_t reserved1 : 7; + uint64_t wr_valid : 1; + uint64_t do_tap_reset : 1; + uint64_t do_dr : 1; + uint64_t do_ir : 1; + uint64_t start_jtag_cmd : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ojic_or_t; + + + +typedef union ocb_ojstat +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t jtag_inprog : 1; + uint64_t src_sel_eq1_err : 1; + uint64_t run_tck_eq0_err : 1; + uint64_t trst_b_eq0_err : 1; + uint64_t ir_dr_eq0_err : 1; + uint64_t inprog_wr_err : 1; + uint64_t fsm_error : 1; + uint64_t reserved1 : 57; +#else + uint64_t reserved1 : 57; + uint64_t fsm_error : 1; + uint64_t inprog_wr_err : 1; + uint64_t ir_dr_eq0_err : 1; + uint64_t trst_b_eq0_err : 1; + uint64_t run_tck_eq0_err : 1; + uint64_t src_sel_eq1_err : 1; + uint64_t jtag_inprog : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ojstat_t; + + + +typedef union ocb_ojtdi +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t jtag_tdi : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t jtag_tdi : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_ojtdi_t; + + + +typedef union ocb_ojtdo +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t jtag_tdo : 32; + uint64_t jtag_src_sel : 1; + uint64_t run_tck : 1; + uint64_t tck_width : 3; + uint64_t jtag_trst_b : 1; + uint64_t dbg_halt : 1; + uint64_t reserved1 : 1; + uint64_t jtag_inprog : 1; + uint64_t src_sel_eq1_err : 1; + uint64_t run_tck_eq0_err : 1; + uint64_t trst_b_eq0_err : 1; + uint64_t ir_dr_eq0_err : 1; + uint64_t inprog_wr_err : 1; + uint64_t fsm_error : 1; + uint64_t reserved2 : 2; + uint64_t do_ir : 1; + uint64_t do_dr : 1; + uint64_t do_tap_reset : 1; + uint64_t wr_valid : 1; + uint64_t reserved3 : 7; + uint64_t jtag_instr : 4; +#else + uint64_t jtag_instr : 4; + uint64_t reserved3 : 7; + uint64_t wr_valid : 1; + uint64_t do_tap_reset : 1; + uint64_t do_dr : 1; + uint64_t do_ir : 1; + uint64_t reserved2 : 2; + uint64_t fsm_error : 1; + uint64_t inprog_wr_err : 1; + uint64_t ir_dr_eq0_err : 1; + uint64_t trst_b_eq0_err : 1; + uint64_t run_tck_eq0_err : 1; + uint64_t src_sel_eq1_err : 1; + uint64_t jtag_inprog : 1; + uint64_t reserved1 : 1; + uint64_t dbg_halt : 1; + uint64_t jtag_trst_b : 1; + uint64_t tck_width : 3; + uint64_t run_tck : 1; + uint64_t jtag_src_sel : 1; + uint64_t jtag_tdo : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_ojtdo_t; + + + +typedef union ocb_ocbarn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t oci_region : 3; + uint64_t ocb_address : 26; + uint64_t reserved1 : 35; +#else + uint64_t reserved1 : 35; + uint64_t ocb_address : 26; + uint64_t oci_region : 3; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbarn_t; + + + +typedef union ocb_ocbcsrn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pull_read_underflow : 1; + uint64_t push_write_overflow : 1; + uint64_t pull_read_underflow_en : 1; + uint64_t push_write_overflow_en : 1; + uint64_t ocb_stream_mode : 1; + uint64_t ocb_stream_type : 1; + uint64_t spare0 : 2; + uint64_t ocb_oci_timeout : 1; + uint64_t ocb_oci_read_data_parity : 1; + uint64_t ocb_oci_slave_error : 1; + uint64_t ocb_pib_addr_parity_err : 1; + uint64_t ocb_pib_data_parity_err : 1; + uint64_t spare1 : 1; + uint64_t ocb_fsm_err : 1; + uint64_t spare2 : 1; + uint64_t reserved1 : 48; +#else + uint64_t reserved1 : 48; + uint64_t spare2 : 1; + uint64_t ocb_fsm_err : 1; + uint64_t spare1 : 1; + uint64_t ocb_pib_data_parity_err : 1; + uint64_t ocb_pib_addr_parity_err : 1; + uint64_t ocb_oci_slave_error : 1; + uint64_t ocb_oci_read_data_parity : 1; + uint64_t ocb_oci_timeout : 1; + uint64_t spare0 : 2; + uint64_t ocb_stream_type : 1; + uint64_t ocb_stream_mode : 1; + uint64_t push_write_overflow_en : 1; + uint64_t pull_read_underflow_en : 1; + uint64_t push_write_overflow : 1; + uint64_t pull_read_underflow : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbcsrn_t; + + + +typedef union ocb_ocbcsrn_clr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pull_read_underflow : 1; + uint64_t push_write_overflow : 1; + uint64_t pull_read_underflow_en : 1; + uint64_t push_write_overflow_en : 1; + uint64_t ocb_stream_mode : 1; + uint64_t ocb_stream_type : 1; + uint64_t spare0 : 2; + uint64_t ocb_oci_timeout : 1; + uint64_t ocb_oci_read_data_parity : 1; + uint64_t ocb_oci_slave_error : 1; + uint64_t ocb_pib_addr_parity_err : 1; + uint64_t ocb_pib_data_parity_err : 1; + uint64_t spare1 : 1; + uint64_t ocb_fsm_err : 1; + uint64_t spare2 : 1; + uint64_t reserved1 : 48; +#else + uint64_t reserved1 : 48; + uint64_t spare2 : 1; + uint64_t ocb_fsm_err : 1; + uint64_t spare1 : 1; + uint64_t ocb_pib_data_parity_err : 1; + uint64_t ocb_pib_addr_parity_err : 1; + uint64_t ocb_oci_slave_error : 1; + uint64_t ocb_oci_read_data_parity : 1; + uint64_t ocb_oci_timeout : 1; + uint64_t spare0 : 2; + uint64_t ocb_stream_type : 1; + uint64_t ocb_stream_mode : 1; + uint64_t push_write_overflow_en : 1; + uint64_t pull_read_underflow_en : 1; + uint64_t push_write_overflow : 1; + uint64_t pull_read_underflow : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbcsrn_clr_t; + + + +typedef union ocb_ocbcsrn_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t pull_read_underflow : 1; + uint64_t push_write_overflow : 1; + uint64_t pull_read_underflow_en : 1; + uint64_t push_write_overflow_en : 1; + uint64_t ocb_stream_mode : 1; + uint64_t ocb_stream_type : 1; + uint64_t spare0 : 2; + uint64_t ocb_oci_timeout : 1; + uint64_t ocb_oci_read_data_parity : 1; + uint64_t ocb_oci_slave_error : 1; + uint64_t ocb_pib_addr_parity_err : 1; + uint64_t ocb_pib_data_parity_err : 1; + uint64_t spare1 : 1; + uint64_t ocb_fsm_err : 1; + uint64_t spare2 : 1; + uint64_t reserved1 : 48; +#else + uint64_t reserved1 : 48; + uint64_t spare2 : 1; + uint64_t ocb_fsm_err : 1; + uint64_t spare1 : 1; + uint64_t ocb_pib_data_parity_err : 1; + uint64_t ocb_pib_addr_parity_err : 1; + uint64_t ocb_oci_slave_error : 1; + uint64_t ocb_oci_read_data_parity : 1; + uint64_t ocb_oci_timeout : 1; + uint64_t spare0 : 2; + uint64_t ocb_stream_type : 1; + uint64_t ocb_stream_mode : 1; + uint64_t push_write_overflow_en : 1; + uint64_t pull_read_underflow_en : 1; + uint64_t push_write_overflow : 1; + uint64_t pull_read_underflow : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbcsrn_or_t; + + + +typedef union ocb_ocbesrn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t ocb_error_addr : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t ocb_error_addr : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbesrn_t; + + + +typedef union ocb_ocbdrn +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t ocb_data : 64; +#else + uint64_t ocb_data : 64; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbdrn_t; + + + +typedef union ocb_otdcr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t trace_bus_en : 1; + uint64_t ocb_trace_mux_sel : 1; + uint64_t occ_trace_mux_sel : 2; + uint64_t oci_trace_mux_sel : 4; + uint64_t reserved1 : 56; +#else + uint64_t reserved1 : 56; + uint64_t oci_trace_mux_sel : 4; + uint64_t occ_trace_mux_sel : 2; + uint64_t ocb_trace_mux_sel : 1; + uint64_t trace_bus_en : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_otdcr_t; + + + +typedef union ocb_oppcinj +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t oci_err_inj_dcu : 1; + uint64_t oci_err_inj_icu : 1; + uint64_t oci_err_inj_ce_ue : 1; + uint64_t oci_err_inj_singl_cont : 1; + uint64_t reserved1 : 60; +#else + uint64_t reserved1 : 60; + uint64_t oci_err_inj_singl_cont : 1; + uint64_t oci_err_inj_ce_ue : 1; + uint64_t oci_err_inj_icu : 1; + uint64_t oci_err_inj_dcu : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_oppcinj_t; + + + +typedef union ocb_ostoear +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_spcl_timeout_addr : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t occ_spcl_timeout_addr : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_ostoear_t; + + + +typedef union ocb_ostoesr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t icu_timeout_error : 1; + uint64_t icu_rnw : 1; + uint64_t reserved1 : 2; + uint64_t dcu_timeout_error : 1; + uint64_t dcu_rnw : 1; + uint64_t reserved2 : 58; +#else + uint64_t reserved2 : 58; + uint64_t dcu_rnw : 1; + uint64_t dcu_timeout_error : 1; + uint64_t reserved1 : 2; + uint64_t icu_rnw : 1; + uint64_t icu_timeout_error : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_ostoesr_t; + + + +typedef union ocb_orev +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t oci_arb_revision : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t oci_arb_revision : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_orev_t; + + + +typedef union ocb_oesr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t oci_m0_timeout_error : 1; + uint64_t oci_m0_rw_status : 1; + uint64_t oci_m0_oesr_flck : 1; + uint64_t oci_m0_oear_lock : 1; + uint64_t oci_m1_timeout_error : 1; + uint64_t oci_m1_rw_status : 1; + uint64_t oci_m1_oesr_flck : 1; + uint64_t oci_m1_oear_lock : 1; + uint64_t oci_m2_timeout_error : 1; + uint64_t oci_m2_rw_status : 1; + uint64_t oci_m2_oesr_flck : 1; + uint64_t oci_m2_oear_lock : 1; + uint64_t oci_m3_timeout_error : 1; + uint64_t oci_m3_rw_status : 1; + uint64_t oci_m3_oesr_flck : 1; + uint64_t oci_m3_oear_lock : 1; + uint64_t oci_m4_timeout_error : 1; + uint64_t oci_m4_rw_status : 1; + uint64_t oci_m4_oesr_flck : 1; + uint64_t oci_m4_oear_lock : 1; + uint64_t oci_m5_timeout_error : 1; + uint64_t oci_m5_rw_status : 1; + uint64_t oci_m5_oesr_flck : 1; + uint64_t oci_m5_oear_lock : 1; + uint64_t oci_m6_timeout_error : 1; + uint64_t oci_m6_rw_status : 1; + uint64_t oci_m6_oesr_flck : 1; + uint64_t oci_m6_oear_lock : 1; + uint64_t oci_m7_timeout_error : 1; + uint64_t oci_m7_rw_status : 1; + uint64_t oci_m7_oesr_flck : 1; + uint64_t oci_m7_oear_lock : 1; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t oci_m7_oear_lock : 1; + uint64_t oci_m7_oesr_flck : 1; + uint64_t oci_m7_rw_status : 1; + uint64_t oci_m7_timeout_error : 1; + uint64_t oci_m6_oear_lock : 1; + uint64_t oci_m6_oesr_flck : 1; + uint64_t oci_m6_rw_status : 1; + uint64_t oci_m6_timeout_error : 1; + uint64_t oci_m5_oear_lock : 1; + uint64_t oci_m5_oesr_flck : 1; + uint64_t oci_m5_rw_status : 1; + uint64_t oci_m5_timeout_error : 1; + uint64_t oci_m4_oear_lock : 1; + uint64_t oci_m4_oesr_flck : 1; + uint64_t oci_m4_rw_status : 1; + uint64_t oci_m4_timeout_error : 1; + uint64_t oci_m3_oear_lock : 1; + uint64_t oci_m3_oesr_flck : 1; + uint64_t oci_m3_rw_status : 1; + uint64_t oci_m3_timeout_error : 1; + uint64_t oci_m2_oear_lock : 1; + uint64_t oci_m2_oesr_flck : 1; + uint64_t oci_m2_rw_status : 1; + uint64_t oci_m2_timeout_error : 1; + uint64_t oci_m1_oear_lock : 1; + uint64_t oci_m1_oesr_flck : 1; + uint64_t oci_m1_rw_status : 1; + uint64_t oci_m1_timeout_error : 1; + uint64_t oci_m0_oear_lock : 1; + uint64_t oci_m0_oesr_flck : 1; + uint64_t oci_m0_rw_status : 1; + uint64_t oci_m0_timeout_error : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_oesr_t; + + + +typedef union ocb_oear +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t oci_timeout_addr : 32; + uint64_t reserved1 : 32; +#else + uint64_t reserved1 : 32; + uint64_t oci_timeout_addr : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_oear_t; + + + +typedef union ocb_oacr +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t oci_priority_mode : 1; + uint64_t oci_priority_order : 3; + uint64_t oci_hi_bus_mode : 1; + uint64_t oci_read_pipeline_control : 2; + uint64_t oci_write_pipeline_control : 1; + uint64_t reserved1 : 56; +#else + uint64_t reserved1 : 56; + uint64_t oci_write_pipeline_control : 1; + uint64_t oci_read_pipeline_control : 2; + uint64_t oci_hi_bus_mode : 1; + uint64_t oci_priority_order : 3; + uint64_t oci_priority_mode : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_oacr_t; + + + +typedef union ocb_ocbear +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t ocb_error_address : 32; + uint64_t reserved1 : 3; + uint64_t direct_bridge_source : 1; + uint64_t indirect_bridge_0_source : 1; + uint64_t indirect_bridge_1_source : 1; + uint64_t indirect_bridge_2_source : 1; + uint64_t indirect_bridge_3_source : 1; + uint64_t reserved2 : 24; +#else + uint64_t reserved2 : 24; + uint64_t indirect_bridge_3_source : 1; + uint64_t indirect_bridge_2_source : 1; + uint64_t indirect_bridge_1_source : 1; + uint64_t indirect_bridge_0_source : 1; + uint64_t direct_bridge_source : 1; + uint64_t reserved1 : 3; + uint64_t ocb_error_address : 32; +#endif // _BIG_ENDIAN + } fields; +} ocb_ocbear_t; + + + +typedef union ocb_occlfir +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_fw0 : 1; + uint64_t occ_fw1 : 1; + uint64_t cme_error_notify : 1; + uint64_t stop_recovery_notify_prd : 1; + uint64_t occ_hb_error : 1; + uint64_t gpe0_watchdog_timeout : 1; + uint64_t gpe1_watchdog_timeout : 1; + uint64_t gpe2_watchdog_timeout : 1; + uint64_t gpe3_watchdog_timeout : 1; + uint64_t gpe0_error : 1; + uint64_t gpe1_error : 1; + uint64_t gpe2_error : 1; + uint64_t gpe3_error : 1; + uint64_t ocb_error : 1; + uint64_t srt_ue : 1; + uint64_t srt_ce : 1; + uint64_t srt_read_error : 1; + uint64_t srt_write_error : 1; + uint64_t srt_dataout_perr : 1; + uint64_t srt_oci_write_data_parity : 1; + uint64_t srt_oci_be_parity_err : 1; + uint64_t srt_oci_addr_parity_err : 1; + uint64_t gpe0_halted : 1; + uint64_t gpe1_halted : 1; + uint64_t gpe2_halted : 1; + uint64_t gpe3_halted : 1; + uint64_t external_trap : 1; + uint64_t ppc405_core_reset : 1; + uint64_t ppc405_chip_reset : 1; + uint64_t ppc405_system_reset : 1; + uint64_t ppc405_dbgmsrwe : 1; + uint64_t ppc405_dbgstopack : 1; + uint64_t ocb_db_oci_timeout : 1; + uint64_t ocb_db_oci_read_data_parity : 1; + uint64_t ocb_db_oci_slave_error : 1; + uint64_t ocb_pib_addr_parity_err : 1; + uint64_t ocb_db_pib_data_parity_err : 1; + uint64_t ocb_idc0_error : 1; + uint64_t ocb_idc1_error : 1; + uint64_t ocb_idc2_error : 1; + uint64_t ocb_idc3_error : 1; + uint64_t srt_fsm_err : 1; + uint64_t jtagacc_err : 1; + uint64_t spare_err_38 : 1; + uint64_t c405_ecc_ue : 1; + uint64_t c405_ecc_ce : 1; + uint64_t c405_oci_machinecheck : 1; + uint64_t sram_spare_direct_error0 : 1; + uint64_t sram_spare_direct_error1 : 1; + uint64_t sram_spare_direct_error2 : 1; + uint64_t sram_spare_direct_error3 : 1; + uint64_t gpe0_ocislv_err : 1; + uint64_t gpe1_ocislv_err : 1; + uint64_t gpe2_ocislv_err : 1; + uint64_t gpe3_ocislv_err : 1; + uint64_t c405icu_m_timeout : 1; + uint64_t c405dcu_m_timeout : 1; + uint64_t occ_complex_fault_safe : 1; + uint64_t spare_58_61 : 4; + uint64_t fir_parity_err_dup : 1; + uint64_t fir_parity_err : 1; +#else + uint64_t fir_parity_err : 1; + uint64_t fir_parity_err_dup : 1; + uint64_t spare_58_61 : 4; + uint64_t occ_complex_fault_safe : 1; + uint64_t c405dcu_m_timeout : 1; + uint64_t c405icu_m_timeout : 1; + uint64_t gpe3_ocislv_err : 1; + uint64_t gpe2_ocislv_err : 1; + uint64_t gpe1_ocislv_err : 1; + uint64_t gpe0_ocislv_err : 1; + uint64_t sram_spare_direct_error3 : 1; + uint64_t sram_spare_direct_error2 : 1; + uint64_t sram_spare_direct_error1 : 1; + uint64_t sram_spare_direct_error0 : 1; + uint64_t c405_oci_machinecheck : 1; + uint64_t c405_ecc_ce : 1; + uint64_t c405_ecc_ue : 1; + uint64_t spare_err_38 : 1; + uint64_t jtagacc_err : 1; + uint64_t srt_fsm_err : 1; + uint64_t ocb_idc3_error : 1; + uint64_t ocb_idc2_error : 1; + uint64_t ocb_idc1_error : 1; + uint64_t ocb_idc0_error : 1; + uint64_t ocb_db_pib_data_parity_err : 1; + uint64_t ocb_pib_addr_parity_err : 1; + uint64_t ocb_db_oci_slave_error : 1; + uint64_t ocb_db_oci_read_data_parity : 1; + uint64_t ocb_db_oci_timeout : 1; + uint64_t ppc405_dbgstopack : 1; + uint64_t ppc405_dbgmsrwe : 1; + uint64_t ppc405_system_reset : 1; + uint64_t ppc405_chip_reset : 1; + uint64_t ppc405_core_reset : 1; + uint64_t external_trap : 1; + uint64_t gpe3_halted : 1; + uint64_t gpe2_halted : 1; + uint64_t gpe1_halted : 1; + uint64_t gpe0_halted : 1; + uint64_t srt_oci_addr_parity_err : 1; + uint64_t srt_oci_be_parity_err : 1; + uint64_t srt_oci_write_data_parity : 1; + uint64_t srt_dataout_perr : 1; + uint64_t srt_write_error : 1; + uint64_t srt_read_error : 1; + uint64_t srt_ce : 1; + uint64_t srt_ue : 1; + uint64_t ocb_error : 1; + uint64_t gpe3_error : 1; + uint64_t gpe2_error : 1; + uint64_t gpe1_error : 1; + uint64_t gpe0_error : 1; + uint64_t gpe3_watchdog_timeout : 1; + uint64_t gpe2_watchdog_timeout : 1; + uint64_t gpe1_watchdog_timeout : 1; + uint64_t gpe0_watchdog_timeout : 1; + uint64_t occ_hb_error : 1; + uint64_t stop_recovery_notify_prd : 1; + uint64_t cme_error_notify : 1; + uint64_t occ_fw1 : 1; + uint64_t occ_fw0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_occlfir_t; + + + +typedef union ocb_occlfir_and +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_fw0 : 1; + uint64_t occ_fw1 : 1; + uint64_t cme_error_notify : 1; + uint64_t stop_recovery_notify_prd : 1; + uint64_t occ_hb_error : 1; + uint64_t gpe0_watchdog_timeout : 1; + uint64_t gpe1_watchdog_timeout : 1; + uint64_t gpe2_watchdog_timeout : 1; + uint64_t gpe3_watchdog_timeout : 1; + uint64_t gpe0_error : 1; + uint64_t gpe1_error : 1; + uint64_t gpe2_error : 1; + uint64_t gpe3_error : 1; + uint64_t ocb_error : 1; + uint64_t srt_ue : 1; + uint64_t srt_ce : 1; + uint64_t srt_read_error : 1; + uint64_t srt_write_error : 1; + uint64_t srt_dataout_perr : 1; + uint64_t srt_oci_write_data_parity : 1; + uint64_t srt_oci_be_parity_err : 1; + uint64_t srt_oci_addr_parity_err : 1; + uint64_t gpe0_halted : 1; + uint64_t gpe1_halted : 1; + uint64_t gpe2_halted : 1; + uint64_t gpe3_halted : 1; + uint64_t external_trap : 1; + uint64_t ppc405_core_reset : 1; + uint64_t ppc405_chip_reset : 1; + uint64_t ppc405_system_reset : 1; + uint64_t ppc405_dbgmsrwe : 1; + uint64_t ppc405_dbgstopack : 1; + uint64_t ocb_db_oci_timeout : 1; + uint64_t ocb_db_oci_read_data_parity : 1; + uint64_t ocb_db_oci_slave_error : 1; + uint64_t ocb_pib_addr_parity_err : 1; + uint64_t ocb_db_pib_data_parity_err : 1; + uint64_t ocb_idc0_error : 1; + uint64_t ocb_idc1_error : 1; + uint64_t ocb_idc2_error : 1; + uint64_t ocb_idc3_error : 1; + uint64_t srt_fsm_err : 1; + uint64_t jtagacc_err : 1; + uint64_t spare_err_38 : 1; + uint64_t c405_ecc_ue : 1; + uint64_t c405_ecc_ce : 1; + uint64_t c405_oci_machinecheck : 1; + uint64_t sram_spare_direct_error0 : 1; + uint64_t sram_spare_direct_error1 : 1; + uint64_t sram_spare_direct_error2 : 1; + uint64_t sram_spare_direct_error3 : 1; + uint64_t gpe0_ocislv_err : 1; + uint64_t gpe1_ocislv_err : 1; + uint64_t gpe2_ocislv_err : 1; + uint64_t gpe3_ocislv_err : 1; + uint64_t c405icu_m_timeout : 1; + uint64_t c405dcu_m_timeout : 1; + uint64_t occ_complex_fault_safe : 1; + uint64_t spare_58_61 : 4; + uint64_t fir_parity_err_dup : 1; + uint64_t fir_parity_err : 1; +#else + uint64_t fir_parity_err : 1; + uint64_t fir_parity_err_dup : 1; + uint64_t spare_58_61 : 4; + uint64_t occ_complex_fault_safe : 1; + uint64_t c405dcu_m_timeout : 1; + uint64_t c405icu_m_timeout : 1; + uint64_t gpe3_ocislv_err : 1; + uint64_t gpe2_ocislv_err : 1; + uint64_t gpe1_ocislv_err : 1; + uint64_t gpe0_ocislv_err : 1; + uint64_t sram_spare_direct_error3 : 1; + uint64_t sram_spare_direct_error2 : 1; + uint64_t sram_spare_direct_error1 : 1; + uint64_t sram_spare_direct_error0 : 1; + uint64_t c405_oci_machinecheck : 1; + uint64_t c405_ecc_ce : 1; + uint64_t c405_ecc_ue : 1; + uint64_t spare_err_38 : 1; + uint64_t jtagacc_err : 1; + uint64_t srt_fsm_err : 1; + uint64_t ocb_idc3_error : 1; + uint64_t ocb_idc2_error : 1; + uint64_t ocb_idc1_error : 1; + uint64_t ocb_idc0_error : 1; + uint64_t ocb_db_pib_data_parity_err : 1; + uint64_t ocb_pib_addr_parity_err : 1; + uint64_t ocb_db_oci_slave_error : 1; + uint64_t ocb_db_oci_read_data_parity : 1; + uint64_t ocb_db_oci_timeout : 1; + uint64_t ppc405_dbgstopack : 1; + uint64_t ppc405_dbgmsrwe : 1; + uint64_t ppc405_system_reset : 1; + uint64_t ppc405_chip_reset : 1; + uint64_t ppc405_core_reset : 1; + uint64_t external_trap : 1; + uint64_t gpe3_halted : 1; + uint64_t gpe2_halted : 1; + uint64_t gpe1_halted : 1; + uint64_t gpe0_halted : 1; + uint64_t srt_oci_addr_parity_err : 1; + uint64_t srt_oci_be_parity_err : 1; + uint64_t srt_oci_write_data_parity : 1; + uint64_t srt_dataout_perr : 1; + uint64_t srt_write_error : 1; + uint64_t srt_read_error : 1; + uint64_t srt_ce : 1; + uint64_t srt_ue : 1; + uint64_t ocb_error : 1; + uint64_t gpe3_error : 1; + uint64_t gpe2_error : 1; + uint64_t gpe1_error : 1; + uint64_t gpe0_error : 1; + uint64_t gpe3_watchdog_timeout : 1; + uint64_t gpe2_watchdog_timeout : 1; + uint64_t gpe1_watchdog_timeout : 1; + uint64_t gpe0_watchdog_timeout : 1; + uint64_t occ_hb_error : 1; + uint64_t stop_recovery_notify_prd : 1; + uint64_t cme_error_notify : 1; + uint64_t occ_fw1 : 1; + uint64_t occ_fw0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_occlfir_and_t; + + + +typedef union ocb_occlfir_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_fw0 : 1; + uint64_t occ_fw1 : 1; + uint64_t cme_error_notify : 1; + uint64_t stop_recovery_notify_prd : 1; + uint64_t occ_hb_error : 1; + uint64_t gpe0_watchdog_timeout : 1; + uint64_t gpe1_watchdog_timeout : 1; + uint64_t gpe2_watchdog_timeout : 1; + uint64_t gpe3_watchdog_timeout : 1; + uint64_t gpe0_error : 1; + uint64_t gpe1_error : 1; + uint64_t gpe2_error : 1; + uint64_t gpe3_error : 1; + uint64_t ocb_error : 1; + uint64_t srt_ue : 1; + uint64_t srt_ce : 1; + uint64_t srt_read_error : 1; + uint64_t srt_write_error : 1; + uint64_t srt_dataout_perr : 1; + uint64_t srt_oci_write_data_parity : 1; + uint64_t srt_oci_be_parity_err : 1; + uint64_t srt_oci_addr_parity_err : 1; + uint64_t gpe0_halted : 1; + uint64_t gpe1_halted : 1; + uint64_t gpe2_halted : 1; + uint64_t gpe3_halted : 1; + uint64_t external_trap : 1; + uint64_t ppc405_core_reset : 1; + uint64_t ppc405_chip_reset : 1; + uint64_t ppc405_system_reset : 1; + uint64_t ppc405_dbgmsrwe : 1; + uint64_t ppc405_dbgstopack : 1; + uint64_t ocb_db_oci_timeout : 1; + uint64_t ocb_db_oci_read_data_parity : 1; + uint64_t ocb_db_oci_slave_error : 1; + uint64_t ocb_pib_addr_parity_err : 1; + uint64_t ocb_db_pib_data_parity_err : 1; + uint64_t ocb_idc0_error : 1; + uint64_t ocb_idc1_error : 1; + uint64_t ocb_idc2_error : 1; + uint64_t ocb_idc3_error : 1; + uint64_t srt_fsm_err : 1; + uint64_t jtagacc_err : 1; + uint64_t spare_err_38 : 1; + uint64_t c405_ecc_ue : 1; + uint64_t c405_ecc_ce : 1; + uint64_t c405_oci_machinecheck : 1; + uint64_t sram_spare_direct_error0 : 1; + uint64_t sram_spare_direct_error1 : 1; + uint64_t sram_spare_direct_error2 : 1; + uint64_t sram_spare_direct_error3 : 1; + uint64_t gpe0_ocislv_err : 1; + uint64_t gpe1_ocislv_err : 1; + uint64_t gpe2_ocislv_err : 1; + uint64_t gpe3_ocislv_err : 1; + uint64_t c405icu_m_timeout : 1; + uint64_t c405dcu_m_timeout : 1; + uint64_t occ_complex_fault_safe : 1; + uint64_t spare_58_61 : 4; + uint64_t fir_parity_err_dup : 1; + uint64_t fir_parity_err : 1; +#else + uint64_t fir_parity_err : 1; + uint64_t fir_parity_err_dup : 1; + uint64_t spare_58_61 : 4; + uint64_t occ_complex_fault_safe : 1; + uint64_t c405dcu_m_timeout : 1; + uint64_t c405icu_m_timeout : 1; + uint64_t gpe3_ocislv_err : 1; + uint64_t gpe2_ocislv_err : 1; + uint64_t gpe1_ocislv_err : 1; + uint64_t gpe0_ocislv_err : 1; + uint64_t sram_spare_direct_error3 : 1; + uint64_t sram_spare_direct_error2 : 1; + uint64_t sram_spare_direct_error1 : 1; + uint64_t sram_spare_direct_error0 : 1; + uint64_t c405_oci_machinecheck : 1; + uint64_t c405_ecc_ce : 1; + uint64_t c405_ecc_ue : 1; + uint64_t spare_err_38 : 1; + uint64_t jtagacc_err : 1; + uint64_t srt_fsm_err : 1; + uint64_t ocb_idc3_error : 1; + uint64_t ocb_idc2_error : 1; + uint64_t ocb_idc1_error : 1; + uint64_t ocb_idc0_error : 1; + uint64_t ocb_db_pib_data_parity_err : 1; + uint64_t ocb_pib_addr_parity_err : 1; + uint64_t ocb_db_oci_slave_error : 1; + uint64_t ocb_db_oci_read_data_parity : 1; + uint64_t ocb_db_oci_timeout : 1; + uint64_t ppc405_dbgstopack : 1; + uint64_t ppc405_dbgmsrwe : 1; + uint64_t ppc405_system_reset : 1; + uint64_t ppc405_chip_reset : 1; + uint64_t ppc405_core_reset : 1; + uint64_t external_trap : 1; + uint64_t gpe3_halted : 1; + uint64_t gpe2_halted : 1; + uint64_t gpe1_halted : 1; + uint64_t gpe0_halted : 1; + uint64_t srt_oci_addr_parity_err : 1; + uint64_t srt_oci_be_parity_err : 1; + uint64_t srt_oci_write_data_parity : 1; + uint64_t srt_dataout_perr : 1; + uint64_t srt_write_error : 1; + uint64_t srt_read_error : 1; + uint64_t srt_ce : 1; + uint64_t srt_ue : 1; + uint64_t ocb_error : 1; + uint64_t gpe3_error : 1; + uint64_t gpe2_error : 1; + uint64_t gpe1_error : 1; + uint64_t gpe0_error : 1; + uint64_t gpe3_watchdog_timeout : 1; + uint64_t gpe2_watchdog_timeout : 1; + uint64_t gpe1_watchdog_timeout : 1; + uint64_t gpe0_watchdog_timeout : 1; + uint64_t occ_hb_error : 1; + uint64_t stop_recovery_notify_prd : 1; + uint64_t cme_error_notify : 1; + uint64_t occ_fw1 : 1; + uint64_t occ_fw0 : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_occlfir_or_t; + + + +typedef union ocb_occlfirmask +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_fw0_mask : 1; + uint64_t occ_fw1_mask : 1; + uint64_t spare_2_mask : 1; + uint64_t spare_3_mask : 1; + uint64_t occ_hb_malf_mask : 1; + uint64_t gpe0_watchdog_timeout_mask : 1; + uint64_t gpe1_watchdog_timeout_mask : 1; + uint64_t gpe2_watchdog_timeout_mask : 1; + uint64_t gpe3_watchdog_timeout_mask : 1; + uint64_t gpe0_error_mask : 1; + uint64_t gpe1_error_mask : 1; + uint64_t gpe2_error_mask : 1; + uint64_t gpe3_error_mask : 1; + uint64_t ocb_error_mask : 1; + uint64_t srt_ue_mask : 1; + uint64_t srt_ce_mask : 1; + uint64_t srt_read_error_mask : 1; + uint64_t srt_write_error_mask : 1; + uint64_t srt_dataout_perr_mask : 1; + uint64_t srt_oci_write_data_parity_mask : 1; + uint64_t srt_oci_be_parity_err_mask : 1; + uint64_t srt_oci_addr_parity_err_mask : 1; + uint64_t gpe0_halted_mask : 1; + uint64_t gpe1_halted_mask : 1; + uint64_t gpe2_halted_mask : 1; + uint64_t gpe3_halted_mask : 1; + uint64_t external_trap_mask : 1; + uint64_t ppc405_core_reset_mask : 1; + uint64_t ppc405_chip_reset_mask : 1; + uint64_t ppc405_system_reset_mask : 1; + uint64_t ppc405_dbgmsrwe_mask : 1; + uint64_t ppc405_dbgstopack_mask : 1; + uint64_t ocb_db_oci_timeout_mask : 1; + uint64_t ocb_db_oci_read_data_parity_mask : 1; + uint64_t ocb_db_oci_slave_error_mask : 1; + uint64_t ocb_pib_addr_parity_err_mask : 1; + uint64_t ocb_db_pib_data_parity_err_mask : 1; + uint64_t ocb_idc0_error_mask : 1; + uint64_t ocb_idc1_error_mask : 1; + uint64_t ocb_idc2_error_mask : 1; + uint64_t ocb_idc3_error_mask : 1; + uint64_t srt_fsm_err_mask : 1; + uint64_t jtagacc_err_mask : 1; + uint64_t spare_err_38_mask : 1; + uint64_t c405_ecc_ue_mask : 1; + uint64_t c405_ecc_ce_mask : 1; + uint64_t c405_oci_machinecheck_mask : 1; + uint64_t sram_spare_direct_error0_mask : 1; + uint64_t sram_spare_direct_error1_mask : 1; + uint64_t sram_spare_direct_error2_mask : 1; + uint64_t sram_spare_direct_error3_mask : 1; + uint64_t gpe0_ocislv_err_mask : 1; + uint64_t gpe1_ocislv_err_mask : 1; + uint64_t gpe2_ocislv_err_mask : 1; + uint64_t gpe3_ocislv_err_mask : 1; + uint64_t c405icu_m_timeout_mask : 1; + uint64_t c405dcu_m_timeout_mask : 1; + uint64_t occ_complex_fault_safe_mask : 1; + uint64_t spare_58_61_mask : 4; + uint64_t fir_parity_err_dup_mask : 1; + uint64_t fir_parity_err_mask : 1; +#else + uint64_t fir_parity_err_mask : 1; + uint64_t fir_parity_err_dup_mask : 1; + uint64_t spare_58_61_mask : 4; + uint64_t occ_complex_fault_safe_mask : 1; + uint64_t c405dcu_m_timeout_mask : 1; + uint64_t c405icu_m_timeout_mask : 1; + uint64_t gpe3_ocislv_err_mask : 1; + uint64_t gpe2_ocislv_err_mask : 1; + uint64_t gpe1_ocislv_err_mask : 1; + uint64_t gpe0_ocislv_err_mask : 1; + uint64_t sram_spare_direct_error3_mask : 1; + uint64_t sram_spare_direct_error2_mask : 1; + uint64_t sram_spare_direct_error1_mask : 1; + uint64_t sram_spare_direct_error0_mask : 1; + uint64_t c405_oci_machinecheck_mask : 1; + uint64_t c405_ecc_ce_mask : 1; + uint64_t c405_ecc_ue_mask : 1; + uint64_t spare_err_38_mask : 1; + uint64_t jtagacc_err_mask : 1; + uint64_t srt_fsm_err_mask : 1; + uint64_t ocb_idc3_error_mask : 1; + uint64_t ocb_idc2_error_mask : 1; + uint64_t ocb_idc1_error_mask : 1; + uint64_t ocb_idc0_error_mask : 1; + uint64_t ocb_db_pib_data_parity_err_mask : 1; + uint64_t ocb_pib_addr_parity_err_mask : 1; + uint64_t ocb_db_oci_slave_error_mask : 1; + uint64_t ocb_db_oci_read_data_parity_mask : 1; + uint64_t ocb_db_oci_timeout_mask : 1; + uint64_t ppc405_dbgstopack_mask : 1; + uint64_t ppc405_dbgmsrwe_mask : 1; + uint64_t ppc405_system_reset_mask : 1; + uint64_t ppc405_chip_reset_mask : 1; + uint64_t ppc405_core_reset_mask : 1; + uint64_t external_trap_mask : 1; + uint64_t gpe3_halted_mask : 1; + uint64_t gpe2_halted_mask : 1; + uint64_t gpe1_halted_mask : 1; + uint64_t gpe0_halted_mask : 1; + uint64_t srt_oci_addr_parity_err_mask : 1; + uint64_t srt_oci_be_parity_err_mask : 1; + uint64_t srt_oci_write_data_parity_mask : 1; + uint64_t srt_dataout_perr_mask : 1; + uint64_t srt_write_error_mask : 1; + uint64_t srt_read_error_mask : 1; + uint64_t srt_ce_mask : 1; + uint64_t srt_ue_mask : 1; + uint64_t ocb_error_mask : 1; + uint64_t gpe3_error_mask : 1; + uint64_t gpe2_error_mask : 1; + uint64_t gpe1_error_mask : 1; + uint64_t gpe0_error_mask : 1; + uint64_t gpe3_watchdog_timeout_mask : 1; + uint64_t gpe2_watchdog_timeout_mask : 1; + uint64_t gpe1_watchdog_timeout_mask : 1; + uint64_t gpe0_watchdog_timeout_mask : 1; + uint64_t occ_hb_malf_mask : 1; + uint64_t spare_3_mask : 1; + uint64_t spare_2_mask : 1; + uint64_t occ_fw1_mask : 1; + uint64_t occ_fw0_mask : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_occlfirmask_t; + + + +typedef union ocb_occlfirmask_and +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_fw0_mask : 1; + uint64_t occ_fw1_mask : 1; + uint64_t spare_2_mask : 1; + uint64_t spare_3_mask : 1; + uint64_t occ_hb_malf_mask : 1; + uint64_t gpe0_watchdog_timeout_mask : 1; + uint64_t gpe1_watchdog_timeout_mask : 1; + uint64_t gpe2_watchdog_timeout_mask : 1; + uint64_t gpe3_watchdog_timeout_mask : 1; + uint64_t gpe0_error_mask : 1; + uint64_t gpe1_error_mask : 1; + uint64_t gpe2_error_mask : 1; + uint64_t gpe3_error_mask : 1; + uint64_t ocb_error_mask : 1; + uint64_t srt_ue_mask : 1; + uint64_t srt_ce_mask : 1; + uint64_t srt_read_error_mask : 1; + uint64_t srt_write_error_mask : 1; + uint64_t srt_dataout_perr_mask : 1; + uint64_t srt_oci_write_data_parity_mask : 1; + uint64_t srt_oci_be_parity_err_mask : 1; + uint64_t srt_oci_addr_parity_err_mask : 1; + uint64_t gpe0_halted_mask : 1; + uint64_t gpe1_halted_mask : 1; + uint64_t gpe2_halted_mask : 1; + uint64_t gpe3_halted_mask : 1; + uint64_t external_trap_mask : 1; + uint64_t ppc405_core_reset_mask : 1; + uint64_t ppc405_chip_reset_mask : 1; + uint64_t ppc405_system_reset_mask : 1; + uint64_t ppc405_dbgmsrwe_mask : 1; + uint64_t ppc405_dbgstopack_mask : 1; + uint64_t ocb_db_oci_timeout_mask : 1; + uint64_t ocb_db_oci_read_data_parity_mask : 1; + uint64_t ocb_db_oci_slave_error_mask : 1; + uint64_t ocb_pib_addr_parity_err_mask : 1; + uint64_t ocb_db_pib_data_parity_err_mask : 1; + uint64_t ocb_idc0_error_mask : 1; + uint64_t ocb_idc1_error_mask : 1; + uint64_t ocb_idc2_error_mask : 1; + uint64_t ocb_idc3_error_mask : 1; + uint64_t srt_fsm_err_mask : 1; + uint64_t jtagacc_err_mask : 1; + uint64_t spare_err_38_mask : 1; + uint64_t c405_ecc_ue_mask : 1; + uint64_t c405_ecc_ce_mask : 1; + uint64_t c405_oci_machinecheck_mask : 1; + uint64_t sram_spare_direct_error0_mask : 1; + uint64_t sram_spare_direct_error1_mask : 1; + uint64_t sram_spare_direct_error2_mask : 1; + uint64_t sram_spare_direct_error3_mask : 1; + uint64_t gpe0_ocislv_err_mask : 1; + uint64_t gpe1_ocislv_err_mask : 1; + uint64_t gpe2_ocislv_err_mask : 1; + uint64_t gpe3_ocislv_err_mask : 1; + uint64_t c405icu_m_timeout_mask : 1; + uint64_t c405dcu_m_timeout_mask : 1; + uint64_t occ_complex_fault_safe_mask : 1; + uint64_t spare_58_61_mask : 4; + uint64_t fir_parity_err_dup_mask : 1; + uint64_t fir_parity_err_mask : 1; +#else + uint64_t fir_parity_err_mask : 1; + uint64_t fir_parity_err_dup_mask : 1; + uint64_t spare_58_61_mask : 4; + uint64_t occ_complex_fault_safe_mask : 1; + uint64_t c405dcu_m_timeout_mask : 1; + uint64_t c405icu_m_timeout_mask : 1; + uint64_t gpe3_ocislv_err_mask : 1; + uint64_t gpe2_ocislv_err_mask : 1; + uint64_t gpe1_ocislv_err_mask : 1; + uint64_t gpe0_ocislv_err_mask : 1; + uint64_t sram_spare_direct_error3_mask : 1; + uint64_t sram_spare_direct_error2_mask : 1; + uint64_t sram_spare_direct_error1_mask : 1; + uint64_t sram_spare_direct_error0_mask : 1; + uint64_t c405_oci_machinecheck_mask : 1; + uint64_t c405_ecc_ce_mask : 1; + uint64_t c405_ecc_ue_mask : 1; + uint64_t spare_err_38_mask : 1; + uint64_t jtagacc_err_mask : 1; + uint64_t srt_fsm_err_mask : 1; + uint64_t ocb_idc3_error_mask : 1; + uint64_t ocb_idc2_error_mask : 1; + uint64_t ocb_idc1_error_mask : 1; + uint64_t ocb_idc0_error_mask : 1; + uint64_t ocb_db_pib_data_parity_err_mask : 1; + uint64_t ocb_pib_addr_parity_err_mask : 1; + uint64_t ocb_db_oci_slave_error_mask : 1; + uint64_t ocb_db_oci_read_data_parity_mask : 1; + uint64_t ocb_db_oci_timeout_mask : 1; + uint64_t ppc405_dbgstopack_mask : 1; + uint64_t ppc405_dbgmsrwe_mask : 1; + uint64_t ppc405_system_reset_mask : 1; + uint64_t ppc405_chip_reset_mask : 1; + uint64_t ppc405_core_reset_mask : 1; + uint64_t external_trap_mask : 1; + uint64_t gpe3_halted_mask : 1; + uint64_t gpe2_halted_mask : 1; + uint64_t gpe1_halted_mask : 1; + uint64_t gpe0_halted_mask : 1; + uint64_t srt_oci_addr_parity_err_mask : 1; + uint64_t srt_oci_be_parity_err_mask : 1; + uint64_t srt_oci_write_data_parity_mask : 1; + uint64_t srt_dataout_perr_mask : 1; + uint64_t srt_write_error_mask : 1; + uint64_t srt_read_error_mask : 1; + uint64_t srt_ce_mask : 1; + uint64_t srt_ue_mask : 1; + uint64_t ocb_error_mask : 1; + uint64_t gpe3_error_mask : 1; + uint64_t gpe2_error_mask : 1; + uint64_t gpe1_error_mask : 1; + uint64_t gpe0_error_mask : 1; + uint64_t gpe3_watchdog_timeout_mask : 1; + uint64_t gpe2_watchdog_timeout_mask : 1; + uint64_t gpe1_watchdog_timeout_mask : 1; + uint64_t gpe0_watchdog_timeout_mask : 1; + uint64_t occ_hb_malf_mask : 1; + uint64_t spare_3_mask : 1; + uint64_t spare_2_mask : 1; + uint64_t occ_fw1_mask : 1; + uint64_t occ_fw0_mask : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_occlfirmask_and_t; + + + +typedef union ocb_occlfirmask_or +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t occ_fw0_mask : 1; + uint64_t occ_fw1_mask : 1; + uint64_t spare_2_mask : 1; + uint64_t spare_3_mask : 1; + uint64_t occ_hb_malf_mask : 1; + uint64_t gpe0_watchdog_timeout_mask : 1; + uint64_t gpe1_watchdog_timeout_mask : 1; + uint64_t gpe2_watchdog_timeout_mask : 1; + uint64_t gpe3_watchdog_timeout_mask : 1; + uint64_t gpe0_error_mask : 1; + uint64_t gpe1_error_mask : 1; + uint64_t gpe2_error_mask : 1; + uint64_t gpe3_error_mask : 1; + uint64_t ocb_error_mask : 1; + uint64_t srt_ue_mask : 1; + uint64_t srt_ce_mask : 1; + uint64_t srt_read_error_mask : 1; + uint64_t srt_write_error_mask : 1; + uint64_t srt_dataout_perr_mask : 1; + uint64_t srt_oci_write_data_parity_mask : 1; + uint64_t srt_oci_be_parity_err_mask : 1; + uint64_t srt_oci_addr_parity_err_mask : 1; + uint64_t gpe0_halted_mask : 1; + uint64_t gpe1_halted_mask : 1; + uint64_t gpe2_halted_mask : 1; + uint64_t gpe3_halted_mask : 1; + uint64_t external_trap_mask : 1; + uint64_t ppc405_core_reset_mask : 1; + uint64_t ppc405_chip_reset_mask : 1; + uint64_t ppc405_system_reset_mask : 1; + uint64_t ppc405_dbgmsrwe_mask : 1; + uint64_t ppc405_dbgstopack_mask : 1; + uint64_t ocb_db_oci_timeout_mask : 1; + uint64_t ocb_db_oci_read_data_parity_mask : 1; + uint64_t ocb_db_oci_slave_error_mask : 1; + uint64_t ocb_pib_addr_parity_err_mask : 1; + uint64_t ocb_db_pib_data_parity_err_mask : 1; + uint64_t ocb_idc0_error_mask : 1; + uint64_t ocb_idc1_error_mask : 1; + uint64_t ocb_idc2_error_mask : 1; + uint64_t ocb_idc3_error_mask : 1; + uint64_t srt_fsm_err_mask : 1; + uint64_t jtagacc_err_mask : 1; + uint64_t spare_err_38_mask : 1; + uint64_t c405_ecc_ue_mask : 1; + uint64_t c405_ecc_ce_mask : 1; + uint64_t c405_oci_machinecheck_mask : 1; + uint64_t sram_spare_direct_error0_mask : 1; + uint64_t sram_spare_direct_error1_mask : 1; + uint64_t sram_spare_direct_error2_mask : 1; + uint64_t sram_spare_direct_error3_mask : 1; + uint64_t gpe0_ocislv_err_mask : 1; + uint64_t gpe1_ocislv_err_mask : 1; + uint64_t gpe2_ocislv_err_mask : 1; + uint64_t gpe3_ocislv_err_mask : 1; + uint64_t c405icu_m_timeout_mask : 1; + uint64_t c405dcu_m_timeout_mask : 1; + uint64_t occ_complex_fault_safe_mask : 1; + uint64_t spare_58_61_mask : 4; + uint64_t fir_parity_err_dup_mask : 1; + uint64_t fir_parity_err_mask : 1; +#else + uint64_t fir_parity_err_mask : 1; + uint64_t fir_parity_err_dup_mask : 1; + uint64_t spare_58_61_mask : 4; + uint64_t occ_complex_fault_safe_mask : 1; + uint64_t c405dcu_m_timeout_mask : 1; + uint64_t c405icu_m_timeout_mask : 1; + uint64_t gpe3_ocislv_err_mask : 1; + uint64_t gpe2_ocislv_err_mask : 1; + uint64_t gpe1_ocislv_err_mask : 1; + uint64_t gpe0_ocislv_err_mask : 1; + uint64_t sram_spare_direct_error3_mask : 1; + uint64_t sram_spare_direct_error2_mask : 1; + uint64_t sram_spare_direct_error1_mask : 1; + uint64_t sram_spare_direct_error0_mask : 1; + uint64_t c405_oci_machinecheck_mask : 1; + uint64_t c405_ecc_ce_mask : 1; + uint64_t c405_ecc_ue_mask : 1; + uint64_t spare_err_38_mask : 1; + uint64_t jtagacc_err_mask : 1; + uint64_t srt_fsm_err_mask : 1; + uint64_t ocb_idc3_error_mask : 1; + uint64_t ocb_idc2_error_mask : 1; + uint64_t ocb_idc1_error_mask : 1; + uint64_t ocb_idc0_error_mask : 1; + uint64_t ocb_db_pib_data_parity_err_mask : 1; + uint64_t ocb_pib_addr_parity_err_mask : 1; + uint64_t ocb_db_oci_slave_error_mask : 1; + uint64_t ocb_db_oci_read_data_parity_mask : 1; + uint64_t ocb_db_oci_timeout_mask : 1; + uint64_t ppc405_dbgstopack_mask : 1; + uint64_t ppc405_dbgmsrwe_mask : 1; + uint64_t ppc405_system_reset_mask : 1; + uint64_t ppc405_chip_reset_mask : 1; + uint64_t ppc405_core_reset_mask : 1; + uint64_t external_trap_mask : 1; + uint64_t gpe3_halted_mask : 1; + uint64_t gpe2_halted_mask : 1; + uint64_t gpe1_halted_mask : 1; + uint64_t gpe0_halted_mask : 1; + uint64_t srt_oci_addr_parity_err_mask : 1; + uint64_t srt_oci_be_parity_err_mask : 1; + uint64_t srt_oci_write_data_parity_mask : 1; + uint64_t srt_dataout_perr_mask : 1; + uint64_t srt_write_error_mask : 1; + uint64_t srt_read_error_mask : 1; + uint64_t srt_ce_mask : 1; + uint64_t srt_ue_mask : 1; + uint64_t ocb_error_mask : 1; + uint64_t gpe3_error_mask : 1; + uint64_t gpe2_error_mask : 1; + uint64_t gpe1_error_mask : 1; + uint64_t gpe0_error_mask : 1; + uint64_t gpe3_watchdog_timeout_mask : 1; + uint64_t gpe2_watchdog_timeout_mask : 1; + uint64_t gpe1_watchdog_timeout_mask : 1; + uint64_t gpe0_watchdog_timeout_mask : 1; + uint64_t occ_hb_malf_mask : 1; + uint64_t spare_3_mask : 1; + uint64_t spare_2_mask : 1; + uint64_t occ_fw1_mask : 1; + uint64_t occ_fw0_mask : 1; +#endif // _BIG_ENDIAN + } fields; +} ocb_occlfirmask_or_t; + + + +typedef union ocb_occlfiract0 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t fir_action0 : 64; +#else + uint64_t fir_action0 : 64; +#endif // _BIG_ENDIAN + } fields; +} ocb_occlfiract0_t; + + + +typedef union ocb_occlfiract1 +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t fir_action1 : 64; +#else + uint64_t fir_action1 : 64; +#endif // _BIG_ENDIAN + } fields; +} ocb_occlfiract1_t; + + + +typedef union ocb_occlfirwof +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t wof : 64; +#else + uint64_t wof : 64; +#endif // _BIG_ENDIAN + } fields; +} ocb_occlfirwof_t; + + + +typedef union ocb_occerrrpt +{ + + uint64_t value; + struct + { +#ifdef _BIG_ENDIAN + uint32_t high_order; + uint32_t low_order; +#else + uint32_t low_order; + uint32_t high_order; +#endif // _BIG_ENDIAN + } words; + struct + { +#ifdef _BIG_ENDIAN + uint64_t sram_cerrrpt : 10; + uint64_t jtagacc_cerrpt : 6; + uint64_t c405_dcu_ecc_ue : 1; + uint64_t c405_dcu_ecc_ce : 1; + uint64_t c405_icu_ecc_ue : 1; + uint64_t c405_icu_ecc_ce : 1; + uint64_t gpe0_ocislv_err : 7; + uint64_t reserved1 : 1; + uint64_t gpe1_ocislv_err : 7; + uint64_t reserved2 : 1; + uint64_t gpe2_ocislv_err : 7; + uint64_t reserved3 : 1; + uint64_t gpe3_ocislv_err : 7; + uint64_t reserved4 : 1; + uint64_t ocb_ocislv_err : 7; + uint64_t reserved5 : 5; +#else + uint64_t reserved5 : 5; + uint64_t ocb_ocislv_err : 7; + uint64_t reserved4 : 1; + uint64_t gpe3_ocislv_err : 7; + uint64_t reserved3 : 1; + uint64_t gpe2_ocislv_err : 7; + uint64_t reserved2 : 1; + uint64_t gpe1_ocislv_err : 7; + uint64_t reserved1 : 1; + uint64_t gpe0_ocislv_err : 7; + uint64_t c405_icu_ecc_ce : 1; + uint64_t c405_icu_ecc_ue : 1; + uint64_t c405_dcu_ecc_ce : 1; + uint64_t c405_dcu_ecc_ue : 1; + uint64_t jtagacc_cerrpt : 6; + uint64_t sram_cerrrpt : 10; +#endif // _BIG_ENDIAN + } fields; +} ocb_occerrrpt_t; + + +#endif // __ASSEMBLER__ +#endif // P9_OCB_FIRMWARE_REGISTERS_H__ + |