diff options
author | Ting Shen <phoenixshen@google.com> | 2021-10-14 15:06:29 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-10-14 10:24:12 +0000 |
commit | 522cf6888dbe5a4db59f0f9bde453c6e66c0d403 (patch) | |
tree | 4d06522c12422607186087f74943d4698cddbdc7 /board | |
parent | b37527429556f479c155b15a870b3e16862b91e4 (diff) | |
download | chrome-ec-522cf6888dbe5a4db59f0f9bde453c6e66c0d403.tar.gz |
corsola: remove references to asurada inside source code
- Remove IS_DEFINED(BOARD_XXX) and board_get_version() calls, assume the
default board is Hayato rev 4+.
- Remove dynamic g-sensor probing, default to icm426xx.
BUG=b:202808130
TEST=1) make BOARD=krabby
2) zmake -D -l DEBUG configure -b zephyr/projects/corsola/krabby/
3) `ag '(asurada|hayato)' -i` in the board folders shows no match
BRANCH=main
Signed-off-by: Ting Shen <phoenixshen@google.com>
Change-Id: I15e4dbb81970052e5b524c4aff9f51ff4c9d89c7
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3222519
Reviewed-by: Rong Chang <rongchang@chromium.org>
Commit-Queue: Ting Shen <phoenixshen@chromium.org>
Tested-by: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'board')
-rw-r--r-- | board/krabby/board.c | 272 | ||||
-rw-r--r-- | board/krabby/board.h | 28 | ||||
-rw-r--r-- | board/krabby/gpio.inc | 15 | ||||
-rw-r--r-- | board/krabby/usbc_config.c | 8 |
4 files changed, 23 insertions, 300 deletions
diff --git a/board/krabby/board.c b/board/krabby/board.c index 9ee94a22af..e01d64c386 100644 --- a/board/krabby/board.c +++ b/board/krabby/board.c @@ -2,7 +2,7 @@ * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ -/* Asurada board configuration */ +/* Corsola board configuration */ #include "adc.h" #include "button.h" @@ -13,12 +13,8 @@ #include "common.h" #include "console.h" #include "driver/accel_lis2dw12.h" -#include "driver/accelgyro_bmi_common.h" #include "driver/accelgyro_icm_common.h" #include "driver/accelgyro_icm426xx.h" -#include "driver/als_tcs3400.h" -#include "driver/tcpm/it83xx_pd.h" -#include "driver/temp_sensor/thermistor.h" #include "gpio.h" #include "hooks.h" #include "i2c.h" @@ -33,7 +29,6 @@ #include "switch.h" #include "tablet_mode.h" #include "task.h" -#include "temp_sensor.h" #include "timer.h" #include "uart.h" @@ -50,207 +45,55 @@ DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); static struct mutex g_base_mutex; static struct mutex g_lid_mutex; -static struct bmi_drv_data_t g_bmi160_data; static struct stprivate_data g_lis2dwl_data; static struct icm_drv_data_t g_icm426xx_data; -enum base_accelgyro_type { - BASE_GYRO_NONE = 0, - BASE_GYRO_BMI160 = 1, - BASE_GYRO_ICM426XX = 2, -}; - -static enum base_accelgyro_type base_accelgyro_config; - -#ifdef BOARD_ASURADA_REV0 -/* Matrix to rotate accelerometer into standard reference frame */ -/* for rev 0 */ -static const mat33_fp_t base_standard_ref_rev0 = { - {FLOAT_TO_FP(-1), 0, 0}, - {0, FLOAT_TO_FP(1), 0}, - {0, 0, FLOAT_TO_FP(-1)}, -}; - -static void update_rotation_matrix(void) -{ - motion_sensors[BASE_ACCEL].rot_standard_ref = - &base_standard_ref_rev0; - motion_sensors[BASE_GYRO].rot_standard_ref = - &base_standard_ref_rev0; -} -DECLARE_HOOK(HOOK_INIT, update_rotation_matrix, HOOK_PRIO_INIT_ADC + 2); - -/* TCS3400 private data */ -static struct als_drv_data_t g_tcs3400_data = { - .als_cal.scale = 1, - .als_cal.uscale = 0, - .als_cal.offset = 0, - .als_cal.channel_scale = { - .k_channel_scale = ALS_CHANNEL_SCALE(1.0), /* kc */ - .cover_scale = ALS_CHANNEL_SCALE(1.0), /* CT */ - }, -}; - -static struct tcs3400_rgb_drv_data_t g_tcs3400_rgb_data = { - /* - * TODO: calculate the actual coefficients and scaling factors - */ - .calibration.rgb_cal[X] = { - .offset = 0, - .scale = { - .k_channel_scale = ALS_CHANNEL_SCALE(1.0), /* kr */ - .cover_scale = ALS_CHANNEL_SCALE(1.0) - }, - .coeff[TCS_RED_COEFF_IDX] = FLOAT_TO_FP(0), - .coeff[TCS_GREEN_COEFF_IDX] = FLOAT_TO_FP(0), - .coeff[TCS_BLUE_COEFF_IDX] = FLOAT_TO_FP(0), - .coeff[TCS_CLEAR_COEFF_IDX] = FLOAT_TO_FP(0), - }, - .calibration.rgb_cal[Y] = { - .offset = 0, - .scale = { - .k_channel_scale = ALS_CHANNEL_SCALE(1.0), /* kg */ - .cover_scale = ALS_CHANNEL_SCALE(1.0) - }, - .coeff[TCS_RED_COEFF_IDX] = FLOAT_TO_FP(0), - .coeff[TCS_GREEN_COEFF_IDX] = FLOAT_TO_FP(0), - .coeff[TCS_BLUE_COEFF_IDX] = FLOAT_TO_FP(0), - .coeff[TCS_CLEAR_COEFF_IDX] = FLOAT_TO_FP(0.1), - }, - .calibration.rgb_cal[Z] = { - .offset = 0, - .scale = { - .k_channel_scale = ALS_CHANNEL_SCALE(1.0), /* kb */ - .cover_scale = ALS_CHANNEL_SCALE(1.0) - }, - .coeff[TCS_RED_COEFF_IDX] = FLOAT_TO_FP(0), - .coeff[TCS_GREEN_COEFF_IDX] = FLOAT_TO_FP(0), - .coeff[TCS_BLUE_COEFF_IDX] = FLOAT_TO_FP(0), - .coeff[TCS_CLEAR_COEFF_IDX] = FLOAT_TO_FP(0), - }, - .calibration.irt = INT_TO_FP(1), - .saturation.again = TCS_DEFAULT_AGAIN, - .saturation.atime = TCS_DEFAULT_ATIME, -}; -#endif /* BOARD_ASURADA_REV0 */ - -#ifdef BOARD_HAYATO -/* Matrix to rotate accelerometer into standard reference frame */ -/* for Hayato */ -static const mat33_fp_t base_standard_ref = { - {0, FLOAT_TO_FP(1), 0}, - {FLOAT_TO_FP(-1), 0, 0}, - {0, 0, FLOAT_TO_FP(1)}, -}; - -static void update_rotation_matrix(void) -{ - if (base_accelgyro_config == BASE_GYRO_ICM426XX) - return; - - if (board_get_version() >= 2) { - motion_sensors[BASE_ACCEL].rot_standard_ref = - &base_standard_ref; - motion_sensors[BASE_GYRO].rot_standard_ref = - &base_standard_ref; - } -} -DECLARE_HOOK(HOOK_INIT, update_rotation_matrix, HOOK_PRIO_INIT_ADC + 2); - -#endif - -struct motion_sensor_t icm426xx_base_accel = { - .name = "Base Accel", - .active_mask = SENSOR_ACTIVE_S0_S3, - .chip = MOTIONSENSE_CHIP_ICM426XX, - .type = MOTIONSENSE_TYPE_ACCEL, - .location = MOTIONSENSE_LOC_BASE, - .drv = &icm426xx_drv, - .mutex = &g_base_mutex, - .drv_data = &g_icm426xx_data, - .port = I2C_PORT_ACCEL, - .i2c_spi_addr_flags = ICM426XX_ADDR0_FLAGS, - .default_range = 4, /* g, to meet CDD 7.3.1/C-1-4 reqs. */ - .rot_standard_ref = NULL, - .min_frequency = ICM426XX_ACCEL_MIN_FREQ, - .max_frequency = ICM426XX_ACCEL_MAX_FREQ, - .config = { - /* EC use accel for angle detection */ - [SENSOR_CONFIG_EC_S0] = { - .odr = 10000 | ROUND_UP_FLAG, - .ec_rate = 100 * MSEC, - }, - [SENSOR_CONFIG_EC_S3] = { - .odr = 10000 | ROUND_UP_FLAG, - }, - }, -}; - -struct motion_sensor_t icm426xx_base_gyro = { - .name = "Base Gyro", - .active_mask = SENSOR_ACTIVE_S0_S3, - .chip = MOTIONSENSE_CHIP_ICM426XX, - .type = MOTIONSENSE_TYPE_GYRO, - .location = MOTIONSENSE_LOC_BASE, - .drv = &icm426xx_drv, - .mutex = &g_base_mutex, - .port = I2C_PORT_ACCEL, - .i2c_spi_addr_flags = ICM426XX_ADDR0_FLAGS, - .default_range = 1000, /* dps */ - .rot_standard_ref = NULL, - .min_frequency = ICM426XX_GYRO_MIN_FREQ, - .max_frequency = ICM426XX_GYRO_MAX_FREQ, -}; - struct motion_sensor_t motion_sensors[] = { /* - * Note: bmi160: supports accelerometer and gyro sensor + * Note: icm426xx: supports accelerometer and gyro sensor * Requirement: accelerometer sensor must init before gyro sensor * DO NOT change the order of the following table. */ [BASE_ACCEL] = { .name = "Base Accel", .active_mask = SENSOR_ACTIVE_S0_S3, - .chip = MOTIONSENSE_CHIP_BMI160, + .chip = MOTIONSENSE_CHIP_ICM426XX, .type = MOTIONSENSE_TYPE_ACCEL, .location = MOTIONSENSE_LOC_BASE, - .drv = &bmi160_drv, + .drv = &icm426xx_drv, .mutex = &g_base_mutex, - .drv_data = &g_bmi160_data, + .drv_data = &g_icm426xx_data, .port = I2C_PORT_ACCEL, - .i2c_spi_addr_flags = BMI160_ADDR0_FLAGS, - .rot_standard_ref = NULL, /* identity matrix */ - .default_range = 4, /* g, to meet CDD 7.3.1/C-1-4 reqs */ - .min_frequency = BMI_ACCEL_MIN_FREQ, - .max_frequency = BMI_ACCEL_MAX_FREQ, + .i2c_spi_addr_flags = ICM426XX_ADDR0_FLAGS, + .default_range = 4, /* g, to meet CDD 7.3.1/C-1-4 reqs. */ + .rot_standard_ref = NULL, + .min_frequency = ICM426XX_ACCEL_MIN_FREQ, + .max_frequency = ICM426XX_ACCEL_MAX_FREQ, .config = { - /* Sensor on for angle detection */ + /* EC use accel for angle detection */ [SENSOR_CONFIG_EC_S0] = { .odr = 10000 | ROUND_UP_FLAG, .ec_rate = 100 * MSEC, }, - /* Sensor on for angle detection */ [SENSOR_CONFIG_EC_S3] = { .odr = 10000 | ROUND_UP_FLAG, - .ec_rate = 100 * MSEC, }, }, }, [BASE_GYRO] = { .name = "Base Gyro", .active_mask = SENSOR_ACTIVE_S0_S3, - .chip = MOTIONSENSE_CHIP_BMI160, + .chip = MOTIONSENSE_CHIP_ICM426XX, .type = MOTIONSENSE_TYPE_GYRO, .location = MOTIONSENSE_LOC_BASE, - .drv = &bmi160_drv, + .drv = &icm426xx_drv, .mutex = &g_base_mutex, - .drv_data = &g_bmi160_data, .port = I2C_PORT_ACCEL, - .i2c_spi_addr_flags = BMI160_ADDR0_FLAGS, + .i2c_spi_addr_flags = ICM426XX_ADDR0_FLAGS, .default_range = 1000, /* dps */ - .rot_standard_ref = NULL, /* identity matrix */ - .min_frequency = BMI_GYRO_MIN_FREQ, - .max_frequency = BMI_GYRO_MAX_FREQ, + .rot_standard_ref = NULL, + .min_frequency = ICM426XX_GYRO_MIN_FREQ, + .max_frequency = ICM426XX_GYRO_MAX_FREQ, }, [LID_ACCEL] = { .name = "Lid Accel", @@ -280,78 +123,14 @@ struct motion_sensor_t motion_sensors[] = { }, }, }, -#ifdef BOARD_ASURADA_REV0 - [CLEAR_ALS] = { - .name = "Clear Light", - .active_mask = SENSOR_ACTIVE_S0_S3, - .chip = MOTIONSENSE_CHIP_TCS3400, - .type = MOTIONSENSE_TYPE_LIGHT, - .location = MOTIONSENSE_LOC_LID, - .drv = &tcs3400_drv, - .drv_data = &g_tcs3400_data, - .port = I2C_PORT_ACCEL, - .i2c_spi_addr_flags = TCS3400_I2C_ADDR_FLAGS, - .rot_standard_ref = NULL, - .default_range = 0x10000, /* scale = 1x, uscale = 0 */ - .min_frequency = TCS3400_LIGHT_MIN_FREQ, - .max_frequency = TCS3400_LIGHT_MAX_FREQ, - .config = { - /* Run ALS sensor in S0 */ - [SENSOR_CONFIG_EC_S0] = { - .odr = 1000, - }, - }, - }, - [RGB_ALS] = { - .name = "RGB Light", - .active_mask = SENSOR_ACTIVE_S0_S3, - .chip = MOTIONSENSE_CHIP_TCS3400, - .type = MOTIONSENSE_TYPE_LIGHT_RGB, - .location = MOTIONSENSE_LOC_LID, - .drv = &tcs3400_rgb_drv, - .drv_data = &g_tcs3400_rgb_data, - .rot_standard_ref = NULL, - .default_range = 0x10000, /* scale = 1x, uscale = 0 */ - /* freq = 0 indicates we should not use sensor directly */ - .min_frequency = 0, - .max_frequency = 0, - }, -#endif /* BOARD_ASURADA_REV0 */ }; const unsigned int motion_sensor_count = ARRAY_SIZE(motion_sensors); void motion_interrupt(enum gpio_signal signal) { - if (base_accelgyro_config == BASE_GYRO_ICM426XX) - icm426xx_interrupt(signal); - else - bmi160_interrupt(signal); + icm426xx_interrupt(signal); } -static void board_detect_motionsense(void) -{ - int val; - - if (chipset_in_state(CHIPSET_STATE_ANY_OFF)) - return; - if (base_accelgyro_config != BASE_GYRO_NONE) - return; - - icm_read8(&icm426xx_base_accel, ICM426XX_REG_WHO_AM_I, &val); - if (val == ICM426XX_CHIP_ICM40608) { - motion_sensors[BASE_ACCEL] = icm426xx_base_accel; - motion_sensors[BASE_GYRO] = icm426xx_base_gyro; - base_accelgyro_config = BASE_GYRO_ICM426XX; - ccprints("Base Accelgyro: ICM426XX"); - } else { - base_accelgyro_config = BASE_GYRO_BMI160; - ccprints("Base Accelgyro: BMI160"); - } -} -DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_detect_motionsense, - HOOK_PRIO_DEFAULT); -DECLARE_HOOK(HOOK_INIT, board_detect_motionsense, HOOK_PRIO_DEFAULT); - /* ADC channels. Must be in the exactly same order as in enum adc_channel. */ const struct adc_t adc_channels[] = { /* Convert to mV (3000mV/1024). */ @@ -396,25 +175,14 @@ const struct pwm_t pwm_channels[] = { }; BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT); -int board_accel_force_mode_mask(void) -{ - int version = board_get_version(); - - if (version == -1 || version >= 2) - return 0; - return BIT(LID_ACCEL); -} - static void board_suspend(void) { - if (board_get_version() >= 3) - gpio_set_level(GPIO_EN_5V_USM, 0); + gpio_set_level(GPIO_EN_5V_USM, 0); } DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_suspend, HOOK_PRIO_DEFAULT); static void board_resume(void) { - if (board_get_version() >= 3) - gpio_set_level(GPIO_EN_5V_USM, 1); + gpio_set_level(GPIO_EN_5V_USM, 1); } DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_resume, HOOK_PRIO_DEFAULT); diff --git a/board/krabby/board.h b/board/krabby/board.h index d55f87be5c..857e654787 100644 --- a/board/krabby/board.h +++ b/board/krabby/board.h @@ -2,7 +2,7 @@ * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ -/* Asurada board configuration */ +/* Krabby board configuration */ #ifndef __CROS_EC_BOARD_H #define __CROS_EC_BOARD_H @@ -25,22 +25,15 @@ #define CONFIG_MT6360_BC12_GPIO /* LED */ -#ifdef BOARD_HAYATO #define CONFIG_LED_ONOFF_STATES #define CONFIG_LED_ONOFF_STATES_BAT_LOW 10 -#endif /* PD / USB-C / PPC */ #define CONFIG_USB_PD_DEBUG_LEVEL 3 #define PD_MAX_CURRENT_MA 3000 #define PD_OPERATING_POWER_MW 15000 -#ifdef BOARD_HAYATO #define PD_MAX_VOLTAGE_MV 15000 #define PD_MAX_POWER_MW 45000 -#else -#define PD_MAX_VOLTAGE_MV 20000 -#define PD_MAX_POWER_MW 60000 -#endif #define PD_POWER_SUPPLY_TURN_ON_DELAY 30000 /* us */ #define PD_POWER_SUPPLY_TURN_OFF_DELAY 250000 /* us */ @@ -74,19 +67,7 @@ #define CONFIG_LID_ANGLE_SENSOR_LID LID_ACCEL #define CONFIG_LID_ANGLE_UPDATE -#ifdef BOARD_ASURADA_REV0 -#define CONFIG_ALS -#define ALS_COUNT 1 -#define CONFIG_ALS_TCS3400 -#define CONFIG_ALS_TCS3400_INT_EVENT \ - TASK_EVENT_MOTION_SENSOR_INTERRUPT(CLEAR_ALS) -#define CONFIG_ALS_TCS3400_EMULATED_IRQ_EVENT - -#define CONFIG_ACCEL_FORCE_MODE_MASK (BIT(LID_ACCEL) | BIT(CLEAR_ALS)) -#else -/* TODO(b/171931139): remove this after rev1 board deprecated */ -#define CONFIG_ACCEL_FORCE_MODE_MASK (board_accel_force_mode_mask()) -#endif +#define CONFIG_ACCEL_FORCE_MODE_MASK 0 /* SPI / Host Command */ #undef CONFIG_HOSTCMD_DEBUG_MODE @@ -109,10 +90,6 @@ enum sensor_id { BASE_ACCEL = 0, BASE_GYRO, LID_ACCEL, -#ifdef BOARD_ASURADA_REV0 - CLEAR_ALS, - RGB_ALS, -#endif SENSOR_COUNT, }; @@ -135,7 +112,6 @@ enum pwm_channel { PWM_CH_COUNT, }; -int board_accel_force_mode_mask(void); void motion_interrupt(enum gpio_signal signal); #endif /* !__ASSEMBLER__ */ diff --git a/board/krabby/gpio.inc b/board/krabby/gpio.inc index ce9b86c74b..0486799a82 100644 --- a/board/krabby/gpio.inc +++ b/board/krabby/gpio.inc @@ -33,12 +33,7 @@ GPIO_INT(BASE_IMU_INT_L, PIN(J, 2), GPIO_INT_FALLING | GPIO_SEL_1P8V, motion_interrupt) GPIO_INT(LID_ACCEL_INT_L, PIN(J, 3), GPIO_INT_FALLING | GPIO_SEL_1P8V, lis2dw12_interrupt) -#ifdef BOARD_ASURADA_REV0 -GPIO_INT(ALS_RGB_INT_ODL, PIN(F, 0), GPIO_INT_FALLING, - tcs3400_interrupt) -#else GPIO(ALS_RGB_INT_ODL, PIN(F, 0), GPIO_INPUT) -#endif /* USB-C interrupts */ GPIO_INT(USB_C0_PPC_INT_ODL, PIN(D, 1), GPIO_INT_BOTH, ppc_interrupt) @@ -46,7 +41,6 @@ GPIO_INT(USB_C0_BC12_INT_ODL,PIN(J, 6), GPIO_INT_FALLING, bc12_interrupt) GPIO_INT(USB_C1_BC12_INT_L, PIN(J, 4), GPIO_INT_FALLING, bc12_interrupt) /* Volume button interrupts */ -/* Note that netnames are reversed in asurada rev 0/1 */ GPIO_INT(VOLUME_DOWN_L, PIN(D, 5), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt) /* EC_VOLDN_BTN_ODL */ GPIO_INT(VOLUME_UP_L, PIN(D, 6), GPIO_INT_BOTH | GPIO_PULL_UP, @@ -55,13 +49,8 @@ GPIO_INT(VOLUME_UP_L, PIN(D, 6), GPIO_INT_BOTH | GPIO_PULL_UP, /* Other interrupts */ GPIO_INT(AP_XHCI_INIT_DONE, PIN(D, 2), GPIO_INT_BOTH | GPIO_PULL_DOWN | GPIO_SEL_1P8V, usb_a0_interrupt) -#ifdef BOARD_ASURADA_REV0 -GPIO_INT(AC_PRESENT, PIN(M, 2), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, - extpower_interrupt) /* AC_OK / AC_PRESENT in rev0 */ -#else /* HAYATO */ GPIO_INT(AC_PRESENT, PIN(E, 5), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, extpower_interrupt) /* AC_OK / AC_PRESENT in rev1+ */ -#endif GPIO_INT(UART1_RX, PIN(B, 0), GPIO_INT_FALLING, uart_deepsleep_interrupt) /* UART_DEBUG_TX_EC_RX */ GPIO_INT(WP, PIN(I, 4), GPIO_INT_BOTH | GPIO_SEL_1P8V, @@ -152,11 +141,7 @@ GPIO(CCD_MODE_ODL, PIN(C, 4), GPIO_INPUT) */ GPIO(NC_GPI7, PIN(I, 7), GPIO_OUT_LOW) /* NC pins, enable internal pull-up/down to avoid floating state. */ -#ifdef BOARD_ASURADA_REV0 -GPIO(NC_GPE5, PIN(E, 5), GPIO_INPUT | GPIO_PULL_UP) -#else /* HAYATO */ GPIO(NC_GPM2, PIN(M, 2), GPIO_INPUT | GPIO_PULL_DOWN) -#endif GPIO(NC_GPM3, PIN(M, 3), GPIO_INPUT | GPIO_PULL_DOWN) GPIO(NC_GPM6, PIN(M, 6), GPIO_INPUT | GPIO_PULL_DOWN) GPIO(SPI_CLK_GPG6, PIN(G, 6), GPIO_INPUT | GPIO_PULL_UP) diff --git a/board/krabby/usbc_config.c b/board/krabby/usbc_config.c index 2f35816abb..d506f094ee 100644 --- a/board/krabby/usbc_config.c +++ b/board/krabby/usbc_config.c @@ -3,17 +3,11 @@ * found in the LICENSE file. */ -/* Asurada board-specific USB-C configuration */ +/* Krabby board-specific USB-C configuration */ -#include "driver/ppc/syv682x.h" #include "driver/usb_mux/ps8743.h" #include "hooks.h" -__override int syv682x_board_is_syv682c(int port) -{ - return board_get_version() > 2; -} - void board_usb_mux_init(void) { if (board_get_sub_board() == SUB_BOARD_TYPEC) { |