summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--driver/led/oz554.c16
-rw-r--r--driver/led/oz554.h4
2 files changed, 19 insertions, 1 deletions
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