diff options
-rw-r--r-- | baseboard/volteer/baseboard.c | 18 |
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); |