diff options
author | Zick Wei <zick.wei@quanta.corp-partner.google.com> | 2022-05-03 16:47:20 +0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-05-05 13:28:24 +0000 |
commit | 2a39f3df356956b88d1a67eced2d545a54b57062 (patch) | |
tree | 8339f2200bf20220f4f5318fe2de376cf6595e4c | |
parent | 19517153849c9da5f9a41e3cb9b86ee651227fa9 (diff) | |
download | chrome-ec-2a39f3df356956b88d1a67eced2d545a54b57062.tar.gz |
agah: bypass power on signal
This CL bypass PG_PP3300_S5_OD to PG_PP3300_S5_EC_SEQ_OD,
follow HW change in b:226438219#34.
BUG=b:226438219
BRANCH=none
TEST=make BOARD=agah
Signed-off-by: Zick Wei <zick.wei@quanta.corp-partner.google.com>
Change-Id: Icaa9c9a8d9d7ddd60c7e0e1a208a513c37e9eb37
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3622000
Reviewed-by: Boris Mittelberg <bmbm@google.com>
-rw-r--r-- | board/agah/board.c | 23 | ||||
-rw-r--r-- | board/agah/board.h | 7 | ||||
-rw-r--r-- | board/agah/gpio.inc | 5 | ||||
-rw-r--r-- | board/agah/i2c.c | 8 |
4 files changed, 32 insertions, 11 deletions
diff --git a/board/agah/board.c b/board/agah/board.c index fbcfc64c4d..e3a9e1b93e 100644 --- a/board/agah/board.c +++ b/board/agah/board.c @@ -48,3 +48,26 @@ static void board_chipset_suspend(void) gpio_set_level(GPIO_EC_KB_BL_EN, 0); } DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT); + +static void board_init(void) +{ + gpio_enable_interrupt(GPIO_PG_PP3300_S5_OD); +} +DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); + +/** + * Deferred function to handle GPIO PG_PP3300_S5_OD change + */ +static void bypass_pp3300_s5_deferred(void) +{ + int pg_pp3300_s5 = gpio_get_level(GPIO_PG_PP3300_S5_OD); + + gpio_set_level(GPIO_PG_PP3300_S5_EC_SEQ_OD, pg_pp3300_s5); +} +DECLARE_DEFERRED(bypass_pp3300_s5_deferred); + +void board_power_interrupt(enum gpio_signal signal) +{ + /* Trigger deferred notification of gpio PG_PP3300_S5_OD change */ + hook_call_deferred(&bypass_pp3300_s5_deferred_data, 0); +} diff --git a/board/agah/board.h b/board/agah/board.h index 6156126091..0676aedb97 100644 --- a/board/agah/board.h +++ b/board/agah/board.h @@ -198,6 +198,13 @@ enum mft_channel { MFT_CH_COUNT }; +/** + * Interrupt handler for PG_PP3300_S5_OD changes. + * + * @param signal Signal which triggered the interrupt. + */ +void board_power_interrupt(enum gpio_signal signal); + #endif /* !__ASSEMBLER__ */ #endif /* __CROS_EC_BOARD_H */ diff --git a/board/agah/gpio.inc b/board/agah/gpio.inc index 1136bc55e9..b2a53d1fbc 100644 --- a/board/agah/gpio.inc +++ b/board/agah/gpio.inc @@ -24,6 +24,7 @@ GPIO_INT(USB_C0_TCPC_INT_ODL, PIN(E, 0), GPIO_INT_FALLING, tcpc_alert GPIO_INT(USB_C0_PPC_INT_ODL, PIN(6, 2), GPIO_INT_FALLING, ppc_interrupt) GPIO_INT(USB_C1_BC12_INT_ODL, PIN(8, 3), GPIO_INT_FALLING, bc12_interrupt) GPIO_INT(USB_C1_TCPC_INT_ODL, PIN(7, 0), GPIO_INT_FALLING, tcpc_alert_event) +GPIO_INT(PG_PP3300_S5_OD, PIN(B, 4), GPIO_INT_BOTH | GPIO_PULL_UP, board_power_interrupt) /* USED GPIOs: */ GPIO(CCD_MODE_ODL, PIN(E, 5), GPIO_INPUT) @@ -36,8 +37,6 @@ GPIO(EC_I2C_BAT_SCL, PIN(3, 3), GPIO_INPUT) GPIO(EC_I2C_BAT_SDA, PIN(3, 6), GPIO_INPUT) GPIO(EC_I2C_MISC_SCL_R, PIN(B, 3), GPIO_INPUT) GPIO(EC_I2C_MISC_SDA_R, PIN(B, 2), GPIO_INPUT) -GPIO(EC_I2C_SENSOR_SCL, PIN(B, 5), GPIO_INPUT | GPIO_SEL_1P8V) -GPIO(EC_I2C_SENSOR_SDA, PIN(B, 4), GPIO_INPUT | GPIO_SEL_1P8V) GPIO(EC_I2C_USB_C1_SCL, PIN(9, 2), GPIO_INPUT) GPIO(EC_I2C_USB_C1_SDA, PIN(9, 1), GPIO_INPUT) GPIO(EC_I2C_USB_C0_SCL, PIN(9, 0), GPIO_INPUT) @@ -65,6 +64,7 @@ GPIO(USB_C0_FRS_EN, PIN(A, 0), GPIO_OUT_LOW) GPIO(EN_USB_C1_TCPC_RST_R, PIN(0, 2), GPIO_ODR_LOW) GPIO(VCCST_PWRGD_OD, PIN(A, 4), GPIO_ODR_LOW) GPIO(EN_USB_A_LOW_POWER, PIN(9, 3), GPIO_OUT_LOW) +GPIO(PG_PP3300_S5_EC_SEQ_OD, PIN(B, 5), GPIO_OUT_LOW) /* Barreljack */ GPIO(EN_PPVAR_BJ_ADP, PIN(A, 2), GPIO_OUT_LOW) @@ -85,7 +85,6 @@ ALTERNATE(PIN_MASK(3, 0x48), 0, MODULE_I2C, 0) /* GPIO33/I2C5_SCL0 ALTERNATE(PIN_MASK(8, 0x80), 0, MODULE_I2C, 0) /* GPIO87/I2C1_SDA0 */ ALTERNATE(PIN_MASK(9, 0x07), 0, MODULE_I2C, 0) /* GPIO92/I2C2_SCL0, GPIO91/I2C2_SDA0, GPIO90/I2C1_SCL0 */ ALTERNATE(PIN_MASK(B, 0x0c), 0, MODULE_I2C, 0) /* GPIOB3/I2C7_SCL0/DCD_L, GPIOB2/I2C7_SDA0/DSR_L */ -ALTERNATE(PIN_MASK(B, 0x30), 0, MODULE_I2C, GPIO_SEL_1P8V) /* GPIOB5/I2C0_SCL0, GPIOB4/I2C0_SDA0 */ ALTERNATE(PIN_MASK(D, 0x03), 0, MODULE_I2C, 0) /* GPIOD1/I2C3_SCL0, GPIOD0/I2C3_SDA0 */ ALTERNATE(PIN_MASK(E, 0x18), 0, MODULE_I2C, 0) /* GPIOE4/I2C6_SCL1/I3C_SCL, GPIOE3/I2C6_SDA1/I3C_SDA */ ALTERNATE(PIN_MASK(F, 0x0c), 0, MODULE_I2C, 0) /* GPIOF3/I2C4_SCL1, GPIOF2/I2C4_SDA1 */ diff --git a/board/agah/i2c.c b/board/agah/i2c.c index 830ba1f2ce..c3744034c4 100644 --- a/board/agah/i2c.c +++ b/board/agah/i2c.c @@ -13,14 +13,6 @@ /* I2C port map configuration */ const struct i2c_port_t i2c_ports[] = { { - /* I2C0 */ - .name = "sensor", - .port = I2C_PORT_SENSOR, - .kbps = 400, - .scl = GPIO_EC_I2C_SENSOR_SCL, - .sda = GPIO_EC_I2C_SENSOR_SDA, - }, - { /* I2C1 */ .name = "tcpc0", .port = I2C_PORT_USB_C0_TCPC, |