diff --git a/ci/build-all-defconfigs.sh b/ci/build-all-defconfigs.sh
index 0ad613e..30703f2 100755
--- a/ci/build-all-defconfigs.sh
+++ b/ci/build-all-defconfigs.sh
@@ -4,14 +4,14 @@
 set -eo pipefail
 
 BUILD_INFO=0
+SDK_ONLY=0
 CONFIGTAG="_defconfig"
-
 DEFCONFIGS=();
-
+CCACHE_DIR=""
 SDK_DIR=""
 
-opt=$(getopt -o 'o:s:p:r' -- "$@")
-if [ $? != 0 ] ; then
+opt=$(getopt -o 'o:Ss:p:r' -- "$@")
+if [ $? -ne 0 ] ; then
 	echo "Invalid arguments"
 	exit 1
 fi
@@ -26,10 +26,14 @@
       echo "Output directory: $1"
       OUTDIR="$1"
       ;;
+    '-S')
+      echo "Build SDK Only"
+      SDK_ONLY=1
+      ;;
     '-s')
       shift
-      echo "SDK is in: $1"
-      SDK_DIR=$1
+      echo "SDK cache dir is in: $1"
+      SDK_CACHE=$1
       ;;
     '-p')
       shift
@@ -52,12 +56,142 @@
   shift
 done
 
-function get_kernel_release
+function get_major_minor_release
 {
 	IFS=. read major minor macro <<<"$1"
 	echo -n "${major}_${minor}"
 }
 
