summaryrefslogtreecommitdiff
path: root/driver/usb_mux
diff options
context:
space:
mode:
Diffstat (limited to 'driver/usb_mux')
-rw-r--r--driver/usb_mux/amd_fp5.c11
-rw-r--r--driver/usb_mux/amd_fp5.h3
2 files changed, 14 insertions, 0 deletions
diff --git a/driver/usb_mux/amd_fp5.c b/driver/usb_mux/amd_fp5.c
index a912d03365..a2c9ad68fb 100644
--- a/driver/usb_mux/amd_fp5.c
+++ b/driver/usb_mux/amd_fp5.c
@@ -112,6 +112,17 @@ static int amd_fp5_get_mux(int port, mux_state_t *mux_state)
return EC_SUCCESS;
}
+/*
+ * The FP5 MUX can look like a retimer or a MUX. So create both tables
+ * and use them as needed, until retimers become a type of MUX and
+ * then we will only need one of these tables.
+ *
+ * TODO(b:147593660) Cleanup of retimers as muxes in a more
+ * generalized mechanism
+ */
+const struct usb_retimer_driver amd_fp5_usb_retimer = {
+ .set = amd_fp5_set_mux,
+};
const struct usb_mux_driver amd_fp5_usb_mux_driver = {
.init = amd_fp5_init,
.set = amd_fp5_set_mux,
diff --git a/driver/usb_mux/amd_fp5.h b/driver/usb_mux/amd_fp5.h
index 7534ea0d8a..ac1a7ce27e 100644
--- a/driver/usb_mux/amd_fp5.h
+++ b/driver/usb_mux/amd_fp5.h
@@ -18,4 +18,7 @@
#define AMD_FP5_MUX_DP 0x0C
#define AMD_FP5_MUX_DP_INVERTED 0x1C
+extern const struct usb_mux_driver amd_fp5_usb_mux_driver;
+extern const struct usb_retimer_driver amd_fp5_usb_retimer;
+
#endif /* __CROS_EC_USB_MUX_AMD_FP5_H */