diff options
author | Liju-Clr Chen <liju-clr.chen@mediatek.com> | 2022-12-20 15:52:50 +0800 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2022-12-23 12:54:42 +0000 |
commit | aa9bb445043e15b9da5ed1429cc14a2ae6941a9e (patch) | |
tree | 219f57aa89e6d3e9e01d8a10120de72bd215d7b9 /src | |
parent | d25277666829d7ed9897598d3ed46fdee0613106 (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>
Diffstat (limited to 'src')
-rw-r--r-- | src/mainboard/google/geralt/Kconfig | 4 | ||||
-rw-r--r-- | src/mainboard/google/geralt/chromeos.c | 7 | ||||
-rw-r--r-- | src/mainboard/google/geralt/gpio.h | 2 | ||||
-rw-r--r-- | src/mainboard/google/geralt/mainboard.c | 5 |
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)) |