+function get_major_release
+{
+	IFS=. read major minor macro <<<"$1"
+	echo -n "${major}"
+}
+
+function build_sdk
+{
+# $1 is the defconfig
+# $2 is the SDK output directory
+# writes the output SDK pathname in global $SDK_DIR
+# also considers global var $CCACHE_DIR
+	SDK_BUILD_DIR=`mktemp -d`
+	op-build O=$SDK_BUILD_DIR $1
+
+	# Accumulate the SDK properties we want to hash to make it unique, but
+	# just so. Start with the buildroot version and machine/OS
+	HASH_PROPERTIES="$(git submodule) $(uname -mo)"
+
+	# Even if they should be interchangeable, we want to force the sdk
+	# build on every supported OS variations
+	HASH_PROPERTIES="$(HASH PROPERTIES) $(lsb_release -as | tr -d '/n[:space:]')"
+
+	# Disable things not necessary for the sdk
+	# (Buildroot manual section 6.1.3 plus a few more things)
+	buildroot/utils/config --file $SDK_BUILD_DIR/.config --disable INIT_BUSYBOX \
+		--enable INIT_NONE \
+		--disable SYSTEM_BIN_SH_BUSYBOX \
+		--disable TARGET_ROOTFS_TAR \
+		--disable SYSTEM_BIN_SH_DASH \
+		--enable SYSTEM_BIN_SH_NONE
+
+	# We don't need the Linux Kernel or eudev (they'll be rebuilt anyway), but we need
+	# to preserve the custom kernel version (if defined) for headers consistency, and
+	# since we're at it,  enabling CPP won't hurt and will make the SDK more general
+	buildroot/utils/config --file $SDK_BUILD_DIR/.config --disable LINUX_KERNEL \
+		--disable ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV \
+		--enable INSTALL_LIBSTDCPP
+
+	# As we are disabling BR2_LINUX_KERNEL, capture Kernel version if any
+	# to prevent it from defaulting to the last on olddefconfig
+	KERNEL_VER=$(buildroot/utils/config --file $SDK_BUILD_DIR/.config --state LINUX_KERNEL_CUSTOM_VERSION_VALUE)
+	if [ "$KERNEL_VER" != "undef" ]; then
+		KERNEL="KERNEL_HEADERS_$(get_major_minor_release $KERNEL_VER)"
+		buildroot/utils/config --file $SDK_BUILD_DIR/.config --enable "$KERNEL"
+	fi
+
+	# Disable packages we won't pull into the SDK to speed it's build
+	buildroot/utils/config --file $SDK_BUILD_DIR/.config --package \
+		--disable BUSYBOX \
+		--disable KEXEC_LITE \
+		--disable LINUX_FIRMWARE \
+		--disable CRYPTSETUP \
+		--disable IPMITOOL \
+		--disable LVM2 \
+		--disable MDADM \
+		--disable NVME \
+		--disable PCIUTILS \
+		--disable ZLIB \
+		--disable LIBZLIB \
+		--disable DTC \
+		--disable LIBAIO \
+		--disable JSON_C \
+		--disable ELFUTILS \
+		--disable NCURSES \
+		--disable POPT \
+		--disable DROPBEAR --disable DROPBEAR_CLIENT \
+		--disable ETHTOOL \
+		--disable IFUPDOWN_SCRIPTS \
+		--disable LRZSZ \
+		--disable NETCAT \
+		--disable RSYNC \
+		--disable SUDO \
+		--disable KMOD \
+		--disable POWERPC_UTILS \
+		--disable UTIL_LINUX \
+		--disable IPRUTILS
+
+	# Additionally, disable ROOTFS stuff that we won't need
+	# Including the OpenPower Packages
+	buildroot/utils/config --file $SDK_BUILD_DIR/.config --undefine ROOTFS_USERS_TABLES \
+		--undefine ROOTFS_OVERLAY \
+		--undefine ROOTFS_POST_BUILD_SCRIPT \
+		--undefine ROOTFS_POST_FAKEROOT_SCRIPT \
+		--undefine ROOTFS_POST_IMAGE_SCRIPT \
+		--undefine ROOTFS_POST_SCRIPT_ARGS \
+		--undefine OPENPOWER_PLATFORM \
+		--undefine BR2_OPENPOWER_POWER8 \
+		--undefine BR2_OPENPOWER_POWER9
+
+	# Enable CCACHE
+	buildroot/utils/config --file $SDK_BUILD_DIR/.config --enable CCACHE \
+		--set-str CCACHE_DIR $CCACHE_DIR
+
+	op-build O=$SDK_BUILD_DIR olddefconfig
+
+	# Ideally this woulnd't matter, but to be safe, include Kernel
+	# Headers and GCC version as part of the SDK Hash, so that we
+	# don't have Full builds and SDK builds potentially diverging
+	# on the headers/compiler versions each uses
+	KERNEL_VER=$(buildroot/utils/config --file $SDK_BUILD_DIR/.config --state DEFAULT_KERNEL_HEADERS)
+	HASH_PROPERTIES="$HASH_PROPERTIES $KERNEL_VER"
+	echo "SDK KERNEL Version: $KERNEL_VER"
+	GCC_VER=$(buildroot/utils/config --file $SDK_BUILD_DIR/.config --state GCC_VERSION)
+	echo "SDK GCC Version: $GCC_VER"
+	HASH_PROPERTIES="$HASH_PROPERTIES $GCC_VER"
+
+	# sha1sum our properties and check if a matching sdk exists
+	# A potential caveat he is if op-build is patching any of the
+	# HASH_PROPERTIES content at build time
+	HASH_VAL=$(echo -n "$HASH_PROPERTIES" | sha1sum | sed -e 's/ .*//')
+
+	SDK_DIR="$2/toolchain-${HASH_VAL}"
+
+	if [ -e "$SDK_DIR" ]; then
+		echo "Acceptable SDK for $i exists in $SDK_DIR - skipping build"
+	else
+		op-build O=$SDK_BUILD_DIR sdk
+		if [ $? -ne 0 ]; then
+			rm -rf $SDK_DIR
+			return 1
+		fi
+
+		# Move sdk to resting location and adjust paths
+		mv $SDK_BUILD_DIR $SDK_DIR
+		$SDK_DIR/host/relocate-sdk.sh
+	fi
+	export SDK_DIR
+}
+
 if [ -z "${PLATFORM_LIST}" ]; then
         echo "Using all the defconfigs for all the platforms"
         DEFCONFIGS=`(cd openpower/configs; ls -1 *_defconfig)`
@@ -90,26 +224,50 @@
 for i in ${DEFCONFIGS[@]}; do
 	export O=${OUTDIR}/$i
 	rm -rf $O
-        op-build O=$O $i
-	./buildroot/utils/config --file $O/.config --enable CCACHE \
-		--set-str CCACHE_DIR $CCACHE_DIR
-	if [ -d "$SDK_DIR" ]; then
-	    ./buildroot/utils/config --file $O/.config --enable TOOLCHAIN_EXTERNAL \
-		    --set-str TOOLCHAIN_EXTERNAL_PATH $SDK_DIR \
-		    --enable TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC \
-		    --enable TOOLCHAIN_EXTERNAL_CXX
-	    # FIXME: How do we work this out programatically?
-	    ./buildroot/utils/config --file $O/.config --enable BR2_TOOLCHAIN_EXTERNAL_GCC_6
 
