OpenBIC
OpenSource Bridge-IC
plat_fru.c File Reference
#include <string.h>
#include "plat_i2c.h"
#include <libutil.h>
#include <stdlib.h>
#include <logging/log.h>
#include "fru.h"
#include "plat_fru.h"
#include <time.h>
Include dependency graph for plat_fru.c:

Classes

struct  ChassisInfo
 
struct  BoardInfo
 
struct  ProductInfo
 
struct  FRU_INFO
 

Macros

#define AEGIS_FRU_START   0x0000
 
#define AEGIS_FRU_SIZE   0x0400
 
#define AEGIS_CPLD_FRU_START   0x0000
 
#define AEGIS_CPLD_FRU_SIZE   0x0400
 
#define CHASSIS_CUSTOM_DATA_MAX   24
 
#define BOARD_CUSTOM_DATA_MAX   4
 

Functions

 LOG_MODULE_REGISTER (plat_fru)
 
void pal_load_fru_config (void)
 
bool plat_eeprom_write (uint32_t offset, uint8_t *data, uint16_t data_len)
 
bool plat_eeprom_read (uint32_t offset, uint8_t *data, uint16_t data_len)
 
bool plat_cpld_fru_read (uint32_t offset, uint8_t *data, uint16_t data_len)
 
bool plat_get_cpld_fru_data (uint8_t *data)
 
FRU_INFOcreate_fru_info (void)
 
bool init_fru_info (void)
 
void print_fru_info (void)
 

Variables

const EEPROM_CFG plat_fru_config []
 
FRU_INFOplat_fru_info = NULL
 

Macro Definition Documentation

◆ AEGIS_CPLD_FRU_SIZE

#define AEGIS_CPLD_FRU_SIZE   0x0400

◆ AEGIS_CPLD_FRU_START

#define AEGIS_CPLD_FRU_START   0x0000

◆ AEGIS_FRU_SIZE

#define AEGIS_FRU_SIZE   0x0400

◆ AEGIS_FRU_START

#define AEGIS_FRU_START   0x0000

◆ BOARD_CUSTOM_DATA_MAX

#define BOARD_CUSTOM_DATA_MAX   4

◆ CHASSIS_CUSTOM_DATA_MAX

#define CHASSIS_CUSTOM_DATA_MAX   24

Function Documentation

◆ create_fru_info()

FRU_INFO * create_fru_info ( void  )

◆ init_fru_info()

bool init_fru_info ( void  )
Here is the call graph for this function:

◆ LOG_MODULE_REGISTER()

LOG_MODULE_REGISTER ( plat_fru  )

◆ pal_load_fru_config()

void pal_load_fru_config ( void  )

◆ plat_cpld_fru_read()

bool plat_cpld_fru_read ( uint32_t  offset,
uint8_t *  data,
uint16_t  data_len 
)
Here is the call graph for this function:

◆ plat_eeprom_read()

bool plat_eeprom_read ( uint32_t  offset,
uint8_t *  data,
uint16_t  data_len 
)
Here is the call graph for this function:

◆ plat_eeprom_write()

bool plat_eeprom_write ( uint32_t  offset,
uint8_t *  data,
uint16_t  data_len 
)
Here is the call graph for this function:

◆ plat_get_cpld_fru_data()

bool plat_get_cpld_fru_data ( uint8_t *  data)
Here is the call graph for this function:

◆ print_fru_info()

void print_fru_info ( void  )

Variable Documentation

◆ plat_fru_config

const EEPROM_CFG plat_fru_config[]
Initial value:
= {
{
},
{
},
}
#define I2C_BUS5
Definition: plat_i2c.h:28
#define I2C_BUS12
Definition: plat_i2c.h:37
#define FRU_SIZE
Definition: eeprom.h:30
#define FRU_START
Definition: eeprom.h:29
@ FRU_DEV_ACCESS_BYTE
Definition: fru.h:44
@ ROHM_BR24G512
Definition: fru.h:32
#define AEGIS_CPLD_FRU_SIZE
Definition: plat_fru.c:32
#define AEGIS_CPLD_FRU_START
Definition: plat_fru.c:31
#define CPLD_EEPROM_ADDR
Definition: plat_fru.h:22
#define LOG_EEPROM_ADDR
Definition: plat_fru.h:21
@ LOG_EEPROM_ID
Definition: plat_fru.h:25
@ CPLD_EEPROM_ID
Definition: plat_fru.h:26

◆ plat_fru_info

FRU_INFO* plat_fru_info = NULL