diff --git a/boot/bootdev-uclass.c b/boot/bootdev-uclass.c
index f43307d..dd9ec66 100644
--- a/boot/bootdev-uclass.c
+++ b/boot/bootdev-uclass.c
@@ -375,8 +375,14 @@
 	log_debug("find %s: seq=%d, id=%d/%s\n", label, seq, id,
 		  uclass_get_name(id));
 	if (id == UCLASS_INVALID) {
-		log_warning("Unknown uclass '%s' in label\n", label);
-		return -EINVAL;
+		/* try some special cases */
+		if (IS_ENABLED(CONFIG_BOOTDEV_SPI_FLASH) &&
+		    !strncmp("spi", label, len)) {
+			id = UCLASS_SPI_FLASH;
+		} else {
+			log_warning("Unknown uclass '%s' in label\n", label);
+			return -EINVAL;
+		}
 	}
 	if (id == UCLASS_USB)
 		id = UCLASS_MASS_STORAGE;
diff --git a/boot/bootflow.c b/boot/bootflow.c
index 52cc2f9..d2dbc9d 100644
--- a/boot/bootflow.c
+++ b/boot/bootflow.c
@@ -440,6 +440,18 @@
 	return -ENOTSUPP;
 }
 
+int bootflow_iter_check_sf(const struct bootflow_iter *iter)
+{
+	const struct udevice *media = dev_get_parent(iter->dev);
+	enum uclass_id id = device_get_uclass_id(media);
+
+	log_debug("uclass %d: %s\n", id, uclass_get_name(id));
+	if (id == UCLASS_SPI_FLASH)
+		return 0;
+
+	return -ENOTSUPP;
+}
+
 int bootflow_iter_check_net(const struct bootflow_iter *iter)
 {
 	const struct udevice *media = dev_get_parent(iter->dev);
diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
index 4a2f94f..34c342b 100644
--- a/configs/sandbox_defconfig
+++ b/configs/sandbox_defconfig
@@ -211,6 +211,7 @@
 CONFIG_MMC_SDHCI=y
 CONFIG_MTD=y
 CONFIG_SPI_FLASH_SANDBOX=y
+CONFIG_BOOTDEV_SPI_FLASH=y
 CONFIG_SPI_FLASH_ATMEL=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
diff --git a/configs/sandbox_flattree_defconfig b/configs/sandbox_flattree_defconfig
index cc1b3ac..477763d 100644
--- a/configs/sandbox_flattree_defconfig
+++ b/configs/sandbox_flattree_defconfig
@@ -138,6 +138,7 @@
 CONFIG_I2C_EEPROM=y
 CONFIG_MMC_SANDBOX=y
 CONFIG_SPI_FLASH_SANDBOX=y
+CONFIG_BOOTDEV_SPI_FLASH=y
 CONFIG_SPI_FLASH_ATMEL=y
 CONFIG_SPI_FLASH_EON=y
 CONFIG_SPI_FLASH_GIGADEVICE=y
diff --git a/drivers/mtd/spi/Kconfig b/drivers/mtd/spi/Kconfig
index 7b858a3..a9617c6 100644
--- a/drivers/mtd/spi/Kconfig
+++ b/drivers/mtd/spi/Kconfig
@@ -80,6 +80,14 @@
 
 if SPI_FLASH
 
+config BOOTDEV_SPI_FLASH
+	bool "SPI Flash bootdev support"
+	help
+	  Enable a boot device for SPI flash. This allows reading a script
+	  from SPI flash so that it can be used to boot an Operating System.
+
+	  If unsure, say N
+
 config SPI_FLASH_SFDP_SUPPORT
 	bool "SFDP table parsing support for SPI NOR flashes"
 	depends on !SPI_FLASH_BAR
diff --git a/drivers/mtd/spi/Makefile b/drivers/mtd/spi/Makefile
index 99cc418..4093953 100644
--- a/drivers/mtd/spi/Makefile
+++ b/drivers/mtd/spi/Makefile
@@ -21,3 +21,4 @@
 obj-$(CONFIG_SPI_FLASH_DATAFLASH) += sf_dataflash.o
 obj-$(CONFIG_$(SPL_TPL_)SPI_FLASH_MTD) += sf_mtd.o
 obj-$(CONFIG_SPI_FLASH_SANDBOX) += sandbox.o
+obj-$(CONFIG_$(SPL_TPL_)BOOTDEV_SPI_FLASH) += sf_bootdev.o
diff --git a/drivers/mtd/spi/sf-uclass.c b/drivers/mtd/spi/sf-uclass.c
index e6e650e..df1f753 100644
--- a/drivers/mtd/spi/sf-uclass.c
+++ b/drivers/mtd/spi/sf-uclass.c
@@ -6,6 +6,7 @@
 #define LOG_CATEGORY UCLASS_SPI_FLASH
 
 #include <common.h>
+#include <bootdev.h>
 #include <dm.h>
 #include <log.h>
 #include <malloc.h>
@@ -13,6 +14,7 @@
 #include <spi_flash.h>
 #include <asm/global_data.h>
 #include <dm/device-internal.h>
+#include <test/test.h>
 #include "sf_internal.h"
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -86,6 +88,14 @@
 
 static int spi_flash_post_bind(struct udevice *dev)
 {
+	int ret;
+
+	if (CONFIG_IS_ENABLED(BOOTDEV_SPI_FLASH) && test_sf_bootdev_enabled()) {
+		ret = bootdev_setup_for_dev(dev, "sf_bootdev");
+		if (ret)
+			return log_msg_ret("bd", ret);
+	}
+
 #if defined(CONFIG_NEEDS_MANUAL_RELOC)
 	struct dm_spi_flash_ops *ops = sf_get_ops(dev);
 	static int reloc_done;
@@ -101,6 +111,7 @@
 		reloc_done++;
 	}
 #endif
+
 	return 0;
 }
 
