summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiju-Clr Chen <liju-clr.chen@mediatek.com>2022-12-20 15:52:50 +0800
committerFelix Held <felix-coreboot@felixheld.de>2022-12-23 12:54:42 +0000
commitaa9bb445043e15b9da5ed1429cc14a2ae6941a9e (patch)
tree219f57aa89e6d3e9e01d8a10120de72bd215d7b9
parentd25277666829d7ed9897598d3ed46fdee0613106 (diff)
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 <liju-clr.chen@mediatek.com> Change-Id: I2d3683eb673f438c9190c11d4679a3ca97c76a98 Reviewed-on: https://review.coreboot.org/c/coreboot/+/71136 Reviewed-by: Rex-BC Chen <rex-bc.chen@mediatek.com> Reviewed-by: Yidi Lin <yidilin@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com>
-rw-r--r--src/mainboard/google/geralt/Kconfig4
-rw-r--r--src/mainboard/google/geralt/chromeos.c7
-rw-r--r--src/mainboard/google/geralt/gpio.h2
-rw-r--r--src/mainboard/google/geralt/mainboard.c5
4 files changed, 17 insertions, 1 deletions
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))