diff options
author | Ben Chen <ben.chen2@quanta.corp-partner.google.com> | 2021-11-01 11:18:47 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-11-03 17:54:21 +0000 |
commit | a12a18e368a28d4cd62e86221404cb4fa55f2d1d (patch) | |
tree | d3d9ae501fc7e9111efa2caa4315cfcec8f281d0 | |
parent | 1102842bc9dc8cb26de26acde62419d195f37927 (diff) | |
download | chrome-ec-a12a18e368a28d4cd62e86221404cb4fa55f2d1d.tar.gz |
moonbuggy: modify LED pwm output type
Modify moonbuggy LED colors to red and blue.
Also set the PWM configuration to active low.
BUG=b:204504054
BRANCH=cros/main
TEST=factory software PE test is PASS
Change-Id: I9e79b007a8ab376b290ec441ffd3bb33338145e8
Signed-off-by: Ben Chen <ben.chen2@quanta.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3255121
Reviewed-by: Joe Tessler <jrt@chromium.org>
Reviewed-by: Matthew Ziegelbaum <ziegs@chromium.org>
Reviewed-by: Keith Short <keithshort@chromium.org>
Commit-Queue: Joe Tessler <jrt@chromium.org>
(cherry picked from commit fd1ac67b8cbaf12b245c4eb0e9544705cb5d3a65)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3260185
Tested-by: Joe Tessler <jrt@chromium.org>
Auto-Submit: Joe Tessler <jrt@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
-rw-r--r-- | board/moonbuggy/board.c | 8 | ||||
-rw-r--r-- | board/moonbuggy/board.h | 2 | ||||
-rw-r--r-- | board/moonbuggy/led.c | 34 |
3 files changed, 23 insertions, 21 deletions
diff --git a/board/moonbuggy/board.c b/board/moonbuggy/board.c index cd4d48efad..439f6f12b9 100644 --- a/board/moonbuggy/board.c +++ b/board/moonbuggy/board.c @@ -124,10 +124,12 @@ const struct pwm_t pwm_channels[] = { .flags = PWM_CONFIG_OPEN_DRAIN, .freq = 25000}, [PWM_CH_LED_RED] = { .channel = 0, - .flags = PWM_CONFIG_DSLEEP, + .flags = PWM_CONFIG_ACTIVE_LOW | + PWM_CONFIG_DSLEEP, .freq = 2000 }, - [PWM_CH_LED_WHITE] = { .channel = 2, - .flags = PWM_CONFIG_DSLEEP, + [PWM_CH_LED_BLUE] = { .channel = 2, + .flags = PWM_CONFIG_ACTIVE_LOW | + PWM_CONFIG_DSLEEP, .freq = 2000 }, }; diff --git a/board/moonbuggy/board.h b/board/moonbuggy/board.h index eba2fd52e4..4423142e7f 100644 --- a/board/moonbuggy/board.h +++ b/board/moonbuggy/board.h @@ -150,7 +150,7 @@ enum adc_channel { enum pwm_channel { PWM_CH_FAN, PWM_CH_LED_RED, - PWM_CH_LED_WHITE, + PWM_CH_LED_BLUE, /* Number of PWM channels */ PWM_CH_COUNT }; diff --git a/board/moonbuggy/led.c b/board/moonbuggy/led.c index c562dff27e..2e541c5038 100644 --- a/board/moonbuggy/led.c +++ b/board/moonbuggy/led.c @@ -34,7 +34,7 @@ const int supported_led_ids_count = ARRAY_SIZE(supported_led_ids); enum led_color { LED_OFF = 0, LED_RED, - LED_WHITE, + LED_BLUE, LED_AMBER, /* Number of colors, not a color itself */ @@ -43,7 +43,7 @@ enum led_color { static int set_color_power(enum led_color color, int duty) { - int white = 0; + int blue = 0; int red = 0; if (duty < 0 || 100 < duty) @@ -52,15 +52,15 @@ static int set_color_power(enum led_color color, int duty) switch (color) { case LED_OFF: break; - case LED_WHITE: - white = 1; + case LED_BLUE: + blue = 1; break; case LED_RED: red = 1; break; case LED_AMBER: red = 1; - white = 1; + blue = 1; break; default: return EC_ERROR_UNKNOWN; @@ -71,10 +71,10 @@ static int set_color_power(enum led_color color, int duty) else pwm_set_duty(PWM_CH_LED_RED, 0); - if (white) - pwm_set_duty(PWM_CH_LED_WHITE, duty); + if (blue) + pwm_set_duty(PWM_CH_LED_BLUE, duty); else - pwm_set_duty(PWM_CH_LED_WHITE, 0); + pwm_set_duty(PWM_CH_LED_BLUE, 0); return EC_SUCCESS; } @@ -142,7 +142,7 @@ static void led_tick(void) static void led_suspend(void) { - CONFIG_TICK(LED_PULSE_TICK_US, LED_WHITE); + CONFIG_TICK(LED_PULSE_TICK_US, LED_BLUE); led_tick(); } DECLARE_DEFERRED(led_suspend); @@ -181,14 +181,14 @@ static void led_resume(void) hook_call_deferred(&led_suspend_data, -1); hook_call_deferred(&led_shutdown_data, -1); if (led_auto_control_is_enabled(EC_LED_ID_POWER_LED)) - set_color(EC_LED_ID_POWER_LED, LED_WHITE, 100); + set_color(EC_LED_ID_POWER_LED, LED_BLUE, 100); } DECLARE_HOOK(HOOK_CHIPSET_RESUME, led_resume, HOOK_PRIO_DEFAULT); static void led_init(void) { pwm_enable(PWM_CH_LED_RED, 1); - pwm_enable(PWM_CH_LED_WHITE, 1); + pwm_enable(PWM_CH_LED_BLUE, 1); if (chipset_in_state(CHIPSET_STATE_ON)) led_resume(); @@ -237,8 +237,8 @@ static int command_led(int argc, char **argv) set_color(id, LED_OFF, 0); } else if (!strcasecmp(argv[1], "red")) { set_color(id, LED_RED, 100); - } else if (!strcasecmp(argv[1], "white")) { - set_color(id, LED_WHITE, 100); + } else if (!strcasecmp(argv[1], "blue")) { + set_color(id, LED_BLUE, 100); } else if (!strcasecmp(argv[1], "amber")) { set_color(id, LED_AMBER, 100); } else if (!strcasecmp(argv[1], "alert")) { @@ -251,13 +251,13 @@ static int command_led(int argc, char **argv) return EC_SUCCESS; } DECLARE_CONSOLE_COMMAND(led, command_led, - "[debug|red|white|amber|off|alert|crit]", + "[debug|red|blue|amber|off|alert|crit]", "Turn on/off LED."); void led_get_brightness_range(enum ec_led_id led_id, uint8_t *brightness_range) { brightness_range[EC_LED_COLOR_RED] = 100; - brightness_range[EC_LED_COLOR_WHITE] = 100; + brightness_range[EC_LED_COLOR_BLUE] = 100; brightness_range[EC_LED_COLOR_AMBER] = 100; } @@ -265,8 +265,8 @@ int led_set_brightness(enum ec_led_id id, const uint8_t *brightness) { if (brightness[EC_LED_COLOR_RED]) return set_color(id, LED_RED, brightness[EC_LED_COLOR_RED]); - else if (brightness[EC_LED_COLOR_WHITE]) - return set_color(id, LED_WHITE, brightness[EC_LED_COLOR_WHITE]); + else if (brightness[EC_LED_COLOR_BLUE]) + return set_color(id, LED_BLUE, brightness[EC_LED_COLOR_BLUE]); else if (brightness[EC_LED_COLOR_AMBER]) return set_color(id, LED_AMBER, brightness[EC_LED_COLOR_AMBER]); else |