arm bootm: Allow to pass board specified atags
authorPali Rohár <pali.rohar@gmail.com>
Fri, 19 Oct 2012 02:00:04 +0000 (02:00 +0000)
committerTom Rini <trini@ti.com>
Tue, 30 Oct 2012 22:28:05 +0000 (15:28 -0700)
Board can implement function setup_board_tags which is used for adding atags

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
arch/arm/include/asm/setup.h
arch/arm/lib/bootm.c

index 89df4dc..78a7fac 100644 (file)
@@ -267,3 +267,8 @@ struct meminfo {
 extern struct meminfo meminfo;
 
 #endif
+
+/*
+ * Board specified tags
+ */
+void setup_board_tags(struct tag **in_params);
index 37476cc..1bd2730 100644 (file)
@@ -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");