On 28/10/2021 19:55, Ramon Fried wrote:
On Sun, Oct 24, 2021 at 10:56 PM Simon Glass <s...@chromium.org> wrote:
Hi,
On Fri, 15 Oct 2021 at 05:21, Andre Przywara <andre.przyw...@arm.com> wrote:
On Thu, 14 Oct 2021 12:24:45 -0600
Simon Glass <s...@chromium.org> wrote:
Hi Simon,
On Thu, 14 Oct 2021 at 02:40, Peter Hoyes <peter.ho...@arm.com> wrote:
From: Peter Hoyes <peter.ho...@arm.com>
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.ho...@arm.com>
---
cmd/pxe_utils.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/cmd/pxe_utils.c b/cmd/pxe_utils.c
index 067c24e5ff..8f8e69ca97 100644
--- a/cmd/pxe_utils.c
+++ b/cmd/pxe_utils.c
@@ -556,7 +556,10 @@ static int label_boot(struct cmd_tbl *cmdtp, 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");
@@ -646,6 +649,9 @@ static int label_boot(struct cmd_tbl *cmdtp, 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] = "-";
--
2.25.1
This is a bit strange as fdtcontroladdr is the control dtb that U-Boot
uses.
Yes, that is the idea. This DTB should be as good as any, and this is the
last check before giving up on DTs completely, so "U-Boot's DTB" (actually
there is no such thing) is better than none at all. In fact EFI boot does
the very same thing:
https://source.denx.de/u-boot/u-boot/-/blob/master/include/config_distro_bootcmd.h#L144-L148
Can you not set fdt_addr to that, if you need to? Is it not
already set to that?
According to doc/README.distro, fdt_addr is reserved for DTBs residing at
a (fixed?) ROM address. We don't really know yet where the DT comes from,
the cleanest seems to be to be passed down from TF-A, in which case this
would definitely not be ROM. board_fdt_blob_setup() knows this address,
and this is what will be written to $fdtcontroladdr.
FWIW, this patch looks good to me.
OK.
But note that OF_BOARD is going to become an option, not something
that let's us leave out the DT. Board vendors must provide a DT in
U-Boot. So long as that is understood:
Reviewed-by: Simon Glass <s...@chromium.org>
Regards,
Simom
applied to u-boot-net/next
Thanks,
Ramon.
Hi,
Thanks for accepting this patch. I wondered if you could give an
indication when it will reach u-boot/master?
Cheers,
Peter
IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended recipient,
please notify the sender immediately and do not disclose the contents to any
other person, use it for any purpose, or store or copy the information in any
medium. Thank you.