diff --git a/drivers/mtd/spi/sf_bootdev.c b/drivers/mtd/spi/sf_bootdev.c
new file mode 100644
index 0000000..2272e85
--- /dev/null
+++ b/drivers/mtd/spi/sf_bootdev.c
@@ -0,0 +1,82 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Read a bootflow from SPI flash
+ *
+ * Copyright 2022 Google LLC
+ */
+
+#include <common.h>
+#include <bootdev.h>
+#include <bootflow.h>
+#include <bootmeth.h>
+#include <dm.h>
+#include <env.h>
+#include <malloc.h>
+#include <spi_flash.h>
+
+static int sf_get_bootflow(struct udevice *dev, struct bootflow_iter *iter,
+			   struct bootflow *bflow)
+{
+	struct udevice *sf = dev_get_parent(dev);
+	uint size;
+	char *buf;
+	int ret;
+
+	/* We only support the whole device, not partitions */
+	if (iter->part)
+		return log_msg_ret("max", -ESHUTDOWN);
+
+	size = env_get_hex("script_size_f", 0);
+	if (!size)
+		return log_msg_ret("sz", -EINVAL);
+
+	buf = malloc(size + 1);
+	if (!buf)
+		return log_msg_ret("buf", -ENOMEM);
+
+	ret = spi_flash_read_dm(sf, env_get_hex("script_offset_f", 0),
+				size, buf);
+	if (ret)
+		return log_msg_ret("cmd", -EINVAL);
+	bflow->state = BOOTFLOWST_MEDIA;
+
+	ret = bootmeth_set_bootflow(bflow->method, bflow, buf, size);
+	if (ret) {
+		free(buf);
+		return log_msg_ret("method", ret);
+	}
+
+	return 0;
+}
+
+static int sf_bootdev_bind(struct udevice *dev)
+{
+	struct bootdev_uc_plat *ucp = dev_get_uclass_plat(dev);
+
+	ucp->prio = BOOTDEVP_2_SCAN_FAST;
+
+	return 0;
+}
+
+struct bootdev_ops sf_bootdev_ops = {
+	.get_bootflow	= sf_get_bootflow,
+};
+
+static const struct udevice_id sf_bootdev_ids[] = {
+	{ .compatible = "u-boot,bootdev-sf" },
+	{ }
+};
+
+U_BOOT_DRIVER(sf_bootdev) = {
+	.name		= "sf_bootdev",
+	.id		= UCLASS_BOOTDEV,
+	.ops		= &sf_bootdev_ops,
+	.bind		= sf_bootdev_bind,
+	.of_match	= sf_bootdev_ids,
+};
+
+BOOTDEV_HUNTER(sf_bootdev_hunter) = {
+	.prio		= BOOTDEVP_2_SCAN_FAST,
+	.uclass		= UCLASS_SPI_FLASH,
+	.drv		= DM_DRIVER_REF(sf_bootdev),
+};
diff --git a/include/bootflow.h b/include/bootflow.h
index 735ed87..319dda8 100644
--- a/include/bootflow.h
+++ b/include/bootflow.h
@@ -332,6 +332,15 @@
 int bootflow_iter_check_blk(const struct bootflow_iter *iter);
 
 /**
+ * bootflow_iter_check_sf() - Check that a bootflow uses SPI FLASH
+ *
+ * This checks the bootdev in the bootflow to make sure it uses SPI flash
+ *
+ * Return: 0 if OK, -ENOTSUPP if some other device is used (e.g. ethernet)
+ */
+int bootflow_iter_check_sf(const struct bootflow_iter *iter);
+
+/**
  * bootflow_iter_check_net() - Check that a bootflow uses a network device
  *
  * This checks the bootdev in the bootflow to make sure it uses a network
diff --git a/test/boot/bootdev.c b/test/boot/bootdev.c
index 2ad31a0..ea0703f 100644
--- a/test/boot/bootdev.c
+++ b/test/boot/bootdev.c
@@ -243,9 +243,10 @@
 	ut_assert_nextline("  10        mmc              mmc_bootdev");
 	ut_assert_nextline("  30        nvme             nvme_bootdev");
 	ut_assert_nextline("  30        scsi             scsi_bootdev");
+	ut_assert_nextline("  30        spi_flash        sf_bootdev");
 	ut_assert_nextline("  40        usb              usb_bootdev");
 	ut_assert_nextline("  30        virtio           virtio_bootdev");
-	ut_assert_nextline("(total hunters: 7)");
+	ut_assert_nextline("(total hunters: 8)");
 	ut_assert_console_end();
 
 	ut_assertok(bootdev_hunt("usb1", false));
@@ -253,8 +254,8 @@
 		"Bus usb@1: scanning bus usb@1 for devices... 5 USB Device(s) found");
 	ut_assert_console_end();
 
-	/* USB is fifth in the list, so bit 5 */
-	ut_asserteq(BIT(5), std->hunters_used);
+	/* USB is fifth in the list, so bit 6 */
+	ut_asserteq(BIT(6), std->hunters_used);
 
 	return 0;
 }
