summaryrefslogtreecommitdiff
path: root/zephyr/Kconfig.usbc_ss_mux
blob: 6b8b689816eb4f4f1a07a7cb06feb81875fcadc9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Copyright 2022 The ChromiumOS Authors
# 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"
	default y
	depends on DT_HAS_CROS_EC_USBC_MUX_VIRTUAL_ENABLED
	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"
	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