diff options
author | Peter Hoyes <Peter.Hoyes@arm.com> | 2021-10-14 09:40:04 +0100 |
---|---|---|
committer | Ramon Fried <rfried.dev@gmail.com> | 2021-11-23 09:57:56 +0200 |
commit | d5ba6188dfbf6bb68354bec86e483623f1f6dae2 (patch) | |
tree | 0b696046b228b7bed844e4a23ed13cbd4342208c | |
parent | d4a660aafa12646c64eac2081978fb80cddc0e93 (diff) | |
download | u-boot-d5ba6188dfbf6bb68354bec86e483623f1f6dae2.tar.gz u-boot-d5ba6188dfbf6bb68354bec86e483623f1f6dae2.tar.bz2 u-boot-d5ba6188dfbf6bb68354bec86e483623f1f6dae2.zip |
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>
-rw-r--r-- | boot/pxe_utils.c | 8 | ||||
-rw-r--r-- | drivers/net/tsec.c | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c index a7a84f26c1..a32acca8ee 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] = "-"; diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c index 4354753cab..64bb42b0c0 100644 --- a/drivers/net/tsec.c +++ b/drivers/net/tsec.c @@ -156,7 +156,7 @@ static int tsec_mcast_addr(struct udevice *dev, const u8 *mcast_mac, int join) return 0; } -static int tsec_set_promisc(struct udevice *dev, bool enable) +static int __maybe_unused tsec_set_promisc(struct udevice *dev, bool enable) { struct tsec_private *priv = dev_get_priv(dev); struct tsec __iomem *regs = priv->regs; |