diff --git a/openpower/package/skiboot/0001-platform-add-Raptor-Blackbird-support.patch b/openpower/package/skiboot/0001-platform-add-Raptor-Blackbird-support.patch
deleted file mode 100644
index a7ed4f1..0000000
--- a/openpower/package/skiboot/0001-platform-add-Raptor-Blackbird-support.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 376bed3fbe902138b92e95d9da58bb5e1509072e Mon Sep 17 00:00:00 2001
-From: Stewart Smith <stewart@flamingspork.com>
-Date: Sun, 8 Dec 2019 19:06:25 -0800
-Subject: [PATCH] platform: add Raptor Blackbird support
-
-Based off the Raptor patch:
-https://git.raptorcs.com/git/blackbird-skiboot/commit/?id=c81f9d66592dc2a7cf7f6c59c3def5cee0638c1f
-
-Notable changes are slot names matching what's silkscreened on the board.
-See https://i1.wp.com/www.flamingspork.com/blog/wp-content/uploads/2019/12/IMG_4006-scaled.jpg
-for a photo of the actual board.
-
-I haven't included the port 80h bit as I haven't worked out how to probe that from the BMC to test.
-
-Boot tested, seems good.
-
-Signed-off-by: Stewart Smith <stewart@flamingspork.com>
----
- platforms/astbmc/Makefile.inc |  3 +-
- platforms/astbmc/blackbird.c  | 66 +++++++++++++++++++++++++++++++++++
- 2 files changed, 68 insertions(+), 1 deletion(-)
- create mode 100644 platforms/astbmc/blackbird.c
-
-diff --git a/platforms/astbmc/Makefile.inc b/platforms/astbmc/Makefile.inc
-index fd4eaeac..e0f8760d 100644
---- a/platforms/astbmc/Makefile.inc
-+++ b/platforms/astbmc/Makefile.inc
-@@ -6,7 +6,8 @@ ASTBMC_OBJS = pnor.o common.o slots.o \
- 	      garrison.o barreleye.o \
- 	      witherspoon.o zaius.o romulus.o p9dsu.o \
- 	      vesnin.o nicole.o mihawk.o\
--	      talos.o swift.o
-+	      talos.o blackbird.o \
-+	      swift.o
- 
- ASTBMC = $(PLATDIR)/astbmc/built-in.a
- $(ASTBMC): $(ASTBMC_OBJS:%=$(PLATDIR)/astbmc/%)
-diff --git a/platforms/astbmc/blackbird.c b/platforms/astbmc/blackbird.c
-new file mode 100644
-index 00000000..8817b8c5
---- /dev/null
-+++ b/platforms/astbmc/blackbird.c
-@@ -0,0 +1,66 @@
-+// SPDX-License-Identifier: Apache-2.0
-+/* Copyright 2017 IBM Corp.
-+ * Copyright 2018-2019 Raptor Engineering, LLC
-+ * Copyright 2019 Stewart Smith
-+ */
-+
-+#include <skiboot.h>
-+#include <device.h>
-+#include <console.h>
-+#include <chip.h>
-+#include <ipmi.h>
-+#include <psi.h>
-+
-+#include "astbmc.h"
-+
-+ST_PLUGGABLE(blackbird_cpu1_slot1, "SLOT1 PCIE 4.0 X16");
-+ST_PLUGGABLE(blackbird_cpu1_slot2, "SLOT2 PCIE 4.0 X8");
-+
-+ST_BUILTIN_DEV(blackbird_builtin_sata, "Builtin SATA");
-+ST_BUILTIN_DEV(blackbird_builtin_usb, "Builtin USB");
-+ST_BUILTIN_DEV(blackbird_builtin_ethernet, "Builtin Ethernet");
-+ST_BUILTIN_DEV(blackbird_builtin_bmc, "BMC");
-+
-+static const struct slot_table_entry blackbird_phb_table[] = {
-+	ST_PHB_ENTRY(0, 0, blackbird_cpu1_slot1),
-+	ST_PHB_ENTRY(0, 1, blackbird_cpu1_slot2),
-+
-+	ST_PHB_ENTRY(0, 2, blackbird_builtin_sata),
-+	ST_PHB_ENTRY(0, 3, blackbird_builtin_usb),
-+	ST_PHB_ENTRY(0, 4, blackbird_builtin_ethernet),
-+	ST_PHB_ENTRY(0, 5, blackbird_builtin_bmc),
-+
-+	{ .etype = st_end },
-+};
-+
-+static bool blackbird_probe(void)
-+{
-+	if (!dt_node_is_compatible(dt_root, "rcs,blackbird"))
-+		return false;
-+
-+	/* Lot of common early inits here */
-+	astbmc_early_init();
-+
-+	/* Setup UART for use by OPAL (Linux hvc) */
-+	uart_set_console_policy(UART_CONSOLE_OPAL);
-+
-+	slot_table_init(blackbird_phb_table);
-+
-+	return true;
-+}
-+
-+DECLARE_PLATFORM(blackbird) = {
-+	.name			= "Blackbird",
-+	.probe			= blackbird_probe,
-+	.init			= astbmc_init,
-+	.start_preload_resource	= flash_start_preload_resource,
-+	.resource_loaded	= flash_resource_loaded,
-+	.bmc			= &bmc_plat_ast2500_openbmc,
-+	.pci_get_slot_info	= slot_table_get_slot_info,
-+	.pci_probe_complete	= check_all_slot_table,
-+	.cec_power_down         = astbmc_ipmi_power_down,
-+	.cec_reboot             = astbmc_ipmi_reboot,
-+	.elog_commit		= ipmi_elog_commit,
-+	.exit			= astbmc_exit,
-+	.terminate		= ipmi_terminate,
-+};
--- 
-2.23.0
-
diff --git a/openpower/package/skiboot/Config.in b/openpower/package/skiboot/Config.in
index 6caaee4..5bb5443 100644
--- a/openpower/package/skiboot/Config.in
+++ b/openpower/package/skiboot/Config.in
@@ -31,7 +31,7 @@
 
 config BR2_SKIBOOT_VERSION
 	string
-	default "v6.6-rc1-4-ge991415a" if BR2_SKIBOOT_LATEST_VERSION
+	default "v6.6-rc1-9-g9547b3da" if BR2_SKIBOOT_LATEST_VERSION
 	default BR2_SKIBOOT_CUSTOM_VERSION_VALUE \
 		if BR2_SKIBOOT_CUSTOM_VERSION
 
