summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/vell/usbc_config.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/board/vell/usbc_config.c b/board/vell/usbc_config.c
index ee61614361..3831b13884 100644
--- a/board/vell/usbc_config.c
+++ b/board/vell/usbc_config.c
@@ -99,7 +99,7 @@ struct ppc_config_t ppc_chips[] = {
},
[USBC_PORT_C3] = {
.i2c_port = I2C_PORT_USB_C2_C3_PPC,
- .i2c_addr_flags = SYV682X_ADDR3_FLAGS,
+ .i2c_addr_flags = SYV682X_ADDR0_FLAGS,
.drv = &syv682x_drv,
},
};
@@ -107,6 +107,12 @@ BUILD_ASSERT(ARRAY_SIZE(ppc_chips) == USBC_PORT_COUNT);
unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips);
+struct ppc_config_t ppc_chips_old_c3 = {
+ .i2c_port = I2C_PORT_USB_C2_C3_PPC,
+ .i2c_addr_flags = SYV682X_ADDR3_FLAGS,
+ .drv = &syv682x_drv,
+};
+
/* USBC mux configuration - Alder Lake includes internal mux */
static const struct usb_mux usbc0_tcss_usb_mux = {
.usb_port = USBC_PORT_C0,
@@ -336,6 +342,9 @@ static void board_tcpc_init(void)
for (i = 0; i < CONFIG_IO_EXPANDER_PORT_COUNT; ++i)
ioex_init(i);
+ if (get_board_id() < 2)
+ ppc_chips[USBC_PORT_C3] = ppc_chips_old_c3;
+
/* Enable PPC interrupts. */
gpio_enable_interrupt(GPIO_USB_C0_PPC_INT_ODL);
gpio_enable_interrupt(GPIO_USB_C1_PPC_INT_ODL);