|  | # SPDX-License-Identifier: GPL-2.0-only | 
|  | menuconfig USB4 | 
|  | tristate "Unified support for USB4 and Thunderbolt" | 
|  | depends on PCI | 
|  | select APPLE_PROPERTIES if EFI_STUB && X86 | 
|  | select CRC32 | 
|  | select CRYPTO | 
|  | select CRYPTO_HASH | 
|  | select NVMEM | 
|  | help | 
|  | USB4 and Thunderbolt driver. USB4 is the public specification | 
|  | based on the Thunderbolt 3 protocol. This driver is required if | 
|  | you want to hotplug Thunderbolt and USB4 compliant devices on | 
|  | Apple hardware or on PCs with Intel Falcon Ridge or newer. | 
|  |  | 
|  | To compile this driver a module, choose M here. The module will be | 
|  | called thunderbolt. | 
|  |  | 
|  | if USB4 | 
|  |  | 
|  | config USB4_DEBUGFS_WRITE | 
|  | bool "Enable write by debugfs to configuration spaces (DANGEROUS)" | 
|  | help | 
|  | Enables writing to device configuration registers through | 
|  | debugfs interface. | 
|  |  | 
|  | Only enable this if you know what you are doing! Never enable | 
|  | this for production systems or distro kernels. | 
|  |  | 
|  | config USB4_DEBUGFS_MARGINING | 
|  | bool "Expose receiver lane margining operations under USB4 ports (DANGEROUS)" | 
|  | depends on DEBUG_FS | 
|  | depends on USB4_DEBUGFS_WRITE | 
|  | help | 
|  | Enables hardware and software based receiver lane margining support | 
|  | under each USB4 port. Used for electrical quality and robustness | 
|  | validation during manufacturing. Should not be enabled by distro | 
|  | kernels. | 
|  |  | 
|  | config USB4_KUNIT_TEST | 
|  | bool "KUnit tests" if !KUNIT_ALL_TESTS | 
|  | depends on USB4 && KUNIT=y | 
|  | default KUNIT_ALL_TESTS | 
|  |  | 
|  | config USB4_DMA_TEST | 
|  | tristate "DMA traffic test driver" | 
|  | depends on DEBUG_FS | 
|  | help | 
|  | This allows sending and receiving DMA traffic through loopback | 
|  | connection. Loopback connection can be done by either special | 
|  | dongle that has TX/RX lines crossed, or by simply connecting a | 
|  | cable back to the host. Only enable this if you know what you | 
|  | are doing. Normal users and distro kernels should say N here. | 
|  |  | 
|  | To compile this driver a module, choose M here. The module will be | 
|  | called thunderbolt_dma_test. | 
|  |  | 
|  | endif # USB4 |