diff --git a/src/mainboard/google/skywalker/Kconfig b/src/mainboard/google/skywalker/Kconfig index b5134a529a..49b3d21718 100644 --- a/src/mainboard/google/skywalker/Kconfig +++ b/src/mainboard/google/skywalker/Kconfig @@ -9,6 +9,9 @@ config BOARD_GOOGLE_SKYWALKER_COMMON if BOARD_GOOGLE_SKYWALKER_COMMON +config SKYWALKER_SDCARD_INIT + def_bool BOARD_GOOGLE_SKYWALKER + config VBOOT select EC_GOOGLE_CHROMEEC_SWITCHES select VBOOT_VBNV_FLASH @@ -31,6 +34,8 @@ config BOARD_SPECIFIC_OPTIONS select FW_CONFIG select FW_CONFIG_SOURCE_CHROMEEC_CBI select RTC + select COMMONLIB_STORAGE + select COMMONLIB_STORAGE_MMC config MAINBOARD_DIR string diff --git a/src/mainboard/google/skywalker/chromeos.c b/src/mainboard/google/skywalker/chromeos.c index c5b9f8ee16..26f06442d9 100644 --- a/src/mainboard/google/skywalker/chromeos.c +++ b/src/mainboard/google/skywalker/chromeos.c @@ -41,6 +41,13 @@ void fill_lb_gpios(struct lb_gpios *gpios) {GPIO_GSC_AP_INT_ODL.id, ACTIVE_HIGH, -1, "TPM interrupt"}, }; lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios)); + + if (CONFIG(SKYWALKER_SDCARD_INIT)) { + struct lb_gpio sd_card_gpios[] = { + { GPIO_SD_CD_ODL.id, ACTIVE_LOW, -1, "SD card detect" }, + }; + lb_add_gpios(gpios, sd_card_gpios, ARRAY_SIZE(sd_card_gpios)); + } } int cr50_plat_irq_status(void) diff --git a/src/mainboard/google/skywalker/mainboard.c b/src/mainboard/google/skywalker/mainboard.c index af27c8268c..74c3ea715f 100644 --- a/src/mainboard/google/skywalker/mainboard.c +++ b/src/mainboard/google/skywalker/mainboard.c @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include #include @@ -23,6 +25,9 @@ static void mainboard_init(struct device *dev) spm_init(); power_on_fpmcu(); + if (CONFIG(SKYWALKER_SDCARD_INIT)) + mtk_msdc_configure_sdcard(); + if (CONFIG(ARM64_USE_ARM_TRUSTED_FIRMWARE)) register_reset_to_bl31(GPIO_AP_EC_WARM_RST_REQ.id, true); }