summaryrefslogtreecommitdiff
path: root/board/aleena/board.c
diff options
context:
space:
mode:
authorEdward Hill <ecgh@chromium.org>2018-12-04 12:28:16 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-12-05 01:13:32 -0800
commit0034f8f365e647514e16c61031f661753089cf66 (patch)
tree3803572b3aa026d8e9d9f99487cc83c5f61228d2 /board/aleena/board.c
parent2b9ee186544863f29a84477aa46a80a57d8f09e0 (diff)
downloadchrome-ec-0034f8f365e647514e16c61031f661753089cf66.tar.gz
aleena/kasumi: Add support for motion sensors
Adjust Grunt baseboard to allow for per-sku support for motion sensors. Use this to enable motion sensors for SKU 82 (Kasumi360). Only enable the interrupt if the sensor is present. BUG=b:119795894 BRANCH=grunt TEST=Kasumi360 `ectool motionsense lid_angle` shows correct angles. Change-Id: Icb34359d7ac4cd894776e134c2c1fb7032741f03 Signed-off-by: Edward Hill <ecgh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1361987 Tested-by: Ryan Zhang <ryan.zhang@quanta.corp-partner.google.com> Reviewed-by: Ryan Zhang <ryan.zhang@quanta.corp-partner.google.com> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'board/aleena/board.c')
-rw-r--r--board/aleena/board.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/board/aleena/board.c b/board/aleena/board.c
index c79b1c3b93..a7b1fa1301 100644
--- a/board/aleena/board.c
+++ b/board/aleena/board.c
@@ -14,6 +14,7 @@
#include "common.h"
#include "compile_time_macros.h"
#include "console.h"
+#include "driver/accelgyro_bmi160.h"
#include "driver/led/lm3630a.h"
#include "driver/ppc/sn5s330.h"
#include "driver/tcpm/anx74xx.h"
@@ -102,10 +103,18 @@ const struct pwm_t pwm_channels[] = {
};
BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
-static void board_init(void)
+void board_update_sensor_config_from_sku(void)
{
+ if (board_is_convertible()) {
+ /* Enable Gyro interrupts */
+ gpio_enable_interrupt(GPIO_6AXIS_INT_L);
+ } else {
+ motion_sensor_count = 0;
+ /* Gyro is not present, don't allow line to float */
+ gpio_set_flags(GPIO_6AXIS_INT_L,
+ GPIO_INPUT | GPIO_PULL_DOWN);
+ }
}
-DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT);
void board_overcurrent_event(int port)
{