summaryrefslogtreecommitdiff
path: root/arch/arm/lib
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2011-05-10 11:59:04 -0700
committerSimon Glass <sjg@chromium.org>2011-08-24 10:01:31 -0700
commit20d8fe039fa7732aa71f1360adadfb6753687f8d (patch)
tree0d3c689503990f113eef69603cd30d9f78736b5e /arch/arm/lib
parentfba3cfb94552efe566dbb2b1e595ec236c91b168 (diff)
fdt: Add support for embedded device tree (CONFIG_OF_EMBED)
This new option allows U-Boot to embed a binary device tree into its image to allow run-time control of peripherals. This device tree is for U-Boot's own use and is not necessarily the same one as is passed to the kernel. BUG=chromium-os:11623 TEST=build and boot U-Boot on Seaboard Change-Id: I024d01079a44395e122a8b53e3901ba9a007dc5a Reviewed-on: http://gerrit.chromium.org/gerrit/621 Reviewed-by: Doug Anderson <dianders@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/arm/lib')
-rw-r--r--arch/arm/lib/board.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
index c89fdd0fc17..24f4f0ccd09 100644
--- a/arch/arm/lib/board.c
+++ b/arch/arm/lib/board.c
@@ -270,6 +270,9 @@ void board_init_f (ulong bootflag)
init_fnc_t **init_fnc_ptr;
gd_t *id;
ulong addr, addr_sp;
+#ifdef CONFIG_OF_EMBED
+ extern u8 _binary_dt_dtb_start[];
+#endif
#ifdef CONFIG_TEGRA2
/*
@@ -290,6 +293,10 @@ void board_init_f (ulong bootflag)
memset ((void*)gd, 0, sizeof (gd_t));
gd->mon_len = _bss_end_ofs;
+#ifdef CONFIG_OF_EMBED
+ /* Get a pointer to the FDT */
+ gd->blob = _binary_dt_dtb_start;
+#endif
for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
if ((*init_fnc_ptr)() != 0) {