diff --git a/configs/config.nyan b/configs/config.nyan index a0abc29d50..bbeedd2c8e 100644 --- a/configs/config.nyan +++ b/configs/config.nyan @@ -2,7 +2,6 @@ CONFIG_VENDOR_GOOGLE=y CONFIG_BOARD_GOOGLE_NYAN=y CONFIG_COREBOOT_ROMSIZE_KB_1024=y # CONFIG_CONSOLE_SERIAL is not set -CONFIG_COLLECT_TIMESTAMPS=y CONFIG_CONSOLE_CBMEM=y CONFIG_VBOOT_VERIFY_FIRMWARE=y CONFIG_FLASHMAP_OFFSET=0x00100000 diff --git a/configs/config.nyan_big b/configs/config.nyan_big index a2d9152359..c9d09d005c 100644 --- a/configs/config.nyan_big +++ b/configs/config.nyan_big @@ -2,7 +2,6 @@ CONFIG_VENDOR_GOOGLE=y CONFIG_BOARD_GOOGLE_NYAN_BIG=y CONFIG_COREBOOT_ROMSIZE_KB_1024=y # CONFIG_CONSOLE_SERIAL is not set -CONFIG_COLLECT_TIMESTAMPS=y CONFIG_CONSOLE_CBMEM=y CONFIG_VBOOT_VERIFY_FIRMWARE=y CONFIG_FLASHMAP_OFFSET=0x00100000 diff --git a/configs/config.nyan_blaze b/configs/config.nyan_blaze index 12a1c2fdd3..7c49ddf9ea 100644 --- a/configs/config.nyan_blaze +++ b/configs/config.nyan_blaze @@ -2,7 +2,6 @@ CONFIG_VENDOR_GOOGLE=y CONFIG_BOARD_GOOGLE_NYAN_BLAZE=y CONFIG_COREBOOT_ROMSIZE_KB_1024=y # CONFIG_CONSOLE_SERIAL is not set -CONFIG_COLLECT_TIMESTAMPS=y CONFIG_CONSOLE_CBMEM=y CONFIG_VBOOT_VERIFY_FIRMWARE=y CONFIG_FLASHMAP_OFFSET=0x00100000 diff --git a/src/mainboard/google/nyan/romstage.c b/src/mainboard/google/nyan/romstage.c index bb30e410d6..e05ee5fa0d 100644 --- a/src/mainboard/google/nyan/romstage.c +++ b/src/mainboard/google/nyan/romstage.c @@ -46,9 +46,7 @@ static void __attribute__((noinline)) romstage(void) { -#if CONFIG_COLLECT_TIMESTAMPS - uint64_t romstage_start_time = timestamp_get(); -#endif + timestamp_add_now(TS_START_ROMSTAGE); console_init(); exception_init(); @@ -89,9 +87,6 @@ static void __attribute__((noinline)) romstage(void) cbmem_initialize_empty(); - timestamp_init(0); - timestamp_add(TS_START_ROMSTAGE, romstage_start_time); - early_mainboard_init(); #if CONFIG_CONSOLE_CBMEM @@ -100,10 +95,10 @@ static void __attribute__((noinline)) romstage(void) vboot_verify_firmware(romstage_handoff_find_or_add()); - timestamp_add(TS_START_COPYRAM, timestamp_get()); + timestamp_add_now(TS_START_COPYRAM); void *entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/ramstage"); - timestamp_add(TS_END_COPYRAM, timestamp_get()); + timestamp_add_now(TS_END_COPYRAM); stage_exit(entry); } diff --git a/src/mainboard/google/nyan_big/romstage.c b/src/mainboard/google/nyan_big/romstage.c index bb30e410d6..e05ee5fa0d 100644 --- a/src/mainboard/google/nyan_big/romstage.c +++ b/src/mainboard/google/nyan_big/romstage.c @@ -46,9 +46,7 @@ static void __attribute__((noinline)) romstage(void) { -#if CONFIG_COLLECT_TIMESTAMPS - uint64_t romstage_start_time = timestamp_get(); -#endif + timestamp_add_now(TS_START_ROMSTAGE); console_init(); exception_init(); @@ -89,9 +87,6 @@ static void __attribute__((noinline)) romstage(void) cbmem_initialize_empty(); - timestamp_init(0); - timestamp_add(TS_START_ROMSTAGE, romstage_start_time); - early_mainboard_init(); #if CONFIG_CONSOLE_CBMEM @@ -100,10 +95,10 @@ static void __attribute__((noinline)) romstage(void) vboot_verify_firmware(romstage_handoff_find_or_add()); - timestamp_add(TS_START_COPYRAM, timestamp_get()); + timestamp_add_now(TS_START_COPYRAM); void *entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/ramstage"); - timestamp_add(TS_END_COPYRAM, timestamp_get()); + timestamp_add_now(TS_END_COPYRAM); stage_exit(entry); } diff --git a/src/mainboard/google/nyan_blaze/romstage.c b/src/mainboard/google/nyan_blaze/romstage.c index 9b815edf64..144f4168d2 100644 --- a/src/mainboard/google/nyan_blaze/romstage.c +++ b/src/mainboard/google/nyan_blaze/romstage.c @@ -47,9 +47,8 @@ static void __attribute__((noinline)) romstage(void) { void *entry = NULL; -#if CONFIG_COLLECT_TIMESTAMPS - uint64_t romstage_start_time = timestamp_get(); -#endif + + timestamp_add_now(TS_START_ROMSTAGE); console_init(); exception_init(); @@ -93,9 +92,6 @@ static void __attribute__((noinline)) romstage(void) cbmem_initialize_empty(); - timestamp_init(0); - timestamp_add(TS_START_ROMSTAGE, romstage_start_time); - #if CONFIG_CONSOLE_CBMEM cbmemc_reinit(); #endif @@ -108,10 +104,10 @@ static void __attribute__((noinline)) romstage(void) #endif if (entry == NULL) { - timestamp_add(TS_START_COPYRAM, timestamp_get()); + timestamp_add_now(TS_START_COPYRAM); entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, CONFIG_CBFS_PREFIX "/ramstage"); - timestamp_add(TS_END_COPYRAM, timestamp_get()); + timestamp_add_now(TS_END_COPYRAM); if (entry == (void *)-1) die("failed to load ramstage\n"); } diff --git a/src/soc/nvidia/tegra124/Kconfig b/src/soc/nvidia/tegra124/Kconfig index 3112018bbd..0fa53ee9bc 100644 --- a/src/soc/nvidia/tegra124/Kconfig +++ b/src/soc/nvidia/tegra124/Kconfig @@ -15,6 +15,8 @@ config SOC_NVIDIA_TEGRA124 select ARCH_ROMSTAGE_ARM_V7 select ARCH_RAMSTAGE_ARM_V7 select ARM_LPAE + select COLLECT_TIMESTAMPS + select HAS_PRECBMEM_TIMESTAMP_REGION if SOC_NVIDIA_TEGRA124 diff --git a/src/soc/nvidia/tegra124/bootblock.c b/src/soc/nvidia/tegra124/bootblock.c index 3728eb226b..fd5d5052ef 100644 --- a/src/soc/nvidia/tegra124/bootblock.c +++ b/src/soc/nvidia/tegra124/bootblock.c @@ -27,6 +27,7 @@ #include #include #include +#include #include void main(void) @@ -61,6 +62,8 @@ void main(void) clock_init(); + timestamp_early_init(0); + bootblock_mainboard_init(); pinmux_set_config(PINMUX_CORE_PWR_REQ_INDEX, diff --git a/src/soc/nvidia/tegra124/include/soc/memlayout.ld b/src/soc/nvidia/tegra124/include/soc/memlayout.ld index c8db5c535b..d91ab123d9 100644 --- a/src/soc/nvidia/tegra124/include/soc/memlayout.ld +++ b/src/soc/nvidia/tegra124/include/soc/memlayout.ld @@ -35,7 +35,8 @@ SECTIONS PRERAM_CBMEM_CONSOLE(0x40004020, 8K - 32) PRERAM_CBFS_CACHE(0x40006000, 16K) VBOOT2_WORK(0x4000A000, 16K) - STACK(0x4000E000, 8K) + STACK(0x4000E000, 7K) + TIMESTAMP(0x4000FC00, 1K) BOOTBLOCK(0x40010000, 24K) VERSTAGE(0x40016000, 72K) ROMSTAGE(0x40028000, 96K)