diff options
author | Simon Glass <sjg@chromium.org> | 2023-01-17 10:48:03 -0700 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-01-23 18:11:41 -0500 |
commit | 0c1f4a9fb13a54780f550d6e5bc4cd37a58f879e (patch) | |
tree | 0195ba57f94d4fca102bf5677d494f2727aa9fe6 /boot/bootdev-uclass.c | |
parent | 081bdc52c158dd3a4f73910cde3d7e70a5932d56 (diff) |
bootstd: Add a SPI flash bootdev
Add a bootdev for SPI flash so that these devices can be used with
standard boot. It only supports loading a script.
Add a special case for the label, since we want to use "spi", not
"spi_flash".
Enable the new bootdev on sandbox.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'boot/bootdev-uclass.c')
-rw-r--r-- | boot/bootdev-uclass.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/boot/bootdev-uclass.c b/boot/bootdev-uclass.c index f43307d006d..dd9ec668e16 100644 --- a/boot/bootdev-uclass.c +++ b/boot/bootdev-uclass.c @@ -375,8 +375,14 @@ static int label_to_uclass(const char *label, int *seqp) 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; |