diff options
author | Ben Chen <ben.chen2@quanta.corp-partner.google.com> | 2021-02-01 18:46:44 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-02-03 01:13:41 +0000 |
commit | 699a10d6818f2b8bb5eb8c918d9dd5f12d461a40 (patch) | |
tree | 6e7618ffcc94913946ae9f02110fba5654b1bf90 /board/voxel | |
parent | efa46d4f82c9f59acad3d49e1a2901952fa1a75a (diff) | |
download | chrome-ec-699a10d6818f2b8bb5eb8c918d9dd5f12d461a40.tar.gz |
voxel: Add keyboard backlight support by FW_CONFIG
switch keyboard backlight enable/disable by fw_config BIT14
BUG=b:162632407
BRANCH=none
TEST=Set FW_CONFIG to 0x4000 and make sure "ectool inventory"
had keyboard backlight present.
Change-Id: I766b5179340c155a98fb854bba66e93f820d1e6b
Signed-off-by: Ben Chen <ben.chen2@quanta.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2662935
Reviewed-by: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'board/voxel')
-rw-r--r-- | board/voxel/board.c | 17 | ||||
-rw-r--r-- | board/voxel/board.h | 4 |
2 files changed, 19 insertions, 2 deletions
diff --git a/board/voxel/board.c b/board/voxel/board.c index bba00ead94..ef392b5afd 100644 --- a/board/voxel/board.c +++ b/board/voxel/board.c @@ -106,6 +106,17 @@ struct keyboard_scan_config keyscan_config = { }, }; +__override uint32_t board_override_feature_flags0(uint32_t flags0) +{ + /* + * Remove keyboard backlight feature for devices that don't support it. + */ + if (!ec_cfg_has_keyboard_backlight()) + return (flags0 & ~EC_FEATURE_MASK_0(EC_FEATURE_PWM_KEYB)); + else + return flags0; +} + /******************************************************************************/ /* * FW_CONFIG defaults for Voxel if the CBI data is not initialized. @@ -263,13 +274,15 @@ BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT); static void kb_backlight_enable(void) { - gpio_set_level(GPIO_EC_KB_BL_EN, 1); + if (ec_cfg_has_keyboard_backlight()) + gpio_set_level(GPIO_EC_KB_BL_EN, 1); } DECLARE_HOOK(HOOK_CHIPSET_RESUME, kb_backlight_enable, HOOK_PRIO_DEFAULT); static void kb_backlight_disable(void) { - gpio_set_level(GPIO_EC_KB_BL_EN, 0); + if (ec_cfg_has_keyboard_backlight()) + gpio_set_level(GPIO_EC_KB_BL_EN, 0); } DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, kb_backlight_disable, HOOK_PRIO_DEFAULT); diff --git a/board/voxel/board.h b/board/voxel/board.h index d0dbc111c2..f0ee8fe860 100644 --- a/board/voxel/board.h +++ b/board/voxel/board.h @@ -44,6 +44,10 @@ /* Keyboard features */ +/* Keyboard backliht */ +#define CONFIG_PWM +#define CONFIG_PWM_KBLIGHT + /* Sensors */ #define CONFIG_DYNAMIC_MOTION_SENSOR_COUNT /* BMI160 Base accel/gyro */ |