]> Git Repo - J-u-boot.git/blame - drivers/serial/Kconfig
test: serial: Add test for putc/puts
[J-u-boot.git] / drivers / serial / Kconfig
CommitLineData
0b11dbf7
MY
1#
2# Serial device configuration
3#
4
52510486
SG
5menuconfig SERIAL
6 bool "Serial"
7 default y
8 help
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
14 SILENT_CONSOLE.
15
16if SERIAL
0b11dbf7 17
f40574e2
PT
18config BAUDRATE
19 int "Default baudrate"
20 default 115200
21 help
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).
26
8c458588
HG
27config REQUIRE_SERIAL_CONSOLE
28 bool "Require a serial port for console"
29 # Running without a serial console is not supported by the
30 # non-dm serial code
31 depends on DM_SERIAL
32 default y
33 help
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.
37
6f6b7cfa
TR
38config 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)
42 help
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
45 in U-Boot.
46
92c55b68
SG
47config SERIAL_PRESENT
48 bool "Provide a serial driver"
49 depends on DM_SERIAL
50 default y
51 help
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.
56
57config SPL_SERIAL_PRESENT
58 bool "Provide a serial driver in SPL"
a074667d 59 depends on DM_SERIAL && SPL
92c55b68
SG
60 default y
61 help
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.
66
aa0ffe8e
SG
67config TPL_SERIAL_PRESENT
68 bool "Provide a serial driver in TPL"
a074667d 69 depends on DM_SERIAL && TPL
aa0ffe8e
SG
70 default y
71 help
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.
76
6f6b7cfa
TR
77# Logic to allow us to use the imply keyword to set what the default port
78# should be. The default is otherwise 1.
79config CONS_INDEX_0
80 bool
81
82config CONS_INDEX_2
83 bool
84
85config CONS_INDEX_3
86 bool
87
88config CONS_INDEX_4
89 bool
90
91config CONS_INDEX_5
92 bool
93
94config CONS_INDEX_6
95 bool
96
7095f864
MJ
97config CONS_INDEX
98 int "UART used for console"
6f6b7cfa
TR
99 depends on SPECIFY_CONSOLE_INDEX
100 range 0 6
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
7095f864
MJ
107 default 1
108 help
6f6b7cfa 109 Set this to match the UART number of the serial console.
7095f864 110
da333ae7
MY
111config DM_SERIAL
112 bool "Enable Driver Model for serial drivers"
113 depends on DM
327bb3bc 114 select SYS_MALLOC_F
da333ae7 115 help
f94a1bed
SG
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.
ff247b7a 120
3ca7a06a
SR
121config SERIAL_RX_BUFFER
122 bool "Enable RX buffer for serial input"
123 depends on DM_SERIAL
124 help
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).
128
129config SERIAL_RX_BUFFER_SIZE
130 int "RX buffer size"
131 depends on SERIAL_RX_BUFFER
132 default 256
133 help
134 The size of the RX buffer (needs to be power of 2)
135
7a763471
SA
136config SERIAL_PUTS
137 bool "Enable printing strings all at once"
138 depends on DM_SERIAL
139 help
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
147 unsure, say N.
148
ae5326a6
AG
149config SERIAL_SEARCH_ALL
150 bool "Search for serial devices after default one failed"
151 depends on DM_SERIAL
152 help
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.
158
159 If unsure, say N.
67b2ed02
VS
160
161config SERIAL_PROBE_ALL
162 bool "Probe all available serial devices"
163 depends on DM_SERIAL
67b2ed02
VS
164 help
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.
173
174 If unsure, say N.
ae5326a6 175
891f7ae6 176config SPL_DM_SERIAL
0424990c 177 bool "Enable Driver Model for serial drivers in SPL"
6f6b7cfa 178 depends on DM_SERIAL && SPL_DM
327bb3bc 179 select SYS_SPL_MALLOC_F
6f6b7cfa 180 default y
891f7ae6
SG
181 help
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.
186
187config TPL_DM_SERIAL
0424990c 188 bool "Enable Driver Model for serial drivers in TPL"
6920f00c 189 depends on DM_SERIAL && TPL_DM
327bb3bc 190 select SYS_TPL_MALLOC_F
891f7ae6
SG
191 default y if TPL && DM_SERIAL
192 help
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.
197
2f964aa7
SG
198config DEBUG_UART
199 bool "Enable an early debug UART for debugging"
200 help
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.
203
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
212
213 Depending on your platform it may be possible to use this UART before
214 a stack is available.
215
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.
219
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.
223
21d00436
SG
224choice
225 prompt "Select which UART will provide the debug UART"
226 depends on DEBUG_UART
b1e361b6 227 default DEBUG_UART_NS16550
21d00436 228
220e8021
TC
229config DEBUG_UART_ALTERA_JTAGUART
230 bool "Altera JTAG UART"
4cc24aea 231 depends on ALTERA_JTAG_UART
220e8021
TC
232 help
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.
236
da2f838d
TC
237config DEBUG_UART_ALTERA_UART
238 bool "Altera UART"
4cc24aea 239 depends on ALTERA_UART
da2f838d
TC
240 help
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.
244
60b49761
WW
245config DEBUG_UART_AR933X
246 bool "QCA/Atheros ar933x"
247 depends on AR933X_UART
248 help
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
252 running.
253
54705016
AB
254config DEBUG_ARC_SERIAL
255 bool "ARC UART"
256 depends on ARC_SERIAL
257 help
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
261 running.
262
998cf3c2
WY
263config DEBUG_UART_ATMEL
264 bool "Atmel USART"
4cc24aea 265 depends on ATMEL_USART
998cf3c2
WY
266 help
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.
270
30581040
ÁFR
271config DEBUG_UART_BCM6345
272 bool "BCM6345 UART"
273 depends on BCM6345_SERIAL
274 help
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.
278
21d00436
SG
279config DEBUG_UART_NS16550
280 bool "ns16550"
4cc24aea 281 depends on SYS_NS16550
21d00436
SG
282 help
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.
286
275854ba
SG
287config DEBUG_EFI_CONSOLE
288 bool "EFI"
289 depends on EFI_APP
290 help
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.
295
41f7be73
SH
296config DEBUG_SBI_CONSOLE
297 bool "SBI"
298 depends on SBI_V01
299 help
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).
303
bf6e7022
SG
304config DEBUG_UART_S5P
305 bool "Samsung S5P"
d520e1fb 306 depends on ARCH_APPLE || ARCH_EXYNOS || ARCH_S5PC1XX
bf6e7022
SG
307 help
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.
311
324df15a
DS
312config DEBUG_UART_MSM_GENI
313 bool "Qualcomm snapdragon"
314 depends on ARCH_SNAPDRAGON
315 help
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.
319
bfcef28a
BG
320config DEBUG_UART_MESON
321 bool "Amlogic Meson"
322 depends on MESON_SERIAL
323 help
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.
327
4166ba3b
MS
328config DEBUG_UART_UARTLITE
329 bool "Xilinx Uartlite"
4cc24aea 330 depends on XILINX_UARTLITE
4166ba3b
MS
331 help
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.
335
966bfa73
MS
336config DEBUG_UART_ARM_DCC
337 bool "ARM DCC"
4cc24aea 338 depends on ARM_DCC
966bfa73
MS
339 help
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
346 architectures.
347
6985d496
SR
348config DEBUG_MVEBU_A3700_UART
349 bool "Marvell Armada 3700"
4cc24aea 350 depends on MVEBU_A3700_UART
6985d496
SR
351 help
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.
355
c54c0a4c
SG
356config DEBUG_UART_ZYNQ
357 bool "Xilinx Zynq"
4cc24aea 358 depends on ZYNQ_SERIAL
c54c0a4c 359 help
6bf87dac 360 Select this to enable a debug UART using the serial_zynq driver. You
c54c0a4c
SG
361 will need to provide parameters to make this work. The driver will
362 be available until the real driver-model serial is running.
363
e43ce3fc
FR
364config DEBUG_UART_APBUART
365 depends on LEON3
366 bool "Gaisler APBUART"
367 help
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.
371
19de8150
ST
372config DEBUG_UART_PL010
373 bool "pl010"
bc08dc56 374 depends on PL01X_SERIAL
19de8150
ST
375 help
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
379 serial is running.
380
381config DEBUG_UART_PL011
382 bool "pl011"
5e9d2833 383 depends on PL01X_SERIAL || PL011_SERIAL
19de8150
ST
384 help
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
388 serial is running.
389
9e160ee8
PT
390config DEBUG_UART_PIC32
391 bool "Microchip PIC32"
392 depends on PIC32_SERIAL
393 help
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.
397
61366b71
JT
398config DEBUG_UART_MXC
399 bool "IMX Serial port"
400 depends on MXC_UART
401 help
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.
405
ee441764
SG
406config DEBUG_UART_SANDBOX
407 bool "sandbox"
408 depends on SANDBOX_SERIAL
409 help
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.
414
74d11d37
SA
415config DEBUG_UART_SEMIHOSTING
416 bool "semihosting"
417 depends on SEMIHOSTING_SERIAL
418 help
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.
423
e2842496
AP
424config DEBUG_UART_SIFIVE
425 bool "SiFive UART"
27b4a4ab 426 depends on SIFIVE_SERIAL
e2842496
AP
427 help
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.
431
215c8bed
PD
432config DEBUG_UART_STM32
433 bool "STMicroelectronics STM32"
434 depends on STM32_SERIAL
435 help
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
439 serial is running.
440
d5cf3297
MY
441config DEBUG_UART_UNIPHIER
442 bool "UniPhier on-chip UART"
443 depends on ARCH_UNIPHIER
444 help
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
448 running.
449
a52cf086
LV
450config DEBUG_UART_OMAP
451 bool "OMAP uart"
4cc24aea 452 depends on OMAP_SERIAL
a52cf086
LV
453 help
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.
457
849b1160
RL
458config DEBUG_UART_MTK
459 bool "MediaTek High-speed UART"
460 depends on MTK_SERIAL
461 help
462 Select this to enable a debug UART using the MediaTek High-speed
463 UART driver.
464 You will need to provide parameters to make this work. The
465 driver will be available until the real driver model serial is
466 running.
467
2161f1fc
WG
468config DEBUG_UART_MT7620
469 bool "UART driver for MediaTek MT7620 and earlier SoCs"
470 depends on MT7620_SERIAL
471 help
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
476 running.
477
21d00436
SG
478endchoice
479
2f964aa7
SG
480config DEBUG_UART_BASE
481 hex "Base address of UART"
467591b8 482 depends on DEBUG_UART
41f7be73 483 default 0 if DEBUG_SBI_CONSOLE
ee441764 484 default 0 if DEBUG_UART_SANDBOX
2f964aa7
SG
485 help
486 This is the base address of your UART for memory-mapped UARTs.
487
488 A default should be provided by your board, but if not you will need
489 to use the correct value here.
490
491config DEBUG_UART_CLOCK
492 int "UART input clock"
467591b8 493 depends on DEBUG_UART
41f7be73 494 default 0 if DEBUG_SBI_CONSOLE
ee441764 495 default 0 if DEBUG_UART_SANDBOX
4a8ad584 496 default 0 if DEBUG_MVEBU_A3700_UART
2f964aa7
SG
497 help
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
500 clock down.
501
502 A default should be provided by your board, but if not you will need
503 to use the correct value here.
504
dd0b0122
SG
505config DEBUG_UART_SHIFT
506 int "UART register shift"
467591b8 507 depends on DEBUG_UART
dd0b0122
SG
508 default 0 if DEBUG_UART
509 help
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.
514
0e977bc1
SG
515config DEBUG_UART_BOARD_INIT
516 bool "Enable board-specific debug UART init"
517 depends on DEBUG_UART
518 help
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.
525
c7fefcb9
SG
526config DEBUG_UART_ANNOUNCE
527 bool "Show a message when the debug UART starts up"
528 depends on DEBUG_UART
529 help
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.
535
19de8150
ST
536config DEBUG_UART_SKIP_INIT
537 bool "Skip UART initialization"
7828e3cf 538 depends on DEBUG_UART
19de8150
ST
539 help
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.
542
c4448bdc
SG
543config 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
547 help
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.
551
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.
554
220e8021
TC
555config ALTERA_JTAG_UART
556 bool "Altera JTAG UART support"
557 depends on DM_SERIAL
558 help
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.
563
564config ALTERA_JTAG_UART_BYPASS
565 bool "Bypass output when no connection"
566 depends on ALTERA_JTAG_UART
567 help
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
572 not are sure, say Y.
573
da2f838d
TC
574config ALTERA_UART
575 bool "Altera UART support"
576 depends on DM_SERIAL
577 help
578 Select this to enable an UART for Altera devices. Please find
579 details on the "Embedded Peripherals IP User Guide" of Altera.
580
60b49761
WW
581config AR933X_UART
582 bool "QCA/Atheros ar933x UART support"
583 depends on DM_SERIAL && SOC_AR933X
584 help
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.
589
d7ac185f
AB
590config ARC_SERIAL
591 bool "ARC UART support"
592 depends on DM_SERIAL
593 help
594 Select this to enable support for ARC UART now typically
595 only used in Synopsys DesignWare ARC simulators like nSIM.
596
c2a38411
TR
597config ARM_DCC
598 bool "ARM Debug Communication Channel (DCC) as UART support"
599 depends on ARM
600 help
601 Select this to enable using the ARM DCC as a form of UART.
602
6ec739aa
WY
603config ATMEL_USART
604 bool "Atmel USART support"
605 help
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.
609
e567dfb2
SR
610config SPL_UART_CLOCK
611 int "SPL fixed UART input clock"
612 depends on ATMEL_USART && SPL && !SPL_CLK
613 default 132096000 if ARCH_AT91
614 help
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.
618
fa487594
AG
619config BCM283X_MU_SERIAL
620 bool "Support for BCM283x Mini-UART"
621 depends on DM_SERIAL && ARCH_BCM283X
622 default y
623 help
624 Select this to enable Mini-UART support on BCM283X family of SoCs.
625
6001985f
AG
626config BCM283X_PL011_SERIAL
627 bool "Support for BCM283x PL011 UART"
628 depends on PL01X_SERIAL && ARCH_BCM283X
629 default y
630 help
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.
634
30581040
ÁFR
635config BCM6345_SERIAL
636 bool "Support for BCM6345 UART"
e9e8d80d 637 depends on DM_SERIAL
30581040
ÁFR
638 help
639 Select this to enable UART on BCM6345 SoCs.
640
44482e8a
SG
641config COREBOOT_SERIAL
642 bool "Coreboot UART support"
643 depends on DM_SERIAL
644 default y if SYS_COREBOOT
645 select SYS_NS16550
646 help
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
650 device tree, etc.
651
0de653d8
JL
652config CORTINA_UART
653 bool "Cortina UART support"
654 depends on DM_SERIAL
655 help
656 Select this to enable UART support for Cortina-Access UART devices
657 found on CAxxxx SoCs.
658
fac379e1
TT
659config FSL_LINFLEXUART
660 bool "Freescale Linflex UART support"
661 depends on DM_SERIAL
662 help
663 Select this to enable the Linflex serial module found on some
664 NXP SoCs like S32V234.
665
5ed07cf5
BM
666config FSL_LPUART
667 bool "Freescale LPUART support"
668 help
669 Select this to enable a Low Power UART for Freescale VF610 and
670 QorIQ Layerscape devices.
671
db48e525
TR
672config LPUART
673 bool "Use the LPUART as console"
674 depends on FSL_LPUART
675
6985d496
SR
676config MVEBU_A3700_UART
677 bool "UART support for Armada 3700"
6985d496
SR
678 help
679 Choose this option to add support for UART driver on the Marvell
680 Armada 3700 SoC. The base address is configured via DT.
681
461ea079
AD
682config MCFUART
683 bool "Freescale ColdFire UART support"
684 help
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.
689
8829e662
JT
690config MXC_UART
691 bool "IMX serial port support"
8ba59608 692 depends on ARCH_MX31 || MX5 || MX6 || MX7 || IMX8M
8829e662
JT
693 help
694 If you have a machine based on a Motorola IMX CPU you
695 can enable its onboard serial port by enabling this option.
696
cac73f20
KSC
697config NULLDEV_SERIAL
698 bool "Null serial device"
699 help
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.
703
9e160ee8
PT
704config PIC32_SERIAL
705 bool "Support for Microchip PIC32 on-chip UART"
706 depends on DM_SERIAL && MACH_PIC32
707 default y
708 help
709 Support for the UART found on Microchip PIC32 SoC's.
710
9e39003e
TC
711config SYS_NS16550
712 bool "NS16550 UART or compatible"
713 help
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,
719 get_serial_clock().
720
62cbde4c
SG
721config NS16550_DYNAMIC
722 bool "Allow NS16550 to be configured at runtime"
723 default y if SYS_COREBOOT || SYS_SLIMBOOTLOADER
724 help
725 Enable this option to allow device-tree control of the driver.
726
727 Normally this driver is controlled by the following options:
728
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.
736
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.
741
c5f8dd48
AS
742config INTEL_MID_SERIAL
743 bool "Intel MID platform UART support"
744 depends on DM_SERIAL && OF_CONTROL
745 depends on INTEL_MID
746 select SYS_NS16550
747 help
748 Select this to enable a UART for Intel MID platforms.
749 This uses the ns16550 driver as a library.
750
d10fc50f
AG
751config PL011_SERIAL
752 bool "ARM PL011 driver"
753 depends on !DM_SERIAL
754 help
755 Select this to enable a UART for platforms using PL011.
756
cf2c7784
AG
757config PL01X_SERIAL
758 bool "ARM PL010 and PL011 driver"
759 depends on DM_SERIAL
760 help
761 Select this to enable a UART for platforms using PL010 or PL011.
762
2fc24d53
SG
763config ROCKCHIP_SERIAL
764 bool "Rockchip on-chip UART support"
765 depends on DM_SERIAL && SPL_OF_PLATDATA
766 help
767 Select this to enable a debug UART for Rockchip devices when using
7f73ca48 768 CONFIG_SPL_OF_PLATDATA (i.e. a compiled-in device tree replacemenmt).
2fc24d53
SG
769 This uses the ns16550 driver, converting the platdata from of-platdata
770 to the ns16550 format.
771
0d9ff95c
MK
772config S5P_SERIAL
773 bool "Support for Samsung S5P UART"
d520e1fb 774 depends on ARCH_APPLE || ARCH_EXYNOS || ARCH_S5PC1XX
0d9ff95c
MK
775 default y
776 help
777 Select this to enable Samsung S5P UART support.
778
af282245
SG
779config SANDBOX_SERIAL
780 bool "Sandbox UART support"
2ea65f3e 781 depends on SANDBOX
efa51f2b 782 imply SERIAL_PUTS
af282245
SG
783 help
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
788 U-Boot.
789
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
794 are:
795
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
799
03a38a39
MV
800config SCIF_CONSOLE
801 bool "Renesas SCIF UART support"
802 depends on SH || ARCH_RMOBILE
803 help
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,
806 say N.
807
f9f3209a
TR
808choice
809 prompt "SCIF console port"
810 depends on SCIF_CONSOLE && (!DM_SERIAL || (SPL && !SPL_DM_SERIAL))
811
812config CONS_SCIF0
813 bool "SCIF0"
814
815config CONS_SCIF1
816 bool "SCIF1"
817
818config CONS_SCIF2
819 bool "SCIF2"
820
821config CONS_SCIF4
822 bool "SCIF4"
823
824config CONS_SCIFA0
825 bool "SCIFA0"
826
827endchoice
828
5d14c336
TR
829config SH_SCIF_CLK_FREQ
830 int "SCIF console clock frequency"
831 depends on SCIF_CONSOLE && (!DM_SERIAL || (SPL && !SPL_DM_SERIAL))
832 default 65000000
833
74d11d37
SA
834config SEMIHOSTING_SERIAL
835 bool "Semihosting UART support"
836 depends on SEMIHOSTING && !SERIAL_RX_BUFFER
837 help
838 Select this to enable a serial UART using semihosting. Special halt
839 instructions will be issued which an external debugger (such as a
840 JTAG emulator) may interpret. The debugger will display U-Boot's
841 console output on the host system.
842
843 Enable this option only if you are using a debugger which supports
844 semihosting. If you are not using a debugger, this driver will halt
845 the boot.
846
ff247b7a 847config UNIPHIER_SERIAL
b6ef3a3f 848 bool "Support for UniPhier on-chip UART"
2ea65f3e 849 depends on ARCH_UNIPHIER
85dc2fe1 850 default y
ff247b7a 851 help
b6ef3a3f
MY
852 If you have a UniPhier based board and want to use the on-chip
853 serial ports, say Y to this option. If unsure, say N.
dcfe4a54 854
54e24d33
MS
855config XILINX_UARTLITE
856 bool "Xilinx Uarlite support"
54fdef24 857 depends on DM_SERIAL
54e24d33
MS
858 help
859 If you have a Xilinx based board and want to use the uartlite
860 serial ports, say Y to this option. If unsure, say N.
861
bfcef28a
BG
862config MESON_SERIAL
863 bool "Support for Amlogic Meson UART"
864 depends on DM_SERIAL && ARCH_MESON
865 help
866 If you have an Amlogic Meson based board and want to use the on-chip
867 serial ports, say Y to this option. If unsure, say N.
868
142a20c3
MK
869config MSM_SERIAL
870 bool "Qualcomm on-chip UART"
871 depends on DM_SERIAL
872 help
873 Support Data Mover UART used on Qualcomm Snapdragon SoCs.
874 It should support all Qualcomm devices with UARTDM version 1.4,
875 for example APQ8016 and MSM8916.
876 Single baudrate is supported in current implementation (115200).
6985d496 877
324df15a
DS
878config MSM_GENI_SERIAL
879 bool "Qualcomm on-chip GENI UART"
880 help
881 Support UART based on Generic Interface (GENI) Serial Engine (SE),
882 used on Qualcomm Snapdragon SoCs. Should support all qualcomm SOCs
883 with Qualcomm Universal Peripheral (QUP) Wrapper cores,
884 i.e. newer ones, starting from SDM845.
885 Driver works in FIFO mode.
886 Multiple baudrates supported.
887
f1054661
SR
888config OCTEON_SERIAL_BOOTCMD
889 bool "MIPS Octeon PCI remote bootcmd input"
890 depends on ARCH_OCTEON
891 depends on DM_SERIAL
892 select SYS_IS_IN_ENV
893 select CONSOLE_MUX
894 help
895 This driver supports remote input over the PCIe bus from a host
896 to U-Boot for entering commands. It is utilized by the host
897 commands 'oct-remote-load' and 'oct-remote-bootcmd'.
898
4dead10d
SR
899config OCTEON_SERIAL_PCIE_CONSOLE
900 bool "MIPS Octeon PCIe remote console"
901 depends on ARCH_OCTEON
902 depends on (DM_SERIAL && DM_STDIO)
903 select SYS_STDIO_DEREGISTER
904 select SYS_CONSOLE_IS_IN_ENV
905 select CONSOLE_MUX
906 help
907 This driver supports remote console over the PCIe bus when the
908 Octeon is running in PCIe target mode. The host program
909 'oct-remote-console' can be used to connect to this console.
910 The console number will likely be 0 or 1.
911
5d754197
LV
912config OMAP_SERIAL
913 bool "Support for OMAP specific UART"
914 depends on DM_SERIAL
586bde93 915 default y if (ARCH_OMAP2PLUS || ARCH_K3)
5d754197
LV
916 select SYS_NS16550
917 help
918 If you have an TI based SoC and want to use the on-chip serial
919 port, say Y to this option. If unsure say N.
920
6f9347f3
MS
921config OWL_SERIAL
922 bool "Actions Semi OWL UART"
923 depends on DM_SERIAL && ARCH_OWL
924 help
925 If you have a Actions Semi OWL based board and want to use the on-chip
926 serial port, say Y to this option. If unsure, say N.
927 Single baudrate is supported in current implementation (115200).
928
d804a5e1
MZ
929config PXA_SERIAL
930 bool "PXA serial port support"
931 help
932 If you have a machine based on a Marvell XScale PXA2xx CPU you
933 can enable its onboard serial ports by enabling this option.
934
d6ba787e
AP
935config HTIF_CONSOLE
936 bool "RISC-V HTIF console support"
937 depends on DM_SERIAL && 64BIT
938 help
939 Select this to enable host transfer interface (HTIF) based serial
940 console. The HTIF device is quite common in RISC-V emulators and
941 RISC-V ISS so this driver allows using U-Boot on such platforms.
942
e2842496
AP
943config SIFIVE_SERIAL
944 bool "SiFive UART support"
945 depends on DM_SERIAL
946 help
947 This driver supports the SiFive UART. If unsure say N.
948
214a17e6
PC
949config STI_ASC_SERIAL
950 bool "STMicroelectronics on-chip UART"
951 depends on DM_SERIAL && ARCH_STI
952 help
953 Select this to enable Asynchronous Serial Controller available
954 on STiH410 SoC. This is a basic implementation, it supports
955 following baudrate 9600, 19200, 38400, 57600 and 115200.
956
ae74de0d 957config STM32_SERIAL
84e9dcc1 958 bool "STMicroelectronics STM32 SoCs on-chip UART"
2514c2d0 959 depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7 || ARCH_STM32MP)
84e9dcc1 960 help
2514c2d0
PD
961 If you have a machine based on a STM32 F4, F7, H7 or MP1 SOC
962 you can enable its onboard serial ports, say Y to this option.
776b2ddb 963 If unsure, say N.
84e9dcc1 964
809704eb
MS
965config ZYNQ_SERIAL
966 bool "Cadence (Xilinx Zynq) UART support"
54fdef24 967 depends on DM_SERIAL
809704eb
MS
968 help
969 This driver supports the Cadence UART. It is found e.g. in Xilinx
970 Zynq/ZynqMP.
971
849b1160
RL
972config MTK_SERIAL
973 bool "MediaTek High-speed UART support"
974 depends on DM_SERIAL
975 help
976 Select this to enable UART support for MediaTek High-speed UART
977 devices. This driver uses driver model and requires a device
978 tree binding to operate.
979 The High-speed UART is compatible with the ns16550a UART and have
980 its own high-speed registers.
981
2161f1fc
WG
982config MT7620_SERIAL
983 bool "UART driver for MediaTek MT7620 and earlier SoCs"
984 depends on DM_SERIAL
985 help
986 Select this to enable UART support for MediaTek MT7620 and earlier
987 SoCs. This driver uses driver model and requires a device tree
988 binding to operate.
989 The UART driver for MediaTek MT7620 and earlier SoCs is *NOT*
990 compatible with the ns16550a UART.
991
dd7ff472
CL
992config MPC8XX_CONS
993 bool "Console driver for MPC8XX"
ee1e600c 994 depends on MPC8xx
dd7ff472
CL
995 default y
996
384d5cfe
PF
997config XEN_SERIAL
998 bool "XEN serial support"
999 depends on XEN
1000 help
1001 If built without DM support, then requires Xen
1002 to be built with CONFIG_VERBOSE_DEBUG.
1003
dd7ff472
CL
1004choice
1005 prompt "Console port"
1006 default 8xx_CONS_SMC1
1007 depends on MPC8XX_CONS
1008 help
1009 Depending on board, select one serial port
1010 (CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2)
1011
1012config 8xx_CONS_SMC1
1013 bool "SMC1"
1014
1015config 8xx_CONS_SMC2
1016 bool "SMC2"
1017
1018endchoice
1019
1020config SYS_SMC_RXBUFLEN
1021 int "Console Rx buffer length"
1022 depends on MPC8XX_CONS
1023 default 1
1024 help
1025 With CONFIG_SYS_SMC_RXBUFLEN it is possible to define
1026 the maximum receive buffer length for the SMC.
1027 This option is actual only for 8xx possible.
1028 If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE
1029 must be defined, to setup the maximum idle timeout for
1030 the SMC.
1031
1032config SYS_MAXIDLE
1033 int "maximum idle timeout"
1034 depends on MPC8XX_CONS
1035 default 0
1036
1037config SYS_BRGCLK_PRESCALE
1038 int "BRG Clock Prescale"
1039 depends on MPC8XX_CONS
1040 default 1
1041
1042config SYS_SDSR
1043 hex "SDSR Value"
1044 depends on MPC8XX_CONS
1045 default 0x83
1046
1047config SYS_SDMR
1048 hex "SDMR Value"
1049 depends on MPC8XX_CONS
1050 default 0
1051
52510486 1052endif
This page took 0.536091 seconds and 4 git commands to generate.