Skip to content

Commit

Permalink
PRD: Add EC Level support for HOMER Data
Browse files Browse the repository at this point in the history
Change-Id: Ic83a0cb7d73781010b21ec7b5708be9febc06c56
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41908
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43053
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
  • Loading branch information
Brian Stegmiller authored and zane131 committed Jul 13, 2017
1 parent 1aa0813 commit d80986c
Show file tree
Hide file tree
Showing 3 changed files with 193 additions and 82 deletions.
4 changes: 0 additions & 4 deletions src/usr/diag/prdf/occ_firdata/firDataConst_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,6 @@ typedef enum
TRGT_MEMBUF,
TRGT_MBA,

/* EC level handling -- special case for NIMBUS */
TRGT_PROC_NIMBUS_10,
TRGT_PROC_NIMBUS_20,

TRGT_MAX,

} TrgtType_t;
Expand Down
24 changes: 23 additions & 1 deletion src/usr/diag/prdf/occ_firdata/homerData_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,10 @@ typedef struct __attribute__((packed))
/** Contains number of registers per type for each target type. */
uint8_t regCounts[TRGT_MAX][REG_MAX];

/** Number of regs that are dependent on EC level **/
/** (these registers follow the normal register list) **/
uint8_t ecDepCounts;

/** Information regarding the PNOR location and size. */
HOMER_PnorInfo_t pnorInfo;

Expand Down Expand Up @@ -137,8 +141,26 @@ typedef struct __attribute__((packed))
uint16_t chipPos : 6; /** Chip position relative to the node. */
uint16_t reserved : 6;

uint8_t chipEcLevel; /** EC level for this chip */

} HOMER_Chip_t;


/** Used for Registers that have EC level dependencies */
typedef struct __attribute__((packed))
{
uint32_t chipType : 4; /** See HOMER_ChipType_t. */
uint32_t trgtType : 6; /** See TrgtType_t. */
uint32_t regType : 4; /** See RegType_t. */
uint32_t ddLevel : 8; /** A zero value applies to all levels on a chip. */
uint32_t reserved : 10; /** unused at this time */

/** The 32 or 64 bit address (right justified). */
uint64_t address;

} HOMER_ChipSpecAddr_t;


/** @return An initialized HOMER_Chip_t struct. */
static inline HOMER_Chip_t HOMER_getChip( HOMER_ChipType_t i_type )
{
Expand Down Expand Up @@ -237,7 +259,7 @@ static inline HOMER_ChipCentaur_t HOMER_initChipCentaur()
*/
typedef struct __attribute__((packed))
{
HOMER_Chip_t hChipType;
HOMER_Chip_t hChipType; /* Nimbus, Centaur, EC Level, etc...*/

union
{
Expand Down

0 comments on commit d80986c

Please sign in to comment.