diff --git a/configs/config.cosmos b/configs/config.cosmos
index d8cdac2..04ac4d3 100644
--- a/configs/config.cosmos
+++ b/configs/config.cosmos
@@ -1,6 +1,6 @@
 CONFIG_VENDOR_GOOGLE=y
 CONFIG_BOARD_GOOGLE_COSMOS=y
-CONFIG_COREBOOT_ROMSIZE_KB_1024=y
-CONFIG_FLASHMAP_OFFSET=0x00100000
+CONFIG_COREBOOT_ROMSIZE_KB_512=y
+CONFIG_FLASHMAP_OFFSET=0x00080000
 CONFIG_VBOOT2_VERIFY_FIRMWARE=y
 # CONFIG_CONSOLE_SERIAL is not set
\ No newline at end of file
diff --git a/payloads/libpayload/Config.in b/payloads/libpayload/Config.in
index ebd029c..ce16fd2 100644
--- a/payloads/libpayload/Config.in
+++ b/payloads/libpayload/Config.in
@@ -209,6 +209,11 @@
 	depends on SERIAL_CONSOLE
 	default n
 
+config BG4CD_SERIAL_CONSOLE
+	bool "Serial port driver for Marvell's BG4CD"
+	depends on SERIAL_CONSOLE
+	default n
+
 config PL011_SERIAL_CONSOLE
 	bool "PL011 compatible serial port driver"
 	depends on 8250_SERIAL_CONSOLE
@@ -389,6 +394,9 @@
 
 config TIMER_RK
 	bool "Timer for Rockchip"
+
+config TIMER_BG4CD
+	bool "Marvell BG4CD"
 endchoice
 
 config TIMER_MCT_HZ
diff --git a/payloads/libpayload/configs/config.cosmos b/payloads/libpayload/configs/config.cosmos
new file mode 100644
index 0000000..06441a6
--- /dev/null
+++ b/payloads/libpayload/configs/config.cosmos
@@ -0,0 +1,76 @@
+#
+# Automatically generated make config: don't edit
+# libpayload version: 0.2.0
+# Tue Oct 14 18:32:48 2014
+#
+
+#
+# Generic Options
+#
+CONFIG_LP_GPL=y
+# CONFIG_LP_EXPERIMENTAL is not set
+# CONFIG_LP_OBSOLETE is not set
+# CONFIG_LP_DEVELOPER is not set
+# CONFIG_LP_REMOTEGDB is not set
+CONFIG_LP_CHROMEOS=y
+
+#
+# Architecture Options
+#
+CONFIG_LP_ARCH_ARM=y
+# CONFIG_LP_ARCH_X86 is not set
+# CONFIG_LP_ARCH_ARM64 is not set
+# CONFIG_LP_MEMMAP_RAM_ONLY is not set
+
+#
+# Standard Libraries
+#
+CONFIG_LP_LIBC=y
+# CONFIG_LP_CURSES is not set
+# CONFIG_LP_TINYCURSES is not set
+# CONFIG_LP_PDCURSES is not set
+CONFIG_LP_CBFS=y
+CONFIG_LP_LZMA=y
+
+#
+# Console Options
+#
+CONFIG_LP_SKIP_CONSOLE_INIT=y
+CONFIG_LP_CBMEM_CONSOLE=y
+CONFIG_LP_SERIAL_CONSOLE=y
+# CONFIG_LP_8250_SERIAL_CONSOLE is not set
+# CONFIG_LP_S5P_SERIAL_CONSOLE is not set
+# CONFIG_LP_TEGRA_SERIAL_CONSOLE is not set
+# CONFIG_LP_RK_SERIAL_CONSOLE is not set
+# CONFIG_LP_IPQ806X_SERIAL_CONSOLE is not set
+CONFIG_LP_BG4CD_SERIAL_CONSOLE=y
+# CONFIG_LP_SERIAL_SET_SPEED is not set
+# CONFIG_LP_SERIAL_ACS_FALLBACK is not set
+# CONFIG_LP_VIDEO_CONSOLE is not set
+# CONFIG_LP_PC_KEYBOARD is not set
+
+#
+# Drivers
+#
+# CONFIG_LP_RTC_PORT_EXTENDED_VIA is not set
+# CONFIG_LP_STORAGE is not set
+# CONFIG_LP_TIMER_NONE is not set
+# CONFIG_LP_TIMER_MCT is not set
+# CONFIG_LP_TIMER_TEGRA_1US is not set
+# CONFIG_LP_TIMER_IPQ806X is not set
+# CONFIG_LP_TIMER_RK is not set
+CONFIG_LP_TIMER_BG4CD=y
+CONFIG_LP_USB=y
+# CONFIG_LP_USB_OHCI is not set
+# CONFIG_LP_USB_EHCI is not set
+# CONFIG_LP_USB_XHCI is not set
+# CONFIG_LP_USB_DWC2 is not set
+# CONFIG_LP_USB_HID is not set
+# CONFIG_LP_USB_HUB is not set
+# CONFIG_LP_USB_MSC is not set
+# CONFIG_LP_USB_PCI is not set
+# CONFIG_LP_USB_GEN_HUB is not set
+# CONFIG_LP_BIG_ENDIAN is not set
+CONFIG_LP_LITTLE_ENDIAN=y
+# CONFIG_LP_IO_ADDRESS_SPACE is not set
+CONFIG_LP_ARCH_SPECIFIC_OPTIONS=y
diff --git a/payloads/libpayload/drivers/Makefile.inc b/payloads/libpayload/drivers/Makefile.inc
index 53288ff..53901dd 100644
--- a/payloads/libpayload/drivers/Makefile.inc
+++ b/payloads/libpayload/drivers/Makefile.inc
@@ -38,6 +38,7 @@
 libc-$(CONFIG_LP_TEGRA_SERIAL_CONSOLE) += serial/tegra.c
 libc-$(CONFIG_LP_IPQ806X_SERIAL_CONSOLE) += serial/ipq806x.c
 libc-$(CONFIG_LP_RK_SERIAL_CONSOLE) += serial/rk_serial.c
