google/kukui: Configure EMMC
Set up EMMC gpios for payloads.
BUG=b:80501386
BRANCH=none
TEST=Boots correctly on Kukui
Change-Id: I1e7ee9bfe3a26ed04374e8c74243f48552a1d254
Signed-off-by: Tristan Shieh <tristan.shieh@mediatek.com>
Reviewed-on: https://review.coreboot.org/28546
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
diff --git a/src/mainboard/google/kukui/mainboard.c b/src/mainboard/google/kukui/mainboard.c
index 212ae80..9190ee7e 100644
--- a/src/mainboard/google/kukui/mainboard.c
+++ b/src/mainboard/google/kukui/mainboard.c
@@ -14,10 +14,26 @@
*/
#include <device/device.h>
+#include <soc/gpio.h>
#include <soc/mmu_operations.h>
+static void configure_emmc(void)
+{
+ const gpio_t emmc_pin[] = {
+ GPIO(MSDC0_DAT0), GPIO(MSDC0_DAT1),
+ GPIO(MSDC0_DAT2), GPIO(MSDC0_DAT3),
+ GPIO(MSDC0_DAT4), GPIO(MSDC0_DAT5),
+ GPIO(MSDC0_DAT6), GPIO(MSDC0_DAT7),
+ GPIO(MSDC0_CMD), GPIO(MSDC0_RSTB),
+ };
+
+ for (size_t i = 0; i < ARRAY_SIZE(emmc_pin); i++)
+ gpio_set_pull(emmc_pin[i], GPIO_PULL_ENABLE, GPIO_PULL_UP);
+}
+
static void mainboard_init(struct device *dev)
{
+ configure_emmc();
}
static void mainboard_enable(struct device *dev)