summaryrefslogtreecommitdiff
path: root/board/ampton/board.c
diff options
context:
space:
mode:
authorJames_Chao <james_chao@asus.corp-partner.google.com>2018-11-23 14:50:02 +0800
committerchrome-bot <chrome-bot@chromium.org>2018-12-05 01:13:36 -0800
commit45b4bec661a2504ef030104903d3b526b5efafa2 (patch)
treed126178b6a6d532a067e182ce6683df56868a9ad /board/ampton/board.c
parent5eb2d70128d9a41ff0b83362e6beec23b7dae3d9 (diff)
downloadchrome-ec-45b4bec661a2504ef030104903d3b526b5efafa2.tar.gz
Ampton: Implement the functions about ar camera
BUG=b:119926441 BRAHCN=octopus TEST=build success Change-Id: I7ba0632c49836ba957c40d66ed4dfc5cf905c8c6 Signed-off-by: James_Chao <james_chao@asus.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/1349158 Commit-Ready: James Chao <james_chao@asus.corp-partner.google.com> Tested-by: James Chao <james_chao@asus.corp-partner.google.com> Reviewed-by: Marco Chen <marcochen@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'board/ampton/board.c')
-rw-r--r--board/ampton/board.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/board/ampton/board.c b/board/ampton/board.c
index 065aea53f2..5f9c2a41cb 100644
--- a/board/ampton/board.c
+++ b/board/ampton/board.c
@@ -14,6 +14,7 @@
#include "driver/accel_kionix.h"
#include "driver/accelgyro_bmi160.h"
#include "driver/ppc/sn5s330.h"
+#include "driver/sync.h"
#include "driver/tcpm/it83xx_pd.h"
#include "driver/tcpm/ps8xxx.h"
#include "driver/usb_mux_it5205.h"
@@ -224,6 +225,17 @@ struct motion_sensor_t motion_sensors[] = {
.min_frequency = BMI160_GYRO_MIN_FREQ,
.max_frequency = BMI160_GYRO_MAX_FREQ,
},
+ [VSYNC] = {
+ .name = "Camera VSYNC",
+ .active_mask = SENSOR_ACTIVE_S0,
+ .chip = MOTIONSENSE_CHIP_GPIO,
+ .type = MOTIONSENSE_TYPE_SYNC,
+ .location = MOTIONSENSE_LOC_CAMERA,
+ .drv = &sync_drv,
+ .default_range = 0,
+ .min_frequency = 0,
+ .max_frequency = 1,
+ },
};
unsigned int motion_sensor_count = ARRAY_SIZE(motion_sensors);
@@ -235,6 +247,12 @@ static int board_is_convertible(void)
|| sku_id == 255;
}
+static int board_with_ar_cam(void)
+{
+ /* SKU ID of Ampton with AR Cam: 3, 4 */
+ return sku_id == 3 || sku_id == 4;
+}
+
static void board_update_sensor_config_from_sku(void)
{
if (board_is_convertible()) {
@@ -249,6 +267,14 @@ static void board_update_sensor_config_from_sku(void)
gpio_set_flags(GPIO_BASE_SIXAXIS_INT_L,
GPIO_INPUT | GPIO_PULL_DOWN);
}
+
+ if (board_with_ar_cam()) {
+ /* Enable interrupt from camera */
+ gpio_enable_interrupt(GPIO_WFCAM_VSYNC);
+ } else {
+ /* Camera isn't stuffed, don't allow line to float */
+ gpio_set_flags(GPIO_WFCAM_VSYNC, GPIO_INPUT | GPIO_PULL_DOWN);
+ }
}
static void board_customize_usbc_mux(uint32_t board_version)