summaryrefslogtreecommitdiffstats
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.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/mainboard/google/corsola/panel_starmie.c b/src/mainboard/google/corsola/panel_starmie.c
index ffb7b65cd23a..aadabf41197f 100644
--- a/src/mainboard/google/corsola/panel_starmie.c
+++ b/src/mainboard/google/corsola/panel_starmie.c
@@ -1,20 +1,34 @@
/* SPDX-License-Identifier: GPL-2.0-only */
+#include <console/console.h>
#include <delay.h>
#include <gpio.h>
#include <soc/regulator.h>
+#include <soc/tps65132s.h>
#include "display.h"
#include "gpio.h"
static void mipi_panel_power_on(void)
{
- tps65132s_program_eeprom();
+ const struct tps65132s_reg_setting reg_settings[] = {
+ { PMIC_TPS65132_VPOS, 0x14, 0x1F },
+ { PMIC_TPS65132_VNEG, 0x14, 0x1F },
+ { PMIC_TPS65132_DLYX, 0x95, 0xFF },
+ { PMIC_TPS65132_ASSDD, 0x5b, 0xFF },
+ };
+ const struct tps65132s_cfg cfg = {
+ .i2c_bus = PMIC_TPS65132_I2C,
+ .en = GPIO_EN_PP3300_DISP_X,
+ .sync = GPIO_EN_PP3300_SDBRDG_X,
+ .settings = reg_settings,
+ .setting_counts = ARRAY_SIZE(reg_settings),
+ };
+
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);
+ if (tps65132s_setup(&cfg) != CB_SUCCESS)
+ printk(BIOS_ERR, "Failed to setup tps65132s\n");
+
/* DISP_RST_1V8_L */
gpio_output(GPIO_EDPBRDG_RST_L, 1);
mdelay(1);