diff options
Diffstat (limited to 'src/soc/intel/baytrail')
-rw-r--r-- | src/soc/intel/baytrail/spi.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/soc/intel/baytrail/spi.c b/src/soc/intel/baytrail/spi.c index 64aeb9bcc9..8605dfc197 100644 --- a/src/soc/intel/baytrail/spi.c +++ b/src/soc/intel/baytrail/spi.c @@ -24,6 +24,7 @@ #include <stdint.h> #include <stdlib.h> #include <string.h> +#include <bootstate.h> #include <delay.h> #include <arch/io.h> #include <console/console.h> @@ -316,6 +317,17 @@ void spi_init(void) ich_set_bbar(0); } +#ifndef __SMM__ +static void spi_init_cb(void *unused) +{ + spi_init(); +} + +BOOT_STATE_INIT_ENTRIES(spi_init_bscb) = { + BOOT_STATE_INIT_ENTRY(BS_DEV_INIT, BS_ON_ENTRY, spi_init_cb, NULL), +}; +#endif + int spi_claim_bus(struct spi_slave *slave) { /* Handled by ICH automatically. */ |