diff options
author | xiong.huang <xiong.huang@bitland.corp-partner.google.com> | 2019-10-23 19:37:48 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-10-25 08:19:21 +0000 |
commit | 9ad680c10b5b3d5c49131b68157f9e117f30cb48 (patch) | |
tree | 2a14360e28c0aaf01cfb0dd172ae82ab1ed4bfca /board/kodama/led.c | |
parent | ed997d3802c4bf5c2ef42938af1dd8c72c09de65 (diff) | |
download | chrome-ec-9ad680c10b5b3d5c49131b68157f9e117f30cb48.tar.gz |
Kodama: LED luminance requirement between 2 lux and 10 lux
LED luminance requirement between 2 lux and 10 lux, but the white LED
and the RED LED is about 13 luminance.
Adjust luminance of the white LED and the RED LED to 5 lux with PWM method.
BUG=b:143200917
BRANCH=firmware-kukui-12573.B
TEST=Test with light intensity measuring, LED luminance meet SPEC
requirement.
Change-Id: I2fafcf3056b8349fcc17077f336ce213b0381c47
Signed-off-by: Xiong Huang <xiong.huang@bitland.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1876289
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'board/kodama/led.c')
-rw-r--r-- | board/kodama/led.c | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/board/kodama/led.c b/board/kodama/led.c index 4f793ef215..61d29f9d16 100644 --- a/board/kodama/led.c +++ b/board/kodama/led.c @@ -6,6 +6,7 @@ */ #include "charge_state.h" #include "driver/charger/rt946x.h" +#include "hooks.h" #include "led_common.h" #include "led_onoff_states.h" #include "ec_commands.h" @@ -19,9 +20,6 @@ #define LED_MASK_GREEN MT6370_MASK_RGB_ISNK2DIM_EN #define LED_MASK_WHITE MT6370_MASK_RGB_ISNK3DIM_EN -#define LED_ON_LVL 0 -#define LED_OFF_LVL 1 - const int led_charge_lvl_1 = 5; const int led_charge_lvl_2 = 97; @@ -65,12 +63,6 @@ static void led_set_color(int mask) else new_mask = mask; - mt6370_led_set_brightness(LED_MASK_RED, (mask & LED_MASK_RED) ? - LED_ON_LVL : LED_OFF_LVL); - mt6370_led_set_brightness(LED_MASK_GREEN, (mask & LED_MASK_GREEN) ? - LED_ON_LVL : LED_OFF_LVL); - mt6370_led_set_brightness(LED_MASK_WHITE, (mask & LED_MASK_WHITE) ? - LED_ON_LVL : LED_OFF_LVL); mt6370_led_set_color(led_mask); } @@ -139,3 +131,24 @@ int led_set_brightness(enum ec_led_id led_id, const uint8_t *brightness) return EC_SUCCESS; } + +static void kodama_led_init(void) +{ + const enum mt6370_led_dim_mode dim = MT6370_LED_DIM_MODE_PWM; + const enum mt6370_led_pwm_freq freq = MT6370_LED_PWM_FREQ1000; + + mt6370_led_set_color(LED_MASK_RED | LED_MASK_GREEN | LED_MASK_WHITE); + mt6370_led_set_dim_mode(LED_RED, dim); + mt6370_led_set_dim_mode(LED_GREEN, dim); + mt6370_led_set_dim_mode(LED_WHITE, dim); + mt6370_led_set_pwm_frequency(LED_RED, freq); + mt6370_led_set_pwm_frequency(LED_GREEN, freq); + mt6370_led_set_pwm_frequency(LED_WHITE, freq); + mt6370_led_set_pwm_dim_duty(LED_RED, 12); + mt6370_led_set_pwm_dim_duty(LED_GREEN, 31); + mt6370_led_set_pwm_dim_duty(LED_WHITE, 12); + mt6370_led_set_brightness(LED_MASK_RED, 7); + mt6370_led_set_brightness(LED_MASK_GREEN, 7); + mt6370_led_set_brightness(LED_MASK_WHITE, 7); +} +DECLARE_HOOK(HOOK_INIT, kodama_led_init, HOOK_PRIO_DEFAULT); |