diff options
author | James_Chao <james_chao@asus.corp-partner.google.com> | 2018-11-23 14:50:02 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-12-05 01:13:36 -0800 |
commit | 45b4bec661a2504ef030104903d3b526b5efafa2 (patch) | |
tree | d126178b6a6d532a067e182ce6683df56868a9ad /board/ampton/board.c | |
parent | 5eb2d70128d9a41ff0b83362e6beec23b7dae3d9 (diff) | |
download | chrome-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.c | 26 |
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) |