diff options
author | Andrew Lin <aclin@google.com> | 2017-04-20 17:01:18 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-05-03 03:31:30 -0700 |
commit | da0f011995ef2f9ceec40f60a5f203c9e86460a4 (patch) | |
tree | bf0164a67baf01a31d50fe3f4c23fd91d4c32226 /board/tigertail/board.c | |
parent | 7fb0338cbd40d40db2a304cd3e8ed10ae4f59450 (diff) | |
download | chrome-ec-da0f011995ef2f9ceec40f60a5f203c9e86460a4.tar.gz |
tigertail: LED control
Added GPIOs for LED2, and updated mux control so that LEDs indicate
current mux state.
BRANCH=none
BUG=b:37570358
TEST=make buildall -j
TEST=check that LEDs change on tigertail as expected
Change-Id: Ibdd3a667316ea64b319562f7a975b09eca08b2a6
Signed-off-by: Andrew Lin <aclin@google.com>
Reviewed-on: https://chromium-review.googlesource.com/484727
Commit-Ready: Nick Sanders <nsanders@chromium.org>
Tested-by: Nick Sanders <nsanders@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'board/tigertail/board.c')
-rw-r--r-- | board/tigertail/board.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/board/tigertail/board.c b/board/tigertail/board.c index 058e15c4a8..923fcc8e40 100644 --- a/board/tigertail/board.c +++ b/board/tigertail/board.c @@ -295,6 +295,21 @@ DECLARE_CONSOLE_COMMAND(uart, command_uart, "[off|on|flip|auto]", "Get/set the flip and enable state of the SBU UART"); +static void set_led_a(int r, int g, int b) +{ + /* LEDs are active low */ + gpio_set_level(GPIO_LED_R_L, !r); + gpio_set_level(GPIO_LED_G_L, !g); + gpio_set_level(GPIO_LED_B_L, !b); +} + +static void set_led_b(int r, int g, int b) +{ + gpio_set_level(GPIO_LED2_R_L, !r); + gpio_set_level(GPIO_LED2_G_L, !g); + gpio_set_level(GPIO_LED2_B_L, !b); +} + /* State we intend the mux GPIOs to be set. */ static int mux_state = MUX_OFF; @@ -327,6 +342,16 @@ void set_mux_state(int state) mux_state = MUX_OFF; else mux_state = state; + + if (state == MUX_A) + set_led_a(0, 1, 0); + else + set_led_a(1, 0, 0); + + if (state == MUX_B) + set_led_b(0, 1, 0); + else + set_led_b(1, 0, 0); } static int command_mux(int argc, char **argv) @@ -378,4 +403,3 @@ static void board_init(void) ina2xx_init(4, 0x8000, INA2XX_CALIB_1MA(15 /*mOhm*/)); } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); - |