blob: 2bf5e230c9053224d22614bdf439206631566354 [file] [log] [blame]
Martin Rothf95a11e2022-10-21 16:43:08 -06001/* SPDX-License-Identifier: GPL-2.0-only */
2
3#include <acpi/acpi.h>
4#include <amdblocks/acpimmio.h>
5#include <amdblocks/memmap.h>
6#include <amdblocks/pmlib.h>
Martin Roth81804272022-11-20 20:30:18 -07007#include <amdblocks/post_codes.h>
Martin Rothf95a11e2022-10-21 16:43:08 -06008#include <console/console.h>
Elyes Haouasf743e0c2022-10-31 13:46:00 +01009#include <cpu/cpu.h>
Martin Rothf95a11e2022-10-21 16:43:08 -060010#include <fsp/api.h>
11#include <program_loading.h>
12#include <romstage_common.h>
13
14void __noreturn romstage_main(void)
15{
Martin Roth81804272022-11-20 20:30:18 -070016 post_code(POST_ROMSTAGE_MAIN);
Martin Rothf95a11e2022-10-21 16:43:08 -060017
18 /* Snapshot chipset state prior to any FSP call */
19 fill_chipset_state();
20
21 fsp_memory_init(acpi_is_wakeup_s3());
22
23 /* Fixup settings FSP-M should not be changing */
24 fch_disable_legacy_dma_io();
25
26 memmap_stash_early_dram_usage();
27
28 run_ramstage();
29}