aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/elkhartlake/bootblock/bootblock.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/elkhartlake/bootblock/bootblock.c')
-rw-r--r--src/soc/intel/elkhartlake/bootblock/bootblock.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/soc/intel/elkhartlake/bootblock/bootblock.c b/src/soc/intel/elkhartlake/bootblock/bootblock.c
new file mode 100644
index 0000000000..96e6268f74
--- /dev/null
+++ b/src/soc/intel/elkhartlake/bootblock/bootblock.c
@@ -0,0 +1,32 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <bootblock_common.h>
+#include <intelblocks/systemagent.h>
+#include <intelblocks/tco.h>
+#include <intelblocks/uart.h>
+#include <soc/bootblock.h>
+
+asmlinkage void bootblock_c_entry(uint64_t base_timestamp)
+{
+ /* Call lib/bootblock.c main */
+ bootblock_main_with_basetime(base_timestamp);
+}
+
+void bootblock_soc_early_init(void)
+{
+ bootblock_systemagent_early_init();
+ bootblock_pch_early_init();
+ bootblock_cpu_init();
+ pch_early_iorange_init();
+ if (CONFIG(INTEL_LPSS_UART_FOR_CONSOLE))
+ uart_bootblock_init();
+}
+
+void bootblock_soc_init(void)
+{
+ report_platform_info();
+ bootblock_pch_init();
+
+ /* Programming TCO_BASE_ADDRESS and TCO Timer Halt */
+ tco_configure();
+}