summaryrefslogtreecommitdiff
path: root/zephyr/Kconfig.usbc_ss_mux
diff options
context:
space:
mode:
authorSam Hurst <shurst@google.com>2022-02-08 08:31:19 -0800
committerCommit Bot <commit-bot@chromium.org>2022-03-05 18:43:30 +0000
commit6d6b5b8d61ba893d7badbfcfff2fbaebec0348e9 (patch)
tree15b6a31d57134e30856a5d3262015633bcae0820 /zephyr/Kconfig.usbc_ss_mux
parent43ba1d69c3183fb0dc0502ae183ba0910d4bdb4c (diff)
downloadchrome-ec-6d6b5b8d61ba893d7badbfcfff2fbaebec0348e9.tar.gz
zephyr: Create Kconfig.usbc_ss_mux
Split USB SS Mux Kconfig options from Kconfig.usbc and place in a separate file named Kconfig.usb_ss_mux. BUG=b:194432779 TEST=Verified Kconfig options with menuconfig BRANCH=main Signed-off-by: Sam Hurst <shurst@google.com> Change-Id: I64f148eca98930e82e94beb8959b33da6a10ee83 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3451003 Reviewed-by: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'zephyr/Kconfig.usbc_ss_mux')
-rw-r--r--zephyr/Kconfig.usbc_ss_mux63
1 files changed, 63 insertions, 0 deletions
diff --git a/zephyr/Kconfig.usbc_ss_mux b/zephyr/Kconfig.usbc_ss_mux
new file mode 100644
index 0000000000..5578deaa6b
--- /dev/null
+++ b/zephyr/Kconfig.usbc_ss_mux
@@ -0,0 +1,63 @@
+# Copyright 2022 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+if PLATFORM_EC_USBC
+
+config PLATFORM_EC_USBC_SS_MUX
+ bool "SuperSpeed mux"
+ default y
+ help
+ Enable this to support the USB Type-C SuperSpeed Mux. If enabled,
+ the USB stack will call usb_mux_set() to change the mux settings.
+ The board must provide a driver in usb_muxes[] for each port so
+ that this can work.
+
+if PLATFORM_EC_USBC_SS_MUX
+
+config PLATFORM_EC_USB_MUX_RUNTIME_CONFIG
+ bool "USB mux runtime config"
+ default y
+ help
+ Allows the configuration of the USB mux to be set up at runtime. This
+ makes the usb_muxes[] array writable, i.e. not const. It should be
+ declared as such in the board config.
+
+ This is useful when the board has runtime information that changes
+ the configuration, such as Chromium OS Board Info (CBI set in the
+ factory. Without this, multiple EC images would need to be installed
+ depending on the board.
+
+config PLATFORM_EC_USBC_SS_MUX_DFP_ONLY
+ bool "Use SuperSpeed mux only when DFP"
+ help
+ Only configure the USB Type-C SuperSpeed Mux when a port is a
+ Downstream Facing Port (DFP). This is needed for chipsets which
+ don't support being an Upstream Facing Port UFP).
+
+config PLATFORM_EC_USB_MUX_VIRTUAL
+ bool "USB Mux is virtual"
+ depends on PLATFORM_EC_USBC_SS_MUX
+ help
+ Enable this if a virtual USB mux is supported on the EC, which is
+ actually handled by the AP. In this case the AP gets an interrupt
+ and is is informed when status changes, via the
+ EC_CMD_USB_PD_MUX_INFO host command.
+
+config PLATFORM_EC_USBC_RETIMER_FW_UPDATE
+ bool "Support firmware update of USB Type-C retimers"
+ default y
+ depends on PLATFORM_EC_USBC_SS_MUX
+ help
+ Enable this to support USB Type-C retimer firmware update. Each
+ Type-C retimer indicates its capability of supporting firmware update
+ independently in its usb_mux_driver.
+
+ During AP boot-up, the AP scans each PD port for retimers but only
+ if there are no Type-C devices attached to the port. The firmware
+ update can only be performed on retimers which show up in the AP
+ thunderbolt device entries.
+
+endif # PLATFORM_EC_USBC_SS_MUX
+
+endif # PLATFORM_EC_USBC