summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/Kconfig.boot17
-rw-r--r--common/log.c1
-rw-r--r--common/spl/spl_fit.c15
3 files changed, 26 insertions, 7 deletions
diff --git a/common/Kconfig.boot b/common/Kconfig.boot
index 522f5f3d6a4..3f6d9c1a258 100644
--- a/common/Kconfig.boot
+++ b/common/Kconfig.boot
@@ -343,6 +343,23 @@ config ARCH_FIXUP_FDT_MEMORY
used for booting OS with different memory setup where the part of
the memory location should be used for different purpose.
+config CHROMEOS
+ bool "Support booting Chrome OS"
+ help
+ Chrome OS requires U-Boot to set up a table indicating the boot mode
+ (e.g. Developer mode) and a few other things. Enable this if you are
+ booting on a Chromebook to avoid getting an error about an invalid
+ firmware ID.
+
+config CHROMEOS_VBOOT
+ bool "Support Chrome OS verified boot"
+ help
+ This is intended to enable the full Chrome OS verified boot support
+ in U-Boot. It is not actually implemented in the U-Boot source code
+ at present, so this option is always set to 'n'. It allows
+ distinguishing between booting Chrome OS in a basic way (developer
+ mode) and a full boot.
+
endmenu # Boot images
menu "Boot timing"
diff --git a/common/log.c b/common/log.c
index 4b6f3fcd04a..ce39918e045 100644
--- a/common/log.c
+++ b/common/log.c
@@ -26,6 +26,7 @@ static const char *const log_cat_name[] = {
"bloblist",
"devres",
"acpi",
+ "boot",
};
_Static_assert(ARRAY_SIZE(log_cat_name) == LOGC_COUNT - LOGC_NONE,
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
index f5109e86d14..6418062b93a 100644
--- a/common/spl/spl_fit.c
+++ b/common/spl/spl_fit.c
@@ -6,13 +6,13 @@
#include <common.h>
#include <errno.h>
-#include <board.h>
#include <fpga.h>
#include <gzip.h>
#include <image.h>
#include <log.h>
#include <malloc.h>
#include <spl.h>
+#include <sysinfo.h>
#include <asm/cache.h>
#include <linux/libfdt.h>
@@ -74,7 +74,7 @@ static int spl_fit_get_image_name(const void *fit, int images,
const char *type, int index,
const char **outname)
{
- struct udevice *board;
+ struct udevice *sysinfo;
const char *name, *str;
__maybe_unused int node;
int conf_node;
@@ -110,19 +110,20 @@ static int spl_fit_get_image_name(const void *fit, int images,
}
}
- if (!found && !board_get(&board)) {
+ if (!found && CONFIG_IS_ENABLED(SYSINFO) && !sysinfo_get(&sysinfo)) {
int rc;
/*
- * no string in the property for this index. Check if the board
- * level code can supply one.
+ * no string in the property for this index. Check if the
+ * sysinfo-level code can supply one.
*/
- rc = board_get_fit_loadable(board, index - i - 1, type, &str);
+ rc = sysinfo_get_fit_loadable(sysinfo, index - i - 1, type,
+ &str);
if (rc && rc != -ENOENT)
return rc;
if (!rc) {
/*
- * The board provided a name for a loadable.
+ * The sysinfo provided a name for a loadable.
* Try to match it against the description properties
* first. If no matching node is found, use it as a
* node name.