summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZick Wei <zick.wei@quanta.corp-partner.google.com>2022-05-03 16:47:20 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-05-05 13:28:24 +0000
commit2a39f3df356956b88d1a67eced2d545a54b57062 (patch)
tree8339f2200bf20220f4f5318fe2de376cf6595e4c
parent19517153849c9da5f9a41e3cb9b86ee651227fa9 (diff)
downloadchrome-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.c23
-rw-r--r--board/agah/board.h7
-rw-r--r--board/agah/gpio.inc5
-rw-r--r--board/agah/i2c.c8
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,