meta-facebook/meta-fby3/recipes-fby3/fw-util/files/platform.cpp (217 lines of code) (raw):
#include "bic_fw_ext.h"
#include "bic_cpld_ext.h"
#include "bmc_cpld.h"
#include "nic_ext.h"
#include "bic_me.h"
#include "bic_bios.h"
#include "bic_vr.h"
#include "bic_capsule.h"
#include "bmc_cpld_capsule.h"
#include "bic_pcie_sw.h"
#include "bic_m2_dev.h"
#include <syslog.h>
#include <facebook/fby3_common.h>
#include "usbdbg.h"
#ifdef BIC_SUPPORT
#include <facebook/bic.h>
NicExtComponent nic_fw("nic", "nic", "nic_fw_ver", FRU_NIC, 0x00);
MeComponent me_fw1("slot1", "me", FRU_SLOT1);
//slot1 2ou bic/bicbl/cpld
BicFwExtComponent bic_2ou_fw1("slot1", "2ou_bic" , FRU_SLOT1, "2ou", FW_2OU_BIC);
BicFwExtBlComponent bicbl_2ou_fw1("slot1", "2ou_bicbl", FRU_SLOT1, "2ou", FW_2OU_BIC_BOOTLOADER);
//slot1 sb bic/bicbl/cpld/bios/vr
BicFwExtComponent bic_fw1("slot1", "bic" , FRU_SLOT1, "sb", FW_BIC);
BicFwExtBlComponent bicbl_fw1("slot1", "bicbl", FRU_SLOT1, "sb", FW_BIC_BOOTLOADER);
BmcCpldComponent cpld_fw1("slot1", "cpld", MAX10_10M25, 3 + FRU_SLOT1, 0x40);
BiosComponent bios_fw1("slot1", "bios" , FRU_SLOT1, FW_BIOS);
VrComponent vr_fw1("slot1", "vr" , FRU_SLOT1, FW_VR);
class ClassConfig {
public:
ClassConfig() {
int m2_prsnt;
uint8_t bmc_location = 0;
uint8_t board_type = 0;
if ( fby3_common_get_bmc_location(&bmc_location) < 0 ) {
printf("Failed to initialize the fw-util\n");
exit(EXIT_FAILURE);
}
if ( bmc_location == NIC_BMC ) {
if (fby3_common_get_2ou_board_type(FRU_SLOT1, &board_type) < 0) {
syslog(LOG_WARNING, "Failed to get slot1 2ou board type\n");
}
static BmcCpldComponent cpld_bmc("bmc", "cpld", MAX10_10M25, 9, 0x40);
//slot1 bb bic/bicbl/cpld
static BicFwExtComponent bic_bb_fw1("slot1", "bb_bic" , FRU_SLOT1, "bb", FW_BB_BIC);
static BicFwExtBlComponent bicbl_bb_fw1("slot1", "bb_bicbl", FRU_SLOT1, "bb", FW_BB_BIC_BOOTLOADER);
static CpldExtComponent cpld_bb_fw1("slot1", "bb_cpld" , FRU_SLOT1, "bb", FW_BB_CPLD);
if (board_type == CWC_MCHP_BOARD) {
(*Component::fru_list)["slot1"].erase("2ou_bic");
(*Component::fru_list)["slot1"].erase("2ou_bicbl");
static BicFwExtComponent cwc_bic_fw("slot1-2U-exp", "2U_bic", FRU_SLOT1, "2U", FW_CWC_BIC);
static BicFwExtBlComponent cwc_bicbl_fw("slot1-2U-exp", "2U_bicbl", FRU_SLOT1, "2U", FW_CWC_BIC_BL);
static CpldExtComponent cwc_cpld_fw("slot1-2U-exp", "2U_cpld" , FRU_SLOT1, "2U", FW_CWC_CPLD);
static PCIESWComponent cwc_pciesw_fw("slot1-2U-exp", "2U_pciesw", FRU_SLOT1, "2U", FW_CWC_PESW);
static VrExtComponent cwc_vr_fw("slot1-2U-exp", "2U_vr_pesw", FRU_SLOT1, "2U", FW_CWC_PESW_VR);
static BicFwExtComponent top_bic_fw("slot1-2U-top", "2U_bic", FRU_SLOT1, "2U-top", FW_GPV3_TOP_BIC);
static BicFwExtBlComponent top_bicbl_fw("slot1-2U-top", "2U_bicbl", FRU_SLOT1, "2U-top", FW_GPV3_TOP_BIC_BL);
static CpldExtComponent top_cpld_fw("slot1-2U-top", "2U_cpld" , FRU_SLOT1, "2U-top", FW_GPV3_TOP_CPLD);
static PCIESWComponent top_pciesw_fw("slot1-2U-top", "2U_pciesw", FRU_SLOT1, "2U-top", FW_GPV3_TOP_PESW);
static VrExtComponent top_vr_fw("slot1-2U-top", "2U_vr_pesw", FRU_SLOT1, "2U-top", FW_GPV3_TOP_PESW_VR);
static VrExtComponent top_vr_p3v3_1_fw1("slot1-2U-top", "2U_vr_stby1", FRU_SLOT1, "2U-top", FW_2U_TOP_3V3_VR1);
static VrExtComponent top_vr_p3v3_2_fw1("slot1-2U-top", "2U_vr_stby2", FRU_SLOT1, "2U-top", FW_2U_TOP_3V3_VR2);
static VrExtComponent top_vr_p3v3_3_fw1("slot1-2U-top", "2U_vr_stby3", FRU_SLOT1, "2U-top", FW_2U_TOP_3V3_VR3);
static VrExtComponent top_vr_p1v8_fw1("slot1-2U-top", "2U_vr_p1v8", FRU_SLOT1, "2U-top", FW_2U_TOP_1V8_VR);
static M2DevComponent m2_top_dev0("slot1-2U-top", "2U_dev0", FRU_SLOT1, "2U-top", FW_TOP_M2_DEV0);
static M2DevComponent m2_top_dev1("slot1-2U-top", "2U_dev1", FRU_SLOT1, "2U-top", FW_TOP_M2_DEV1);
static M2DevComponent m2_top_dev2("slot1-2U-top", "2U_dev2", FRU_SLOT1, "2U-top", FW_TOP_M2_DEV2);
static M2DevComponent m2_top_dev3("slot1-2U-top", "2U_dev3", FRU_SLOT1, "2U-top", FW_TOP_M2_DEV3);
static M2DevComponent m2_top_dev4("slot1-2U-top", "2U_dev4", FRU_SLOT1, "2U-top", FW_TOP_M2_DEV4);
static M2DevComponent m2_top_dev5("slot1-2U-top", "2U_dev5", FRU_SLOT1, "2U-top", FW_TOP_M2_DEV5);
static M2DevComponent m2_top_dev6("slot1-2U-top", "2U_dev6", FRU_SLOT1, "2U-top", FW_TOP_M2_DEV6);
static M2DevComponent m2_top_dev7("slot1-2U-top", "2U_dev7", FRU_SLOT1, "2U-top", FW_TOP_M2_DEV7);
static M2DevComponent m2_top_dev8("slot1-2U-top", "2U_dev8", FRU_SLOT1, "2U-top", FW_TOP_M2_DEV8);
static M2DevComponent m2_top_dev9("slot1-2U-top", "2U_dev9", FRU_SLOT1, "2U-top", FW_TOP_M2_DEV9);
static M2DevComponent m2_top_dev10("slot1-2U-top", "2U_dev10", FRU_SLOT1, "2U-top", FW_TOP_M2_DEV10);
static M2DevComponent m2_top_dev11("slot1-2U-top", "2U_dev11", FRU_SLOT1, "2U-top", FW_TOP_M2_DEV11);
static BicFwExtComponent bot_bic_fw("slot1-2U-bot", "2U_bic", FRU_SLOT1, "2U-bot", FW_GPV3_BOT_BIC);
static BicFwExtBlComponent bot_bicbl_fw("slot1-2U-bot", "2U_bicbl", FRU_SLOT1, "2U-bot", FW_GPV3_BOT_BIC_BL);
static CpldExtComponent bot_cpld_fw("slot1-2U-bot", "2U_cpld" , FRU_SLOT1, "2U-bot", FW_GPV3_BOT_CPLD);
static PCIESWComponent bot_pciesw_fw("slot1-2U-bot", "2U_pciesw", FRU_SLOT1, "2U-bot", FW_GPV3_BOT_PESW);
static VrExtComponent bot_vr_fw("slot1-2U-bot", "2U_vr_pesw", FRU_SLOT1, "2U-bot", FW_GPV3_BOT_PESW_VR);
static VrExtComponent bot_vr_p3v3_1_fw1("slot1-2U-bot", "2U_vr_stby1", FRU_SLOT1, "2U-bot", FW_2U_BOT_3V3_VR1);
static VrExtComponent bot_vr_p3v3_2_fw1("slot1-2U-bot", "2U_vr_stby2", FRU_SLOT1, "2U-bot", FW_2U_BOT_3V3_VR2);
static VrExtComponent bot_vr_p3v3_3_fw1("slot1-2U-bot", "2U_vr_stby3", FRU_SLOT1, "2U-bot", FW_2U_BOT_3V3_VR3);
static VrExtComponent bot_vr_p1v8_fw1("slot1-2U-bot", "2U_vr_p1v8", FRU_SLOT1, "2U-bot", FW_2U_BOT_1V8_VR);
static M2DevComponent m2_bot_dev0("slot1-2U-bot", "2U_dev0", FRU_SLOT1, "2U-bot", FW_BOT_M2_DEV0);
static M2DevComponent m2_bot_dev1("slot1-2U-bot", "2U_dev1", FRU_SLOT1, "2U-bot", FW_BOT_M2_DEV1);
static M2DevComponent m2_bot_dev2("slot1-2U-bot", "2U_dev2", FRU_SLOT1, "2U-bot", FW_BOT_M2_DEV2);
static M2DevComponent m2_bot_dev3("slot1-2U-bot", "2U_dev3", FRU_SLOT1, "2U-bot", FW_BOT_M2_DEV3);
static M2DevComponent m2_bot_dev4("slot1-2U-bot", "2U_dev4", FRU_SLOT1, "2U-bot", FW_BOT_M2_DEV4);
static M2DevComponent m2_bot_dev5("slot1-2U-bot", "2U_dev5", FRU_SLOT1, "2U-bot", FW_BOT_M2_DEV5);
static M2DevComponent m2_bot_dev6("slot1-2U-bot", "2U_dev6", FRU_SLOT1, "2U-bot", FW_BOT_M2_DEV6);
static M2DevComponent m2_bot_dev7("slot1-2U-bot", "2U_dev7", FRU_SLOT1, "2U-bot", FW_BOT_M2_DEV7);
static M2DevComponent m2_bot_dev8("slot1-2U-bot", "2U_dev8", FRU_SLOT1, "2U-bot", FW_BOT_M2_DEV8);
static M2DevComponent m2_bot_dev9("slot1-2U-bot", "2U_dev9", FRU_SLOT1, "2U-bot", FW_BOT_M2_DEV9);
static M2DevComponent m2_bot_dev10("slot1-2U-bot", "2U_dev10", FRU_SLOT1, "2U-bot", FW_BOT_M2_DEV10);
static M2DevComponent m2_bot_dev11("slot1-2U-bot", "2U_dev11", FRU_SLOT1, "2U-bot", FW_BOT_M2_DEV11);
} else if (board_type != E1S_BOARD) {
static PCIESWComponent pciesw_2ou_fw1("slot1", "2ou_pciesw", FRU_SLOT1, "2ou", FW_2OU_PESW);
static VrExtComponent vr_2ou_vr_p3v3_1_fw1("slot1", "2ou_vr_stby1", FRU_SLOT1, "2ou", FW_2OU_3V3_VR1);
static VrExtComponent vr_2ou_vr_p3v3_2_fw1("slot1", "2ou_vr_stby2", FRU_SLOT1, "2ou", FW_2OU_3V3_VR2);
static VrExtComponent vr_2ou_vr_p3v3_3_fw1("slot1", "2ou_vr_stby3", FRU_SLOT1, "2ou", FW_2OU_3V3_VR3);
static VrExtComponent vr_2ou_vr_p1v8_fw1("slot1", "2ou_vr_p1v8", FRU_SLOT1, "2ou", FW_2OU_1V8_VR);
static VrExtComponent vr_2ou_fw1("slot1", "2ou_vr_pesw", FRU_SLOT1, "2ou", FW_2OU_PESW_VR);
static M2DevComponent m2_2ou_dev0("slot1", "2ou_dev0", FRU_SLOT1, "2ou", FW_2OU_M2_DEV0);
static M2DevComponent m2_2ou_dev1("slot1", "2ou_dev1", FRU_SLOT1, "2ou", FW_2OU_M2_DEV1);
static M2DevComponent m2_2ou_dev2("slot1", "2ou_dev2", FRU_SLOT1, "2ou", FW_2OU_M2_DEV2);
static M2DevComponent m2_2ou_dev3("slot1", "2ou_dev3", FRU_SLOT1, "2ou", FW_2OU_M2_DEV3);
static M2DevComponent m2_2ou_dev4("slot1", "2ou_dev4", FRU_SLOT1, "2ou", FW_2OU_M2_DEV4);
static M2DevComponent m2_2ou_dev5("slot1", "2ou_dev5", FRU_SLOT1, "2ou", FW_2OU_M2_DEV5);
static M2DevComponent m2_2ou_dev6("slot1", "2ou_dev6", FRU_SLOT1, "2ou", FW_2OU_M2_DEV6);
static M2DevComponent m2_2ou_dev7("slot1", "2ou_dev7", FRU_SLOT1, "2ou", FW_2OU_M2_DEV7);
static M2DevComponent m2_2ou_dev8("slot1", "2ou_dev8", FRU_SLOT1, "2ou", FW_2OU_M2_DEV8);
static M2DevComponent m2_2ou_dev9("slot1", "2ou_dev9", FRU_SLOT1, "2ou", FW_2OU_M2_DEV9);
static M2DevComponent m2_2ou_dev10("slot1", "2ou_dev10", FRU_SLOT1, "2ou", FW_2OU_M2_DEV10);
static M2DevComponent m2_2ou_dev11("slot1", "2ou_dev11", FRU_SLOT1, "2ou", FW_2OU_M2_DEV11);
static CpldExtComponent cpld_2ou_fw1("slot1", "2ou_cpld" , FRU_SLOT1, "2ou", FW_2OU_CPLD);
}
} else {
// Register USB Debug Card components
static UsbDbgComponent usbdbg("ocpdbg", "mcu", "FBY3", 9, 0x60, false);
static UsbDbgBlComponent usbdbgbl("ocpdbg", "mcubl", 9, 0x60, 0x02); // target ID of bootloader = 0x02
//slot1 1ou bic/bicbl/cpld
static BicFwExtComponent bic_1ou_fw1("slot1", "1ou_bic" , FRU_SLOT1, "1ou", FW_1OU_BIC);
static BicFwExtBlComponent bicbl_1ou_fw1("slot1", "1ou_bicbl", FRU_SLOT1, "1ou", FW_1OU_BIC_BOOTLOADER);
static CpldExtComponent cpld_1ou_fw1("slot1", "1ou_cpld" , FRU_SLOT1, "1ou", FW_1OU_CPLD);
//slot2 sb bic/bicbl/cpld/bios/vr
static BicFwExtComponent bic_fw2("slot2", "bic" , FRU_SLOT2, "sb", FW_BIC);
static BicFwExtBlComponent bicbl_fw2("slot2", "bicbl", FRU_SLOT2, "sb", FW_BIC_BOOTLOADER);
static BmcCpldComponent cpld_fw2("slot2", "cpld", MAX10_10M25, 3 + FRU_SLOT2, 0x40);
static BiosComponent bios_fw2("slot2", "bios" , FRU_SLOT2, FW_BIOS);
static VrComponent vr_fw2("slot2", "vr" , FRU_SLOT2, FW_VR);
//slot2 1ou bic/bicbl/cpld
static BicFwExtComponent bic_1ou_fw2("slot2", "1ou_bic" , FRU_SLOT2, "1ou", FW_1OU_BIC);
static BicFwExtBlComponent bicbl_1ou_fw2("slot2", "1ou_bicbl", FRU_SLOT2, "1ou", FW_1OU_BIC_BOOTLOADER);
static CpldExtComponent cpld_1ou_fw2("slot2", "1ou_cpld" , FRU_SLOT2, "1ou", FW_1OU_CPLD);
//slot2 2ou bic/bicbl/cpld
static BicFwExtComponent bic_2ou_fw2("slot2", "2ou_bic" , FRU_SLOT2, "2ou", FW_2OU_BIC);
static BicFwExtBlComponent bicbl_2ou_fw2("slot2", "2ou_bicbl", FRU_SLOT2, "2ou", FW_2OU_BIC_BOOTLOADER);
static CpldExtComponent cpld_2ou_fw2("slot2", "2ou_cpld" , FRU_SLOT2, "2ou", FW_2OU_CPLD);
//slot3 sb bic/bicbl/cpld/bios/vr
static BicFwExtComponent bic_fw3("slot3", "bic" , FRU_SLOT3, "sb", FW_BIC);
static BicFwExtBlComponent bicbl_fw3("slot3", "bicbl", FRU_SLOT3, "sb", FW_BIC_BOOTLOADER);
static BmcCpldComponent cpld_fw3("slot3", "cpld", MAX10_10M25, 3 + FRU_SLOT3, 0x40);
static BiosComponent bios_fw3("slot3", "bios" , FRU_SLOT3, FW_BIOS);
static VrComponent vr_fw3("slot3", "vr" , FRU_SLOT3, FW_VR);
//slot3 1ou bic/bicbl/cpld
static BicFwExtComponent bic_1ou_fw3("slot3", "1ou_bic" , FRU_SLOT3, "1ou", FW_1OU_BIC);
static BicFwExtBlComponent bicbl_1ou_fw3("slot3", "1ou_bicbl", FRU_SLOT3, "1ou", FW_1OU_BIC_BOOTLOADER);
static CpldExtComponent cpld_1ou_fw3("slot3", "1ou_cpld" , FRU_SLOT3, "1ou", FW_1OU_CPLD);
//slot3 2ou bic/bicbl/cpld
static BicFwExtComponent bic_2ou_fw3("slot3", "2ou_bic" , FRU_SLOT3, "2ou", FW_2OU_BIC);
static BicFwExtBlComponent bicbl_2ou_fw3("slot3", "2ou_bicbl", FRU_SLOT3, "2ou", FW_2OU_BIC_BOOTLOADER);
static CpldExtComponent cpld_2ou_fw3("slot3", "2ou_cpld" , FRU_SLOT3, "2ou", FW_2OU_CPLD);
//slot4 sb bic/bicbl/cpld/bios/vr
static BicFwExtComponent bic_fw4("slot4", "bic" , FRU_SLOT4, "sb", FW_BIC);
static BicFwExtBlComponent bicbl_fw4("slot4", "bicbl", FRU_SLOT4, "sb", FW_BIC_BOOTLOADER);
static BmcCpldComponent cpld_fw4("slot4", "cpld", MAX10_10M25, 3 + FRU_SLOT4, 0x40);
static BiosComponent bios_fw4("slot4", "bios" , FRU_SLOT4, FW_BIOS);
static VrComponent vr_fw4("slot4", "vr" , FRU_SLOT4, FW_VR);
//slot4 1ou bic/bicbl/cpld
static BicFwExtComponent bic_1ou_fw4("slot4", "1ou_bic" , FRU_SLOT4, "1ou", FW_1OU_BIC);
static BicFwExtBlComponent bicbl_1ou_fw4("slot4", "1ou_bicbl", FRU_SLOT4, "1ou", FW_1OU_BIC_BOOTLOADER);
static CpldExtComponent cpld_1ou_fw4("slot4", "1ou_cpld" , FRU_SLOT4, "1ou", FW_1OU_CPLD);
//slot4 2ou bic/bicbl/cpld
static BicFwExtComponent bic_2ou_fw4("slot4", "2ou_bic" , FRU_SLOT4, "2ou", FW_2OU_BIC);
static BicFwExtBlComponent bicbl_2ou_fw4("slot4", "2ou_bicbl", FRU_SLOT4, "2ou", FW_2OU_BIC_BOOTLOADER);
static CpldExtComponent cpld_2ou_fw4("slot4", "2ou_cpld" , FRU_SLOT4, "2ou", FW_2OU_CPLD);
static BmcCpldComponent cpld_bmc("bmc", "cpld", MAX10_10M25, 12, 0x40);
static MeComponent me_fw2("slot2", "me", FRU_SLOT2);
static MeComponent me_fw3("slot3", "me", FRU_SLOT3);
static MeComponent me_fw4("slot4", "me", FRU_SLOT4);
static CpldExtComponent cpld_2ou_fw1("slot1", "2ou_cpld" , FRU_SLOT1, "2ou", FW_2OU_CPLD);
m2_prsnt = bic_is_m2_exp_prsnt(FRU_SLOT1);
if (m2_prsnt < 0) {
syslog(LOG_WARNING, "Failed to get slot1 1ou & 2ou present status");
} else if ( (m2_prsnt & PRESENT_2OU) == PRESENT_2OU ) {
if ( fby3_common_get_2ou_board_type(FRU_SLOT1, &board_type) < 0) {
syslog(LOG_WARNING, "Failed to get slot1 2ou board type\n");
} else if ( board_type == GPV3_MCHP_BOARD || board_type == GPV3_BRCM_BOARD ) {
static PCIESWComponent pciesw_2ou_fw1("slot1", "2ou_pciesw", FRU_SLOT1, "2ou", FW_2OU_PESW);
static VrExtComponent vr_2ou_vr_p3v3_1_fw1("slot1", "2ou_vr_stby1", FRU_SLOT1, "2ou", FW_2OU_3V3_VR1);
static VrExtComponent vr_2ou_vr_p3v3_2_fw1("slot1", "2ou_vr_stby2", FRU_SLOT1, "2ou", FW_2OU_3V3_VR2);
static VrExtComponent vr_2ou_vr_p3v3_3_fw1("slot1", "2ou_vr_stby3", FRU_SLOT1, "2ou", FW_2OU_3V3_VR3);
static VrExtComponent vr_2ou_vr_p1v8_fw1("slot1", "2ou_vr_p1v8", FRU_SLOT1, "2ou", FW_2OU_1V8_VR);
static VrExtComponent vr_2ou_fw1("slot1", "2ou_vr_pesw", FRU_SLOT1, "2ou", FW_2OU_PESW_VR);
static M2DevComponent m2_2ou_dev0_fw1("slot1", "2ou_dev0", FRU_SLOT1, "2ou", FW_2OU_M2_DEV0);
static M2DevComponent m2_2ou_dev1_fw1("slot1", "2ou_dev1", FRU_SLOT1, "2ou", FW_2OU_M2_DEV1);
static M2DevComponent m2_2ou_dev2_fw1("slot1", "2ou_dev2", FRU_SLOT1, "2ou", FW_2OU_M2_DEV2);
static M2DevComponent m2_2ou_dev3_fw1("slot1", "2ou_dev3", FRU_SLOT1, "2ou", FW_2OU_M2_DEV3);
static M2DevComponent m2_2ou_dev4_fw1("slot1", "2ou_dev4", FRU_SLOT1, "2ou", FW_2OU_M2_DEV4);
static M2DevComponent m2_2ou_dev5_fw1("slot1", "2ou_dev5", FRU_SLOT1, "2ou", FW_2OU_M2_DEV5);
static M2DevComponent m2_2ou_dev6_fw1("slot1", "2ou_dev6", FRU_SLOT1, "2ou", FW_2OU_M2_DEV6);
static M2DevComponent m2_2ou_dev7_fw1("slot1", "2ou_dev7", FRU_SLOT1, "2ou", FW_2OU_M2_DEV7);
static M2DevComponent m2_2ou_dev8_fw1("slot1", "2ou_dev8", FRU_SLOT1, "2ou", FW_2OU_M2_DEV8);
static M2DevComponent m2_2ou_dev9_fw1("slot1", "2ou_dev9", FRU_SLOT1, "2ou", FW_2OU_M2_DEV9);
static M2DevComponent m2_2ou_dev10_fw1("slot1", "2ou_dev10", FRU_SLOT1, "2ou", FW_2OU_M2_DEV10);
static M2DevComponent m2_2ou_dev11_fw1("slot1", "2ou_dev11", FRU_SLOT1, "2ou", FW_2OU_M2_DEV11);
}
}
m2_prsnt = bic_is_m2_exp_prsnt(FRU_SLOT3);
if (m2_prsnt < 0) {
syslog(LOG_WARNING, "Failed to get slot3 1ou & 2ou present status");
} else if ( (m2_prsnt & PRESENT_2OU) == PRESENT_2OU ) {
if ( fby3_common_get_2ou_board_type(FRU_SLOT3, &board_type) < 0) {
syslog(LOG_WARNING, "Failed to get slot3 2ou board type\n");
} else if ( board_type == GPV3_MCHP_BOARD || board_type == GPV3_BRCM_BOARD ) {
static PCIESWComponent pciesw_2ou_fw3("slot3", "2ou_pciesw", FRU_SLOT3, "2ou", FW_2OU_PESW);
static VrExtComponent vr_2ou_vr_p3v3_1_fw3("slot3", "2ou_vr_stby1", FRU_SLOT3, "2ou", FW_2OU_3V3_VR1);
static VrExtComponent vr_2ou_vr_p3v3_2_fw3("slot3", "2ou_vr_stby2", FRU_SLOT3, "2ou", FW_2OU_3V3_VR2);
static VrExtComponent vr_2ou_vr_p3v3_3_fw3("slot3", "2ou_vr_stby3", FRU_SLOT3, "2ou", FW_2OU_3V3_VR3);
static VrExtComponent vr_2ou_vr_p1v8_fw3("slot3", "2ou_vr_p1v8", FRU_SLOT3, "2ou", FW_2OU_1V8_VR);
static VrExtComponent vr_2ou_fw3("slot3", "2ou_vr_pesw", FRU_SLOT3, "2ou", FW_2OU_PESW_VR);
static M2DevComponent m2_2ou_dev0_fw3("slot3", "2ou_dev0", FRU_SLOT3, "2ou", FW_2OU_M2_DEV0);
static M2DevComponent m2_2ou_dev1_fw3("slot3", "2ou_dev1", FRU_SLOT3, "2ou", FW_2OU_M2_DEV1);
static M2DevComponent m2_2ou_dev2_fw3("slot3", "2ou_dev2", FRU_SLOT3, "2ou", FW_2OU_M2_DEV2);
static M2DevComponent m2_2ou_dev3_fw3("slot3", "2ou_dev3", FRU_SLOT3, "2ou", FW_2OU_M2_DEV3);
static M2DevComponent m2_2ou_dev4_fw3("slot3", "2ou_dev4", FRU_SLOT3, "2ou", FW_2OU_M2_DEV4);
static M2DevComponent m2_2ou_dev5_fw3("slot3", "2ou_dev5", FRU_SLOT3, "2ou", FW_2OU_M2_DEV5);
static M2DevComponent m2_2ou_dev6_fw3("slot3", "2ou_dev6", FRU_SLOT3, "2ou", FW_2OU_M2_DEV6);
static M2DevComponent m2_2ou_dev7_fw3("slot3", "2ou_dev7", FRU_SLOT3, "2ou", FW_2OU_M2_DEV7);
static M2DevComponent m2_2ou_dev8_fw3("slot3", "2ou_dev8", FRU_SLOT3, "2ou", FW_2OU_M2_DEV8);
static M2DevComponent m2_2ou_dev9_fw3("slot3", "2ou_dev9", FRU_SLOT3, "2ou", FW_2OU_M2_DEV9);
static M2DevComponent m2_2ou_dev10_fw3("slot3", "2ou_dev10", FRU_SLOT3, "2ou", FW_2OU_M2_DEV10);
static M2DevComponent m2_2ou_dev11_fw3("slot3", "2ou_dev11", FRU_SLOT3, "2ou", FW_2OU_M2_DEV11);
}
}
}
}
};
ClassConfig platform_config;
#endif