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 252b435067SMika Westerberg debugfs interface. You can use tools such as Thunderbolt/USB4 262b435067SMika Westerberg debugging tools to access these registers. For more 272b435067SMika Westerberg information see: 282b435067SMika Westerberg 292b435067SMika Westerberg https://github.com/intel/tbtools 3054e41810SGil Fine 3154e41810SGil Fine Only enable this if you know what you are doing! Never enable 3254e41810SGil Fine this for production systems or distro kernels. 3354e41810SGil Fine 34d0f1e0c2SMika Westerbergconfig USB4_DEBUGFS_MARGINING 35*ff6ab055SMika Westerberg bool "Expose receiver lane margining operations under USB4 ports and retimers (DANGEROUS)" 36d0f1e0c2SMika Westerberg depends on DEBUG_FS 37d0f1e0c2SMika Westerberg depends on USB4_DEBUGFS_WRITE 38d0f1e0c2SMika Westerberg help 39*ff6ab055SMika Westerberg Enables hardware and software based receiver lane margining 40*ff6ab055SMika Westerberg support under each USB4 port and retimer, including retimers 41*ff6ab055SMika Westerberg on the other side of the cable. Used for electrical quality 42*ff6ab055SMika Westerberg and robustness validation during manufacturing. Should not be 43*ff6ab055SMika Westerberg enabled by distro kernels. 44d0f1e0c2SMika Westerberg 4554509f50SMika Westerbergconfig USB4_KUNIT_TEST 46635dcd16SDavid Gow bool "KUnit tests" if !KUNIT_ALL_TESTS 47793f55b2SNico Pache depends on USB4 && KUNIT=y 48635dcd16SDavid Gow default KUNIT_ALL_TESTS 498eabfca5SMika Westerberg 50edc0f494SIsaac Hazanconfig USB4_DMA_TEST 51edc0f494SIsaac Hazan tristate "DMA traffic test driver" 52edc0f494SIsaac Hazan depends on DEBUG_FS 53edc0f494SIsaac Hazan help 54edc0f494SIsaac Hazan This allows sending and receiving DMA traffic through loopback 55edc0f494SIsaac Hazan connection. Loopback connection can be done by either special 56edc0f494SIsaac Hazan dongle that has TX/RX lines crossed, or by simply connecting a 57edc0f494SIsaac Hazan cable back to the host. Only enable this if you know what you 58edc0f494SIsaac Hazan are doing. Normal users and distro kernels should say N here. 59edc0f494SIsaac Hazan 60edc0f494SIsaac Hazan To compile this driver a module, choose M here. The module will be 61edc0f494SIsaac Hazan called thunderbolt_dma_test. 62edc0f494SIsaac Hazan 638eabfca5SMika Westerbergendif # USB4 64