diff --git a/common/recipes-phosphor/host/hostboot-settings/hb_settings b/common/recipes-phosphor/host/hostboot-settings/hb_settings
new file mode 100644
index 0000000..d75d4b7
--- /dev/null
+++ b/common/recipes-phosphor/host/hostboot-settings/hb_settings
@@ -0,0 +1,110 @@
+#!/bin/sh
+# Copyright 2018 IBM Corp
+# SPDX-License-Identifier: Apache-2.0
+# Authored May 2018, Joel Stanley <joel@jms.id.au>
+#
+# This script sets the SIO scratch registers 0x2D in order to configure
+# hostboot. It supports boot flags v1 as defined in hostboot source:
+#  src/usr/initservice/bootconfig/bootconfig_ast2400.C
+#  src/usr/console/ast2400.C
+#
+# BOOT_FLAGS_VERSION_REG    = 0x28,
+# Serial config reg: 0x2d
+# Serial config mask: 0xc0
+#
+#  NONE            = 0x00,  // No output selected
+#  SELECT_SUART    = 0x40,  // SIO Uart
+#  SELECT_VUART    = 0x80,  // SOL virtual uart
+#  RESERVED        = 0xc0,  // Reserved
+
+
+SYSFS_SIO=/sys/devices/platform/ahb/ahb:apb/1e789000.lpc/1e789080.lpc-host/1e789080.lpc-host:regs
+SYSFS_SIO28=$SYSFS_SIO/sio_28
+SYSFS_SIO2D=$SYSFS_SIO/sio_2d
+
+FLAGS_VERSION1=$((0x42))
+
+usage()
+{
+	echo "usage: hb_settings [[-u|--uart vuart|suart|none] | [-s|--show] | [-h]]"
+}
+
+show_regs()
+{
+	SIO28=$(cat $SYSFS_SIO28)
+	SIO2D=$(cat $SYSFS_SIO2D)
+
+	case $SIO28 in
+		$FLAGS_VERSION1)
+			echo "Boot flags version 1"
+			;;
+		* )
+			echo "Unknown boot flags version"
+			;;
+	esac
+
+	case $(($SIO2D >> 6)) in
+		0)
+			echo "Hostboot serial output disabled"
+			;;
+		1)
+			echo "Hostboot serial output on SUART"
+			;;
+		2)
+			echo "Hostboot serial output on VUART"
+			;;
+		3)
+			echo "Reserved value"
+			;;
+		* )
+			echo "Invalid uart value"
+			;;
+	esac
+}
+
+set_regs()
+{
+	case $uart in
+		suart)
+			echo "Hostboot serial output on SUART"
+			VAL=0x40
+			;;
+		vuart)
+			echo "Hostboot serial output on VUART"
+			VAL=0x80
+			;;
+		none)
+			echo "Hostboot serial output disabled"
+			VAL=0x00
+			;;
+		* )
+			echo "Invalid uart value"
+			usage
+			exit 1
+	esac
+
+    echo $FLAGS_VERSION1 > $SYSFS_SIO28
+    echo $VAL > $SYSFS_SIO2D
+}
+
+while [ "$1" != "" ]; do
+    case $1 in
+	    -u | --uart)	shift
+		    		uart=$1
+				set_regs
+				exit
+		    		;;
+	    -s | --show )	show_regs
+		    		exit
+		    		;;
+	    -h | --help )	usage
+		    		exit
+		    		;;
+	    * )			usage
+                                exit 1
+    esac
+    shift
+done
+
+usage
+exit 0
