From fbd5697d6ab7a198a5974ab2c75ee620efe61599 Mon Sep 17 00:00:00 2001 From: "Jes B. Klinke" Date: Tue, 16 May 2023 15:12:49 -0700 Subject: board/hyperdebug: Add declarations of I2C4 HyperDebug supports four I2C busses, three of which are to be connected to the three I2C busses used by Ti50. The fourth we want to use for connecting a power measurement chip on the shield, in order to automatically verify that the power draw in sleep modes does not have regressions. BUG=b:282999020 TEST=Observe HyperDebug manipulate IO expanders via I2C4 Change-Id: Ibc4eeab692e0278eb3cc0c77c1affd035b555bc2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4537012 Reviewed-by: Jett Rink Tested-by: Jes Klinke Commit-Queue: Jes Klinke --- board/hyperdebug/gpio.inc | 5 +++-- board/hyperdebug/i2c.c | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'board') diff --git a/board/hyperdebug/gpio.inc b/board/hyperdebug/gpio.inc index f29deab512..f02c55b793 100644 --- a/board/hyperdebug/gpio.inc +++ b/board/hyperdebug/gpio.inc @@ -97,11 +97,11 @@ GPIO_INT(CN10_4, PIN(E, 9), GPIO_INPUT | ANY_EDGE, gpio_edge) /* CN10_5 is GND */ GPIO_INT(CN10_6, PIN(E, 11), GPIO_OUT_HIGH | ANY_EDGE, gpio_edge) /* QSPI CS */ GPIO_INT(CN10_7, PIN(B, 1), GPIO_INPUT | ANY_EDGE, gpio_edge) /* ADC12_IN16 */ -GPIO_INT(CN10_8, PIN(F, 14), GPIO_INPUT | ANY_EDGE, gpio_edge) +GPIO_INT(CN10_8, PIN(F, 14), GPIO_ALTERNATE | ANY_EDGE, gpio_edge) /* I2C4 SCL */ /*GPIO_INT(CN10_9, PIN(C, 2), GPIO_INPUT | ANY_EDGE, gpio_edge) Nucleo USB VBUS sense, ADC12_IN3 */ GPIO_INT(CN10_10, PIN(E, 13), GPIO_ALTERNATE | ANY_EDGE, gpio_edge) /* QSPI D1 */ GPIO_INT(CN10_11, PIN(A, 1), GPIO_INPUT | ANY_EDGE, gpio_edge) /* ADC12_IN6 */ -GPIO_INT(CN10_12, PIN(F, 15), GPIO_INPUT | ANY_EDGE, gpio_edge) +GPIO_INT(CN10_12, PIN(F, 15), GPIO_ALTERNATE | ANY_EDGE, gpio_edge) /* I2C4 SDA */ /*GPIO_INT(CN10_13, PIN(A, 2), GPIO_INPUT | ANY_EDGE, gpio_edge)*/ GPIO_INT(CN10_14, PIN(D, 8), GPIO_ALTERNATE | ANY_EDGE, gpio_edge) /* UART3 TX */ GPIO_INT(CN10_15, PIN(B, 10), GPIO_INPUT | ANY_EDGE, gpio_edge) @@ -156,5 +156,6 @@ ALTERNATE(PIN_MASK(G, 0x0180), 8, MODULE_UART, 0) /* LPUART1: PG7/PG8 - HyperDeb ALTERNATE(PIN_MASK(F, 0x0003), 4, MODULE_I2C, GPIO_OPEN_DRAIN) /* I2C2: PF0/PF1 */ ALTERNATE(PIN_MASK(B, 0x0300), 4, MODULE_I2C, GPIO_OPEN_DRAIN) /* I2C1: PB8/PB9 */ ALTERNATE(PIN_MASK(C, 0x0003), 4, MODULE_I2C, GPIO_OPEN_DRAIN) /* I2C3: PC0/PC1 */ +ALTERNATE(PIN_MASK(F, 0xC000), 4, MODULE_I2C, GPIO_OPEN_DRAIN) /* I2C4: PF14/PF15 */ ALTERNATE(PIN_MASK(E, 0xF400), 10, MODULE_SPI, 0) /* QSPI: PE10/PE12-15 */ ALTERNATE(PIN_MASK(D, 0x001A), 5, MODULE_SPI, 0) /* SPI2: PD1/PD3/PD4 SCK/CIDO/CODI */ diff --git a/board/hyperdebug/i2c.c b/board/hyperdebug/i2c.c index 46b46f9278..bbb86d0d6b 100644 --- a/board/hyperdebug/i2c.c +++ b/board/hyperdebug/i2c.c @@ -30,6 +30,12 @@ const struct i2c_port_t i2c_ports[] = { .scl = GPIO_CN9_11, .sda = GPIO_CN9_9, .flags = I2C_PORT_FLAG_DYNAMIC_SPEED }, + { .name = "I2C4", + .port = 3, + .kbps = 100, + .scl = GPIO_CN10_8, + .sda = GPIO_CN10_12, + .flags = I2C_PORT_FLAG_DYNAMIC_SPEED }, }; const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports); -- cgit v1.2.1