summaryrefslogtreecommitdiff
path: root/src/mainboard/google/corsola/panel_starmie.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/google/corsola/panel_starmie.c')
-rw-r--r--src/mainboard/google/corsola/panel_starmie.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/mainboard/google/corsola/panel_starmie.c b/src/mainboard/google/corsola/panel_starmie.c
new file mode 100644
index 0000000000..ffb7b65cd2
--- /dev/null
+++ b/src/mainboard/google/corsola/panel_starmie.c
@@ -0,0 +1,46 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <delay.h>
+#include <gpio.h>
+#include <soc/regulator.h>
+
+#include "display.h"
+#include "gpio.h"
+
+static void mipi_panel_power_on(void)
+{
+ tps65132s_program_eeprom();
+ mainboard_set_regulator_voltage(MTK_REGULATOR_VIO18, 1800000);
+ mdelay(1);
+ gpio_output(GPIO_EN_PP3300_DISP_X, 1);
+ gpio_output(GPIO_EN_PP3300_SDBRDG_X, 1);
+ mdelay(1);
+ /* DISP_RST_1V8_L */
+ gpio_output(GPIO_EDPBRDG_RST_L, 1);
+ mdelay(1);
+ gpio_output(GPIO_EDPBRDG_RST_L, 0);
+ udelay(20);
+ gpio_output(GPIO_EDPBRDG_RST_L, 1);
+}
+
+static struct panel_description starmie_panels[] = {
+ [8] = {
+ .power_on = mipi_panel_power_on,
+ .name = "STA_ILI9882T",
+ .orientation = LB_FB_ORIENTATION_LEFT_UP,
+ },
+ [10] = {
+ .power_on = mipi_panel_power_on,
+ .name = "STA_HIMAX83102_J02",
+ .orientation = LB_FB_ORIENTATION_LEFT_UP,
+ },
+};
+
+struct panel_description *get_panel_description(void)
+{
+ uint32_t id = panel_id() & 0xF;
+ if (id >= ARRAY_SIZE(starmie_panels))
+ return NULL;
+
+ return get_panel_from_cbfs(&starmie_panels[id]);
+}