@@ -274,7 +275,7 @@
 	ut_assertok(run_command("bootdev hunt -l", 0));
 	ut_assert_nextline("Prio  Used  Uclass           Hunter");
 	ut_assert_nextlinen("----");
-	ut_assert_skip_to_line("(total hunters: 7)");
+	ut_assert_skip_to_line("(total hunters: 8)");
 	ut_assert_console_end();
 
 	/* Scan all hunters */
@@ -288,10 +289,11 @@
 	ut_assert_nextline("Hunting with: nvme");
 	ut_assert_nextline("Hunting with: scsi");
 	ut_assert_nextline("scanning bus for devices...");
-	ut_assert_skip_to_line("Hunting with: usb");
+	ut_assert_skip_to_line("Hunting with: spi_flash");
+	ut_assert_nextline("Hunting with: usb");
 	ut_assert_nextline(
 		"Bus usb@1: scanning bus usb@1 for devices... 5 USB Device(s) found");
-	ut_assert_skip_to_line("Hunting with: virtio");
+	ut_assert_nextline("Hunting with: virtio");
 	ut_assert_console_end();
 
 	/* List available hunters */
@@ -303,12 +305,13 @@
 	ut_assert_nextline("  10     *  mmc              mmc_bootdev");
 	ut_assert_nextline("  30     *  nvme             nvme_bootdev");
 	ut_assert_nextline("  30     *  scsi             scsi_bootdev");
+	ut_assert_nextline("  30     *  spi_flash        sf_bootdev");
 	ut_assert_nextline("  40     *  usb              usb_bootdev");
 	ut_assert_nextline("  30     *  virtio           virtio_bootdev");
-	ut_assert_nextline("(total hunters: 7)");
+	ut_assert_nextline("(total hunters: 8)");
 	ut_assert_console_end();
 
-	ut_asserteq(GENMASK(6, 0), std->hunters_used);
+	ut_asserteq(GENMASK(7, 0), std->hunters_used);
 
 	return 0;
 }
