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)