summaryrefslogtreecommitdiff
path: root/zephyr/projects/skyrim/src/winterhold/usbc_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/projects/skyrim/src/winterhold/usbc_config.c')
-rw-r--r--zephyr/projects/skyrim/src/winterhold/usbc_config.c60
1 files changed, 2 insertions, 58 deletions
diff --git a/zephyr/projects/skyrim/src/winterhold/usbc_config.c b/zephyr/projects/skyrim/src/winterhold/usbc_config.c
index afc527adf9..b44d6acf1b 100644
--- a/zephyr/projects/skyrim/src/winterhold/usbc_config.c
+++ b/zephyr/projects/skyrim/src/winterhold/usbc_config.c
@@ -30,6 +30,7 @@
#include "usb_mux.h"
#include "usb_pd_tcpm.h"
#include "usbc_ppc.h"
+#include "usbc/usb_muxes.h"
#define CPRINTSUSB(format, args...) cprints(CC_USBCHARGE, format, ##args)
#define CPRINTFUSB(format, args...) cprintf(CC_USBCHARGE, format, ##args)
@@ -174,17 +175,6 @@ int baseboard_anx7483_c1_mux_set(const struct usb_mux *me,
return EC_SUCCESS;
}
-struct usb_mux_chain usbc0_anx7483 = {
- .mux =
- &(const struct usb_mux){
- .usb_port = USBC_PORT_C0,
- .i2c_port = I2C_PORT_TCPC0,
- .i2c_addr_flags = ANX7483_I2C_ADDR0_FLAGS,
- .driver = &anx7483_usb_retimer_driver,
- .board_set = &baseboard_anx7483_c0_mux_set,
- },
-};
-
__overridable int board_c1_ps8818_mux_set(const struct usb_mux *me,
mux_state_t mux_state)
{
@@ -199,51 +189,6 @@ __overridable int board_c1_ps8818_mux_set(const struct usb_mux *me,
return 0;
}
-struct usb_mux_chain usbc1_ps8818 = {
- .mux =
- &(const struct usb_mux){
- .usb_port = USBC_PORT_C1,
- .i2c_port = I2C_PORT_TCPC1,
- .flags = USB_MUX_FLAG_RESETS_IN_G3,
- .i2c_addr_flags = PS8818_I2C_ADDR_FLAGS,
- .driver = &ps8818_usb_retimer_driver,
- .board_set = &board_c1_ps8818_mux_set,
- },
-};
-
-struct usb_mux_chain usbc1_anx7483 = {
- .mux =
- &(const struct usb_mux){
- .usb_port = USBC_PORT_C1,
- .i2c_port = I2C_PORT_TCPC1,
- .i2c_addr_flags = ANX7483_I2C_ADDR0_FLAGS,
- .driver = &anx7483_usb_retimer_driver,
- .board_set = &baseboard_anx7483_c1_mux_set,
- },
-};
-
-struct usb_mux_chain usb_muxes[] = {
- [USBC_PORT_C0] = {
- .mux = &(const struct usb_mux) {
- .usb_port = USBC_PORT_C0,
- .i2c_port = I2C_PORT_USB_MUX,
- .i2c_addr_flags = AMD_FP6_C0_MUX_I2C_ADDR,
- .driver = &amd_fp6_usb_mux_driver,
- },
- .next = &usbc0_anx7483,
- },
- [USBC_PORT_C1] = {
- .mux = &(const struct usb_mux) {
- .usb_port = USBC_PORT_C1,
- .i2c_port = I2C_PORT_USB_MUX,
- .i2c_addr_flags = AMD_FP6_C4_MUX_I2C_ADDR,
- .driver = &amd_fp6_usb_mux_driver,
- },
- /* .next = filled in by setup_mux based on fw_config */
- }
-};
-BUILD_ASSERT(ARRAY_SIZE(usb_muxes) == CONFIG_USB_PD_PORT_MAX_COUNT);
-
static void setup_mux(void)
{
uint32_t val;
@@ -254,10 +199,9 @@ static void setup_mux(void)
if (val == FW_IO_DB_PS8811_PS8818) {
CPRINTSUSB("C1: Setting PS8818 mux");
- usb_muxes[USBC_PORT_C1].next = &usbc1_ps8818;
+ USB_MUX_ENABLE_ALTERNATIVE(usb_mux_chain_ps8818_port1);
} else if (val == FW_IO_DB_NONE_ANX7483) {
CPRINTSUSB("C1: Setting ANX7483 mux");
- usb_muxes[USBC_PORT_C1].next = &usbc1_anx7483;
} else {
CPRINTSUSB("Unexpected DB_IO board: %d", val);
}