diff options
author | Sam Hurst <shurst@google.com> | 2022-02-08 08:31:19 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2022-03-05 18:43:30 +0000 |
commit | 6d6b5b8d61ba893d7badbfcfff2fbaebec0348e9 (patch) | |
tree | 15b6a31d57134e30856a5d3262015633bcae0820 /zephyr/Kconfig.usbc_ss_mux | |
parent | 43ba1d69c3183fb0dc0502ae183ba0910d4bdb4c (diff) | |
download | chrome-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_mux | 63 |
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 |