aboutsummaryrefslogtreecommitdiff
path: root/include/bootflow.h
diff options
context:
space:
mode:
authorSimon Glass2023-02-22 12:17:04 -0700
committerSimon Glass2023-03-08 11:40:49 -0800
commit47dd6b4d7daba06a04bb612d0c19e350e6287fac (patch)
treee68de28980fa5672afed9428bd13e9454b88a811 /include/bootflow.h
parent4f806f31fc29b30f06bd13abe44a1d3649d480e5 (diff)
bootstd: Replicate the dtb-filename quirks of distroboot
For EFI, the distro boot scripts search in three different directories for the .dtb file. The SOC-based filename fallback is supported only for 32-bit ARM. Adjust the code to mirror this behaviour. Also some boards can use a prior-stage FDT if one is not found in the normal way. Support this and show a message in that case. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Mark Kettenis <kettenis@openbsd.org>
Diffstat (limited to 'include/bootflow.h')
-rw-r--r--include/bootflow.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/bootflow.h b/include/bootflow.h
index e5fdf5f29d1..f20f575030f 100644
--- a/include/bootflow.h
+++ b/include/bootflow.h
@@ -37,6 +37,18 @@ enum bootflow_state_t {
};
/**
+ * enum bootflow_flags_t - flags for bootflows
+ *
+ * @BOOTFLOWF_USE_PRIOR_FDT: Indicates that an FDT was not found by the bootmeth
+ * and it is using the prior-stage FDT, which is the U-Boot control FDT.
+ * This is only possible with the EFI bootmeth (distro-efi) and only when
+ * CONFIG_OF_HAS_PRIOR_STAGE is enabled
+ */
+enum bootflow_flags_t {
+ BOOTFLOWF_USE_PRIOR_FDT = 1 << 0,
+};
+
+/**
* struct bootflow - information about a bootflow
*
* This is connected into two separate linked lists:
@@ -68,6 +80,7 @@ enum bootflow_state_t {
* @fdt_fname: Filename of FDT file
* @fdt_size: Size of FDT file
* @fdt_addr: Address of loaded fdt
+ * @flags: Flags for the bootflow (see enum bootflow_flags_t)
*/
struct bootflow {
struct list_head bm_node;
@@ -90,6 +103,7 @@ struct bootflow {
char *fdt_fname;
int fdt_size;
ulong fdt_addr;
+ int flags;
};
/**