# The Serial Flash Controller is the AST2400 BMC.
set   SFC_IS_AST2400
unset   BMC_DOES_SFC_INIT
unset SFC_IS_IBM_DPSS
set   ALLOW_MICRON_PNOR
set   ALLOW_MACRONIX_PNOR

# VPD options.
unset MVPD_READ_FROM_HW
unset MVPD_WRITE_TO_HW
set MVPD_READ_FROM_PNOR
set MVPD_WRITE_TO_PNOR
unset DJVPD_READ_FROM_HW
unset DJVPD_WRITE_TO_HW
set DJVPD_READ_FROM_PNOR
set DJVPD_WRITE_TO_PNOR
unset CVPD_READ_FROM_HW
unset CVPD_WRITE_TO_HW
set CVPD_READ_FROM_PNOR
set CVPD_WRITE_TO_PNOR
unset PVPD_READ_FROM_HW
unset PVPD_WRITE_TO_HW
unset PVPD_READ_FROM_PNOR
unset PVPD_WRITE_TO_PNOR
unset SKIP_RESTRICT_EX_UNITS
set CDIMM_FORMAT_FOR_CVPD

# gpio config
unset GPIODD
unset PALMETTO_VDDR

# Enable SBE updates
unset SBE_UPDATE_INDEPENDENT
set SBE_UPDATE_SEQUENTIAL

set PCIE_HOTPLUG_CONTROLLER

# turn on console output
unset CONSOLE
unset BMC_AST2400

# Enable Kingston dimm voltage workaround
unset KINGSTON_1_35_VOLT

unset DISABLE_HOSTBOOT_RUNTIME

# Compile in hostboot runtime PRD
set HBRT_PRD
unset HTMGT
unset START_OCC_DURING_BOOT

#PNOR flags
unset PNOR_TWO_SIDE_SUPPORT

unset BMC_BT_LPC_IPMI

# Enable Checktop Analysis
unset ENABLE_CHECKSTOP_ANALYSIS
unset IPLTIME_CHECKSTOP_ANALYSIS

# Hostboot will detect hardware changes
unset HOST_HCDB_SUPPORT

# set for trace debug to console
unset CONSOLE_OUTPUT_TRACE
