diff options
author | Chris Cain <cjcain@us.ibm.com> | 2016-01-21 08:08:22 -0600 |
---|---|---|
committer | Christopher J. Cain <cjcain@us.ibm.com> | 2016-03-01 10:04:07 -0500 |
commit | 0b38bc9d5f8a7ab2fe466a3a432ade97eb5f8971 (patch) | |
tree | 6238bd93a590b4b38e69fbc1dd6513b1bb7955de /src/include | |
parent | 8d6b58d82125223c07fa0c4fa795c0de52eefd2a (diff) | |
download | talos-occ-0b38bc9d5f8a7ab2fe466a3a432ade97eb5f8971.tar.gz talos-occ-0b38bc9d5f8a7ab2fe466a3a432ade97eb5f8971.zip |
Implement I2C locking with host
Change-Id: I9e99e799e0df442bebef473360ca87d564f5ddaf
RTC: 140545
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/12898
Tested-by: FSP CI Jenkins
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/registers/ocb_firmware_registers.h | 92 |
1 files changed, 24 insertions, 68 deletions
diff --git a/src/include/registers/ocb_firmware_registers.h b/src/include/registers/ocb_firmware_registers.h index 14c1c63..3e93668 100644 --- a/src/include/registers/ocb_firmware_registers.h +++ b/src/include/registers/ocb_firmware_registers.h @@ -1243,13 +1243,19 @@ typedef union ocb_occmisc { struct { #ifdef _BIG_ENDIAN uint32_t core_ext_intr : 1; - uint32_t spare : 15; + uint32_t ext_intr_service_required : 1; + uint32_t ext_intr_i2c_change : 1; + uint32_t ext_intr_shmem_change : 1; + uint32_t spare : 12; uint32_t i2cm_intr_status : 3; uint32_t reserved1 : 13; #else uint32_t reserved1 : 13; uint32_t i2cm_intr_status : 3; - uint32_t spare : 15; + uint32_t spare : 11; + uint32_t ext_intr_shmem_change : 1; + uint32_t ext_intr_i2c_change : 1; + uint32_t ext_intr_service_required : 1; uint32_t core_ext_intr : 1; #endif // _BIG_ENDIAN } fields; @@ -1257,42 +1263,6 @@ typedef union ocb_occmisc { -typedef union ocb_occmisc_clr { - - uint32_t value; - struct { -#ifdef _BIG_ENDIAN - uint32_t core_ext_intr : 1; - uint32_t spare : 15; - uint32_t reserved1 : 16; -#else - uint32_t reserved1 : 16; - uint32_t spare : 15; - uint32_t core_ext_intr : 1; -#endif // _BIG_ENDIAN - } fields; -} ocb_occmisc_clr_t; - - - -typedef union ocb_occmisc_or { - - uint32_t value; - struct { -#ifdef _BIG_ENDIAN - uint32_t core_ext_intr : 1; - uint32_t spare : 15; - uint32_t reserved1 : 16; -#else - uint32_t reserved1 : 16; - uint32_t spare : 15; - uint32_t core_ext_intr : 1; -#endif // _BIG_ENDIAN - } fields; -} ocb_occmisc_or_t; - - - typedef union ocb_ohtmcr { uint32_t value; @@ -1442,43 +1412,29 @@ typedef union ocb_occflg { uint32_t value; struct { #ifdef _BIG_ENDIAN - uint32_t occ_flags : 32; + uint32_t reserved_gpe : 16; + uint32_t i2c_engine1_lock_host : 1; + uint32_t i2c_engine1_lock_occ : 1; + uint32_t i2c_engine2_lock_host : 1; + uint32_t i2c_engine2_lock_occ : 1; + uint32_t i2c_engine3_lock_host : 1; + uint32_t i2c_engine3_lock_occ : 1; + uint32_t reserved_occ : 10; #else - uint32_t occ_flags : 32; + uint32_t reserved_occ : 10; + uint32_t i2c_engine3_lock_occ : 1; + uint32_t i2c_engine3_lock_host : 1; + uint32_t i2c_engine2_lock_occ : 1; + uint32_t i2c_engine2_lock_host : 1; + uint32_t i2c_engine1_lock_occ : 1; + uint32_t i2c_engine1_lock_host : 1; + uint32_t reserved_gpe : 16; #endif // _BIG_ENDIAN } fields; } ocb_occflg_t; -typedef union ocb_occflg_clr { - - uint32_t value; - struct { -#ifdef _BIG_ENDIAN - uint32_t occ_flags : 32; -#else - uint32_t occ_flags : 32; -#endif // _BIG_ENDIAN - } fields; -} ocb_occflg_clr_t; - - - -typedef union ocb_occflg_or { - - uint32_t value; - struct { -#ifdef _BIG_ENDIAN - uint32_t occ_flags : 32; -#else - uint32_t occ_flags : 32; -#endif // _BIG_ENDIAN - } fields; -} ocb_occflg_or_t; - - - typedef union ocb_occhbr { uint32_t value; |