
On Mon, Nov 8, 2021 at 6:53 PM Peter Hoyes Peter.Hoyes@arm.com wrote:
On 28/10/2021 19:55, Ramon Fried wrote:
On Sun, Oct 24, 2021 at 10:56 PM Simon Glass sjg@chromium.org wrote:
Hi,
On Fri, 15 Oct 2021 at 05:21, Andre Przywara andre.przywara@arm.com wrote:
On Thu, 14 Oct 2021 12:24:45 -0600 Simon Glass sjg@chromium.org wrote:
Hi Simon,
On Thu, 14 Oct 2021 at 02:40, Peter Hoyes peter.hoyes@arm.com wrote:
From: Peter Hoyes Peter.Hoyes@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.Hoyes@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_boo...
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 sjg@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.
Follow the pull request I sent to Tom.