-	    KERNEL_VER=$(./buildroot/utils/config --file $O/.config --state BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE)
-	    echo "KERNEL_VER " $KERNEL_VER
-	    HEADERS=BR2_TOOLCHAIN_EXTERNAL_HEADERS_$(get_kernel_release $KERNEL_VER)
-	    ./buildroot/utils/config --file $O/.config --set-val $HEADERS y
+	SDK_DIR=""
+	build_sdk $i $SDK_CACHE
+	if [ $? -ne 0 ]; then
+		echo "Error building SDK"
+		exit 1
 	fi
+
+	if [ $SDK_ONLY -ne 0 ]; then
+		continue
+	fi
+
+        op-build O=$O $i
+	buildroot/utils/config --file $O/.config --enable CCACHE \
+		--set-str CCACHE_DIR $CCACHE_DIR
+	buildroot/utils/config --file $O/.config --enable TOOLCHAIN_EXTERNAL \
+		--set-str TOOLCHAIN_EXTERNAL_PATH $SDK_DIR/host \
+		--enable TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
+
+	# Our SDK will always have CPP enabled, but avoid potentially
+	# diverging with the Full build by only enabling it
+	# conditionally
+	CPP_REQUIRED=$(buildroot/utils/config --file $O/.config --state INSTALL_LIBSTDCPP)
+	if [ "$CPP_REQUIRED" = "y" ]; then
+		buildroot/utils/config --file $O/.config --enable TOOLCHAIN_EXTERNAL_CXX
+	fi
+
+	# The Kernel Headers requested MUST be the same as the one
+	# provided by the SDK (i.e., it's part of the hash)
+	HEADERS_VER=$(buildroot/utils/config --file $O/.config --state TOOLCHAIN_HEADERS_AT_LEAST)
+	echo "Toolchain Headers Version Requested: $HEADERS_VER"
+	HEADERS="TOOLCHAIN_EXTERNAL_HEADERS_$(get_major_minor_release $HEADERS_VER)"
+	buildroot/utils/config --file $O/.config --enable "$HEADERS"
+
+	# Same for the GCC version
+	EXTERNAL_GCC_VER=$(buildroot/utils/config --file $O/.config --state GCC_VERSION)
+	echo "GCC Version Requested: $EXTERNAL_GCC_VER"
+	EXTERNAL_GCC="TOOLCHAIN_EXTERNAL_GCC_$(get_major_release $EXTERNAL_GCC_VER)"
+	buildroot/utils/config --file $O/.config --enable "$EXTERNAL_GCC"
+
         op-build O=$O olddefconfig
         op-build O=$O
         r=$?
-	if [ ${BUILD_INFO} = 1 ] && [ $r = 0 ]; then
+	if [ ${BUILD_INFO} -eq 1 ] && [ $r -eq 0 ]; then
 	    op-build O=$O legal-info
 	    op-build O=$O graph-build
 	    op-build O=$O graph-size
diff --git a/ci/build-sdk.sh b/ci/build-sdk.sh
deleted file mode 100755
index f2a312a..0000000
--- a/ci/build-sdk.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/bin/bash
-
-set -ex
-set -eo pipefail
-
-if [ -z "$1" ]; then
-	echo "No build distro specified"
-	exit 1;
-fi
-
-if [ -z "$2" ]; then
-	echo "No defconfig to build SDK from specified"
-	exit 1;
-fi
-
-if [ -z "$CCACHE_DIR" ]; then
-	CCACHE_DIR=`pwd`/.op-build_ccache
-fi
-
-shopt -s expand_aliases
-source op-build-env
-
-if [ -n "$DL_DIR" ]; then
-	unset BR2_DL_DIR
-	export BR2_DL_DIR=${DL_DIR}
-fi
-
-export O=`pwd`/output-$1-$2/
-op-build O=$O $2
-./buildroot/utils/config --file $O/.config --enable CCACHE
-./buildroot/utils/config --file $O/.config --set-str CCACHE_DIR $CCACHE_DIR
-
-# Disable things not necessary for the sdk
-# (Buildroot manual section 6.1.3)
-./buildroot/utils/config --file $O/.config --disable INIT_BUSYBOX \
-	--enable INIT_NONE \
-	--disable SYSTEM_BIN_SH_BUSYBOX \
-	--disable TARGET_ROOTFS_TAR
-
-# Additionally, disable OpenPower packages and
-# ROOTFS stuff that we won't need
-./buildroot/utils/config --file $O/.config --disable OPENPOWER_PLATFORM \
-	--undefine ROOTFS_USERS_TABLES \
-	--undefine ROOTFS_OVERLAY \
-	--undefine ROOTFS_POST_BUILD_SCRIPT \
-	--undefine ROOTFS_POST_FAKEROOT_SCRIPT \
-	--undefine ROOTFS_POST_IMAGE_SCRIPT \
-	--undefine ROOTFS_POST_SCRIPT_ARGS
-
-op-build O=$O olddefconfig
-
-if [ -f "$(ldconfig -p | grep libeatmydata.so | tr ' ' '\n' | grep /|head -n1)" ]; then
-    export LD_PRELOAD=${LD_PRELOAD:+"$LD_PRELOAD "}libeatmydata.so
-elif [ -f "/usr/lib64/nosync/nosync.so" ]; then
-    export LD_PRELOAD=${LD_PRELOAD:+"$LD_PRELOAD "}/usr/lib64/nosync/nosync.so
-fi
-
-op-build O=$O sdk
diff --git a/ci/build.sh b/ci/build.sh
index a0430df..e0acc1a 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -7,7 +7,7 @@
 SDK_ONLY=0
 
 opt=$(getopt -o 's:Sab:p:c:hr' -- "$@")
