summaryrefslogtreecommitdiff
path: root/board/voxel
diff options
context:
space:
mode:
authorBen Chen <ben.chen2@quanta.corp-partner.google.com>2021-02-01 18:46:44 +0800
committerCommit Bot <commit-bot@chromium.org>2021-02-03 01:13:41 +0000
commit699a10d6818f2b8bb5eb8c918d9dd5f12d461a40 (patch)
tree6e7618ffcc94913946ae9f02110fba5654b1bf90 /board/voxel
parentefa46d4f82c9f59acad3d49e1a2901952fa1a75a (diff)
downloadchrome-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.c17
-rw-r--r--board/voxel/board.h4
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 */