summaryrefslogtreecommitdiff
path: root/board/nami
diff options
context:
space:
mode:
authorElmo_Lan <elmo_lan@compal.corp-partner.google.com>2018-01-23 07:12:46 -0500
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2018-03-05 20:00:37 +0000
commit1f413d44332a4a148658e1cbfba642f60446df46 (patch)
tree4bf4cbcfd33118ccba1b66464c5af1d52b5d47df /board/nami
parent821ce6098d0d64dfe8d9056f3095e6324f73bcdb (diff)
downloadchrome-ec-1f413d44332a4a148658e1cbfba642f60446df46.tar.gz
Nami: add keyboard backlight function
Base on LM3509 chip. Add file LM3509.C and LM3509.H to control keyboard backlight when S0/LidOpen is turn on, others is turn off. BUG=b:73055990 BRANCH=none TEST=Verify keyboard backlight function in resume and suspend. S0/LidOpen is turn on; S4/S5/G3/LidClose is turn off. Change-Id: Ief9e385f969c9dfc9e8f0d4e47ea7803cee747aa Signed-off-by: Elmo_Lan <elmo_lan@compal.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/881081 Commit-Ready: Raymond Chou <raymond_chou@compal.corp-partner.google.com> Tested-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com> (cherry picked from commit 6790a884a46f18e858a6b308d3b00f86ef915e3f) Reviewed-on: https://chromium-review.googlesource.com/949616 Reviewed-by: Furquan Shaikh <furquan@chromium.org> Commit-Queue: Furquan Shaikh <furquan@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Trybot-Ready: Furquan Shaikh <furquan@chromium.org>
Diffstat (limited to 'board/nami')
-rw-r--r--board/nami/board.c14
-rw-r--r--board/nami/board.h6
2 files changed, 18 insertions, 2 deletions
diff --git a/board/nami/board.c b/board/nami/board.c
index 81241ef264..8bb9eef9d3 100644
--- a/board/nami/board.c
+++ b/board/nami/board.c
@@ -21,6 +21,7 @@
#include "driver/accel_bma2x2.h"
#include "driver/als_opt3001.h"
#include "driver/baro_bmp280.h"
+#include "driver/led/lm3509.h"
#include "driver/tcpm/ps8xxx.h"
#include "driver/tcpm/tcpci.h"
#include "driver/tcpm/tcpm.h"
@@ -695,6 +696,8 @@ void lid_angle_peripheral_enable(int enable)
static void board_chipset_resume(void)
{
gpio_set_level(GPIO_ENABLE_BACKLIGHT_L, 0);
+ if (lid_is_open())
+ lm3509_poweron();
}
DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_chipset_resume, HOOK_PRIO_DEFAULT);
@@ -702,5 +705,16 @@ DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_chipset_resume, HOOK_PRIO_DEFAULT);
static void board_chipset_suspend(void)
{
gpio_set_level(GPIO_ENABLE_BACKLIGHT_L, 1);
+ lm3509_poweroff();
}
DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT);
+
+/* Control keyboard backlight when Lid status change */
+static void lm3509_kblight_lid_change(void)
+{
+ if (lid_is_open())
+ lm3509_poweron();
+ else
+ lm3509_poweroff();
+}
+DECLARE_HOOK(HOOK_LID_CHANGE, lm3509_kblight_lid_change, HOOK_PRIO_DEFAULT);
diff --git a/board/nami/board.h b/board/nami/board.h
index e88b7b0621..2d1d256c92 100644
--- a/board/nami/board.h
+++ b/board/nami/board.h
@@ -126,6 +126,9 @@
#define CONFIG_LID_ANGLE_TABLET_MODE
#define CONFIG_LID_ANGLE_INVALID_CHECK
+/* KB backlight driver */
+#define CONFIG_LED_DRIVER_LM3509
+
/* FIFO size is in power of 2. */
#define CONFIG_ACCEL_FIFO 1024
@@ -176,12 +179,11 @@
#define I2C_PORT_BATTERY NPCX_I2C_PORT1
#define I2C_PORT_CHARGER NPCX_I2C_PORT1
#define I2C_PORT_PMIC NPCX_I2C_PORT2
-/* dnojiri: KB backlight */
+#define I2C_PORT_KBLIGHT NPCX_I2C_PORT2
#define I2C_PORT_GYRO NPCX_I2C_PORT3
#define I2C_PORT_ACCEL NPCX_I2C_PORT3
#define I2C_PORT_THERMAL NPCX_I2C_PORT3
#define I2C_PORT_ALS NPCX_I2C_PORT3
-/* dnojiri: ALS, G-sensor */
/* I2C addresses */
#define I2C_ADDR_MP2949 0x40