summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hill <ecgh@chromium.org>2018-12-21 15:51:14 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-12-23 14:46:13 -0800
commita9ea68a50772ea44195c431fb71e5a7b731e4b38 (patch)
treef4d01751ae88e5720f7a24fdd1b594815b416430
parenteabd415de887b2a2a75e73bf4d6df49ded03c917 (diff)
downloadchrome-ec-a9ea68a50772ea44195c431fb71e5a7b731e4b38.tar.gz
driver/led/lm3630a: Wait 1ms for I2C to be ready
LM3630A will NAK I2C transactions for 1ms (tWAIT in the datasheet) after HWEN asserted or after SW reset. Add msleep(1) to start of lm3630a_poweron(). BUG=b:119849255 BRANCH=grunt TEST=keyboard backlight still works after resume from S3: suspend_stress_test -c 1 --suspend_min=15 --suspend_max=20 ectool pwmsetkblight 0 ectool pwmsetkblight 100 Change-Id: Ie98e8759c85db6a6f2d8beeee834cabbecfec2c0 Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1389060 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
-rw-r--r--driver/led/lm3630a.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/driver/led/lm3630a.c b/driver/led/lm3630a.c
index 8eb12bb8d3..5515771ffa 100644
--- a/driver/led/lm3630a.c
+++ b/driver/led/lm3630a.c
@@ -39,6 +39,12 @@ int lm3630a_poweron(void)
{
int ret = 0;
+ /*
+ * LM3630A will NAK I2C transactions for 1ms (tWAIT in the datasheet)
+ * after HWEN asserted or after SW reset.
+ */
+ msleep(1);
+
/* Sample PWM every 8 periods. */
ret |= lm3630a_write(LM3630A_REG_FILTER_STRENGTH, 0x3);