diff options
Diffstat (limited to 'src/mainboard')
-rw-r--r-- | src/mainboard/google/corsola/display.c | 18 |
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) |