Merge branch 'master' of git://git.denx.de/u-boot-sh
[platform/kernel/u-boot.git] / drivers / serial / Kconfig
1 #
2 # Serial device configuration
3 #
4
5 menu "Serial drivers"
6
7 config 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
16 config 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
27 config 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
36 config 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
46 config SPL_SERIAL_PRESENT
47         bool "Provide a serial driver in SPL"
48         depends on DM_SERIAL
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
56 config TPL_SERIAL_PRESENT
57         bool "Provide a serial driver in TPL"
58         depends on DM_SERIAL
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.
68 config CONS_INDEX_0
69         bool
70
71 config CONS_INDEX_2
72         bool
73
74 config CONS_INDEX_3
75         bool
76
77 config CONS_INDEX_4
78         bool
79
80 config CONS_INDEX_5
81         bool
82
83 config CONS_INDEX_6
84         bool
85
86 config 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
100 config 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
109 config 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
117 config 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
124 config 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
136 config 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
146 config TPL_DM_SERIAL
147         bool "Enable Driver Model for serial drivers in TPL"
148         depends on DM_SERIAL
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
156 config 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
182 choice
183         prompt "Select which UART will provide the debug UART"
184         depends on DEBUG_UART
185         default DEBUG_UART_NS16550
186
187 config 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
194 config 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
201 config 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
210 config 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
219 config 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
226 config 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
234 config 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
241 config 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
250 config 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
257 config 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
265 config 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
272 config 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
283 config 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
290 config 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
297 config 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
305 config 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
313 config 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
321 config 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
329 config 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
337 config 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
346 config 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
353 config 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
362 config 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
371 config 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
378 config 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
388 endchoice
389
390 config 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
400 config 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
412 config 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
422 config 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
433 config 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
443 config 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
450 config 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
462 config 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
471 config 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
481 config 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
488 config 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
497 config 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
504 config 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
511 config 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
520 config 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
527 config 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
536 config 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
542 config 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
549 config 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
555 config 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
562 config 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
570 config MXC_UART
571         bool "IMX serial port support"
572         depends on MX5 || MX6
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
577 config 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
584 config 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
591 config 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
601 config 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
610 config 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
616 config 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
622 config 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
628 config 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
637 config 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
657 config 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
665 config 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
673 config 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
680 config 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
687 config 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
696 config 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
705 config 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
713 config 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
719 config 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
725 config 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
733 config 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
741 config 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
748 config 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
758 config MPC8XX_CONS
759         bool "Console driver for MPC8XX"
760         depends on MPC8xx
761         default y
762
763 choice
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
771 config 8xx_CONS_SMC1
772         bool "SMC1"
773
774 config 8xx_CONS_SMC2
775         bool "SMC2"
776
777 endchoice
778
779 config 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
791 config SYS_MAXIDLE
792         int "maximum idle timeout"
793         depends on MPC8XX_CONS
794         default 0
795
796 config SYS_BRGCLK_PRESCALE
797         int "BRG Clock Prescale"
798         depends on MPC8XX_CONS
799         default 1
800
801 config SYS_SDSR
802         hex "SDSR Value"
803         depends on MPC8XX_CONS
804         default 0x83
805
806 config SYS_SDMR
807         hex "SDMR Value"
808         depends on MPC8XX_CONS
809         default 0
810
811 endmenu