+libc-$(CONFIG_LP_BG4CD_SERIAL_CONSOLE) += serial/bg4cd.c
 libc-$(CONFIG_LP_PC_KEYBOARD) += keyboard.c
 
 libc-$(CONFIG_LP_CBMEM_CONSOLE) += cbmem_console.c
@@ -51,6 +52,7 @@
 libc-$(CONFIG_LP_TIMER_TEGRA_1US) += timer/tegra_1us.c
 libc-$(CONFIG_LP_TIMER_IPQ806X) += timer/ipq806x.c
 libc-$(CONFIG_LP_TIMER_RK) += timer/rktimer.c
+libc-$(CONFIG_LP_TIMER_BG4CD) += timer/bg4cd.c
 
 # Video console drivers
 libc-$(CONFIG_LP_VIDEO_CONSOLE) += video/video.c
diff --git a/payloads/libpayload/drivers/serial/bg4cd.c b/payloads/libpayload/drivers/serial/bg4cd.c
new file mode 100644
index 0000000..9dfa996
--- /dev/null
+++ b/payloads/libpayload/drivers/serial/bg4cd.c
@@ -0,0 +1,49 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Google Electronics
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+#include <libpayload-config.h>
+#include <libpayload.h>
+
+void serial_putchar(unsigned int c)
+{
+}
+
+int serial_havechar(void)
+{
+	return 0;
+}
+
+int serial_getchar(void)
+{
+	return 0;
+}
+
+static struct console_input_driver consin = {
+	.havekey = &serial_havechar,
+	.getchar = &serial_getchar
+};
+
+static struct console_output_driver consout = {
+	.putchar = &serial_putchar
+};
+
+void serial_console_init(void)
+{
+	console_add_input_driver(&consin);
+	console_add_output_driver(&consout);
+}
diff --git a/payloads/libpayload/drivers/timer/bg4cd.c b/payloads/libpayload/drivers/timer/bg4cd.c
new file mode 100644
index 0000000..34872a3
--- /dev/null
+++ b/payloads/libpayload/drivers/timer/bg4cd.c
@@ -0,0 +1,30 @@
+
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2014 Google Electronics
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+#include <libpayload.h>
+
+uint64_t timer_hz(void)
+{
+	return 0;
+}
+
+uint64_t timer_raw_value(void)
+{
+	return 0;
+}
