summaryrefslogtreecommitdiff
path: root/board/rowan
diff options
context:
space:
mode:
authorYidi Lin <yidi.lin@mediatek.com>2017-01-12 11:42:04 +0800
committerchrome-bot <chrome-bot@chromium.org>2017-02-09 20:48:44 -0800
commitc09c1ad72701986203a3bdbfc7e20ff409188c63 (patch)
treec439786645026ae1a1a6d43baed0e90c6f282aea /board/rowan
parent9316ec321ab0708334f035c9e6090e592b0a8077 (diff)
downloadchrome-ec-c09c1ad72701986203a3bdbfc7e20ff409188c63.tar.gz
rowan: Add ISL29035
Add ambient light sensor support for rowan. BRANCH=master BUG=chrome-os-partner:62673 TEST=EC_FIRMWARE=rowan emerge-rowan chromeos-ec Change-Id: Idfc34bd7977c96ac245a6d06cab064e65b8bf72a Signed-off-by: Yidi Lin <yidi.lin@mediatek.com> Reviewed-on: https://chromium-review.googlesource.com/427564 Commit-Ready: Patrick Berny <pberny@chromium.org> Tested-by: Patrick Berny <pberny@chromium.org> Reviewed-by: Rong Chang <rongchang@chromium.org>
Diffstat (limited to 'board/rowan')
-rw-r--r--board/rowan/board.c8
-rw-r--r--board/rowan/board.h10
-rw-r--r--board/rowan/ec.tasklist3
3 files changed, 20 insertions, 1 deletions
diff --git a/board/rowan/board.c b/board/rowan/board.c
index 046e1e848d..f6ba2147cf 100644
--- a/board/rowan/board.c
+++ b/board/rowan/board.c
@@ -7,6 +7,7 @@
#include "adc.h"
#include "adc_chip.h"
+#include "als.h"
#include "atomic.h"
#include "battery.h"
#include "charge_manager.h"
@@ -17,6 +18,7 @@
#include "console.h"
#include "driver/accel_kionix.h"
#include "driver/accel_kx022.h"
+#include "driver/als_isl29035.h"
#include "driver/tcpm/anx7688.h"
#include "driver/tcpm/tcpci.h"
#include "driver/temp_sensor/tmp432.h"
@@ -474,6 +476,12 @@ static void board_chipset_suspend(void)
}
DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT);
+/* ALS instances. Must be in same order as enum als_id. */
+struct als_t als[] = {
+ {"ISL", isl29035_init, isl29035_read_lux, 5},
+};
+BUILD_ASSERT(ARRAY_SIZE(als) == ALS_COUNT);
+
#ifdef HAS_TASK_MOTIONSENSE
/* Motion sensors */
/* Mutexes */
diff --git a/board/rowan/board.h b/board/rowan/board.h
index b4b688880b..dcd422fc99 100644
--- a/board/rowan/board.h
+++ b/board/rowan/board.h
@@ -16,8 +16,10 @@
/* Accelero meter and gyro sensor */
#define CONFIG_ACCEL_KX022
+#define CONFIG_ALS_ISL29035
#define CONFIG_CMD_ACCELS
#define CONFIG_CMD_ACCEL_INFO
+#define CONFIG_CMD_ALS
#define CONFIG_LID_ANGLE
#define CONFIG_LID_ANGLE_SENSOR_BASE 0
#define CONFIG_LID_ANGLE_SENSOR_LID 1
@@ -135,6 +137,7 @@
/* 2 I2C master ports, connect to battery, charger, pd and USB switches */
#define I2C_PORT_MASTER 0
#define I2C_PORT_ACCEL 0
+#define I2C_PORT_ALS 0
#define I2C_PORT_BATTERY 0
#define I2C_PORT_CHARGER 0
#define I2C_PORT_PERICOM 0
@@ -193,6 +196,13 @@ enum temp_sensor_id {
TEMP_SENSOR_COUNT
};
+/* Light sensors attached to the EC. */
+enum als_id {
+ ALS_ISL29035 = 0,
+
+ ALS_COUNT,
+};
+
/* TODO: determine the following board specific type-C power constants */
/*
* delay to turn on the power supply max is ~16ms.
diff --git a/board/rowan/ec.tasklist b/board/rowan/ec.tasklist
index 1f2782dc9d..672efd1a23 100644
--- a/board/rowan/ec.tasklist
+++ b/board/rowan/ec.tasklist
@@ -26,4 +26,5 @@
TASK_ALWAYS(HOSTCMD, host_command_task, NULL, LARGER_TASK_STACK_SIZE) \
TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE) \
TASK_NOTEST(MOTIONSENSE, motion_sense_task, NULL, TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE)
+ TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) \
+ TASK_ALWAYS(ALS, als_task, NULL, TASK_STACK_SIZE)