• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Serial device configuration
3#
4
5menu "Serial drivers"
6
7config BAUDRATE
8	int "Default baudrate"
9	default 115200
10	help
11	  Select a default baudrate, where "default" has a driver-specific
12	  meaning of either setting the baudrate for the early debug UART
13	  in the SPL stage (most drivers) or for choosing a default baudrate
14	  in the absence of an environment setting (serial_mxc.c).
15
16config REQUIRE_SERIAL_CONSOLE
17	bool "Require a serial port for console"
18	# Running without a serial console is not supported by the
19	# non-dm serial code
20	depends on DM_SERIAL
21	default y
22	help
23	  Require a serial port for the console, and panic if none is found
24	  during serial port initialization (default y). Set this to n on
25	  boards which have no debug serial port whatsoever.
26
27config SPECIFY_CONSOLE_INDEX
28	bool "Specify the port number used for console"
29	default y if !DM_SERIAL || (SPL && !SPL_DM_SERIAL) || \
30		(TPL && !TPL_DM_SERIAL)
31	help
32	  In various cases, we need to specify which of the UART devices that
33	  a board or SoC has available are to be used for the console device
34	  in U-Boot.
35
36config SERIAL_PRESENT
37	bool "Provide a serial driver"
38	depends on DM_SERIAL
39	default y
40	help
41	  In very space-constrained devices even the full UART driver is too
42	  large. In this case the debug UART can still be used in some cases.
43	  This option enables the full UART in U-Boot, so if is it disabled,
44	  the full UART driver will be omitted, thus saving space.
45
46config SPL_SERIAL_PRESENT
47	bool "Provide a serial driver in SPL"
48	depends on DM_SERIAL && SPL
49	default y
50	help
51	  In very space-constrained devices even the full UART driver is too
52	  large. In this case the debug UART can still be used in some cases.
53	  This option enables the full UART in SPL, so if is it disabled,
54	  the full UART driver will be omitted, thus saving space.
55
56config TPL_SERIAL_PRESENT
57	bool "Provide a serial driver in TPL"
58	depends on DM_SERIAL && TPL
59	default y
60	help
61	  In very space-constrained devices even the full UART driver is too
62	  large. In this case the debug UART can still be used in some cases.
63	  This option enables the full UART in TPL, so if is it disabled,
64	  the full UART driver will be omitted, thus saving space.
65
66# Logic to allow us to use the imply keyword to set what the default port
67# should be.  The default is otherwise 1.
68config CONS_INDEX_0
69	bool
70
71config CONS_INDEX_2
72	bool
73
74config CONS_INDEX_3
75	bool
76
77config CONS_INDEX_4
78	bool
79
80config CONS_INDEX_5
81	bool
82
83config CONS_INDEX_6
84	bool
85
86config CONS_INDEX
87	int "UART used for console"
88	depends on SPECIFY_CONSOLE_INDEX
89	range 0 6
90	default 0 if CONS_INDEX_0
91	default 2 if CONS_INDEX_2
92	default 3 if CONS_INDEX_3
93	default 4 if CONS_INDEX_4
94	default 5 if CONS_INDEX_5
95	default 6 if CONS_INDEX_6
96	default 1
97	help
98	  Set this to match the UART number of the serial console.
99
100config DM_SERIAL
101	bool "Enable Driver Model for serial drivers"
102	depends on DM
103	help
104	  Enable driver model for serial. This replaces
105	  drivers/serial/serial.c with the serial uclass, which
106	  implements serial_putc() etc. The uclass interface is
107	  defined in include/serial.h.
108
109config SERIAL_RX_BUFFER
110	bool "Enable RX buffer for serial input"
111	depends on DM_SERIAL
112	help
113	  Enable RX buffer support for the serial driver. This enables
114	  pasting longer strings, even when the RX FIFO of the UART is
115	  not big enough (e.g. 16 bytes on the normal NS16550).
116
117config SERIAL_RX_BUFFER_SIZE
118	int "RX buffer size"
119	depends on SERIAL_RX_BUFFER
120	default 256
121	help
122	  The size of the RX buffer (needs to be power of 2)
123
124config SERIAL_SEARCH_ALL
125	bool "Search for serial devices after default one failed"
126	depends on DM_SERIAL
127	help
128	  The serial subsystem only searches for a single serial device
129	  that was instantiated, but does not check whether it was probed
130	  correctly. With this option set, we make successful probing
131	  mandatory and search for fallback serial devices if the default
132	  device does not work.
133
134	  If unsure, say N.
135
136config SPL_DM_SERIAL
137	bool "Enable Driver Model for serial drivers in SPL"
138	depends on DM_SERIAL && SPL_DM
139	default y
140	help
141	  Enable driver model for serial in SPL. This replaces
142	  drivers/serial/serial.c with the serial uclass, which
143	  implements serial_putc() etc. The uclass interface is
144	  defined in include/serial.h.
145
146config TPL_DM_SERIAL
147	bool "Enable Driver Model for serial drivers in TPL"
148	depends on DM_SERIAL && TPL_DM
149	default y if TPL && DM_SERIAL
150	help
151	  Enable driver model for serial in TPL. This replaces
152	  drivers/serial/serial.c with the serial uclass, which
153	  implements serial_putc() etc. The uclass interface is
154	  defined in include/serial.h.
155
156config DEBUG_UART
157	bool "Enable an early debug UART for debugging"
158	help
159	  The debug UART is intended for use very early in U-Boot to debug
160	  problems when an ICE or other debug mechanism is not available.
161
162	  To use it you should:
163	  - Make sure your UART supports this interface
164	  - Enable CONFIG_DEBUG_UART
165	  - Enable the CONFIG for your UART to tell it to provide this interface
166	        (e.g. CONFIG_DEBUG_UART_NS16550)
167	  - Define the required settings as needed (see below)
168	  - Call debug_uart_init() before use
169	  - Call debug_uart_putc() to output a character
170
171	  Depending on your platform it may be possible to use this UART before
172	  a stack is available.
173
174	  If your UART does not support this interface you can probably add
175	  support quite easily. Remember that you cannot use driver model and
176	  it is preferred to use no stack.
177
178	  You must not use this UART once driver model is working and the
179	  serial drivers are up and running (done in serial_init()). Otherwise
180	  the drivers may conflict and you will get strange output.
181
182choice
183	prompt "Select which UART will provide the debug UART"
184	depends on DEBUG_UART
185	default DEBUG_UART_NS16550
186
187config DEBUG_UART_ALTERA_JTAGUART
188	bool "Altera JTAG UART"
189	help
190	  Select this to enable a debug UART using the altera_jtag_uart driver.
191	  You will need to provide parameters to make this work. The driver will
192	  be available until the real driver model serial is running.
193
194config DEBUG_UART_ALTERA_UART
195	bool "Altera UART"
196	help
197	  Select this to enable a debug UART using the altera_uart driver.
198	  You will need to provide parameters to make this work. The driver will
199	  be available until the real driver model serial is running.
200
201config DEBUG_UART_AR933X
202	bool "QCA/Atheros ar933x"
203	depends on AR933X_UART
204	help
205	  Select this to enable a debug UART using the ar933x uart driver.
206	  You will need to provide parameters to make this work. The
207	  driver will be available until the real driver model serial is
208	  running.
209
210config DEBUG_ARC_SERIAL
211	bool "ARC UART"
212	depends on ARC_SERIAL
213	help
214	  Select this to enable a debug UART using the ARC UART driver.
215	  You will need to provide parameters to make this work. The
216	  driver will be available until the real driver model serial is
217	  running.
218
219config DEBUG_UART_ATMEL
220	bool "Atmel USART"
221	help
222	  Select this to enable a debug UART using the atmel usart driver. You
223	  will need to provide parameters to make this work. The driver will
224	  be available until the real driver-model serial is running.
225
226config DEBUG_UART_BCM6345
227	bool "BCM6345 UART"
228	depends on BCM6345_SERIAL
229	help
230	  Select this to enable a debug UART on BCM6345 SoCs. You
231	  will need to provide parameters to make this work. The driver will
232	  be available until the real driver model serial is running.
233
234config DEBUG_UART_NS16550
235	bool "ns16550"
236	help
237	  Select this to enable a debug UART using the ns16550 driver. You
238	  will need to provide parameters to make this work. The driver will
239	  be available until the real driver model serial is running.
240
241config DEBUG_EFI_CONSOLE
242	bool "EFI"
243	depends on EFI_APP
244	help
245	  Select this to enable a debug console which calls back to EFI to
246	  output to the console. This can be useful for early debugging of
247	  U-Boot when running on top of EFI (Extensive Firmware Interface).
248	  This is a type of BIOS used by PCs.
249
250config DEBUG_UART_S5P
251	bool "Samsung S5P"
252	help
253	  Select this to enable a debug UART using the serial_s5p driver. You
254	  will need to provide parameters to make this work. The driver will
255	  be available until the real driver-model serial is running.
256
257config DEBUG_UART_MESON
258	bool "Amlogic Meson"
259	depends on MESON_SERIAL
260	help
261	  Select this to enable a debug UART using the serial_meson driver. You
262	  will need to provide parameters to make this work. The driver will
263	  be available until the real driver-model serial is running.
264
265config DEBUG_UART_UARTLITE
266	bool "Xilinx Uartlite"
267	help
268	  Select this to enable a debug UART using the serial_uartlite driver.
269	  You will need to provide parameters to make this work. The driver will
270	  be available until the real driver-model serial is running.
271
272config DEBUG_UART_ARM_DCC
273	bool "ARM DCC"
274	help
275	  Select this to enable a debug UART using the ARM JTAG DCC port.
276	  The DCC port can be used for very early debugging and doesn't require
277	  any additional setting like address/baudrate/clock. On systems without
278	  any serial interface this is the easiest way how to get console.
279	  Every ARM core has own DCC port which is the part of debug interface.
280	  This port is available at least on ARMv6, ARMv7, ARMv8 and XScale
281	  architectures.
282
283config DEBUG_MVEBU_A3700_UART
284	bool "Marvell Armada 3700"
285	help
286	  Select this to enable a debug UART using the serial_mvebu driver. You
287	  will need to provide parameters to make this work. The driver will
288	  be available until the real driver-model serial is running.
289
290config DEBUG_UART_ZYNQ
291	bool "Xilinx Zynq"
292	help
293	  Select this to enable a debug UART using the serial_zynq driver. You
294	  will need to provide parameters to make this work. The driver will
295	  be available until the real driver-model serial is running.
296
297config DEBUG_UART_APBUART
298	depends on LEON3
299	bool "Gaisler APBUART"
300	help
301	  Select this to enable a debug UART using the serial_leon3 driver. You
302	  will need to provide parameters to make this work. The driver will
303	  be available until the real driver model serial is running.
304
305config DEBUG_UART_PL010
306	bool "pl010"
307	help
308	  Select this to enable a debug UART using the pl01x driver with the
309	  PL010 UART type. You will need to provide parameters to make this
310	  work. The driver will be available until the real driver model
311	  serial is running.
312
313config DEBUG_UART_PL011
314	bool "pl011"
315	help
316	  Select this to enable a debug UART using the pl01x driver with the
317	  PL011 UART type. You will need to provide parameters to make this
318	  work. The driver will be available until the real driver model
319	  serial is running.
320
321config DEBUG_UART_PIC32
322	bool "Microchip PIC32"
323	depends on PIC32_SERIAL
324	help
325	  Select this to enable a debug UART using the serial_pic32 driver. You
326	  will need to provide parameters to make this work. The driver will
327	  be available until the real driver model serial is running.
328
329config DEBUG_UART_MXC
330	bool "IMX Serial port"
331	depends on MXC_UART
332	help
333	  Select this to enable a debug UART using the serial_mxc driver. You
334	  will need to provide parameters to make this work. The driver will
335	  be available until the real driver model serial is running.
336
337config DEBUG_UART_SANDBOX
338	bool "sandbox"
339	depends on SANDBOX_SERIAL
340	help
341	  Select this to enable the debug UART using the sandbox driver. This
342	  provides basic serial output from the console without needing to
343	  start up driver model. The driver will be available until the real
344	  driver model serial is running.
345
346config DEBUG_UART_SIFIVE
347	bool "SiFive UART"
348	help
349	  Select this to enable a debug UART using the serial_sifive driver. You
350	  will need to provide parameters to make this work. The driver will
351	  be available until the real driver-model serial is running.
352
353config DEBUG_UART_STM32
354	bool "STMicroelectronics STM32"
355	depends on STM32_SERIAL
356	help
357	  Select this to enable a debug UART using the serial_stm32 driver
358	  You will need to provide parameters to make this work.
359	  The driver will be available until the real driver model
360	  serial is running.
361
362config DEBUG_UART_UNIPHIER
363	bool "UniPhier on-chip UART"
364	depends on ARCH_UNIPHIER
365	help
366	  Select this to enable a debug UART using the UniPhier on-chip UART.
367	  You will need to provide DEBUG_UART_BASE to make this work.  The
368	  driver will be available until the real driver-model serial is
369	  running.
370
371config DEBUG_UART_OMAP
372	bool "OMAP uart"
373	help
374	  Select this to enable a debug UART using the omap ns16550 driver.
375	  You will need to provide parameters to make this work. The driver
376	  will be available until the real driver model serial is running.
377
378config DEBUG_UART_MTK
379	bool "MediaTek High-speed UART"
380	depends on MTK_SERIAL
381	help
382	  Select this to enable a debug UART using the MediaTek High-speed
383	  UART driver.
384	  You will need to provide parameters to make this work. The
385	  driver will be available until the real driver model serial is
386	  running.
387
388endchoice
389
390config DEBUG_UART_BASE
391	hex "Base address of UART"
392	depends on DEBUG_UART
393	default 0 if DEBUG_UART_SANDBOX
394	help
395	  This is the base address of your UART for memory-mapped UARTs.
396
397	  A default should be provided by your board, but if not you will need
398	  to use the correct value here.
399
400config DEBUG_UART_CLOCK
401	int "UART input clock"
402	depends on DEBUG_UART
403	default 0 if DEBUG_UART_SANDBOX
404	help
405	  The UART input clock determines the speed of the internal UART
406	  circuitry. The baud rate is derived from this by dividing the input
407	  clock down.
408
409	  A default should be provided by your board, but if not you will need
410	  to use the correct value here.
411
412config DEBUG_UART_SHIFT
413	int "UART register shift"
414	depends on DEBUG_UART
415	default 0 if DEBUG_UART
416	help
417	  Some UARTs (notably ns16550) support different register layouts
418	  where the registers are spaced either as bytes, words or some other
419	  value. Use this value to specify the shift to use, where 0=byte
420	  registers, 2=32-bit word registers, etc.
421
422config DEBUG_UART_BOARD_INIT
423	bool "Enable board-specific debug UART init"
424	depends on DEBUG_UART
425	help
426	  Some boards need to set things up before the debug UART can be used.
427	  On these boards a call to debug_uart_init() is insufficient. When
428	  this option is enabled, the function board_debug_uart_init() will
429	  be called when debug_uart_init() is called. You can put any code
430	  here that is needed to set up the UART ready for use, such as set
431	  pin multiplexing or enable clocks.
432
433config DEBUG_UART_ANNOUNCE
434	bool "Show a message when the debug UART starts up"
435	depends on DEBUG_UART
436	help
437	  Enable this option to show a message when the debug UART is ready
438	  for use. You will see a message like "<debug_uart> " as soon as
439	  U-Boot has the UART ready for use (i.e. your code calls
440	  debug_uart_init()). This can be useful just as a check that
441	  everything is working.
442
443config DEBUG_UART_SKIP_INIT
444	bool "Skip UART initialization"
445	depends on DEBUG_UART
446	help
447	  Select this if the UART you want to use for debug output is already
448	  initialized by the time U-Boot starts its execution.
449
450config DEBUG_UART_NS16550_CHECK_ENABLED
451	bool "Check if UART is enabled on output"
452	depends on DEBUG_UART
453	depends on DEBUG_UART_NS16550
454	help
455	  Select this if puts()/putc() might be called before the debug UART
456	  has been initialized. If this is disabled, putc() might sit in a
457	  tight loop if it is called before debug_uart_init() has been called.
458
459	  Note that this does not work for every ns16550-compatible UART and
460	  so has to be enabled carefully or you might notice lost characters.
461
462config ALTERA_JTAG_UART
463	bool "Altera JTAG UART support"
464	depends on DM_SERIAL
465	help
466	  Select this to enable an JTAG UART for Altera devices.The JTAG UART
467	  core implements a method to communicate serial character streams
468	  between a host PC and a Qsys system on an Altera FPGA. Please find
469	  details on the "Embedded Peripherals IP User Guide" of Altera.
470
471config ALTERA_JTAG_UART_BYPASS
472	bool "Bypass output when no connection"
473	depends on ALTERA_JTAG_UART
474	help
475	  Bypass console output and keep going even if there is no JTAG
476	  terminal connection with the host. The console output will resume
477	  once the JTAG terminal is connected. Without the bypass, the console
478	  output will wait forever until a JTAG terminal is connected. If you
479	  not are sure, say Y.
480
481config ALTERA_UART
482	bool "Altera UART support"
483	depends on DM_SERIAL
484	help
485	  Select this to enable an UART for Altera devices. Please find
486	  details on the "Embedded Peripherals IP User Guide" of Altera.
487
488config AR933X_UART
489	bool "QCA/Atheros ar933x UART support"
490	depends on DM_SERIAL && SOC_AR933X
491	help
492	  Select this to enable UART support for QCA/Atheros ar933x
493	  devices. This driver uses driver model and requires a device
494	  tree binding to operate, please refer to the document at
495	  doc/device-tree-bindings/serial/qca,ar9330-uart.txt.
496
497config ARC_SERIAL
498	bool "ARC UART support"
499	depends on DM_SERIAL
500	help
501	  Select this to enable support for ARC UART now typically
502	  only used in Synopsys DesignWare ARC simulators like nSIM.
503
504config ATMEL_USART
505	bool "Atmel USART support"
506	help
507	  Select this to enable USART support for Atmel SoCs. It can be
508	  configured in the device tree, and input clock frequency can
509	  be got from the clk node.
510
511config SPL_UART_CLOCK
512	int "SPL fixed UART input clock"
513	depends on ATMEL_USART && SPL && !SPL_CLK
514	default 132096000 if ARCH_AT91
515	help
516	  Provide a fixed clock value as input to the UART controller. This
517	  might be needed on platforms which can't enable CONFIG_SPL_CLK
518	  because of SPL image size restrictions.
519
520config BCM283X_MU_SERIAL
521	bool "Support for BCM283x Mini-UART"
522	depends on DM_SERIAL && ARCH_BCM283X
523	default y
524	help
525	  Select this to enable Mini-UART support on BCM283X family of SoCs.
526
527config BCM283X_PL011_SERIAL
528	bool "Support for BCM283x PL011 UART"
529	depends on PL01X_SERIAL && ARCH_BCM283X
530	default y
531	help
532	  Select this to enable an overriding PL011 driver for BCM283X SoCs
533	  that supports automatic disable, so that it only gets used when
534	  the UART is actually muxed.
535
536config BCM6345_SERIAL
537	bool "Support for BCM6345 UART"
538	depends on DM_SERIAL
539	help
540	  Select this to enable UART on BCM6345 SoCs.
541
542config FSL_LINFLEXUART
543	bool "Freescale Linflex UART support"
544	depends on DM_SERIAL
545	help
546	  Select this to enable the Linflex serial module found on some
547	  NXP SoCs like S32V234.
548
549config FSL_LPUART
550	bool "Freescale LPUART support"
551	help
552	  Select this to enable a Low Power UART for Freescale VF610 and
553	  QorIQ Layerscape devices.
554
555config MVEBU_A3700_UART
556	bool "UART support for Armada 3700"
557	default n
558	help
559	  Choose this option to add support for UART driver on the Marvell
560	  Armada 3700 SoC. The base address is configured via DT.
561
562config MCFUART
563	bool "Freescale ColdFire UART support"
564        help
565          Choose this option to add support for UART driver on the ColdFire
566          SoC's family. The serial communication channel provides a full-duplex
567          asynchronous/synchronous receiver and transmitter deriving an
568          operating frequency from the internal bus clock or an external clock.
569
570config MXC_UART
571	bool "IMX serial port support"
572	depends on MX5 || MX6 || MX7 || IMX8M
573	help
574	  If you have a machine based on a Motorola IMX CPU you
575	  can enable its onboard serial port by enabling this option.
576
577config NULLDEV_SERIAL
578	bool "Null serial device"
579	help
580	  Select this to enable null serial device support. A null serial
581	  device merely acts as a placeholder for a serial device and does
582	  nothing for all it's operation.
583
584config PIC32_SERIAL
585	bool "Support for Microchip PIC32 on-chip UART"
586	depends on DM_SERIAL && MACH_PIC32
587	default y
588	help
589	  Support for the UART found on Microchip PIC32 SoC's.
590
591config SYS_NS16550
592	bool "NS16550 UART or compatible"
593	help
594	  Support NS16550 UART or compatible. This can be enabled in the
595	  device tree with the correct input clock frequency. If the input
596	  clock frequency is not defined in the device tree, the macro
597	  CONFIG_SYS_NS16550_CLK defined in a legacy board header file will
598	  be used. It can be a constant or a function to get clock, eg,
599	  get_serial_clock().
600
601config INTEL_MID_SERIAL
602	bool "Intel MID platform UART support"
603	depends on DM_SERIAL && OF_CONTROL
604	depends on INTEL_MID
605	select SYS_NS16550
606	help
607	  Select this to enable a UART for Intel MID platforms.
608	  This uses the ns16550 driver as a library.
609
610config PL010_SERIAL
611	bool "ARM PL010 driver"
612	depends on !DM_SERIAL
613	help
614	  Select this to enable a UART for platforms using PL010.
615
616config PL011_SERIAL
617	bool "ARM PL011 driver"
618	depends on !DM_SERIAL
619	help
620	  Select this to enable a UART for platforms using PL011.
621
622config PL01X_SERIAL
623	bool "ARM PL010 and PL011 driver"
624	depends on DM_SERIAL
625	help
626	  Select this to enable a UART for platforms using PL010 or PL011.
627
628config ROCKCHIP_SERIAL
629	bool "Rockchip on-chip UART support"
630	depends on DM_SERIAL && SPL_OF_PLATDATA
631	help
632	  Select this to enable a debug UART for Rockchip devices when using
633	  CONFIG_SPL_OF_PLATDATA (i.e. a compiled-in device tree replacemenmt).
634	  This uses the ns16550 driver, converting the platdata from of-platdata
635	  to the ns16550 format.
636
637config SANDBOX_SERIAL
638	bool "Sandbox UART support"
639	depends on SANDBOX
640	help
641	  Select this to enable a seral UART for sandbox. This is required to
642	  operate correctly, otherwise you will see no serial output from
643	  sandbox. The emulated UART will display to the console and console
644	  input will be fed into the UART. This allows you to interact with
645	  U-Boot.
646
647	  The operation of the console is controlled by the -t command-line
648	  flag. In raw mode, U-Boot sees all characters from the terminal
649	  before they are processed, including Ctrl-C. In cooked mode, Ctrl-C
650	  is processed by the terminal, and terminates U-Boot. Valid options
651	  are:
652
653	     -t raw-with-sigs	Raw mode, Ctrl-C will terminate U-Boot
654	     -t raw		Raw mode, Ctrl-C is processed by U-Boot
655	     -t cooked		Cooked mode, Ctrl-C terminates
656
657config SCIF_CONSOLE
658	bool "Renesas SCIF UART support"
659	depends on SH || ARCH_RMOBILE
660	help
661	  Select this to enable Renesas SCIF UART. To operate serial ports
662	  on systems with RCar or SH SoCs, say Y to this option. If unsure,
663	  say N.
664
665config UNIPHIER_SERIAL
666	bool "Support for UniPhier on-chip UART"
667	depends on ARCH_UNIPHIER
668	default y
669	help
670	  If you have a UniPhier based board and want to use the on-chip
671	  serial ports, say Y to this option. If unsure, say N.
672
673config XILINX_UARTLITE
674	bool "Xilinx Uarlite support"
675	depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || 4xx)
676	help
677	  If you have a Xilinx based board and want to use the uartlite
678	  serial ports, say Y to this option. If unsure, say N.
679
680config MESON_SERIAL
681	bool "Support for Amlogic Meson UART"
682	depends on DM_SERIAL && ARCH_MESON
683	help
684	  If you have an Amlogic Meson based board and want to use the on-chip
685	  serial ports, say Y to this option. If unsure, say N.
686
687config MSM_SERIAL
688	bool "Qualcomm on-chip UART"
689	depends on DM_SERIAL
690	help
691	  Support Data Mover UART used on Qualcomm Snapdragon SoCs.
692	  It should support all Qualcomm devices with UARTDM version 1.4,
693	  for example APQ8016 and MSM8916.
694	  Single baudrate is supported in current implementation (115200).
695
696config OMAP_SERIAL
697	bool "Support for OMAP specific UART"
698	depends on DM_SERIAL
699	default y if (ARCH_OMAP2PLUS || ARCH_K3)
700	select SYS_NS16550
701	help
702	  If you have an TI based SoC and want to use the on-chip serial
703	  port, say Y to this option. If unsure say N.
704
705config OWL_SERIAL
706	bool "Actions Semi OWL UART"
707	depends on DM_SERIAL && ARCH_OWL
708	help
709	  If you have a Actions Semi OWL based board and want to use the on-chip
710	  serial port, say Y to this option. If unsure, say N.
711	  Single baudrate is supported in current implementation (115200).
712
713config PXA_SERIAL
714	bool "PXA serial port support"
715	help
716	  If you have a machine based on a Marvell XScale PXA2xx CPU you
717	  can enable its onboard serial ports by enabling this option.
718
719config SIFIVE_SERIAL
720	bool "SiFive UART support"
721	depends on DM_SERIAL
722	help
723	  This driver supports the SiFive UART. If unsure say N.
724
725config STI_ASC_SERIAL
726	bool "STMicroelectronics on-chip UART"
727	depends on DM_SERIAL && ARCH_STI
728	help
729	  Select this to enable Asynchronous Serial Controller available
730	  on STiH410 SoC. This is a basic implementation,  it supports
731	  following baudrate 9600, 19200, 38400, 57600 and 115200.
732
733config STM32_SERIAL
734	bool "STMicroelectronics STM32 SoCs on-chip UART"
735	depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7 || ARCH_STM32MP)
736	help
737	  If you have a machine based on a STM32 F4, F7, H7 or MP1 SOC
738	  you can enable its onboard serial ports, say Y to this option.
739	  If unsure, say N.
740
741config ZYNQ_SERIAL
742	bool "Cadence (Xilinx Zynq) UART support"
743	depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_ZYNQMP_R5)
744	help
745	  This driver supports the Cadence UART. It is found e.g. in Xilinx
746	  Zynq/ZynqMP.
747
748config MTK_SERIAL
749	bool "MediaTek High-speed UART support"
750	depends on DM_SERIAL
751	help
752	  Select this to enable UART support for MediaTek High-speed UART
753	  devices. This driver uses driver model and requires a device
754	  tree binding to operate.
755	  The High-speed UART is compatible with the ns16550a UART and have
756	  its own high-speed registers.
757
758config MPC8XX_CONS
759	bool "Console driver for MPC8XX"
760	depends on MPC8xx
761	default y
762
763choice
764	prompt "Console port"
765	default 8xx_CONS_SMC1
766	depends on MPC8XX_CONS
767	help
768	  Depending on board, select one serial port
769	  (CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2)
770
771config 8xx_CONS_SMC1
772	bool "SMC1"
773
774config 8xx_CONS_SMC2
775	bool "SMC2"
776
777endchoice
778
779config SYS_SMC_RXBUFLEN
780	int "Console Rx buffer length"
781	depends on MPC8XX_CONS
782	default 1
783	help
784	  With CONFIG_SYS_SMC_RXBUFLEN it is possible to define
785	  the maximum receive buffer length for the SMC.
786	  This option is actual only for 8xx possible.
787	  If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE
788	  must be defined, to setup the maximum idle timeout for
789	  the SMC.
790
791config SYS_MAXIDLE
792	int "maximum idle timeout"
793	depends on MPC8XX_CONS
794	default 0
795
796config SYS_BRGCLK_PRESCALE
797	int "BRG Clock Prescale"
798	depends on MPC8XX_CONS
799	default 1
800
801config SYS_SDSR
802	hex "SDSR Value"
803	depends on MPC8XX_CONS
804	default 0x83
805
806config SYS_SDMR
807	hex "SDMR Value"
808	depends on MPC8XX_CONS
809	default 0
810
811endmenu
812