diff options
Diffstat (limited to 'src/occ_gpe0/firdata/homerData_common.h')
-rw-r--r-- | src/occ_gpe0/firdata/homerData_common.h | 40 |
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 */ |