0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menuconfig USB4
0003 tristate "Unified support for USB4 and Thunderbolt"
0004 depends on PCI
0005 select APPLE_PROPERTIES if EFI_STUB && X86
0006 select CRC32
0007 select CRYPTO
0008 select CRYPTO_HASH
0009 select NVMEM
0010 help
0011 USB4 and Thunderbolt driver. USB4 is the public specification
0012 based on the Thunderbolt 3 protocol. This driver is required if
0013 you want to hotplug Thunderbolt and USB4 compliant devices on
0014 Apple hardware or on PCs with Intel Falcon Ridge or newer.
0015
0016 To compile this driver a module, choose M here. The module will be
0017 called thunderbolt.
0018
0019 if USB4
0020
0021 config USB4_DEBUGFS_WRITE
0022 bool "Enable write by debugfs to configuration spaces (DANGEROUS)"
0023 help
0024 Enables writing to device configuration registers through
0025 debugfs interface.
0026
0027 Only enable this if you know what you are doing! Never enable
0028 this for production systems or distro kernels.
0029
0030 config USB4_KUNIT_TEST
0031 bool "KUnit tests" if !KUNIT_ALL_TESTS
0032 depends on USB4 && KUNIT=y
0033 default KUNIT_ALL_TESTS
0034
0035 config USB4_DMA_TEST
0036 tristate "DMA traffic test driver"
0037 depends on DEBUG_FS
0038 help
0039 This allows sending and receiving DMA traffic through loopback
0040 connection. Loopback connection can be done by either special
0041 dongle that has TX/RX lines crossed, or by simply connecting a
0042 cable back to the host. Only enable this if you know what you
0043 are doing. Normal users and distro kernels should say N here.
0044
0045 To compile this driver a module, choose M here. The module will be
0046 called thunderbolt_dma_test.
0047
0048 endif # USB4