Ravi kumar has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/50581 )
Change subject: sc7280: Initialize SPI FW for EC and TPM ......................................................................
sc7280: Initialize SPI FW for EC and TPM
Initialize SPI firmware for EC and H1/TPM instances. Load QUP FW in respective Serial Engines.
Change-Id: I8cbdd1d59a0166688d52d61646db1b6764879a7c Signed-off-by: Roja Rani Yarubandi rojay@codeaurora.org --- M src/mainboard/google/herobrine/bootblock.c M src/mainboard/google/herobrine/mainboard.c 2 files changed, 16 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/81/50581/1
diff --git a/src/mainboard/google/herobrine/bootblock.c b/src/mainboard/google/herobrine/bootblock.c index 05e53a6..8e38e23 100644 --- a/src/mainboard/google/herobrine/bootblock.c +++ b/src/mainboard/google/herobrine/bootblock.c @@ -2,8 +2,12 @@
#include <bootblock_common.h> #include "board.h" +#include <soc/qcom_qup_se.h> +#include <soc/qupv3_spi.h>
void bootblock_mainboard_init(void) { setup_chromeos_gpios(); + qup_spi_init(QUPV3_1_SE1, 1010 * KHz); /* H1/TPM SPI */ + qup_spi_init(QUPV3_1_SE2, 1010 * KHz); /* EC SPI */ } diff --git a/src/mainboard/google/herobrine/mainboard.c b/src/mainboard/google/herobrine/mainboard.c index 31deb77..fe77d89 100644 --- a/src/mainboard/google/herobrine/mainboard.c +++ b/src/mainboard/google/herobrine/mainboard.c @@ -5,9 +5,21 @@ #include <arch/mmio.h> #include <gpio.h> #include <timestamp.h> +#include <soc/qupv3_config.h>
static void mainboard_init(struct device *dev) { + /* + * When coreboot firmware disables serial output, + * we still need to load console UART QUP FW for OS. + */ + if (!CONFIG(CONSOLE_SERIAL)) + qupv3_se_fw_load_and_init(QUPV3_0_SE5, SE_PROTOCOL_UART, FIFO); + + qupv3_se_fw_load_and_init(QUPV3_0_SE7, SE_PROTOCOL_UART, FIFO); /* BT UART */ + qupv3_se_fw_load_and_init(QUPV3_1_SE4, SE_PROTOCOL_SPI, MIXED); /* ESIM SPI */ + qupv3_se_fw_load_and_init(QUPV3_1_SE5, SE_PROTOCOL_I2C, MIXED); /* Trackpad I2C */ + qupv3_se_fw_load_and_init(QUPV3_1_SE6, SE_PROTOCOL_SPI, MIXED); /* Fingerprint SPI */
}