/**************************************************************** * Copyright (c) 2008-2009 QUANTA COMPUTER INC., INC. All rights reserved. * * File Name: cpi.h * Abstract: Header file for Component programming interface * Description: * * Project Name: Aurora * Software Component: * * Exported Functions: * * Notes: * * History: * 2008/4/14 Cloud Created * 2009/9/1 Modified for Pikes Peak Platform * *** END OF REVISION HISTORY ***********************************/ #ifndef __CPI_H__ #define __CPI_H__ #include #define CPI_PRO_BUFFER_SIZE 512*1024 /* 512 KB */ typedef enum cpi_cmd { CPI_CMD_PRO = 200, /* programming component */ CPI_CMD_VAL, CPI_CMD_IO } CPI_CMD; typedef enum cpi_target { CPI_PCIE_EEPROM = 300, CPI_VPD_EEPROM, CPI_IOC_EEPROM, CPI_EXP_EEPROM, CPI_EXP_FLASH, CPI_FPGA_FLASH, CPI_ETH_EEPROM, CPI_PSOC_FW, CPI_IB_FLASH, CPI_ISCSI_EEPROM, CPI_ISCSI_FLASH } CPI_TARGET; /* Programming control block */ typedef struct cpi_pro_cb { CPI_TARGET target; INT32 start_addr; INT32 size; } CPI_PRO_CB; /* Validation control block */ typedef struct cpi_val_cb { CPI_TARGET target; UINT32 start_addr; UINT32 size; UINT32 checksum; } CPI_VAL_CB; #endif //__CPI_H__