Skip to content
Permalink
Browse files

Drivers: led: lp5562: Add delay when writing to enable register

According to datasheet, there needs to be a minimum of 488µs
between each write to Enable register

Signed-off-by: Alexander Svensen <alsv@nordicsemi.no>
  • Loading branch information...
Alexander Svensen authored and nashif committed Jun 6, 2019
1 parent f67dcdb commit 47d7146c7e987fc8283d370c7c1ca2ccfaf74656
Showing with 11 additions and 2 deletions.
  1. +11 −2 drivers/led/lp5562.c
@@ -481,7 +481,17 @@ static inline int lp5562_set_engine_exec_state(struct device *dev,
enum lp5562_led_sources engine,
enum lp5562_engine_exec_states state)
{
return lp5562_set_engine_reg(dev, engine, LP5562_ENABLE, state);
int ret;

ret = lp5562_set_engine_reg(dev, engine, LP5562_ENABLE, state);

/*
* Delay between consecutive I2C writes to
* ENABLE register (00h) need to be longer than 488μs (typ.).
*/
k_sleep(1);

return ret;
}

/*
@@ -502,7 +512,6 @@ static inline int lp5562_start_program_exec(struct device *dev,

return lp5562_set_engine_exec_state(dev, engine,
LP5562_ENGINE_MODE_RUN);

}

/*

0 comments on commit 47d7146

Please sign in to comment.
You can’t perform that action at this time.