blob: 448fd2ec8f6e2e6e263f96722803b69fc36ee9d8 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Mika Westerberg690ac0d22019-12-17 15:33:41 +03002menuconfig USB4
3 tristate "Unified support for USB4 and Thunderbolt"
Arnd Bergmann0cb4e2b2014-06-20 15:52:09 +02004 depends on PCI
Lukas Wunner5fbc89d2016-11-18 09:22:59 +01005 select APPLE_PROPERTIES if EFI_STUB && X86
Andreas Noeverf34323b2014-06-21 12:15:44 +02006 select CRC32
Mika Westerbergf67cf492017-06-06 15:25:16 +03007 select CRYPTO
8 select CRYPTO_HASH
Mika Westerberge6b245c2017-06-06 15:25:17 +03009 select NVMEM
Andreas Noever16603152014-06-03 22:03:58 +020010 help
Geert Uytterhoevenb7c408a2020-06-02 14:28:15 +020011 USB4 and Thunderbolt driver. USB4 is the public specification
12 based on the Thunderbolt 3 protocol. This driver is required if
Mika Westerberg690ac0d22019-12-17 15:33:41 +030013 you want to hotplug Thunderbolt and USB4 compliant devices on
14 Apple hardware or on PCs with Intel Falcon Ridge or newer.
Andreas Noever16603152014-06-03 22:03:58 +020015
16 To compile this driver a module, choose M here. The module will be
17 called thunderbolt.
Mika Westerberg54509f52020-04-29 16:38:39 +030018
Mika Westerberg8eabfca2020-08-24 13:55:52 +030019if USB4
20
Gil Fine54e41812020-06-29 20:30:52 +030021config USB4_DEBUGFS_WRITE
22 bool "Enable write by debugfs to configuration spaces (DANGEROUS)"
Gil Fine54e41812020-06-29 20:30:52 +030023 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 Westerbergd0f1e0c2022-02-22 19:31:47 +020030config 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 Westerberg54509f52020-04-29 16:38:39 +030040config USB4_KUNIT_TEST
David Gow635dcd12022-07-09 11:19:59 +080041 bool "KUnit tests" if !KUNIT_ALL_TESTS
Nico Pache793f55b2022-08-10 19:40:56 -040042 depends on USB4 && KUNIT=y
David Gow635dcd12022-07-09 11:19:59 +080043 default KUNIT_ALL_TESTS
Mika Westerberg8eabfca2020-08-24 13:55:52 +030044
Isaac Hazanedc0f492020-09-24 11:44:02 +030045config 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 Westerberg8eabfca2020-08-24 13:55:52 +030058endif # USB4