162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_cimenu "IEEE 1394 (FireWire) support"
362306a36Sopenharmony_ci	depends on PCI || COMPILE_TEST
462306a36Sopenharmony_ci	# firewire-core does not depend on PCI but is
562306a36Sopenharmony_ci	# not useful without PCI controller driver
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciconfig FIREWIRE
862306a36Sopenharmony_ci	tristate "FireWire driver stack"
962306a36Sopenharmony_ci	select CRC_ITU_T
1062306a36Sopenharmony_ci	help
1162306a36Sopenharmony_ci	  This is the new-generation IEEE 1394 (FireWire) driver stack
1262306a36Sopenharmony_ci	  a.k.a. Juju, a new implementation designed for robustness and
1362306a36Sopenharmony_ci	  simplicity.
1462306a36Sopenharmony_ci	  See http://ieee1394.wiki.kernel.org/index.php/Juju_Migration
1562306a36Sopenharmony_ci	  for information about migration from the older Linux 1394 stack
1662306a36Sopenharmony_ci	  to the new driver stack.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	  To compile this driver as a module, say M here: the module will be
1962306a36Sopenharmony_ci	  called firewire-core.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciconfig FIREWIRE_KUNIT_UAPI_TEST
2262306a36Sopenharmony_ci	tristate "KUnit tests for layout of structure in UAPI" if !KUNIT_ALL_TESTS
2362306a36Sopenharmony_ci	depends on FIREWIRE && KUNIT
2462306a36Sopenharmony_ci	default KUNIT_ALL_TESTS
2562306a36Sopenharmony_ci	help
2662306a36Sopenharmony_ci	  This builds the KUnit tests whether structures exposed to user
2762306a36Sopenharmony_ci	  space have expected layout.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	  KUnit tests run during boot and output the results to the debug
3062306a36Sopenharmony_ci	  log in TAP format (https://testanything.org/). Only useful for
3162306a36Sopenharmony_ci	  kernel devs running KUnit test harness and are not for inclusion
3262306a36Sopenharmony_ci	  into a production build.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	  For more information on KUnit and unit tests in general, refer
3562306a36Sopenharmony_ci	  to the KUnit documentation in Documentation/dev-tools/kunit/.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciconfig FIREWIRE_OHCI
3862306a36Sopenharmony_ci	tristate "OHCI-1394 controllers"
3962306a36Sopenharmony_ci	depends on PCI && FIREWIRE && MMU
4062306a36Sopenharmony_ci	help
4162306a36Sopenharmony_ci	  Enable this driver if you have a FireWire controller based
4262306a36Sopenharmony_ci	  on the OHCI specification.  For all practical purposes, this
4362306a36Sopenharmony_ci	  is the only chipset in use, so say Y here.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	  To compile this driver as a module, say M here:  The module will be
4662306a36Sopenharmony_ci	  called firewire-ohci.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciconfig FIREWIRE_SBP2
4962306a36Sopenharmony_ci	tristate "Storage devices (SBP-2 protocol)"
5062306a36Sopenharmony_ci	depends on FIREWIRE && SCSI
5162306a36Sopenharmony_ci	help
5262306a36Sopenharmony_ci	  This option enables you to use SBP-2 devices connected to a
5362306a36Sopenharmony_ci	  FireWire bus.  SBP-2 devices include storage devices like
5462306a36Sopenharmony_ci	  harddisks and DVD drives, also some other FireWire devices
5562306a36Sopenharmony_ci	  like scanners.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	  To compile this driver as a module, say M here:  The module will be
5862306a36Sopenharmony_ci	  called firewire-sbp2.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci	  You should also enable support for disks, CD-ROMs, etc. in the SCSI
6162306a36Sopenharmony_ci	  configuration section.
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciconfig FIREWIRE_NET
6462306a36Sopenharmony_ci	tristate "IP networking over 1394"
6562306a36Sopenharmony_ci	depends on FIREWIRE && INET
6662306a36Sopenharmony_ci	help
6762306a36Sopenharmony_ci	  This enables IPv4/IPv6 over IEEE 1394, providing IP connectivity
6862306a36Sopenharmony_ci	  with other implementations of RFC 2734/3146 as found on several
6962306a36Sopenharmony_ci	  operating systems.  Multicast support is currently limited.
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci	  To compile this driver as a module, say M here:  The module will be
7262306a36Sopenharmony_ci	  called firewire-net.
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ciconfig FIREWIRE_NOSY
7562306a36Sopenharmony_ci	tristate "Nosy - a FireWire traffic sniffer for PCILynx cards"
7662306a36Sopenharmony_ci	depends on PCI
7762306a36Sopenharmony_ci	help
7862306a36Sopenharmony_ci	  Nosy is an IEEE 1394 packet sniffer that is used for protocol
7962306a36Sopenharmony_ci	  analysis and in development of IEEE 1394 drivers, applications,
8062306a36Sopenharmony_ci	  or firmwares.
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci	  This driver lets you use a Texas Instruments PCILynx 1394 to PCI
8362306a36Sopenharmony_ci	  link layer controller TSB12LV21/A/B as a low-budget bus analyzer.
8462306a36Sopenharmony_ci	  PCILynx is a nowadays very rare IEEE 1394 controller which is
8562306a36Sopenharmony_ci	  not OHCI 1394 compliant.
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci	  The following cards are known to be based on PCILynx or PCILynx-2:
8862306a36Sopenharmony_ci	  IOI IOI-1394TT (PCI card), Unibrain Fireboard 400 PCI Lynx-2
8962306a36Sopenharmony_ci	  (PCI card), Newer Technology FireWire 2 Go (CardBus card),
9062306a36Sopenharmony_ci	  Apple Power Mac G3 blue & white and G4 with PCI graphics
9162306a36Sopenharmony_ci	  (onboard controller).
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci	  To compile this driver as a module, say M here:  The module will be
9462306a36Sopenharmony_ci	  called nosy.  Source code of a userspace interface to nosy, called
9562306a36Sopenharmony_ci	  nosy-dump, can be found in tools/firewire/ of the kernel sources.
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci	  If unsure, say N.
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ciendmenu
100