summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorben.chen2@quanta.corp-partner.google.com <ben.chen2@quanta.corp-partner.google.com>2019-08-01 16:42:03 +0800
committerCommit Bot <commit-bot@chromium.org>2019-08-28 08:21:54 +0000
commitd104b49414eccf05c0f78f8317e7bb776e314513 (patch)
tree0f247c21f4889c4b3c67f7e5598013875568fcfe
parent250369d33206f4a9a5929f80c37ba66f29909529 (diff)
downloadchrome-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>
-rw-r--r--board/kindred/board.c21
-rw-r--r--board/kindred/board.h3
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 */