summaryrefslogtreecommitdiff
path: root/lib/fdtdec.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2024-08-05 12:15:44 -0600
committerTom Rini <trini@konsulko.com>2024-08-05 12:17:02 -0600
commit9efc554db8a6ab6e0c68d0f05fc273e5fb494e4e (patch)
tree0f22cb5696bdc743d805c77ae3fc7d5c54bab1c4 /lib/fdtdec.c
parent6becf9ba1ab82af6f4fcf9f4d0da38f9c75212d2 (diff)
parentd63091137c8da5e1f3367c40ec607cd8918b8780 (diff)
Merge patch series "Bug-fixes for a few boards"
Simon Glass <sjg@chromium.org> says: This series includes fixes to get some rockchip and nvidia boards working again. It also drops the broken Beaglebone Black config and provides a devicetree fix for coral (x86).
Diffstat (limited to 'lib/fdtdec.c')
-rw-r--r--lib/fdtdec.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 5b3b26df968..6865f78c70d 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -1668,8 +1668,16 @@ int fdtdec_setup(void)
{
int ret = -ENOENT;
- /* If allowing a bloblist, check that first */
- if (CONFIG_IS_ENABLED(BLOBLIST)) {
+ /*
+ * If allowing a bloblist, check that first. There was discussion about
+ * adding an OF_BLOBLIST Kconfig, but this was rejected.
+ *
+ * The necessary test is whether the previous phase passed a bloblist,
+ * not whether this phase creates one.
+ */
+ if (CONFIG_IS_ENABLED(BLOBLIST) &&
+ (spl_prev_phase() != PHASE_TPL ||
+ !IS_ENABLED(CONFIG_TPL_BLOBLIST))) {
ret = bloblist_maybe_init();
if (!ret) {
gd->fdt_blob = bloblist_find(BLOBLISTT_CONTROL_FDT, 0);