1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Xillybus devices
4#
5
6config XILLYBUS_CLASS
7	tristate
8
9config XILLYBUS
10	tristate "Xillybus generic FPGA interface"
11	depends on PCI || OF
12	select CRC32
13	select XILLYBUS_CLASS
14	help
15	  Xillybus is a generic interface for peripherals designed on
16	  programmable logic (FPGA). The driver probes the hardware for
17	  its capabilities, and creates device files accordingly.
18
19	  If unsure, say N.
20
21if XILLYBUS
22
23config XILLYBUS_PCIE
24	tristate "Xillybus over PCIe"
25	depends on PCI_MSI
26	help
27	  Set to M if you want Xillybus to use PCI Express for communicating
28	  with the FPGA. The module will be called xillybus_pcie.
29
30config XILLYBUS_OF
31	tristate "Xillybus over Device Tree"
32	depends on OF && HAS_DMA
33	help
34	  Set to M if you want Xillybus to find its resources from the
35	  Open Firmware Flattened Device Tree. If the target is an embedded
36	  system, say M. The module will be called xillybus_of.
37
38endif # if XILLYBUS
39
40# XILLYUSB doesn't depend on XILLYBUS
41
42config XILLYUSB
43	tristate "XillyUSB: Xillybus generic FPGA interface for USB"
44	depends on USB
45	select CRC32
46	select XILLYBUS_CLASS
47	help
48	  XillyUSB is the Xillybus variant which uses USB for communicating
49	  with the FPGA.
50
51	  Set to M if you want Xillybus to use USB for communicating with
52	  the FPGA. The module will be called xillyusb.
53