diff options
author | ben.chen2@quanta.corp-partner.google.com <ben.chen2@quanta.corp-partner.google.com> | 2019-08-01 16:42:03 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-08-28 08:21:54 +0000 |
commit | d104b49414eccf05c0f78f8317e7bb776e314513 (patch) | |
tree | 0f247c21f4889c4b3c67f7e5598013875568fcfe /board/kindred | |
parent | 250369d33206f4a9a5929f80c37ba66f29909529 (diff) | |
download | chrome-ec-d104b49414eccf05c0f78f8317e7bb776e314513.tar.gz |
kindred: support keyboard backlight for kled
Enable keyboard backlight control by SKU ID of kled, which
number is 1,2,3,4.
BUG=b:138326244
BRANCH=master
TEST=Use console command "kblight 0-100" to check keyboard backlight
works.
Change-Id: I96047b991850a54ce4a600a273d0bcdac0e8a053
Signed-off-by: Ben Chen <ben.chen2@quanta.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1731209
Reviewed-by: Philip Chen <philipchen@chromium.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Diffstat (limited to 'board/kindred')
-rw-r--r-- | board/kindred/board.c | 21 | ||||
-rw-r--r-- | board/kindred/board.h | 3 |
2 files changed, 24 insertions, 0 deletions
diff --git a/board/kindred/board.c b/board/kindred/board.c index 7923a318bd..266120259a 100644 --- a/board/kindred/board.c +++ b/board/kindred/board.c @@ -29,6 +29,7 @@ #include "power_button.h" #include "pwm.h" #include "pwm_chip.h" +#include "stdbool.h" #include "spi.h" #include "switch.h" #include "system.h" @@ -408,3 +409,23 @@ void board_overcurrent_event(int port, int is_overcurrented) /* Note that the level is inverted because the pin is active low. */ gpio_set_level(GPIO_USB_C_OC_ODL, !is_overcurrented); } + +bool board_has_kb_backlight(void) +{ + uint8_t sku_id = get_board_sku(); + /* SKU ID of Kled: 1,2,3,4 */ + return (sku_id >= 1) && (sku_id <= 4); +} + +uint32_t board_override_feature_flags0(uint32_t flags0) +{ + if (board_has_kb_backlight()) + return flags0; + else + return (flags0 & ~EC_FEATURE_MASK_0(EC_FEATURE_PWM_KEYB)); +} + +uint32_t board_override_feature_flags1(uint32_t flags1) +{ + return flags1; +} diff --git a/board/kindred/board.h b/board/kindred/board.h index c92c558126..04e6caf549 100644 --- a/board/kindred/board.h +++ b/board/kindred/board.h @@ -22,7 +22,10 @@ #undef CONFIG_UART_TX_BUF_SIZE #define CONFIG_UART_TX_BUF_SIZE 4096 +#define CONFIG_EC_FEATURE_BOARD_OVERRIDE + /* Keyboard features */ +#define CONFIG_PWM #define CONFIG_PWM_KBLIGHT /* Sensors */ |