aboutsummaryrefslogtreecommitdiff
path: root/boot
diff options
context:
space:
mode:
authorPeter Hoyes <Peter.Hoyes@arm.com>2021-10-14 09:40:04 +0100
committerRamon Fried <rfried.dev@gmail.com>2021-11-23 09:57:56 +0200
commitd5ba6188dfbf6bb68354bec86e483623f1f6dae2 (patch)
tree0b696046b228b7bed844e4a23ed13cbd4342208c /boot
parentd4a660aafa12646c64eac2081978fb80cddc0e93 (diff)
downloadu-boot-d5ba6188dfbf6bb68354bec86e483623f1f6dae2.zip
u-boot-d5ba6188dfbf6bb68354bec86e483623f1f6dae2.tar.gz
u-boot-d5ba6188dfbf6bb68354bec86e483623f1f6dae2.tar.bz2
cmd: pxe_utils: Check fdtcontroladdr in label_boot
If using OF_CONTROL, fdtcontroladdr is set to the fdt used to configure U-Boot. When using PXE, if no fdt is defined in the menu file, and there is no fdt at fdt_addr, add fall back on fdtcontroladdr too. We are developing board support for the Armv8r64 FVP using config_distro_bootcmd. We are also using OF_BOARD and would like the PXE boot option to default to the fdt provided by board_fdt_blob_setup. Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
Diffstat (limited to 'boot')
-rw-r--r--boot/pxe_utils.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c
index a7a84f2..a32acca 100644
--- a/boot/pxe_utils.c
+++ b/boot/pxe_utils.c
@@ -550,7 +550,10 @@ static int label_boot(struct pxe_context *ctx, struct pxe_label *label)
* Scenario 2: If there is an fdt_addr specified, pass it along to
* bootm, and adjust argc appropriately.
*
- * Scenario 3: fdt blob is not available.
+ * Scenario 3: If there is an fdtcontroladdr specified, pass it along to
+ * bootm, and adjust argc appropriately.
+ *
+ * Scenario 4: fdt blob is not available.
*/
bootm_argv[3] = env_get("fdt_addr_r");
@@ -652,6 +655,9 @@ static int label_boot(struct pxe_context *ctx, struct pxe_label *label)
if (!bootm_argv[3])
bootm_argv[3] = env_get("fdt_addr");
+ if (!bootm_argv[3])
+ bootm_argv[3] = env_get("fdtcontroladdr");
+
if (bootm_argv[3]) {
if (!bootm_argv[2])
bootm_argv[2] = "-";