1# SPDX-License-Identifier: GPL-2.0-only
2#
3# For a description of the syntax of this configuration file,
4# see Documentation/kbuild/kconfig-language.rst.
5#
6# Parport configuration.
7#
8
9config ARCH_MIGHT_HAVE_PC_PARPORT
10	bool
11	help
12	  Select this config option from the architecture Kconfig if
13	  the architecture might have PC parallel port hardware.
14
15menuconfig PARPORT
16	tristate "Parallel port support"
17	depends on HAS_IOMEM
18	help
19	  If you want to use devices connected to your machine's parallel port
20	  (the connector at the computer with 25 holes), e.g. printer, ZIP
21	  drive, PLIP link (Parallel Line Internet Protocol is mainly used to
22	  create a mini network by connecting the parallel ports of two local
23	  machines) etc., then you need to say Y here; please read
24	  <file:Documentation/admin-guide/parport.rst> and
25	  <file:drivers/parport/BUGS-parport>.
26
27	  For extensive information about drivers for many devices attaching
28	  to the parallel port see <http://www.torque.net/linux-pp.html> on
29	  the WWW.
30
31	  It is possible to share a single parallel port among several devices
32	  and it is safe to compile all the corresponding drivers into the
33	  kernel. To compile parallel port support as a module, choose M here:
34	  the module will be called parport.
35	  If you have more than one parallel port and want to specify which
36	  port and IRQ to be used by this driver at module load time, take a
37	  look at <file:Documentation/admin-guide/parport.rst>.
38
39	  If unsure, say Y.
40
41if PARPORT
42
43config PARPORT_PC
44	tristate "PC-style hardware"
45	depends on ARCH_MIGHT_HAVE_PC_PARPORT || PCI
46	depends on HAS_IOPORT
47	help
48	  You should say Y here if you have a PC-style parallel port. All
49	  IBM PC compatible computers and some Alphas have PC-style
50	  parallel ports.  PA-RISC owners should only say Y here if they
51	  have a SuperIO parallel port.
52
53	  To compile this driver as a module, choose M here: the
54	  module will be called parport_pc.
55
56	  If unsure, say Y.
57
58config PARPORT_SERIAL
59	tristate "Multi-IO cards (parallel and serial)"
60	depends on SERIAL_8250_PCI && PARPORT_PC && PCI
61	help
62	  This adds support for multi-IO PCI cards that have parallel and
63	  serial ports.  You should say Y or M here.  If you say M, the module
64	  will be called parport_serial.
65
66config PARPORT_PC_FIFO
67	bool "Use FIFO/DMA if available"
68	depends on PARPORT_PC
69	help
70	  Many parallel port chipsets provide hardware that can speed up
71	  printing. Say Y here if you want to take advantage of that.
72
73	  As well as actually having a FIFO, or DMA capability, the kernel
74	  will need to know which IRQ the parallel port has.  By default,
75	  parallel port interrupts will not be used, and so neither will the
76	  FIFO.  See <file:Documentation/admin-guide/parport.rst> to find out how to
77	  specify which IRQ/DMA to use.
78
79config PARPORT_PC_SUPERIO
80	bool "SuperIO chipset support"
81	depends on ARCH_MIGHT_HAVE_PC_PARPORT && PARPORT_PC && !PARISC
82	help
83	  Saying Y here enables some probes for Super-IO chipsets in order to
84	  find out things like base addresses, IRQ lines and DMA channels.  It
85	  is safe to say N.
86
87config PARPORT_PC_PCMCIA
88	tristate "Support for PCMCIA management for PC-style ports"
89	depends on PCMCIA && PARPORT_PC
90	help
91	  Say Y here if you need PCMCIA support for your PC-style parallel
92	  ports. If unsure, say N.
93
94config PARPORT_IP32
95	tristate "SGI IP32 builtin port"
96	depends on SGI_IP32
97	select PARPORT_NOT_PC
98	help
99	  Say Y here if you need support for the parallel port on
100	  SGI O2 machines. This code is also available as a module (say M),
101	  called parport_ip32.  If in doubt, saying N is the safe plan.
102
103config PARPORT_AMIGA
104	tristate "Amiga builtin port"
105	depends on AMIGA
106	select PARPORT_NOT_PC
107	help
108	  Say Y here if you need support for the parallel port hardware on
109	  Amiga machines. This code is also available as a module (say M),
110	  called parport_amiga. If in doubt, saying N is the safe plan.
111
112config PARPORT_MFC3
113	tristate "Multiface III parallel port"
114	depends on ZORRO
115	select PARPORT_NOT_PC
116	help
117	  Say Y here if you need parallel port support for the MFC3 card.
118	  This code is also available as a module (say M), called
119	  parport_mfc3. If in doubt, saying N is the safe plan.
120
121config PARPORT_ATARI
122	tristate "Atari hardware"
123	depends on ATARI
124	select PARPORT_NOT_PC
125	help
126	  Say Y here if you need support for the parallel port hardware on
127	  Atari machines. This code is also available as a module (say M),
128	  called parport_atari. If in doubt, saying N is the safe plan.
129
130config PARPORT_GSC
131	tristate
132	default GSC
133	select PARPORT_NOT_PC
134
135config PARPORT_SUNBPP
136	tristate "Sparc hardware"
137	depends on SBUS
138	select PARPORT_NOT_PC
139	help
140	  This driver provides support for the bidirectional parallel port
141	  found on many Sun machines. Note that many of the newer Ultras
142	  actually have pc style hardware instead.
143
144config PARPORT_1284
145	bool "IEEE 1284 transfer modes"
146	help
147	  If you have a printer that supports status readback or device ID, or
148	  want to use a device that uses enhanced parallel port transfer modes
149	  such as EPP and ECP, say Y here to enable advanced IEEE 1284
150	  transfer modes. Also say Y if you want device ID information to
151	  appear in /proc/sys/dev/parport/*/autoprobe*. It is safe to say N.
152
153config PARPORT_NOT_PC
154	bool
155
156endif # PARPORT
157