mb/google/geralt: Enable BOE_NV110WUM_L60 panel for Ciri

The MIPI panel BOE_NV110WUM_L60 will be used for Ciri, enable it.
Also remove the `mdelay(10)` after mtk_i2c_bus_init, because MTK
confirms this is not needed. Add mdelay(2) between VDD18 and VSP/VSN
to meet the panel datasheet.

BUG=b:308968270
TEST=Boot to firmware screen
BRANCH=None

Change-Id: I0a04f062f81c543d38716d7ff185b5633c1aa3a9
Signed-off-by: Ruihai Zhou <zhouruihai@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78957
Reviewed-by: Yidi Lin <yidilin@google.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/mainboard/google/geralt/panel.c b/src/mainboard/google/geralt/panel.c
index 202eda7..3f55cac 100644
--- a/src/mainboard/google/geralt/panel.c
+++ b/src/mainboard/google/geralt/panel.c
@@ -3,10 +3,14 @@
 #include <boardid.h>
 #include <cbfs.h>
 #include <console/console.h>
+#include <delay.h>
 #include <edid.h>
 #include <gpio.h>
 #include <identity.h>
 #include <soc/gpio_common.h>
+#include <soc/i2c.h>
+#include <soc/pmif.h>
+#include <soc/regulator.h>
 #include <string.h>
 
 #include "gpio.h"
@@ -59,3 +63,22 @@
 
 	lb_add_gpios(gpios, backlight_gpios, ARRAY_SIZE(backlight_gpios));
 }
+
+void power_on_mipi_panel(const struct tps65132s_cfg *cfg)
+{
+	mtk_i2c_bus_init(cfg->i2c_bus, I2C_SPEED_FAST);
+
+	/* Enable VM18V */
+	mainboard_enable_regulator(MTK_REGULATOR_VDD18, true);
+	mdelay(2);
+	if (tps65132s_setup(cfg) != CB_SUCCESS)
+		printk(BIOS_ERR, "Failed to set up voltage regulator tps65132s\n");
+	gpio_output(GPIO_DISP_RST_1V8_L, 0);
+	mdelay(1);
+	gpio_output(GPIO_DISP_RST_1V8_L, 1);
+	mdelay(1);
+	gpio_output(GPIO_DISP_RST_1V8_L, 0);
+	mdelay(1);
+	gpio_output(GPIO_DISP_RST_1V8_L, 1);
+	mdelay(6);
+}