[U-Boot-Users] Can U-boot Autodetect arch/ppcversusarch/powerpc from info in the uImage?
joakim.tjernlund at transmode.se
Sun Dec 9 14:12:07 CET 2007
On Fri, 2007-12-07 at 08:14 -0500, Jerry Van Baren wrote:
> Joakim Tjernlund wrote:
> >> Jocke
> >>> As far as I understand your request, this offers all the
> >> same options
> >>> you can get with a compiled in device tree blob, but with
> >> the added
> >>> benefit of allowing many more things at the same time, too.
> >>> Maybe I'm missing something?
> > Yes, here are some things to consider.
> > The extension I made can just as easily be a function that returns a dev. tree.
> > - One can have a dev. tree update procedure similar to
> > rendundant env. The funktion then selects which dev. tree is valid and passes
> > that back.
> > - The function can construct a dev. tree from builtin rules/code.
> > - One can even make it tftp a tree at boot and pass that back. Great
> > in a development env. especially if you are debugging the dev. tree.
> > and the kicker is that you can still override this tree at runtime by passing
> > a dev. tree argument to bootm.
> > All this will be possible by the simple patch I posted earlier, included
> > below.
> FWIIW, while I appreciate and agree with Wolfgang's points, I don't see
> why we cannot add Joakim's configuration tweak. It is a pretty minor
> issue and, if he finds it useful, perhaps it would be useful to others.
> Having said that, the patch could be made better by IMHO using the
> #ifdef logic embedded rather than defining DEFAULT_OF_TREE to NULL if it
> isn't already defined:
> #if defined(CONFIG_OF_FLAT_TREE) || defined(CONFIG_OF_LIBFDT)
> #ifdef DEFAULT_OF_TREE
> char *of_flat_tree = DEFAULT_OF_TREE;
> char *of_flat_tree = NULL;
> ulong of_data = 0;
> Also, we should have an update to the README to explain that
> DEFAULT_OF_TREE can be defined in the board-specific config file to be
> the address of a FDT embedded in u-boot or a function that
> builds/modifies a FDT and returns the address.
> This should probably go somewhere in the section on LIBFDT line 332 ff.
> (I would put it at line 342, your line numbers may vary).
> Best regards,
Made a new patch with Jerrys comments addressed. Also renamed
DEFAULT_OF_TREE to CFG_OF_TREE. OK?
>From 2f20cc2bb5eddd1ef06671ebf2080aadd8694e58 Mon Sep 17 00:00:00 2001
From: Joakim Tjernlund <Joakim.Tjernlund at transmode.se>
Date: Sun, 9 Dec 2007 14:06:32 +0100
Subject: [PATCH] Add CFG_OF_TREE knob.
Make it possible to construct a OF tree from board code.
See README for details.
Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund at transmode.se>
README | 8 ++++++++
common/cmd_bootm.c | 4 ++++
2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/README b/README
index 3dad5fc..8bd70bf 100644
@@ -340,6 +340,14 @@ The following options need to be configured:
* Adds the "fdt" command
* The bootm command automatically updates the fdt
+ * Define this to a function in board code to construct
+ your own OF tree. The function should return a char *
+ pointing to your OF tree.
+ Useful if you have multiple OF trees or want to build your
+ tree dynamically. You can still overide this tree by
+ passing a OF tree to bootm.
* Deprecated, see CONFIG_OF_LIBFDT
* Original ft_build.c-based support
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index d816349..68dfb59 100644
@@ -527,7 +527,11 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag,
void (*kernel)(bd_t *, ulong, ulong, ulong, ulong);
image_header_t *hdr = &header;
#if defined(CONFIG_OF_FLAT_TREE) || defined(CONFIG_OF_LIBFDT)
+ char *of_flat_tree = CFG_OF_TREE;
char *of_flat_tree = NULL;
ulong of_data = 0;
More information about the U-Boot