| # 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. You can use tools such as Thunderbolt/USB4 |
| debugging tools to access these registers. For more |
| information see: |
| |
| https://github.com/intel/tbtools |
| |
| 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 and retimers (DANGEROUS)" |
| depends on DEBUG_FS |
| depends on USB4_DEBUGFS_WRITE |
| help |
| Enables hardware and software based receiver lane margining |
| support under each USB4 port and retimer, including retimers |
| on the other side of the cable. 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 |