diff --git a/openpower/package/skiboot/0001-platform-add-Raptor-Blackbird-support.patch b/openpower/package/skiboot/0001-platform-add-Raptor-Blackbird-support.patch
new file mode 100644
index 0000000..a7ed4f1
--- /dev/null
+++ b/openpower/package/skiboot/0001-platform-add-Raptor-Blackbird-support.patch
@@ -0,0 +1,112 @@
+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
+
