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)