-if [ $? != 0 ] ; then
+if [ $? -ne 0 ] ; then
 	echo "Invalid arguments"
 	exit 1
 fi
@@ -96,10 +96,6 @@
          -t $1 $2
 }
 
-function toolchain_hash
-{
-    echo -n 'toolchain-'$((git submodule ; cd openpower/configs/; cat `ls -1 |grep '_defconfig$'|sort`)|sha1sum |sed -e 's/ .*//')
-}
 
 env
 
@@ -144,15 +140,6 @@
 EOF
 		  )
 	$DOCKER_PREFIX docker build --network=host -t openpower/op-build-$distro - <<< "${Dockerfile}"
-	SDK_DIR=$SDK_CACHE/$(toolchain_hash)-$distro
-	if [ ! -d "$SDK_DIR" ]; then
-	    chmod +x ci/build-sdk.sh
-	    run_docker openpower/op-build-$distro "./ci/build-sdk.sh $distro witherspoon_defconfig"
-	    mv output-$distro-witherspoon_defconfig $SDK_DIR
-	    $SDK_DIR/host/relocate-sdk.sh
-	fi
-
-	sdk_args="-s $SDK_DIR/host"
 
 	if [ -n "$PLATFORMS" ]; then
 	    platform_args="-p $PLATFORMS"
@@ -160,11 +147,15 @@
 	    platform_args=""
 	fi
 
-	if [ $SDK_ONLY == 0 ]; then
-	    run_docker openpower/op-build-$distro "./ci/build-all-defconfigs.sh -o `pwd`/output-$distro ${platform_args} ${release_args} ${sdk_args}"
+	if [ $SDK_ONLY -ne 0 ]; then
+	    sdk_args="-S"
+	else
+	    sdk_args=""
 	fi
 
-	if [ $? != 0 ]; then
+	run_docker openpower/op-build-$distro "./ci/build-all-defconfigs.sh -o `pwd`/output-$distro ${platform_args} ${release_args} ${sdk_args} -s $SDK_CACHE"
+
+	if [ $? -ne 0 ]; then
 		exit $?;
 	fi
 done;
