1# SPDX-License-Identifier: GPL-2.0-only
2menu "IEEE 1394 (FireWire) support"
3	depends on PCI || COMPILE_TEST
4	# firewire-core does not depend on PCI but is
5	# not useful without PCI controller driver
6
7config FIREWIRE
8	tristate "FireWire driver stack"
9	select CRC_ITU_T
10	help
11	  This is the new-generation IEEE 1394 (FireWire) driver stack
12	  a.k.a. Juju, a new implementation designed for robustness and
13	  simplicity.
14	  See http://ieee1394.docs.kernel.org/en/latest/migration.html
15	  for information about migration from the older Linux 1394 stack
16	  to the new driver stack.
17
18	  To compile this driver as a module, say M here: the module will be
19	  called firewire-core.
20
21config FIREWIRE_KUNIT_UAPI_TEST
22	tristate "KUnit tests for layout of structure in UAPI" if !KUNIT_ALL_TESTS
23	depends on FIREWIRE && KUNIT
24	default KUNIT_ALL_TESTS
25	help
26	  This builds the KUnit tests whether structures exposed to user
27	  space have expected layout.
28
29	  KUnit tests run during boot and output the results to the debug
30	  log in TAP format (https://testanything.org/). Only useful for
31	  kernel devs running KUnit test harness and are not for inclusion
32	  into a production build.
33
34	  For more information on KUnit and unit tests in general, refer
35	  to the KUnit documentation in Documentation/dev-tools/kunit/.
36
37config FIREWIRE_KUNIT_DEVICE_ATTRIBUTE_TEST
38	tristate "KUnit tests for device attributes" if !KUNIT_ALL_TESTS
39	depends on FIREWIRE && KUNIT
40	default KUNIT_ALL_TESTS
41	help
42	  This builds the KUnit tests for device attribute for node and
43	  unit.
44
45	  KUnit tests run during boot and output the results to the debug
46	  log in TAP format (https://testanything.org/). Only useful for
47	  kernel devs running KUnit test harness and are not for inclusion
48	  into a production build.
49
50	  For more information on KUnit and unit tests in general, refer
51	  to the KUnit documentation in Documentation/dev-tools/kunit/.
52
53config FIREWIRE_KUNIT_PACKET_SERDES_TEST
54	tristate "KUnit tests for packet serialization/deserialization" if !KUNIT_ALL_TESTS
55	depends on FIREWIRE && KUNIT
56	default KUNIT_ALL_TESTS
57	help
58	  This builds the KUnit tests for packet serialization and
59	  deserialization.
60
61	  KUnit tests run during boot and output the results to the debug
62	  log in TAP format (https://testanything.org/). Only useful for
63	  kernel devs running KUnit test harness and are not for inclusion
64	  into a production build.
65
66	  For more information on KUnit and unit tests in general, refer
67	  to the KUnit documentation in Documentation/dev-tools/kunit/.
68
69config FIREWIRE_KUNIT_SELF_ID_SEQUENCE_HELPER_TEST
70	tristate "KUnit tests for helpers of self ID sequence" if !KUNIT_ALL_TESTS
71	depends on FIREWIRE && KUNIT
72	default KUNIT_ALL_TESTS
73	help
74	  This builds the KUnit tests for helpers of self ID sequence.
75
76	  KUnit tests run during boot and output the results to the debug
77	  log in TAP format (https://testanything.org/). Only useful for
78	  kernel devs running KUnit test harness and are not for inclusion
79	  into a production build.
80
81	  For more information on KUnit and unit tests in general, refer
82	  to the KUnit documentation in Documentation/dev-tools/kunit/.
83
84config FIREWIRE_OHCI
85	tristate "OHCI-1394 controllers"
86	depends on PCI && FIREWIRE && MMU
87	help
88	  Enable this driver if you have a FireWire controller based
89	  on the OHCI specification.  For all practical purposes, this
90	  is the only chipset in use, so say Y here.
91
92	  To compile this driver as a module, say M here:  The module will be
93	  called firewire-ohci.
94
95config FIREWIRE_KUNIT_OHCI_SERDES_TEST
96	tristate "KUnit tests for serialization/deserialization of data in buffers/registers" if !KUNIT_ALL_TESTS
97	depends on FIREWIRE && KUNIT
98	default KUNIT_ALL_TESTS
99	help
100	  This builds the KUnit tests to check serialization and deserialization
101	  of data in buffers and registers defined in 1394 OHCI specification.
102
103	  KUnit tests run during boot and output the results to the debug
104	  log in TAP format (https://testanything.org/). Only useful for
105	  kernel devs running KUnit test harness and are not for inclusion
106	  into a production build.
107
108	  For more information on KUnit and unit tests in general, refer
109	  to the KUnit documentation in Documentation/dev-tools/kunit/.
110
111config FIREWIRE_SBP2
112	tristate "Storage devices (SBP-2 protocol)"
113	depends on FIREWIRE && SCSI
114	help
115	  This option enables you to use SBP-2 devices connected to a
116	  FireWire bus.  SBP-2 devices include storage devices like
117	  harddisks and DVD drives, also some other FireWire devices
118	  like scanners.
119
120	  To compile this driver as a module, say M here:  The module will be
121	  called firewire-sbp2.
122
123	  You should also enable support for disks, CD-ROMs, etc. in the SCSI
124	  configuration section.
125
126config FIREWIRE_NET
127	tristate "IP networking over 1394"
128	depends on FIREWIRE && INET
129	help
130	  This enables IPv4/IPv6 over IEEE 1394, providing IP connectivity
131	  with other implementations of RFC 2734/3146 as found on several
132	  operating systems.  Multicast support is currently limited.
133
134	  To compile this driver as a module, say M here:  The module will be
135	  called firewire-net.
136
137config FIREWIRE_NOSY
138	tristate "Nosy - a FireWire traffic sniffer for PCILynx cards"
139	depends on PCI
140	help
141	  Nosy is an IEEE 1394 packet sniffer that is used for protocol
142	  analysis and in development of IEEE 1394 drivers, applications,
143	  or firmwares.
144
145	  This driver lets you use a Texas Instruments PCILynx 1394 to PCI
146	  link layer controller TSB12LV21/A/B as a low-budget bus analyzer.
147	  PCILynx is a nowadays very rare IEEE 1394 controller which is
148	  not OHCI 1394 compliant.
149
150	  The following cards are known to be based on PCILynx or PCILynx-2:
151	  IOI IOI-1394TT (PCI card), Unibrain Fireboard 400 PCI Lynx-2
152	  (PCI card), Newer Technology FireWire 2 Go (CardBus card),
153	  Apple Power Mac G3 blue & white and G4 with PCI graphics
154	  (onboard controller).
155
156	  To compile this driver as a module, say M here:  The module will be
157	  called nosy.  Source code of a userspace interface to nosy, called
158	  nosy-dump, can be found in tools/firewire/ of the kernel sources.
159
160	  If unsure, say N.
161
162endmenu
163