summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/corsola/display.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mainboard/google/corsola/display.c b/src/mainboard/google/corsola/display.c
index fd269eca35..48ab58e324 100644
--- a/src/mainboard/google/corsola/display.c
+++ b/src/mainboard/google/corsola/display.c
@@ -19,6 +19,20 @@
/* Bridge functions */
static void bridge_ps8640_power_on(void)
{
+ /*
+ * PS8640 power-on sequence is described in chapter 14, PS8640_DS_V1.4_20200210.docx
+ * - set VDD12 to be 1.2V
+ * - set VDD33 to be 3.3V
+ * - pull hign PD#
+ * - pull down RST#
+ * - delay 2ms
+ * - pull high RST#
+ * - delay more than 50ms (55ms for margin)
+ * - pull down RST#
+ * - delay more than 50ms (55ms for margin)
+ * - pull high RST#
+ */
+
/* Set VRF12 to 1.2V and VCN33 to 3.3V */
mainboard_set_regulator_vol(MTK_REGULATOR_VRF12, 1200000);
mainboard_set_regulator_vol(MTK_REGULATOR_VCN33, 3300000);
@@ -29,6 +43,10 @@ static void bridge_ps8640_power_on(void)
gpio_output(GPIO_EDPBRDG_RST_L, 0);
mdelay(2);
gpio_output(GPIO_EDPBRDG_RST_L, 1);
+ mdelay(55);
+ gpio_output(GPIO_EDPBRDG_RST_L, 0);
+ mdelay(55);
+ gpio_output(GPIO_EDPBRDG_RST_L, 1);
}
static int bridge_ps8640_get_edid(u8 i2c_bus, struct edid *edid)