summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMichael Brandt <Michael.Brandt@stericsson.com>2010-01-04 13:55:56 +0100
committerMichael Brandt <Michael.Brandt@stericsson.com>2010-01-04 13:55:56 +0100
commit1cee06e7df9cb7158c318dba30f22b90d099cf6c (patch)
treee885525c7142d12adce3c6848b03bcde9a152077 /include
parent99fbc2780bf5880035d2c33a6791052d37d327e4 (diff)
parent63eb3ec88742b03283131d078053a8e3efe32975 (diff)
Merge branch 'boottime' into mop500
Conflicts: .gitignore include/configs/u8500.h
Diffstat (limited to 'include')
-rw-r--r--include/asm-arm/boottime.h20
-rw-r--r--include/asm-arm/setup.h14
-rw-r--r--[-rwxr-xr-x]include/configs/u8500.h14
3 files changed, 46 insertions, 2 deletions
diff --git a/include/asm-arm/boottime.h b/include/asm-arm/boottime.h
new file mode 100644
index 000000000..3f8971380
--- /dev/null
+++ b/include/asm-arm/boottime.h
@@ -0,0 +1,20 @@
+
+#ifndef BOOTTIME_H
+#define BOOTTIME_H
+
+ulong get_raw_timer(void);
+extern ulong boottime_ticks_uboot_init;
+extern ulong boottime_ticks_load_kernel;
+extern ulong boottime_ticks_uboot_done;
+
+#ifdef CONFIG_BOOTTIME
+#define boottime_tag_uboot_init() boottime_ticks_uboot_init = get_raw_timer();
+#define boottime_tag_load_kernel() boottime_ticks_load_kernel = get_raw_timer();
+#define boottime_tag_uboot_done() boottime_ticks_uboot_done = get_raw_timer();
+#else
+#define boottime_tag_uboot_init()
+#define boottime_tag_load_kernel()
+#define boottime_tag_uboot_done()
+#endif
+
+#endif
diff --git a/include/asm-arm/setup.h b/include/asm-arm/setup.h
index 89df4dc70..cadc12435 100644
--- a/include/asm-arm/setup.h
+++ b/include/asm-arm/setup.h
@@ -205,6 +205,15 @@ struct tag_memclk {
u32 fmemclk;
};
+/* for automatic boot timing testcases */
+#define ATAG_BOOTTIME_UBOOT_INIT 0x41000403
+#define ATAG_BOOTTIME_LOAD_KERNEL 0x41000404
+#define ATAG_BOOTTIME_UBOOT_DONE 0x41000405
+
+struct tag_boottime {
+ u32 tick;
+};
+
struct tag {
struct tag_header hdr;
union {
@@ -227,6 +236,11 @@ struct tag {
* DC21285 specific
*/
struct tag_memclk memclk;
+ /*
+ * Boot time
+ */
+ struct tag_boottime boottime;
+
} u;
};
diff --git a/include/configs/u8500.h b/include/configs/u8500.h
index 91fd37f00..b9469b2af 100755..100644
--- a/include/configs/u8500.h
+++ b/include/configs/u8500.h
@@ -32,6 +32,8 @@
#define CONFIG_U8500_ED 1
#define CONFIG_L2_OFF 1
+#define CONFIG_BOOTTIME /* enable boot time stamps */
+
#define CONFIG_SYS_MEMTEST_START 0x00000000
#define CONFIG_SYS_MEMTEST_END 0x1FFFFFFF
#define CONFIG_SYS_HZ 1000 /* must be 1000 */
@@ -79,9 +81,15 @@
#define CONFIG_BAUDRATE 115200
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
+/*
+ * Devices and file systems
+ */
#define CONFIG_MMC 1
#define CONFIG_DOS_PARTITION 1
+/*
+ * Commands
+ */
#define CONFIG_CMD_MEMORY
#define CONFIG_CMD_BOOTD
#define CONFIG_CMD_BDI
@@ -100,10 +108,12 @@
#ifdef CONFIG_USB_TTY
#define CONFIG_BOOTDELAY -1 /* disable autoboot */
-#else
-#define CONFIG_BOOTDELAY 5
#endif /* CONFIG_USB_TTY */
+#ifndef CONFIG_BOOTDELAY
+#define CONFIG_BOOTDELAY 5
+#endif
+
#define CONFIG_BOOTARGS "cachepolicy=writealloc root=/dev/mmcblk0p2 noinitrd rootfstype=ext3 rootdelay=1 init=/linuxrc console=ttyAMA2,115200n8 board_id=1 mem=96M@0 mem=128M@128M"
#define CONFIG_BOOTCOMMAND "emmc_read 0x100000 0x14000000 0x200000; bootm 0x100000"