From 219b09e87f61ffb410fe1a1dbaed4983460fefb4 Mon Sep 17 00:00:00 2001 From: Ryan Zhang Date: Sat, 22 Dec 2018 15:24:28 +0800 Subject: OZ554: set power up sequence. 1. Spec says backlight should be turned on after 500ms after eDP signals are ready. 2. There's no way to get exact eDP ready time, therefore, give one second delay. power up __/---------------- eDP ______/------------ backlight _____________/----- |- t1 -| : >=500 ms |- t2 -| : 1 second is enough BUG=b:120237453 BRANCH=ToT TEST=Test results is in crosbug 120237453, comment #31 Signed-off-by: Ryan Zhang Change-Id: I63e4536a9d8a7e5febf4ee76f05cbe7c014c7faa Reviewed-on: https://chromium-review.googlesource.com/1389975 Commit-Ready: Ryan Zhang Tested-by: Ryan Zhang Reviewed-by: Daisuke Nojiri --- driver/led/oz554.c | 16 +++++++++++++++- driver/led/oz554.h | 4 ++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/driver/led/oz554.c b/driver/led/oz554.c index 4a1c46da0c..aa50028420 100644 --- a/driver/led/oz554.c +++ b/driver/led/oz554.c @@ -99,7 +99,21 @@ DECLARE_DEFERRED(backlight_enable_deferred); void backlight_enable_interrupt(enum gpio_signal signal) { - hook_call_deferred(&backlight_enable_deferred_data, 30 * MSEC); + /* + * 1. Spec says backlight should be turned on after 500ms + * after eDP signals are ready. + * + * 2. There's no way to get exact eDP ready time, therefore, + * give one second delay. + * + * power up __/---------------- + * eDP ______/------------ + * backlight _____________/----- + * |- t1 -| : >=500 ms + * |- t2 -| : 1 second is enough + */ + hook_call_deferred(&backlight_enable_deferred_data, + OZ554_POWER_BACKLIGHT_DELAY); } int oz554_set_config(int offset, int data) diff --git a/driver/led/oz554.h b/driver/led/oz554.h index bb45a17f30..009728ba73 100644 --- a/driver/led/oz554.h +++ b/driver/led/oz554.h @@ -21,6 +21,10 @@ void oz554_board_init(void) __attribute__((weak)); */ int oz554_set_config(int offset, int data); +#ifndef OZ554_POWER_BACKLIGHT_DELAY +#define OZ554_POWER_BACKLIGHT_DELAY SECOND +#endif + void backlight_enable_interrupt(enum gpio_signal signal); #endif -- cgit v1.2.1