diff options
Diffstat (limited to 'src/mainboard/google/corsola/panel_starmie.c')
-rw-r--r-- | src/mainboard/google/corsola/panel_starmie.c | 46 |
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]); +} |