summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/trogdor/chromeos.c2
-rw-r--r--src/mainboard/google/trogdor/mainboard.c12
2 files changed, 11 insertions, 3 deletions
diff --git a/src/mainboard/google/trogdor/chromeos.c b/src/mainboard/google/trogdor/chromeos.c
index 9006000191..90de1e4ce0 100644
--- a/src/mainboard/google/trogdor/chromeos.c
+++ b/src/mainboard/google/trogdor/chromeos.c
@@ -22,6 +22,8 @@ void setup_chromeos_gpios(void)
} else {
gpio_output(GPIO_EN_PP3300_DX_EDP, 0);
gpio_output(GPIO_EDP_BRIDGE_ENABLE, 0);
+ gpio_output(GPIO_PS8640_EDP_BRIDGE_3V3_ENABLE, 0);
+ gpio_output(GPIO_PS8640_EDP_BRIDGE_RST_L, 0);
}
if (CONFIG(TROGDOR_HAS_FINGERPRINT)) {
diff --git a/src/mainboard/google/trogdor/mainboard.c b/src/mainboard/google/trogdor/mainboard.c
index 1a6013198b..5499a07121 100644
--- a/src/mainboard/google/trogdor/mainboard.c
+++ b/src/mainboard/google/trogdor/mainboard.c
@@ -106,12 +106,18 @@ static void power_on_ps8640_bridge(void)
gpio_output(GPIO_EN_PP3300_DX_EDP, 1);
gpio_output(GPIO_PS8640_EDP_BRIDGE_3V3_ENABLE, 1);
+
+ /*
+ * According to ps8640 v1.4 spec, and the raise time of vdd33 is a bit
+ * long, so wait for 4ms after VDD33 goes high and then deassert PD.
+ */
+ mdelay(4);
+
gpio_output(GPIO_PS8640_EDP_BRIDGE_PD_L, 1);
- gpio_output(GPIO_PS8640_EDP_BRIDGE_RST_L, 0);
/*
- * According to ps8640 app note v0.6, wait for 2ms ("t1") after
- * VDD33 goes high and then deassert RST.
+ * According to ps8640 app note v0.6, wait for 2ms after VDD33 goes
+ * high and then deassert RST.
*/
mdelay(2);