diff --git a/openpower/configs/hostboot/swift.config b/openpower/configs/hostboot/swift.config
new file mode 100755
index 0000000..ee791b8
--- /dev/null
+++ b/openpower/configs/hostboot/swift.config
@@ -0,0 +1,90 @@
+## Set this to pull in Axone only code (such as P9A/EXP MSS code)
+set AXONE
+
+# Allows us to put in workarounds specifically for Axone bringup
+set AXONE_BRING_UP
+
+# The BMC MBOX Protocol is used to access PNOR
+unset SFC_IS_AST2500
+unset SFC_IS_AST2400
+set   PNORDD_IS_BMCMBOX
+unset PNORDD_IS_SFC
+unset BMC_DOES_SFC_INIT
+unset SFC_IS_IBM_DPSS
+set   ALLOW_MICRON_PNOR
+set   ALLOW_MACRONIX_PNOR
+
+
+# Force DJVPD read/write to use EEPROM layer instead of old-style VPD cache
+set DJVPD_READ_FROM_HW
+set DJVPD_WRITE_TO_HW
+unset DJVPD_READ_FROM_PNOR
+unset DJVPD_WRITE_TO_PNOR
+
+# Force MEMVPD read/write to EEPROM layer instead of old-style VPD cache
+# ( No concept of MEMVPD in Axone so should not matter )
+set MEMVPD_READ_FROM_HW
+set MEMVPD_WRITE_TO_HW
+unset MEMVPD_READ_FROM_PNOR
+unset MEMVPD_WRITE_TO_PNOR
+
+# Force MVPD read/write to use EEPROM layer instead of old-style VPD cache
+set MVPD_READ_FROM_HW
+set MVPD_WRITE_TO_HW
+unset MVPD_READ_FROM_PNOR
+unset MVPD_WRITE_TO_PNOR
+
+# Other VPD options.
+set PVPD_READ_FROM_HW
+set PVPD_WRITE_TO_HW
+unset PVPD_READ_FROM_PNOR
+unset PVPD_WRITE_TO_PNOR
+unset CDIMM_FORMAT_FOR_CVPD
+
+#enable EEPROM caching
+set SUPPORT_EEPROM_CACHING
+
+# gpio config
+set GPIODD
+unset PALMETTO_VDDR
+
+# Enable Consecutive SBE Updates
+set   SBE_UPDATE_CONSECUTIVE
+unset SBE_UPDATE_INDEPENDENT
+unset SBE_UPDATE_SEQUENTIAL
+unset SBE_UPDATE_SIMULTANEOUS
+unset NO_SBE_UPDATES
+
+unset PCIE_HOTPLUG_CONTROLLER
+
+# turn on console output
+set CONSOLE
+set BMC_AST2500
+
+unset DISABLE_HOSTBOOT_RUNTIME
+
+# Compile in hostboot runtime PRD
+set HBRT_PRD
+
+# Compile in hb rt HTMGT : Load/Start OCC
+set HTMGT
+set START_OCC_DURING_BOOT
+unset CONSOLE_OUTPUT_OCC_COMM
+
+#PNOR flags
+unset PNOR_TWO_SIDE_SUPPORT
+
+set BMC_BT_LPC_IPMI
+
+# Enable Checkstop Analysis for both
+#   Runtime and IPLtime scenarios
+set ENABLE_CHECKSTOP_ANALYSIS
+set IPLTIME_CHECKSTOP_ANALYSIS
+
+# set for trace debug to console
+unset CONSOLE_OUTPUT_TRACE
+set CONSOLE_OUTPUT_FFDCDISPLAY
+
+# Terminate Hostboot when errors occur in manufacturing mode
+#   (relies on BMC to not trigger reboot)
+unset HANG_ON_MFG_SRC_TERM
diff --git a/openpower/configs/swift_defconfig b/openpower/configs/swift_defconfig
new file mode 100644
index 0000000..de3b9bb
--- /dev/null
+++ b/openpower/configs/swift_defconfig
@@ -0,0 +1,73 @@
+BR2_powerpc64le=y
+BR2_powerpc_power8=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
+BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
+BR2_GCC_VERSION_6_X=y
+BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux --disable-libsanitizer"
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_TARGET_GENERIC_HOSTNAME="skiroot"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt"
+BR2_TARGET_GENERIC_GETTY_PORT="hvc0"
+BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW"
+BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8"
+BR2_SYSTEM_ENABLE_NLS=y
+BR2_ROOTFS_USERS_TABLES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/users-table"
+BR2_ROOTFS_OVERLAY="../openpower/overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.33"
+BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_OP_BUILD_PATH)/linux"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
+BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
+BR2_LINUX_KERNEL_XZ=y
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y
+BR2_PACKAGE_CRYPTSETUP=y
+BR2_PACKAGE_IPMITOOL=y
+BR2_PACKAGE_IPMITOOL_USB=y
+BR2_PACKAGE_MDADM=y
+BR2_PACKAGE_PCIUTILS=y
+BR2_PACKAGE_NCURSES_WCHAR=y
+BR2_PACKAGE_DROPBEAR=y
+# BR2_PACKAGE_DROPBEAR_SERVER is not set
+BR2_PACKAGE_ETHTOOL=y
+BR2_PACKAGE_LRZSZ=y
+BR2_PACKAGE_NETCAT=y
+BR2_PACKAGE_RSYNC=y
+BR2_PACKAGE_SUDO=y
+BR2_PACKAGE_UTIL_LINUX_AGETTY=y
+BR2_TARGET_ROOTFS_CPIO_XZ=y
+BR2_TARGET_ROOTFS_INITRAMFS=y
+BR2_OPENPOWER_PLATFORM=y
+BR2_OPENPOWER_POWER9=y
+BR2_HOSTBOOT_CONFIG_FILE="swift.config"
+BR2_OPENPOWER_MACHINE_XML_GITHUB_PROJECT_VALUE="swift-xml"
+BR2_OPENPOWER_MACHINE_XML_VERSION="14a1bec7d32fabf990338cc6c7a33df99d86f499"
+BR2_OPENPOWER_MACHINE_XML_FILENAME="swift.xml"
+BR2_OPENPOWER_SYSTEM_XML_FILENAME="SWIFT_hb.system.xml"
+BR2_OPENPOWER_MRW_XML_FILENAME="SWIFT_hb.mrw.xml"
+BR2_OPENPOWER_BIOS_XML_FILENAME="SWIFT_bios.xml"
+BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="axonePnorLayout_64.xml"
+BR2_OPENPOWER_CONFIG_NAME="swift"
+BR2_OPENPOWER_PNOR_FILENAME="swift.pnor"
+BR2_HOSTBOOT_BINARY_SBE_FILENAME="axone_sbe.img.ecc"
+BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc"
+BR2_HOSTBOOT_BINARY_WINK_FILENAME="p9a.ref_image.hdr.bin.ecc"
+BR2_IMA_CATALOG_FILENAME="ima_catalog.bin"
+BR2_OPENPOWER_TARGETING_BIN_FILENAME="SWIFT_HB.targeting.bin"
+BR2_OPENPOWER_TARGETING_ECC_FILENAME="SWIFT_HB.targeting.bin.ecc"
+BR2_BUILD_PNOR_SQUASHFS=y
+BR2_PACKAGE_PETITBOOT=y
+BR2_PACKAGE_PETITBOOT_MTD=y
+BR2_OCC_GPU_BIN_BUILD=y
+BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin"
+BR2_PACKAGE_LOADKEYS=y
+BR2_IMA_CATALOG_DTS="POWER9"
+BR2_PACKAGE_OCMB_EXPLORER_FW=y
diff --git a/openpower/package/hcode/Config.in b/openpower/package/hcode/Config.in
index 8612eed..a9cf79d 100644
--- a/openpower/package/hcode/Config.in
+++ b/openpower/package/hcode/Config.in
@@ -31,7 +31,7 @@
 
 config BR2_HCODE_VERSION
 	string
