summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorChris Cain <cjcain@us.ibm.com>2016-01-21 08:08:22 -0600
committerChristopher J. Cain <cjcain@us.ibm.com>2016-03-01 10:04:07 -0500
commit0b38bc9d5f8a7ab2fe466a3a432ade97eb5f8971 (patch)
tree6238bd93a590b4b38e69fbc1dd6513b1bb7955de /src/include
parent8d6b58d82125223c07fa0c4fa795c0de52eefd2a (diff)
downloadtalos-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.h92
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;
OpenPOWER on IntegriCloud