summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--baseboard/volteer/baseboard.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/baseboard/volteer/baseboard.c b/baseboard/volteer/baseboard.c
index 2f8c147bf5..ee8cf8fc72 100644
--- a/baseboard/volteer/baseboard.c
+++ b/baseboard/volteer/baseboard.c
@@ -280,13 +280,25 @@ static const struct tcpc_config_t tcpc_config_p1_usb3 = {
.usb23 = USBC_PORT_1_USB2_NUM | (USBC_PORT_1_USB3_NUM << 4),
};
-static const struct usb_mux mux_config_p1_usb3 = {
+/*
+ * USB3 DB mux configuration - the top level mux still needs to be set to the
+ * virutal_usb_mux_driver so the AP gets notified of mux changes and updates
+ * the TCSS configuration on state changes.
+ */
+static const struct usb_mux usbc1_usb3_db_retimer = {
.usb_port = USBC_PORT_C1,
.driver = &tcpci_tcpm_usb_mux_driver,
.hpd_update = &ps8xxx_tcpc_update_hpd_status,
.next_mux = NULL,
};
+static const struct usb_mux mux_config_p1_usb3 = {
+ .usb_port = USBC_PORT_C1,
+ .driver = &virtual_usb_mux_driver,
+ .hpd_update = &virtual_hpd_update,
+ .next_mux = &usbc1_usb3_db_retimer,
+};
+
static enum usb_db_id usb_db_type = USB_DB_NONE;
/******************************************************************************/
@@ -308,7 +320,7 @@ unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips);
/******************************************************************************/
/* USBC mux configuration - Tiger Lake includes internal mux */
-struct usb_mux usbc1_usb_retimer = {
+struct usb_mux usbc1_usb4_db_retimer = {
.usb_port = USBC_PORT_C1,
.driver = &bb_usb_retimer,
.i2c_port = I2C_PORT_USB_1_MIX,
@@ -324,7 +336,7 @@ struct usb_mux usb_muxes[] = {
.usb_port = USBC_PORT_C1,
.driver = &virtual_usb_mux_driver,
.hpd_update = &virtual_hpd_update,
- .next_mux = &usbc1_usb_retimer,
+ .next_mux = &usbc1_usb4_db_retimer,
},
};
BUILD_ASSERT(ARRAY_SIZE(usb_muxes) == USBC_PORT_COUNT);