From aa9bb445043e15b9da5ed1429cc14a2ae6941a9e Mon Sep 17 00:00:00 2001 From: Liju-Clr Chen Date: Tue, 20 Dec 2022 15:52:50 +0800 Subject: [PATCH] mb/google/geralt: Pass SD card detect GPIO to payloads 1. Add an option for SD card initialization. 2. If CONFIG SDCARD_INIT is configured, pass SD card detect GPIO to payloads for SD card detection and initialize MSDC for SD card configuration. BUG=b:244250437 TEST=build pass Signed-off-by: Liju-Clr Chen Change-Id: I2d3683eb673f438c9190c11d4679a3ca97c76a98 Reviewed-on: https://review.coreboot.org/c/coreboot/+/71136 Reviewed-by: Rex-BC Chen Reviewed-by: Yidi Lin Tested-by: build bot (Jenkins) Reviewed-by: Yu-Ping Wu --- src/mainboard/google/geralt/Kconfig | 4 ++++ src/mainboard/google/geralt/chromeos.c | 7 +++++++ src/mainboard/google/geralt/gpio.h | 2 ++ src/mainboard/google/geralt/mainboard.c | 5 ++++- 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/mainboard/google/geralt/Kconfig b/src/mainboard/google/geralt/Kconfig index 40a0f89df8..d6a9796d02 100644 --- a/src/mainboard/google/geralt/Kconfig +++ b/src/mainboard/google/geralt/Kconfig @@ -55,4 +55,8 @@ config DRIVER_TPM_I2C_BUS config DRIVER_TPM_I2C_ADDR hex default 0x50 + +config SDCARD_INIT + bool + default y endif diff --git a/src/mainboard/google/geralt/chromeos.c b/src/mainboard/google/geralt/chromeos.c index 83c0ddcc27..2de1b6ccd8 100644 --- a/src/mainboard/google/geralt/chromeos.c +++ b/src/mainboard/google/geralt/chromeos.c @@ -31,6 +31,13 @@ void fill_lb_gpios(struct lb_gpios *gpios) lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios)); fill_lp_backlight_gpios(gpios); + + if (CONFIG(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 tis_plat_irq_status(void) diff --git a/src/mainboard/google/geralt/gpio.h b/src/mainboard/google/geralt/gpio.h index 864b3f9b2b..379377973d 100644 --- a/src/mainboard/google/geralt/gpio.h +++ b/src/mainboard/google/geralt/gpio.h @@ -20,6 +20,8 @@ #define GPIO_MIPI_BL_PWM_1V8 GPIO(DISP_PWM0) +#define GPIO_SD_CD_ODL GPIO(I2SIN_MCK) + void setup_chromeos_gpios(void); #endif diff --git a/src/mainboard/google/geralt/mainboard.c b/src/mainboard/google/geralt/mainboard.c index b2367b6685..ff893e0aaa 100644 --- a/src/mainboard/google/geralt/mainboard.c +++ b/src/mainboard/google/geralt/mainboard.c @@ -19,7 +19,10 @@ static void mainboard_init(struct device *dev) } mtk_msdc_configure_emmc(true); - mtk_msdc_configure_sdcard(); + + if (CONFIG(SDCARD_INIT)) + mtk_msdc_configure_sdcard(); + setup_usb_host(); if (CONFIG(ARM64_USE_ARM_TRUSTED_FIRMWARE))