Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Mika Westerberg | 690ac0d2 | 2019-12-17 15:33:41 +0300 | [diff] [blame] | 2 | menuconfig USB4 |
| 3 | tristate "Unified support for USB4 and Thunderbolt" |
Arnd Bergmann | 0cb4e2b | 2014-06-20 15:52:09 +0200 | [diff] [blame] | 4 | depends on PCI |
Lukas Wunner | 5fbc89d | 2016-11-18 09:22:59 +0100 | [diff] [blame] | 5 | select APPLE_PROPERTIES if EFI_STUB && X86 |
Andreas Noever | f34323b | 2014-06-21 12:15:44 +0200 | [diff] [blame] | 6 | select CRC32 |
Mika Westerberg | f67cf49 | 2017-06-06 15:25:16 +0300 | [diff] [blame] | 7 | select CRYPTO |
| 8 | select CRYPTO_HASH |
Mika Westerberg | e6b245c | 2017-06-06 15:25:17 +0300 | [diff] [blame] | 9 | select NVMEM |
Andreas Noever | 1660315 | 2014-06-03 22:03:58 +0200 | [diff] [blame] | 10 | help |
Geert Uytterhoeven | b7c408a | 2020-06-02 14:28:15 +0200 | [diff] [blame] | 11 | USB4 and Thunderbolt driver. USB4 is the public specification |
| 12 | based on the Thunderbolt 3 protocol. This driver is required if |
Mika Westerberg | 690ac0d2 | 2019-12-17 15:33:41 +0300 | [diff] [blame] | 13 | you want to hotplug Thunderbolt and USB4 compliant devices on |
| 14 | Apple hardware or on PCs with Intel Falcon Ridge or newer. |
Andreas Noever | 1660315 | 2014-06-03 22:03:58 +0200 | [diff] [blame] | 15 | |
| 16 | To compile this driver a module, choose M here. The module will be |
| 17 | called thunderbolt. |
Mika Westerberg | 54509f5 | 2020-04-29 16:38:39 +0300 | [diff] [blame] | 18 | |
Mika Westerberg | 8eabfca | 2020-08-24 13:55:52 +0300 | [diff] [blame] | 19 | if USB4 |
| 20 | |
Gil Fine | 54e4181 | 2020-06-29 20:30:52 +0300 | [diff] [blame] | 21 | config USB4_DEBUGFS_WRITE |
| 22 | bool "Enable write by debugfs to configuration spaces (DANGEROUS)" |
Gil Fine | 54e4181 | 2020-06-29 20:30:52 +0300 | [diff] [blame] | 23 | help |
| 24 | Enables writing to device configuration registers through |
| 25 | debugfs interface. |
| 26 | |
| 27 | Only enable this if you know what you are doing! Never enable |
| 28 | this for production systems or distro kernels. |
| 29 | |
Mika Westerberg | d0f1e0c | 2022-02-22 19:31:47 +0200 | [diff] [blame] | 30 | config USB4_DEBUGFS_MARGINING |
| 31 | bool "Expose receiver lane margining operations under USB4 ports (DANGEROUS)" |
| 32 | depends on DEBUG_FS |
| 33 | depends on USB4_DEBUGFS_WRITE |
| 34 | help |
| 35 | Enables hardware and software based receiver lane margining support |
| 36 | under each USB4 port. Used for electrical quality and robustness |
| 37 | validation during manufacturing. Should not be enabled by distro |
| 38 | kernels. |
| 39 | |
Mika Westerberg | 54509f5 | 2020-04-29 16:38:39 +0300 | [diff] [blame] | 40 | config USB4_KUNIT_TEST |
David Gow | 635dcd1 | 2022-07-09 11:19:59 +0800 | [diff] [blame] | 41 | bool "KUnit tests" if !KUNIT_ALL_TESTS |
Nico Pache | 793f55b | 2022-08-10 19:40:56 -0400 | [diff] [blame] | 42 | depends on USB4 && KUNIT=y |
David Gow | 635dcd1 | 2022-07-09 11:19:59 +0800 | [diff] [blame] | 43 | default KUNIT_ALL_TESTS |
Mika Westerberg | 8eabfca | 2020-08-24 13:55:52 +0300 | [diff] [blame] | 44 | |
Isaac Hazan | edc0f49 | 2020-09-24 11:44:02 +0300 | [diff] [blame] | 45 | config USB4_DMA_TEST |
| 46 | tristate "DMA traffic test driver" |
| 47 | depends on DEBUG_FS |
| 48 | help |
| 49 | This allows sending and receiving DMA traffic through loopback |
| 50 | connection. Loopback connection can be done by either special |
| 51 | dongle that has TX/RX lines crossed, or by simply connecting a |
| 52 | cable back to the host. Only enable this if you know what you |
| 53 | are doing. Normal users and distro kernels should say N here. |
| 54 | |
| 55 | To compile this driver a module, choose M here. The module will be |
| 56 | called thunderbolt_dma_test. |
| 57 | |
Mika Westerberg | 8eabfca | 2020-08-24 13:55:52 +0300 | [diff] [blame] | 58 | endif # USB4 |