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