summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorPali Rohár <pali.rohar@gmail.com>2012-10-19 02:00:04 +0000
committerTom Rini <trini@ti.com>2012-10-30 15:28:05 -0700
commit89e6f13849fa583a475aa2bd733021d850098bf4 (patch)
tree72193cfbaf95dc543ea92c05c52dd4c17e33ce46 /arch/arm
parentc3f8318f33eb4eb79b3b5c5204a438d499572de0 (diff)
arm bootm: Allow to pass board specified atags
Board can implement function setup_board_tags which is used for adding atags Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/include/asm/setup.h5
-rw-r--r--arch/arm/lib/bootm.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/include/asm/setup.h b/arch/arm/include/asm/setup.h
index 89df4dc708..78a7facfc3 100644
--- a/arch/arm/include/asm/setup.h
+++ b/arch/arm/include/asm/setup.h
@@ -267,3 +267,8 @@ struct meminfo {
extern struct meminfo meminfo;
#endif
+
+/*
+ * Board specified tags
+ */
+void setup_board_tags(struct tag **in_params);
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 37476cc90d..1bd2730856 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -34,6 +34,7 @@
#include <libfdt.h>
#include <fdt_support.h>
#include <asm/bootm.h>
+#include <linux/compiler.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -269,6 +270,8 @@ static int create_fdt(bootm_headers_t *images)
}
#endif
+__weak void setup_board_tags(struct tag **in_params) {}
+
/* Subcommand: PREP */
static void boot_prep_linux(bootm_headers_t *images)
{
@@ -310,6 +313,7 @@ static void boot_prep_linux(bootm_headers_t *images)
setup_initrd_tag(gd->bd, images->rd_start,
images->rd_end);
#endif
+ setup_board_tags(&params);
setup_end_tag(gd->bd);
#else /* all tags */
printf("FDT and ATAGS support not compiled in - hanging\n");