1 /* SPDX-License-Identifier: GPL-2.0-only */
2
3 #include <amdblocks/espi.h>
4 #include <bootblock_common.h>
5 #include <baseboard/variants.h>
6 #include <console/console.h>
7 #include <soc/espi.h>
8 #include <spi_flash.h>
9
mb_set_up_early_espi(void)10 void mb_set_up_early_espi(void)
11 {
12 size_t num_gpios;
13 const struct soc_amd_gpio *gpios;
14
15 variant_espi_gpio_table(&gpios, &num_gpios);
16 gpio_configure_pads(gpios, num_gpios);
17
18 espi_switch_to_spi1_pads();
19 }
20
bootblock_mainboard_early_init(void)21 void bootblock_mainboard_early_init(void)
22 {
23 size_t num_gpios;
24 const struct soc_amd_gpio *gpios;
25
26 variant_tpm_gpio_table(&gpios, &num_gpios);
27 gpio_configure_pads(gpios, num_gpios);
28
29 variant_early_gpio_table(&gpios, &num_gpios);
30 gpio_configure_pads(gpios, num_gpios);
31 }
32
bootblock_mainboard_init(void)33 void bootblock_mainboard_init(void)
34 {
35 size_t num_gpios;
36 const struct soc_amd_gpio *gpios;
37
38 variant_bootblock_gpio_table(&gpios, &num_gpios);
39 gpio_configure_pads(gpios, num_gpios);
40
41 // TODO: b:285110121 - temp workaround is to add a dummy flash call
42 const struct spi_flash *spi = boot_device_spi_flash();
43 printk(BIOS_DEBUG, "Initialized spi flash %p\n", spi);
44 }
45