2019-05-19 20:07:45 +08:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2019-12-17 20:33:41 +08:00
|
|
|
menuconfig USB4
|
|
|
|
tristate "Unified support for USB4 and Thunderbolt"
|
2014-06-20 21:52:09 +08:00
|
|
|
depends on PCI
|
2016-11-18 16:22:59 +08:00
|
|
|
select APPLE_PROPERTIES if EFI_STUB && X86
|
2014-06-21 18:15:44 +08:00
|
|
|
select CRC32
|
2017-06-06 20:25:16 +08:00
|
|
|
select CRYPTO
|
|
|
|
select CRYPTO_HASH
|
2017-06-06 20:25:17 +08:00
|
|
|
select NVMEM
|
2014-06-04 04:03:58 +08:00
|
|
|
help
|
2020-06-02 20:28:15 +08:00
|
|
|
USB4 and Thunderbolt driver. USB4 is the public specification
|
|
|
|
based on the Thunderbolt 3 protocol. This driver is required if
|
2019-12-17 20:33:41 +08:00
|
|
|
you want to hotplug Thunderbolt and USB4 compliant devices on
|
|
|
|
Apple hardware or on PCs with Intel Falcon Ridge or newer.
|
2014-06-04 04:03:58 +08:00
|
|
|
|
|
|
|
To compile this driver a module, choose M here. The module will be
|
|
|
|
called thunderbolt.
|
2020-04-29 21:38:39 +08:00
|
|
|
|
2020-08-24 18:55:52 +08:00
|
|
|
if USB4
|
|
|
|
|
2020-06-30 01:30:52 +08:00
|
|
|
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.
|
|
|
|
|
2022-02-23 01:31:47 +08:00
|
|
|
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.
|
|
|
|
|
2020-04-29 21:38:39 +08:00
|
|
|
config USB4_KUNIT_TEST
|
2022-07-09 11:19:59 +08:00
|
|
|
bool "KUnit tests" if !KUNIT_ALL_TESTS
|
2022-08-11 07:40:56 +08:00
|
|
|
depends on USB4 && KUNIT=y
|
2022-07-09 11:19:59 +08:00
|
|
|
default KUNIT_ALL_TESTS
|
2020-08-24 18:55:52 +08:00
|
|
|
|
2020-09-24 16:44:02 +08:00
|
|
|
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.
|
|
|
|
|
2020-08-24 18:55:52 +08:00
|
|
|
endif # USB4
|