-	default "hw042720a.opmst" if BR2_HCODE_LATEST_VERSION
+	default "hw042920a.opmst" if BR2_HCODE_LATEST_VERSION
 	default BR2_HCODE_CUSTOM_VERSION_VALUE \
 		if BR2_HCODE_CUSTOM_VERSION
 
diff --git a/openpower/package/hostboot/Config.in b/openpower/package/hostboot/Config.in
index 46f35d2..b064c0a 100644
--- a/openpower/package/hostboot/Config.in
+++ b/openpower/package/hostboot/Config.in
@@ -25,7 +25,7 @@
 
 config BR2_HOSTBOOT_VERSION
 	string
-	default "e27c350a6a3d9ffda1eaf0e7dccc660963e631a1" if BR2_HOSTBOOT_LATEST_VERSION
+	default "1040e48ee138f9c7e858aadcd8ae6dbea4eb782e" if BR2_HOSTBOOT_LATEST_VERSION
 	default BR2_HOSTBOOT_CUSTOM_VERSION_VALUE \
 		if BR2_HOSTBOOT_CUSTOM_VERSION
 
diff --git a/openpower/package/ocmb-explorer-fw/Config.in b/openpower/package/ocmb-explorer-fw/Config.in
index 73119ec..298855d 100644
--- a/openpower/package/ocmb-explorer-fw/Config.in
+++ b/openpower/package/ocmb-explorer-fw/Config.in
@@ -24,7 +24,7 @@
 
 config BR2_OCMB_EXPLORER_FW_VERSION
 	string
-	default "CL376092" if BR2_OCMB_EXPLORER_FW_LATEST_VERSION
+	default "v4.0" if BR2_OCMB_EXPLORER_FW_LATEST_VERSION
 	default BR2_OCMB_EXPLORER_FW_CUSTOM_VERSION_VALUE \
 		if BR2_OCMB_EXPLORER_FW_CUSTOM_VERSION
 
