summaryrefslogtreecommitdiff
path: root/src/mainboard/google/kahlee/bootblock/bootblock.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/google/kahlee/bootblock/bootblock.c')
-rw-r--r--src/mainboard/google/kahlee/bootblock/bootblock.c36
1 files changed, 24 insertions, 12 deletions
diff --git a/src/mainboard/google/kahlee/bootblock/bootblock.c b/src/mainboard/google/kahlee/bootblock/bootblock.c
index 7e6524d1d5..8531fc0de2 100644
--- a/src/mainboard/google/kahlee/bootblock/bootblock.c
+++ b/src/mainboard/google/kahlee/bootblock/bootblock.c
@@ -34,19 +34,31 @@ void bootblock_mainboard_early_init(void)
void bootblock_mainboard_init(void)
{
- /*
- * W25Q128FW Setup
- * Normal Read 40MHz
- * Fast Read 104MHz
- * Dual Read IO (1-2-2)
- */
- sb_read_mode(SPI_READ_MODE_DUAL122);
+ if (IS_ENABLED(CONFIG_EM100)) {
+ /*
+ * We should be able to rely on defaults, but it seems safer
+ * to explicitly set up these registers.
+ */
+ sb_read_mode(SPI_READ_MODE_NOM);
+ sb_set_spi100(SPI_SPEED_16M, /* Normal */
+ SPI_SPEED_16M, /* Fast */
+ SPI_SPEED_16M, /* AltIO */
+ SPI_SPEED_66M); /* TPM */
+ } else {
+ /*
+ * W25Q128FW Setup
+ * Normal Read 40MHz
+ * Fast Read 104MHz
+ * Dual Read IO (1-2-2)
+ */
+ sb_read_mode(SPI_READ_MODE_DUAL122);
- /* Set SPI speeds before verstage. Needed for TPM */
- sb_set_spi100(SPI_SPEED_33M, /* Normal */
- SPI_SPEED_66M, /* Fast */
- SPI_SPEED_66M, /* AltIO */
- SPI_SPEED_66M); /* TPM */
+ /* Set SPI speeds before verstage. Needed for TPM */
+ sb_set_spi100(SPI_SPEED_33M, /* Normal */
+ SPI_SPEED_66M, /* Fast */
+ SPI_SPEED_66M, /* AltIO */
+ SPI_SPEED_66M); /* TPM */
+ }
/* Setup TPM decode before verstage */
sb_tpm_decode_spi();