xref: /openbmc/linux/drivers/tty/serial/8250/Kconfig (revision 97da55fc)
1#
2# The 8250/16550 serial drivers.  You shouldn't be in this list unless
3# you somehow have an implicit or explicit dependency on SERIAL_8250.
4#
5
6config SERIAL_8250
7	tristate "8250/16550 and compatible serial support"
8	select SERIAL_CORE
9	---help---
10	  This selects whether you want to include the driver for the standard
11	  serial ports.  The standard answer is Y.  People who might say N
12	  here are those that are setting up dedicated Ethernet WWW/FTP
13	  servers, or users that have one of the various bus mice instead of a
14	  serial mouse and don't intend to use their machine's standard serial
15	  port for anything.  (Note that the Cyclades and Stallion multi
16	  serial port drivers do not need this driver built in for them to
17	  work.)
18
19	  To compile this driver as a module, choose M here: the
20	  module will be called 8250.
21	  [WARNING: Do not compile this driver as a module if you are using
22	  non-standard serial ports, since the configuration information will
23	  be lost when the driver is unloaded.  This limitation may be lifted
24	  in the future.]
25
26	  BTW1: If you have a mouseman serial mouse which is not recognized by
27	  the X window system, try running gpm first.
28
29	  BTW2: If you intend to use a software modem (also called Winmodem)
30	  under Linux, forget it.  These modems are crippled and require
31	  proprietary drivers which are only available under Windows.
32
33	  Most people will say Y or M here, so that they can use serial mice,
34	  modems and similar devices connecting to the standard serial ports.
35
36config SERIAL_8250_PNP
37	bool "8250/16550 PNP device support" if EXPERT
38	depends on SERIAL_8250 && PNP
39	default y
40	---help---
41	  This builds standard PNP serial support. You may be able to
42	  disable this feature if you only need legacy serial support.
43
44config SERIAL_8250_CONSOLE
45	bool "Console on 8250/16550 and compatible serial port"
46	depends on SERIAL_8250=y
47	select SERIAL_CORE_CONSOLE
48	---help---
49	  If you say Y here, it will be possible to use a serial port as the
50	  system console (the system console is the device which receives all
51	  kernel messages and warnings and which allows logins in single user
52	  mode). This could be useful if some terminal or printer is connected
53	  to that serial port.
54
55	  Even if you say Y here, the currently visible virtual console
56	  (/dev/tty0) will still be used as the system console by default, but
57	  you can alter that using a kernel command line option such as
58	  "console=ttyS1". (Try "man bootparam" or see the documentation of
59	  your boot loader (grub or lilo or loadlin) about how to pass options
60	  to the kernel at boot time.)
61
62	  If you don't have a VGA card installed and you say Y here, the
63	  kernel will automatically use the first serial line, /dev/ttyS0, as
64	  system console.
65
66	  You can set that using a kernel command line option such as
67	  "console=uart8250,io,0x3f8,9600n8"
68	  "console=uart8250,mmio,0xff5e0000,115200n8".
69	  and it will switch to normal serial console when the corresponding
70	  port is ready.
71	  "earlycon=uart8250,io,0x3f8,9600n8"
72	  "earlycon=uart8250,mmio,0xff5e0000,115200n8".
73	  it will not only setup early console.
74
75	  If unsure, say N.
76
77config FIX_EARLYCON_MEM
78	bool
79	depends on X86
80	default y
81
82config SERIAL_8250_GSC
83	tristate
84	depends on SERIAL_8250 && GSC
85	default SERIAL_8250
86
87config SERIAL_8250_DMA
88	bool "DMA support for 16550 compatible UART controllers" if EXPERT
89	depends on SERIAL_8250 && DMADEVICES=y
90	default SERIAL_8250
91	help
92	  This builds DMA support that can be used with 8250/16650
93	  compatible UART controllers that support DMA signaling.
94
95config SERIAL_8250_PCI
96	tristate "8250/16550 PCI device support" if EXPERT
97	depends on SERIAL_8250 && PCI
98	default SERIAL_8250
99	help
100	  This builds standard PCI serial support. You may be able to
101	  disable this feature if you only need legacy serial support.
102	  Saves about 9K.
103
104config SERIAL_8250_HP300
105	tristate
106	depends on SERIAL_8250 && HP300
107	default SERIAL_8250
108
109config SERIAL_8250_CS
110	tristate "8250/16550 PCMCIA device support"
111	depends on PCMCIA && SERIAL_8250
112	---help---
113	  Say Y here to enable support for 16-bit PCMCIA serial devices,
114	  including serial port cards, modems, and the modem functions of
115	  multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are
116	  credit-card size devices often used with laptops.)
117
118	  To compile this driver as a module, choose M here: the
119	  module will be called serial_cs.
120
121	  If unsure, say N.
122
123config SERIAL_8250_NR_UARTS
124	int "Maximum number of 8250/16550 serial ports"
125	depends on SERIAL_8250
126	default "4"
127	help
128	  Set this to the number of serial ports you want the driver
129	  to support.  This includes any ports discovered via ACPI or
130	  PCI enumeration and any ports that may be added at run-time
131	  via hot-plug, or any ISA multi-port serial cards.
132
133config SERIAL_8250_RUNTIME_UARTS
134	int "Number of 8250/16550 serial ports to register at runtime"
135	depends on SERIAL_8250
136	range 0 SERIAL_8250_NR_UARTS
137	default "4"
138	help
139	  Set this to the maximum number of serial ports you want
140	  the kernel to register at boot time.  This can be overridden
141	  with the module parameter "nr_uarts", or boot-time parameter
142	  8250.nr_uarts
143
144config SERIAL_8250_EXTENDED
145	bool "Extended 8250/16550 serial driver options"
146	depends on SERIAL_8250
147	help
148	  If you wish to use any non-standard features of the standard "dumb"
149	  driver, say Y here. This includes HUB6 support, shared serial
150	  interrupts, special multiport support, support for more than the
151	  four COM 1/2/3/4 boards, etc.
152
153	  Note that the answer to this question won't directly affect the
154	  kernel: saying N will just cause the configurator to skip all
155	  the questions about serial driver options. If unsure, say N.
156
157config SERIAL_8250_MANY_PORTS
158	bool "Support more than 4 legacy serial ports"
159	depends on SERIAL_8250_EXTENDED && !IA64
160	help
161	  Say Y here if you have dumb serial boards other than the four
162	  standard COM 1/2/3/4 ports. This may happen if you have an AST
163	  FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available
164	  from <http://www.tldp.org/docs.html#howto>), or other custom
165	  serial port hardware which acts similar to standard serial port
166	  hardware. If you only use the standard COM 1/2/3/4 ports, you can
167	  say N here to save some memory. You can also say Y if you have an
168	  "intelligent" multiport card such as Cyclades, Digiboards, etc.
169
170#
171# Multi-port serial cards
172#
173
174config SERIAL_8250_FOURPORT
175	tristate "Support Fourport cards"
176	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
177	help
178	  Say Y here if you have an AST FourPort serial board.
179
180	  To compile this driver as a module, choose M here: the module
181	  will be called 8250_fourport.
182
183config SERIAL_8250_ACCENT
184	tristate "Support Accent cards"
185	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
186	help
187	  Say Y here if you have an Accent Async serial board.
188
189	  To compile this driver as a module, choose M here: the module
190	  will be called 8250_accent.
191
192config SERIAL_8250_BOCA
193	tristate "Support Boca cards"
194	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
195	help
196	  Say Y here if you have a Boca serial board.  Please read the Boca
197	  mini-HOWTO, available from <http://www.tldp.org/docs.html#howto>
198
199	  To compile this driver as a module, choose M here: the module
200	  will be called 8250_boca.
201
202config SERIAL_8250_EXAR_ST16C554
203	tristate "Support Exar ST16C554/554D Quad UART"
204	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
205	help
206	  The Uplogix Envoy TU301 uses this Exar Quad UART.  If you are
207	  tinkering with your Envoy TU301, or have a machine with this UART,
208	  say Y here.
209
210	  To compile this driver as a module, choose M here: the module
211	  will be called 8250_exar_st16c554.
212
213config SERIAL_8250_HUB6
214	tristate "Support Hub6 cards"
215	depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
216	help
217	  Say Y here if you have a HUB6 serial board.
218
219	  To compile this driver as a module, choose M here: the module
220	  will be called 8250_hub6.
221
222#
223# Misc. options/drivers.
224#
225
226config SERIAL_8250_SHARE_IRQ
227	bool "Support for sharing serial interrupts"
228	depends on SERIAL_8250_EXTENDED
229	help
230	  Some serial boards have hardware support which allows multiple dumb
231	  serial ports on the same board to share a single IRQ. To enable
232	  support for this in the serial driver, say Y here.
233
234config SERIAL_8250_DETECT_IRQ
235	bool "Autodetect IRQ on standard ports (unsafe)"
236	depends on SERIAL_8250_EXTENDED
237	help
238	  Say Y here if you want the kernel to try to guess which IRQ
239	  to use for your serial port.
240
241	  This is considered unsafe; it is far better to configure the IRQ in
242	  a boot script using the setserial command.
243
244	  If unsure, say N.
245
246config SERIAL_8250_RSA
247	bool "Support RSA serial ports"
248	depends on SERIAL_8250_EXTENDED
249	help
250	  ::: To be written :::
251
252config SERIAL_8250_ACORN
253	tristate "Acorn expansion card serial port support"
254	depends on ARCH_ACORN && SERIAL_8250
255	help
256	  If you have an Atomwide Serial card or Serial Port card for an Acorn
257	  system, say Y to this option.  The driver can handle 1, 2, or 3 port
258	  cards.  If unsure, say N.
259
260config SERIAL_8250_FSL
261	bool
262	depends on SERIAL_8250_CONSOLE && PPC_UDBG_16550
263	default PPC
264
265config SERIAL_8250_DW
266	tristate "Support for Synopsys DesignWare 8250 quirks"
267	depends on SERIAL_8250
268	help
269	  Selecting this option will enable handling of the extra features
270	  present in the Synopsys DesignWare APB UART.
271
272config SERIAL_8250_EM
273	tristate "Support for Emma Mobile integrated serial port"
274	depends on SERIAL_8250 && ARM && HAVE_CLK
275	help
276	  Selecting this option will add support for the integrated serial
277	  port hardware found on the Emma Mobile line of processors.
278	  If unsure, say N.
279
280config SERIAL_8250_RT288X
281	bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support"
282	depends on SERIAL_8250 && (SOC_RT288X || SOC_RT305X || SOC_RT3883)
283	help
284	  If you have a Ralink RT288x/RT305x SoC based board and want to use the
285	  serial port, say Y to this option. The driver can handle up to 2 serial
286	  ports. If unsure, say N.
287