aboutsummaryrefslogtreecommitdiff
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
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>
-rw-r--r--boot/pxe_utils.c8
-rw-r--r--drivers/net/tsec.c2
2 files changed, 8 insertions, 2 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] = "-";
diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
index 4354753..64bb42b 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;