summaryrefslogtreecommitdiffstats
path: root/src/occ_gpe0/firdata/homerData_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/occ_gpe0/firdata/homerData_common.h')
-rw-r--r--src/occ_gpe0/firdata/homerData_common.h40
1 files changed, 39 insertions, 1 deletions
diff --git a/src/occ_gpe0/firdata/homerData_common.h b/src/occ_gpe0/firdata/homerData_common.h
index f0e3db8..e661467 100644
--- a/src/occ_gpe0/firdata/homerData_common.h
+++ b/src/occ_gpe0/firdata/homerData_common.h
@@ -140,7 +140,11 @@ static inline HOMER_Data_t HOMER_getData()
/** Supported chip types. */
typedef enum
{
- HOMER_CHIP_NIMBUS, /** P9 Nimbus processor chip */
+ HOMER_CHIP_NIMBUS, /** P9 Nimbus processor chip */
+ HOMER_CHIP_AXONE, /** P9 Axone processor chip */
+ HOMER_CHIP_EXPLORER, /** Explorer memory buffer chip */
+
+ HOMER_CHIP_INVALID = 0xff, /** Invalid chip */
} HOMER_ChipType_t;
@@ -215,4 +219,38 @@ static inline HOMER_ChipNimbus_t HOMER_initChipNimbus()
return c;
}
+/*----------------------------------------------------------------------------*/
+
+/** Information specific to a P9 Axone processor chip. */
+/* NOTE: This structure is 4-byte word aligned. */
+typedef struct __attribute__((packed))
+{
+ uint32_t isMaster : 1; /** 1 if this is the master PROC, 0 otherwise */
+ uint32_t xbusMask : 3; /** Mask of configured XBUS units (0-2) */
+ uint32_t obusMask : 4; /** Mask of configured OBUS units (0-3) */
+ uint32_t ecMask : 24; /** Mask of configured EC units (0-23) */
+
+ uint32_t eqMask : 6; /** Mask of configured EQ units (0-5) */
+ uint32_t exMask : 12; /** Mask of configured EX units (0-11) */
+ uint32_t mcMask : 2; /** Mask of configured MC units (0-1) */
+ uint32_t miMask : 4; /** Mask of configured MI units (0-3) */
+ uint32_t mccMask : 8; /** Mask of configured MCC units (0-7) */
+
+ uint32_t cappMask : 2; /** Mask of configured CAPP units (0-1) */
+ uint32_t pecMask : 3; /** Mask of configured PEC units (0-2) */
+ uint32_t phbMask : 6; /** Mask of configured PHB units (0-5) */
+ uint32_t omicMask : 6; /** Mask of configured OMIC units (0-5) */
+ uint32_t npuMask : 3; /** Mask of configured NPU units (0-2) */
+ uint32_t reserved : 12;
+
+} HOMER_ChipAxone_t;
+
+/** @return An initialized HOMER_ChipAxone_t struct. */
+static inline HOMER_ChipAxone_t HOMER_initChipAxone()
+{
+ HOMER_ChipAxone_t c; memset( &c, 0x00, sizeof(c) ); /* init to zero */
+
+ return c;
+}
+
#endif /* __homerData_common_h */
OpenPOWER on IntegriCloud