2 # Serial device configuration
9 Enable support for serial drivers. This allows use of a serial UART
10 for displaying messages while U-Boot is running. It also brings in
11 printf() and panic() functions. This should normally be enabled
12 unless there are space reasons not to. If you just need to disable
13 the console you can adjust the stdout environment variable or use
19 int "Default baudrate"
22 Select a default baudrate, where "default" has a driver-specific
23 meaning of either setting the baudrate for the early debug UART
24 in the SPL stage (most drivers) or for choosing a default baudrate
25 in the absence of an environment setting (serial_mxc.c).
27 config REQUIRE_SERIAL_CONSOLE
28 bool "Require a serial port for console"
29 # Running without a serial console is not supported by the
34 Require a serial port for the console, and panic if none is found
35 during serial port initialization (default y). Set this to n on
36 boards which have no debug serial port whatsoever.
38 config SPECIFY_CONSOLE_INDEX
39 bool "Specify the port number used for console"
40 default y if !DM_SERIAL || (SPL && !SPL_DM_SERIAL) || \
41 (TPL && !TPL_DM_SERIAL)
43 In various cases, we need to specify which of the UART devices that
44 a board or SoC has available are to be used for the console device
48 bool "Provide a serial driver"
52 In very space-constrained devices even the full UART driver is too
53 large. In this case the debug UART can still be used in some cases.
54 This option enables the full UART in U-Boot, so if is it disabled,
55 the full UART driver will be omitted, thus saving space.
57 config SPL_SERIAL_PRESENT
58 bool "Provide a serial driver in SPL"
59 depends on DM_SERIAL && SPL
62 In very space-constrained devices even the full UART driver is too
63 large. In this case the debug UART can still be used in some cases.
64 This option enables the full UART in SPL, so if is it disabled,
65 the full UART driver will be omitted, thus saving space.
67 config TPL_SERIAL_PRESENT
68 bool "Provide a serial driver in TPL"
69 depends on DM_SERIAL && TPL
72 In very space-constrained devices even the full UART driver is too
73 large. In this case the debug UART can still be used in some cases.
74 This option enables the full UART in TPL, so if is it disabled,
75 the full UART driver will be omitted, thus saving space.
77 # Logic to allow us to use the imply keyword to set what the default port
78 # should be. The default is otherwise 1.
98 int "UART used for console"
99 depends on SPECIFY_CONSOLE_INDEX
101 default 0 if CONS_INDEX_0
102 default 2 if CONS_INDEX_2
103 default 3 if CONS_INDEX_3
104 default 4 if CONS_INDEX_4
105 default 5 if CONS_INDEX_5
106 default 6 if CONS_INDEX_6
109 Set this to match the UART number of the serial console.
112 bool "Enable Driver Model for serial drivers"
116 Enable driver model for serial. This replaces
117 drivers/serial/serial.c with the serial uclass, which
118 implements serial_putc() etc. The uclass interface is
119 defined in include/serial.h.
121 config SERIAL_RX_BUFFER
122 bool "Enable RX buffer for serial input"
125 Enable RX buffer support for the serial driver. This enables
126 pasting longer strings, even when the RX FIFO of the UART is
127 not big enough (e.g. 16 bytes on the normal NS16550).
129 config SERIAL_RX_BUFFER_SIZE
131 depends on SERIAL_RX_BUFFER
134 The size of the RX buffer (needs to be power of 2)
137 bool "Enable printing strings all at once"
140 Some serial drivers are much more efficient when printing multiple
141 characters at once rather than printing characters individually. This
142 can be because they can load a fifo, or because individual print
143 calls have a constant overhead. With this option set, the serial
144 subsystem will try to provide serial drivers with as many characters
145 at once as possible, instead of printing characters one by one. Most
146 serial drivers do not need this config to print efficiently. If
149 config SERIAL_SEARCH_ALL
150 bool "Search for serial devices after default one failed"
153 The serial subsystem only searches for a single serial device
154 that was instantiated, but does not check whether it was probed
155 correctly. With this option set, we make successful probing
156 mandatory and search for fallback serial devices if the default
157 device does not work.
161 config SERIAL_PROBE_ALL
162 bool "Probe all available serial devices"
165 The serial subsystem only probes for a single serial device,
166 but does not probe for other remaining serial devices.
167 With this option set, we make probing and searching for
168 all available devices optional.
169 Normally, U-Boot talks to one serial port at a time, but SBSA
170 compliant UART devices like PL011 require initialization
171 by firmware and to let the kernel use serial port for sending
172 and receiving the characters.
177 bool "Enable Driver Model for serial drivers in SPL"
178 depends on DM_SERIAL && SPL_DM
179 select SYS_SPL_MALLOC_F
182 Enable driver model for serial in SPL. This replaces
183 drivers/serial/serial.c with the serial uclass, which
184 implements serial_putc() etc. The uclass interface is
185 defined in include/serial.h.
188 bool "Enable Driver Model for serial drivers in TPL"
189 depends on DM_SERIAL && TPL_DM
190 select SYS_TPL_MALLOC_F
191 default y if TPL && DM_SERIAL
193 Enable driver model for serial in TPL. This replaces
194 drivers/serial/serial.c with the serial uclass, which
195 implements serial_putc() etc. The uclass interface is
196 defined in include/serial.h.
199 bool "Enable an early debug UART for debugging"
201 The debug UART is intended for use very early in U-Boot to debug
202 problems when an ICE or other debug mechanism is not available.
204 To use it you should:
205 - Make sure your UART supports this interface
206 - Enable CONFIG_DEBUG_UART
207 - Enable the CONFIG for your UART to tell it to provide this interface
208 (e.g. CONFIG_DEBUG_UART_NS16550)
209 - Define the required settings as needed (see below)
210 - Call debug_uart_init() before use
211 - Call debug_uart_putc() to output a character
213 Depending on your platform it may be possible to use this UART before
214 a stack is available.
216 If your UART does not support this interface you can probably add
217 support quite easily. Remember that you cannot use driver model and
218 it is preferred to use no stack.
220 You must not use this UART once driver model is working and the
221 serial drivers are up and running (done in serial_init()). Otherwise
222 the drivers may conflict and you will get strange output.
225 prompt "Select which UART will provide the debug UART"
226 depends on DEBUG_UART
227 default DEBUG_UART_NS16550
229 config DEBUG_UART_ALTERA_JTAGUART
230 bool "Altera JTAG UART"
231 depends on ALTERA_JTAG_UART
233 Select this to enable a debug UART using the altera_jtag_uart driver.
234 You will need to provide parameters to make this work. The driver will
235 be available until the real driver model serial is running.
237 config DEBUG_UART_ALTERA_UART
239 depends on ALTERA_UART
241 Select this to enable a debug UART using the altera_uart driver.
242 You will need to provide parameters to make this work. The driver will
243 be available until the real driver model serial is running.
245 config DEBUG_UART_AR933X
246 bool "QCA/Atheros ar933x"
247 depends on AR933X_UART
249 Select this to enable a debug UART using the ar933x uart driver.
250 You will need to provide parameters to make this work. The
251 driver will be available until the real driver model serial is
254 config DEBUG_ARC_SERIAL
256 depends on ARC_SERIAL
258 Select this to enable a debug UART using the ARC UART driver.
259 You will need to provide parameters to make this work. The
260 driver will be available until the real driver model serial is
263 config DEBUG_UART_ATMEL
265 depends on ATMEL_USART
267 Select this to enable a debug UART using the atmel usart driver. You
268 will need to provide parameters to make this work. The driver will
269 be available until the real driver-model serial is running.
271 config DEBUG_UART_BCM6345
273 depends on BCM6345_SERIAL
275 Select this to enable a debug UART on BCM6345 SoCs. You
276 will need to provide parameters to make this work. The driver will
277 be available until the real driver model serial is running.
279 config DEBUG_UART_NS16550
281 depends on SYS_NS16550
283 Select this to enable a debug UART using the ns16550 driver. You
284 will need to provide parameters to make this work. The driver will
285 be available until the real driver model serial is running.
287 config DEBUG_EFI_CONSOLE
291 Select this to enable a debug console which calls back to EFI to
292 output to the console. This can be useful for early debugging of
293 U-Boot when running on top of EFI (Extensive Firmware Interface).
294 This is a type of BIOS used by PCs.
296 config DEBUG_SBI_CONSOLE
300 Select this to enable a debug console which calls back to SBI to
301 output to the console. This can be useful for early debugging of
302 U-Boot when running on top of SBI (Supervisor Binary Interface).
304 config DEBUG_UART_S5P
306 depends on ARCH_APPLE || ARCH_EXYNOS || ARCH_S5PC1XX
308 Select this to enable a debug UART using the serial_s5p driver. You
309 will need to provide parameters to make this work. The driver will
310 be available until the real driver-model serial is running.
312 config DEBUG_UART_MSM_GENI
313 bool "Qualcomm snapdragon"
314 depends on ARCH_SNAPDRAGON
316 Select this to enable a debug UART using the serial_msm driver. You
317 will need to provide parameters to make this work. The driver will
318 be available until the real driver-model serial is running.
320 config DEBUG_UART_MESON
322 depends on MESON_SERIAL
324 Select this to enable a debug UART using the serial_meson driver. You
325 will need to provide parameters to make this work. The driver will
326 be available until the real driver-model serial is running.
328 config DEBUG_UART_UARTLITE
329 bool "Xilinx Uartlite"
330 depends on XILINX_UARTLITE
332 Select this to enable a debug UART using the serial_uartlite driver.
333 You will need to provide parameters to make this work. The driver will
334 be available until the real driver-model serial is running.
336 config DEBUG_UART_ARM_DCC
340 Select this to enable a debug UART using the ARM JTAG DCC port.
341 The DCC port can be used for very early debugging and doesn't require
342 any additional setting like address/baudrate/clock. On systems without
343 any serial interface this is the easiest way how to get console.
344 Every ARM core has own DCC port which is the part of debug interface.
345 This port is available at least on ARMv6, ARMv7, ARMv8 and XScale
348 config DEBUG_MVEBU_A3700_UART
349 bool "Marvell Armada 3700"
350 depends on MVEBU_A3700_UART
352 Select this to enable a debug UART using the serial_mvebu driver. You
353 will need to provide parameters to make this work. The driver will
354 be available until the real driver-model serial is running.
356 config DEBUG_UART_ZYNQ
358 depends on ZYNQ_SERIAL
360 Select this to enable a debug UART using the serial_zynq driver. You
361 will need to provide parameters to make this work. The driver will
362 be available until the real driver-model serial is running.
364 config DEBUG_UART_APBUART
366 bool "Gaisler APBUART"
368 Select this to enable a debug UART using the serial_leon3 driver. You
369 will need to provide parameters to make this work. The driver will
370 be available until the real driver model serial is running.
372 config DEBUG_UART_PL010
374 depends on PL01X_SERIAL
376 Select this to enable a debug UART using the pl01x driver with the
377 PL010 UART type. You will need to provide parameters to make this
378 work. The driver will be available until the real driver model
381 config DEBUG_UART_PL011
383 depends on PL01X_SERIAL || PL011_SERIAL
385 Select this to enable a debug UART using the pl01x driver with the
386 PL011 UART type. You will need to provide parameters to make this
387 work. The driver will be available until the real driver model
390 config DEBUG_UART_PIC32
391 bool "Microchip PIC32"
392 depends on PIC32_SERIAL
394 Select this to enable a debug UART using the serial_pic32 driver. You
395 will need to provide parameters to make this work. The driver will
396 be available until the real driver model serial is running.
398 config DEBUG_UART_MXC
399 bool "IMX Serial port"
402 Select this to enable a debug UART using the serial_mxc driver. You
403 will need to provide parameters to make this work. The driver will
404 be available until the real driver model serial is running.
406 config DEBUG_UART_SANDBOX
408 depends on SANDBOX_SERIAL
410 Select this to enable the debug UART using the sandbox driver. This
411 provides basic serial output from the console without needing to
412 start up driver model. The driver will be available until the real
413 driver model serial is running.
415 config DEBUG_UART_SEMIHOSTING
417 depends on SEMIHOSTING_SERIAL
419 Select this to enable the debug UART using the semihosting driver.
420 This provides basic serial output from the console without needing to
421 start up driver model. The driver will be available until the real
422 driver model serial is running.
424 config DEBUG_UART_SIFIVE
426 depends on SIFIVE_SERIAL
428 Select this to enable a debug UART using the serial_sifive driver. You
429 will need to provide parameters to make this work. The driver will
430 be available until the real driver-model serial is running.
432 config DEBUG_UART_STM32
433 bool "STMicroelectronics STM32"
434 depends on STM32_SERIAL
436 Select this to enable a debug UART using the serial_stm32 driver
437 You will need to provide parameters to make this work.
438 The driver will be available until the real driver model
441 config DEBUG_UART_UNIPHIER
442 bool "UniPhier on-chip UART"
443 depends on ARCH_UNIPHIER
445 Select this to enable a debug UART using the UniPhier on-chip UART.
446 You will need to provide DEBUG_UART_BASE to make this work. The
447 driver will be available until the real driver-model serial is
450 config DEBUG_UART_OMAP
452 depends on OMAP_SERIAL
454 Select this to enable a debug UART using the omap ns16550 driver.
455 You will need to provide parameters to make this work. The driver
456 will be available until the real driver model serial is running.
458 config DEBUG_UART_MTK
459 bool "MediaTek High-speed UART"
460 depends on MTK_SERIAL
462 Select this to enable a debug UART using the MediaTek High-speed
464 You will need to provide parameters to make this work. The
465 driver will be available until the real driver model serial is
468 config DEBUG_UART_MT7620
469 bool "UART driver for MediaTek MT7620 and earlier SoCs"
470 depends on MT7620_SERIAL
472 Select this to enable a debug UART using the UART driver for
473 MediaTek MT7620 and earlier SoCs.
474 You will need to provide parameters to make this work. The
475 driver will be available until the real driver model serial is
480 config DEBUG_UART_BASE
481 hex "Base address of UART"
482 depends on DEBUG_UART
483 default 0 if DEBUG_SBI_CONSOLE
484 default 0 if DEBUG_UART_SANDBOX
486 This is the base address of your UART for memory-mapped UARTs.
488 A default should be provided by your board, but if not you will need
489 to use the correct value here.
491 config DEBUG_UART_CLOCK
492 int "UART input clock"
493 depends on DEBUG_UART
494 default 0 if DEBUG_SBI_CONSOLE
495 default 0 if DEBUG_UART_SANDBOX
496 default 0 if DEBUG_MVEBU_A3700_UART
498 The UART input clock determines the speed of the internal UART
499 circuitry. The baud rate is derived from this by dividing the input
502 A default should be provided by your board, but if not you will need
503 to use the correct value here.
505 config DEBUG_UART_SHIFT
506 int "UART register shift"
507 depends on DEBUG_UART
508 default 0 if DEBUG_UART
510 Some UARTs (notably ns16550) support different register layouts
511 where the registers are spaced either as bytes, words or some other
512 value. Use this value to specify the shift to use, where 0=byte
513 registers, 2=32-bit word registers, etc.
515 config DEBUG_UART_BOARD_INIT
516 bool "Enable board-specific debug UART init"
517 depends on DEBUG_UART
519 Some boards need to set things up before the debug UART can be used.
520 On these boards a call to debug_uart_init() is insufficient. When
521 this option is enabled, the function board_debug_uart_init() will
522 be called when debug_uart_init() is called. You can put any code
523 here that is needed to set up the UART ready for use, such as set
524 pin multiplexing or enable clocks.
526 config DEBUG_UART_ANNOUNCE
527 bool "Show a message when the debug UART starts up"
528 depends on DEBUG_UART
530 Enable this option to show a message when the debug UART is ready
531 for use. You will see a message like "<debug_uart> " as soon as
532 U-Boot has the UART ready for use (i.e. your code calls
533 debug_uart_init()). This can be useful just as a check that
534 everything is working.
536 config DEBUG_UART_SKIP_INIT
537 bool "Skip UART initialization"
538 depends on DEBUG_UART
540 Select this if the UART you want to use for debug output is already
541 initialized by the time U-Boot starts its execution.
543 config DEBUG_UART_NS16550_CHECK_ENABLED
544 bool "Check if UART is enabled on output"
545 depends on DEBUG_UART
546 depends on DEBUG_UART_NS16550
548 Select this if puts()/putc() might be called before the debug UART
549 has been initialized. If this is disabled, putc() might sit in a
550 tight loop if it is called before debug_uart_init() has been called.
552 Note that this does not work for every ns16550-compatible UART and
553 so has to be enabled carefully or you might notice lost characters.
555 config ALTERA_JTAG_UART
556 bool "Altera JTAG UART support"
559 Select this to enable an JTAG UART for Altera devices.The JTAG UART
560 core implements a method to communicate serial character streams
561 between a host PC and a Qsys system on an Altera FPGA. Please find
562 details on the "Embedded Peripherals IP User Guide" of Altera.
564 config ALTERA_JTAG_UART_BYPASS
565 bool "Bypass output when no connection"
566 depends on ALTERA_JTAG_UART
568 Bypass console output and keep going even if there is no JTAG
569 terminal connection with the host. The console output will resume
570 once the JTAG terminal is connected. Without the bypass, the console
571 output will wait forever until a JTAG terminal is connected. If you
575 bool "Altera UART support"
578 Select this to enable an UART for Altera devices. Please find
579 details on the "Embedded Peripherals IP User Guide" of Altera.
582 bool "QCA/Atheros ar933x UART support"
583 depends on DM_SERIAL && SOC_AR933X
585 Select this to enable UART support for QCA/Atheros ar933x
586 devices. This driver uses driver model and requires a device
587 tree binding to operate, please refer to the document at
588 doc/device-tree-bindings/serial/qca,ar9330-uart.txt.
591 bool "ARC UART support"
594 Select this to enable support for ARC UART now typically
595 only used in Synopsys DesignWare ARC simulators like nSIM.
598 bool "ARM Debug Communication Channel (DCC) as UART support"
601 Select this to enable using the ARM DCC as a form of UART.
604 bool "Atmel USART support"
606 Select this to enable USART support for Atmel SoCs. It can be
607 configured in the device tree, and input clock frequency can
608 be got from the clk node.
610 config SPL_UART_CLOCK
611 int "SPL fixed UART input clock"
612 depends on ATMEL_USART && SPL && !SPL_CLK
613 default 132096000 if ARCH_AT91
615 Provide a fixed clock value as input to the UART controller. This
616 might be needed on platforms which can't enable CONFIG_SPL_CLK
617 because of SPL image size restrictions.
619 config BCM283X_MU_SERIAL
620 bool "Support for BCM283x Mini-UART"
621 depends on DM_SERIAL && ARCH_BCM283X
624 Select this to enable Mini-UART support on BCM283X family of SoCs.
626 config BCM283X_PL011_SERIAL
627 bool "Support for BCM283x PL011 UART"
628 depends on PL01X_SERIAL && ARCH_BCM283X
631 Select this to enable an overriding PL011 driver for BCM283X SoCs
632 that supports automatic disable, so that it only gets used when
633 the UART is actually muxed.
635 config BCM6345_SERIAL
636 bool "Support for BCM6345 UART"
639 Select this to enable UART on BCM6345 SoCs.
641 config COREBOOT_SERIAL
642 bool "Coreboot UART support"
644 default y if SYS_COREBOOT
647 Select this to enable a ns16550-style UART where the platform data
648 comes from the coreboot 'sysinfo' tables. This allows U-Boot to have
649 a serial console on any platform without needing to change the
653 bool "Cortina UART support"
656 Select this to enable UART support for Cortina-Access UART devices
657 found on CAxxxx SoCs.
659 config FSL_LINFLEXUART
660 bool "Freescale Linflex UART support"
663 Select this to enable the Linflex serial module found on some
664 NXP SoCs like S32V234.
667 bool "Freescale LPUART support"
669 Select this to enable a Low Power UART for Freescale VF610 and
670 QorIQ Layerscape devices.
673 bool "Use the LPUART as console"
674 depends on FSL_LPUART
676 config MVEBU_A3700_UART
677 bool "UART support for Armada 3700"
679 Choose this option to add support for UART driver on the Marvell
680 Armada 3700 SoC. The base address is configured via DT.
683 bool "Freescale ColdFire UART support"
685 Choose this option to add support for UART driver on the ColdFire
686 SoC's family. The serial communication channel provides a full-duplex
687 asynchronous/synchronous receiver and transmitter deriving an
688 operating frequency from the internal bus clock or an external clock.
691 bool "IMX serial port support"
692 depends on ARCH_MX31 || MX5 || MX6 || MX7 || IMX8M
694 If you have a machine based on a Motorola IMX CPU you
695 can enable its onboard serial port by enabling this option.
697 config NULLDEV_SERIAL
698 bool "Null serial device"
700 Select this to enable null serial device support. A null serial
701 device merely acts as a placeholder for a serial device and does
702 nothing for all it's operation.
705 bool "Support for Microchip PIC32 on-chip UART"
706 depends on DM_SERIAL && MACH_PIC32
709 Support for the UART found on Microchip PIC32 SoC's.
712 bool "NS16550 UART or compatible"
714 Support NS16550 UART or compatible. This can be enabled in the
715 device tree with the correct input clock frequency. If the input
716 clock frequency is not defined in the device tree, the macro
717 CONFIG_SYS_NS16550_CLK defined in a legacy board header file will
718 be used. It can be a constant or a function to get clock, eg,
721 config NS16550_DYNAMIC
722 bool "Allow NS16550 to be configured at runtime"
723 default y if SYS_COREBOOT || SYS_SLIMBOOTLOADER
725 Enable this option to allow device-tree control of the driver.
727 Normally this driver is controlled by the following options:
729 CONFIG_SYS_NS16550_PORT_MAPPED - indicates that port I/O is used for
730 access. If not enabled, then the UART is memory-mapped.
731 CONFIG_SYS_NS16550_MEM32 - if memory-mapped, indicates that 32-bit
732 access should be used (instead of 8-bit)
733 CONFIG_SYS_NS16550_REG_SIZE - indicates register width and also
734 endianness. If positive, big-endian access is used. If negative,
735 little-endian is used.
737 It is not a good practice for a driver to be statically configured,
738 since it prevents the same driver being used for different types of
739 UARTs in a system. This option avoids this problem at the cost of a
740 slightly increased code size.
742 config INTEL_MID_SERIAL
743 bool "Intel MID platform UART support"
744 depends on DM_SERIAL && OF_CONTROL
748 Select this to enable a UART for Intel MID platforms.
749 This uses the ns16550 driver as a library.
752 bool "ARM PL011 driver"
753 depends on !DM_SERIAL
755 Select this to enable a UART for platforms using PL011.
758 bool "ARM PL010 and PL011 driver"
761 Select this to enable a UART for platforms using PL010 or PL011.
763 config ROCKCHIP_SERIAL
764 bool "Rockchip on-chip UART support"
765 depends on DM_SERIAL && SPL_OF_PLATDATA
767 Select this to enable a debug UART for Rockchip devices when using
768 CONFIG_SPL_OF_PLATDATA (i.e. a compiled-in device tree replacemenmt).
769 This uses the ns16550 driver, converting the platdata from of-platdata
770 to the ns16550 format.
773 bool "Support for Samsung S5P UART"
774 depends on ARCH_APPLE || ARCH_EXYNOS || ARCH_S5PC1XX
777 Select this to enable Samsung S5P UART support.
779 config SANDBOX_SERIAL
780 bool "Sandbox UART support"
784 Select this to enable a seral UART for sandbox. This is required to
785 operate correctly, otherwise you will see no serial output from
786 sandbox. The emulated UART will display to the console and console
787 input will be fed into the UART. This allows you to interact with
790 The operation of the console is controlled by the -t command-line
791 flag. In raw mode, U-Boot sees all characters from the terminal
792 before they are processed, including Ctrl-C. In cooked mode, Ctrl-C
793 is processed by the terminal, and terminates U-Boot. Valid options
796 -t raw-with-sigs Raw mode, Ctrl-C will terminate U-Boot
797 -t raw Raw mode, Ctrl-C is processed by U-Boot
798 -t cooked Cooked mode, Ctrl-C terminates
801 bool "Renesas SCIF UART support"
802 depends on SH || ARCH_RMOBILE
804 Select this to enable Renesas SCIF UART. To operate serial ports
805 on systems with RCar or SH SoCs, say Y to this option. If unsure,
809 prompt "SCIF console port"
810 depends on SCIF_CONSOLE && (!DM_SERIAL || (SPL && !SPL_DM_SERIAL))
829 config SH_SCIF_CLK_FREQ
830 int "SCIF console clock frequency"
831 depends on SCIF_CONSOLE && (!DM_SERIAL || (SPL && !SPL_DM_SERIAL))
834 config SEMIHOSTING_SERIAL
835 bool "Semihosting UART support"
836 depends on SEMIHOSTING && !SERIAL_RX_BUFFER
839 Select this to enable a serial UART using semihosting. Special halt
840 instructions will be issued which an external debugger (such as a
841 JTAG emulator) may interpret. The debugger will display U-Boot's
842 console output on the host system.
844 Enable this option only if you are using a debugger which supports
845 semihosting. If you are not using a debugger, this driver will halt
848 config UNIPHIER_SERIAL
849 bool "Support for UniPhier on-chip UART"
850 depends on ARCH_UNIPHIER
853 If you have a UniPhier based board and want to use the on-chip
854 serial ports, say Y to this option. If unsure, say N.
856 config XILINX_UARTLITE
857 bool "Xilinx Uarlite support"
860 If you have a Xilinx based board and want to use the uartlite
861 serial ports, say Y to this option. If unsure, say N.
864 bool "Support for Amlogic Meson UART"
865 depends on DM_SERIAL && ARCH_MESON
867 If you have an Amlogic Meson based board and want to use the on-chip
868 serial ports, say Y to this option. If unsure, say N.
871 bool "Qualcomm on-chip UART"
874 Support Data Mover UART used on Qualcomm Snapdragon SoCs.
875 It should support all Qualcomm devices with UARTDM version 1.4,
876 for example APQ8016 and MSM8916.
877 Single baudrate is supported in current implementation (115200).
879 config MSM_GENI_SERIAL
880 bool "Qualcomm on-chip GENI UART"
882 Support UART based on Generic Interface (GENI) Serial Engine (SE),
883 used on Qualcomm Snapdragon SoCs. Should support all qualcomm SOCs
884 with Qualcomm Universal Peripheral (QUP) Wrapper cores,
885 i.e. newer ones, starting from SDM845.
886 Driver works in FIFO mode.
887 Multiple baudrates supported.
889 config OCTEON_SERIAL_BOOTCMD
890 bool "MIPS Octeon PCI remote bootcmd input"
891 depends on ARCH_OCTEON
896 This driver supports remote input over the PCIe bus from a host
897 to U-Boot for entering commands. It is utilized by the host
898 commands 'oct-remote-load' and 'oct-remote-bootcmd'.
900 config OCTEON_SERIAL_PCIE_CONSOLE
901 bool "MIPS Octeon PCIe remote console"
902 depends on ARCH_OCTEON
903 depends on (DM_SERIAL && DM_STDIO)
904 select SYS_STDIO_DEREGISTER
905 select SYS_CONSOLE_IS_IN_ENV
908 This driver supports remote console over the PCIe bus when the
909 Octeon is running in PCIe target mode. The host program
910 'oct-remote-console' can be used to connect to this console.
911 The console number will likely be 0 or 1.
914 bool "Support for OMAP specific UART"
916 default y if (ARCH_OMAP2PLUS || ARCH_K3)
919 If you have an TI based SoC and want to use the on-chip serial
920 port, say Y to this option. If unsure say N.
923 bool "Actions Semi OWL UART"
924 depends on DM_SERIAL && ARCH_OWL
926 If you have a Actions Semi OWL based board and want to use the on-chip
927 serial port, say Y to this option. If unsure, say N.
928 Single baudrate is supported in current implementation (115200).
931 bool "PXA serial port support"
933 If you have a machine based on a Marvell XScale PXA2xx CPU you
934 can enable its onboard serial ports by enabling this option.
937 bool "RISC-V HTIF console support"
938 depends on DM_SERIAL && 64BIT
940 Select this to enable host transfer interface (HTIF) based serial
941 console. The HTIF device is quite common in RISC-V emulators and
942 RISC-V ISS so this driver allows using U-Boot on such platforms.
945 bool "SiFive UART support"
948 This driver supports the SiFive UART. If unsure say N.
950 config STI_ASC_SERIAL
951 bool "STMicroelectronics on-chip UART"
952 depends on DM_SERIAL && ARCH_STI
954 Select this to enable Asynchronous Serial Controller available
955 on STiH410 SoC. This is a basic implementation, it supports
956 following baudrate 9600, 19200, 38400, 57600 and 115200.
959 bool "STMicroelectronics STM32 SoCs on-chip UART"
960 depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7 || ARCH_STM32MP)
962 If you have a machine based on a STM32 F4, F7, H7 or MP1 SOC
963 you can enable its onboard serial ports, say Y to this option.
967 bool "Cadence (Xilinx Zynq) UART support"
970 This driver supports the Cadence UART. It is found e.g. in Xilinx
974 bool "MediaTek High-speed UART support"
977 Select this to enable UART support for MediaTek High-speed UART
978 devices. This driver uses driver model and requires a device
979 tree binding to operate.
980 The High-speed UART is compatible with the ns16550a UART and have
981 its own high-speed registers.
984 bool "UART driver for MediaTek MT7620 and earlier SoCs"
987 Select this to enable UART support for MediaTek MT7620 and earlier
988 SoCs. This driver uses driver model and requires a device tree
990 The UART driver for MediaTek MT7620 and earlier SoCs is *NOT*
991 compatible with the ns16550a UART.
994 bool "Console driver for MPC8XX"
999 bool "XEN serial support"
1002 If built without DM support, then requires Xen
1003 to be built with CONFIG_VERBOSE_DEBUG.
1006 prompt "Console port"
1007 default 8xx_CONS_SMC1
1008 depends on MPC8XX_CONS
1010 Depending on board, select one serial port
1011 (CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2)
1013 config 8xx_CONS_SMC1
1016 config 8xx_CONS_SMC2
1021 config SYS_SMC_RXBUFLEN
1022 int "Console Rx buffer length"
1023 depends on MPC8XX_CONS
1026 With CONFIG_SYS_SMC_RXBUFLEN it is possible to define
1027 the maximum receive buffer length for the SMC.
1028 This option is actual only for 8xx possible.
1029 If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE
1030 must be defined, to setup the maximum idle timeout for
1034 int "maximum idle timeout"
1035 depends on MPC8XX_CONS
1038 config SYS_BRGCLK_PRESCALE
1039 int "BRG Clock Prescale"
1040 depends on MPC8XX_CONS
1045 depends on MPC8XX_CONS
1050 depends on MPC8XX_CONS