mb/google/geralt: Put MIPI panel data in panel_geralt.c

There are eDP and MIPI panels supported in geralt. We put the panels'
specified functions - `power_on()` and `configure_panel_backlight()` in
panel_geralt.c. Also provide the common interface `get_active_panel()`
in panel.c to generalize the display initialization. Since each board
may support a different set of MIPI panels, we put the MIPI data in a
separate file panel_geralt.c.

BUG=b:244208960
TEST=emerge-geralt coreboot

Change-Id: Ie928759e020a916f29f0364201a3cf202dc512c3
Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/70404
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yidi Lin <yidilin@google.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
diff --git a/src/mainboard/google/geralt/panel_geralt.c b/src/mainboard/google/geralt/panel_geralt.c
new file mode 100644
index 0000000..f8e612c
--- /dev/null
+++ b/src/mainboard/google/geralt/panel_geralt.c
@@ -0,0 +1,37 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <boardid.h>
+#include <gpio.h>
+#include <soc/gpio_common.h>
+#include <string.h>
+
+#include "gpio.h"
+#include "panel.h"
+
+static void configure_mipi_pwm_backlight(void)
+{
+	gpio_output(GPIO_AP_DISP_BKLTEN, 0);
+	gpio_output(GPIO_MIPI_PANEL_BL_PWM, 0);
+}
+
+static void power_on_mipi_boe_nv110c9m_l60(void)
+{
+	/* TODO: Add the poweron for BOE_NV110C9M_L60 when we get BOE_NV110C9M_L60 */
+}
+
+static struct panel_description panels[] = {
+	[1] = {
+		.name = "BOE_NV110C9M_L60",
+		.power_on = power_on_mipi_boe_nv110c9m_l60,
+		.configure_panel_backlight = configure_mipi_pwm_backlight,
+		.disp_path = DISP_PATH_MIPI,
+	},
+};
+
+struct panel_description *get_panel_description(uint32_t panel_id)
+{
+	if (panel_id >= ARRAY_SIZE(panels))
+		return NULL;
+
+	return &panels[panel_id];
+}