xref: /openbmc/linux/drivers/thunderbolt/Kconfig (revision d0f1e0c2)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2690ac0d2SMika Westerbergmenuconfig USB4
3690ac0d2SMika Westerberg	tristate "Unified support for USB4 and Thunderbolt"
40cb4e2beSArnd Bergmann	depends on PCI
55fbc89d3SLukas Wunner	select APPLE_PROPERTIES if EFI_STUB && X86
6f34323b6SAndreas Noever	select CRC32
7f67cf491SMika Westerberg	select CRYPTO
8f67cf491SMika Westerberg	select CRYPTO_HASH
9e6b245ccSMika Westerberg	select NVMEM
1016603153SAndreas Noever	help
11b7c408a5SGeert Uytterhoeven	  USB4 and Thunderbolt driver. USB4 is the public specification
12b7c408a5SGeert Uytterhoeven	  based on the Thunderbolt 3 protocol. This driver is required if
13690ac0d2SMika Westerberg	  you want to hotplug Thunderbolt and USB4 compliant devices on
14690ac0d2SMika Westerberg	  Apple hardware or on PCs with Intel Falcon Ridge or newer.
1516603153SAndreas Noever
1616603153SAndreas Noever	  To compile this driver a module, choose M here. The module will be
1716603153SAndreas Noever	  called thunderbolt.
1854509f50SMika Westerberg
198eabfca5SMika Westerbergif USB4
208eabfca5SMika Westerberg
2154e41810SGil Fineconfig USB4_DEBUGFS_WRITE
2254e41810SGil Fine	bool "Enable write by debugfs to configuration spaces (DANGEROUS)"
2354e41810SGil Fine	help
2454e41810SGil Fine	  Enables writing to device configuration registers through
2554e41810SGil Fine	  debugfs interface.
2654e41810SGil Fine
2754e41810SGil Fine	  Only enable this if you know what you are doing! Never enable
2854e41810SGil Fine	  this for production systems or distro kernels.
2954e41810SGil Fine
30*d0f1e0c2SMika Westerbergconfig USB4_DEBUGFS_MARGINING
31*d0f1e0c2SMika Westerberg	bool "Expose receiver lane margining operations under USB4 ports (DANGEROUS)"
32*d0f1e0c2SMika Westerberg	depends on DEBUG_FS
33*d0f1e0c2SMika Westerberg	depends on USB4_DEBUGFS_WRITE
34*d0f1e0c2SMika Westerberg	help
35*d0f1e0c2SMika Westerberg	  Enables hardware and software based receiver lane margining support
36*d0f1e0c2SMika Westerberg	  under each USB4 port. Used for electrical quality and robustness
37*d0f1e0c2SMika Westerberg	  validation during manufacturing. Should not be enabled by distro
38*d0f1e0c2SMika Westerberg	  kernels.
39*d0f1e0c2SMika Westerberg
4054509f50SMika Westerbergconfig USB4_KUNIT_TEST
41635dcd16SDavid Gow	bool "KUnit tests" if !KUNIT_ALL_TESTS
42635dcd16SDavid Gow	depends on USB4 && KUNIT=y
43635dcd16SDavid Gow	default KUNIT_ALL_TESTS
44635dcd16SDavid Gow
458eabfca5SMika Westerbergconfig USB4_DMA_TEST
46edc0f494SIsaac Hazan	tristate "DMA traffic test driver"
47edc0f494SIsaac Hazan	depends on DEBUG_FS
48edc0f494SIsaac Hazan	help
49edc0f494SIsaac Hazan	  This allows sending and receiving DMA traffic through loopback
50edc0f494SIsaac Hazan	  connection. Loopback connection can be done by either special
51edc0f494SIsaac Hazan	  dongle that has TX/RX lines crossed, or by simply connecting a
52edc0f494SIsaac Hazan	  cable back to the host. Only enable this if you know what you
53edc0f494SIsaac Hazan	  are doing. Normal users and distro kernels should say N here.
54edc0f494SIsaac Hazan
55edc0f494SIsaac Hazan	  To compile this driver a module, choose M here. The module will be
56edc0f494SIsaac Hazan	  called thunderbolt_dma_test.
57edc0f494SIsaac Hazan
58edc0f494SIsaac Hazanendif # USB4
598eabfca5SMika Westerberg