]>
Commit | Line | Data |
---|---|---|
0b11dbf7 MY |
1 | # |
2 | # Serial device configuration | |
3 | # | |
4 | ||
52510486 SG |
5 | menuconfig 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 | ||
16 | if SERIAL | |
0b11dbf7 | 17 | |
f40574e2 PT |
18 | config 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 |
27 | config 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 |
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) | |
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 |
47 | config 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 | ||
57 | config 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 |
67 | config 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 | ||
747093dd SG |
77 | config VPL_SERIAL_PRESENT |
78 | bool "Provide a serial driver in VPL" | |
79 | depends on DM_SERIAL && VPL | |
80 | default y | |
81 | help | |
82 | In very space-constrained devices even the full UART driver is too | |
83 | large. In this case the debug UART can still be used in some cases. | |
84 | This option enables the full UART in TPL, so if is it disabled, | |
85 | the full UART driver will be omitted, thus saving space. | |
86 | ||
7095f864 MJ |
87 | config CONS_INDEX |
88 | int "UART used for console" | |
6f6b7cfa TR |
89 | depends on SPECIFY_CONSOLE_INDEX |
90 | range 0 6 | |
7095f864 MJ |
91 | default 1 |
92 | help | |
6f6b7cfa | 93 | Set this to match the UART number of the serial console. |
7095f864 | 94 | |
da333ae7 MY |
95 | config DM_SERIAL |
96 | bool "Enable Driver Model for serial drivers" | |
97 | depends on DM | |
327bb3bc | 98 | select SYS_MALLOC_F |
da333ae7 | 99 | help |
f94a1bed SG |
100 | Enable driver model for serial. This replaces |
101 | drivers/serial/serial.c with the serial uclass, which | |
102 | implements serial_putc() etc. The uclass interface is | |
103 | defined in include/serial.h. | |
ff247b7a | 104 | |
3ca7a06a SR |
105 | config SERIAL_RX_BUFFER |
106 | bool "Enable RX buffer for serial input" | |
107 | depends on DM_SERIAL | |
108 | help | |
109 | Enable RX buffer support for the serial driver. This enables | |
110 | pasting longer strings, even when the RX FIFO of the UART is | |
111 | not big enough (e.g. 16 bytes on the normal NS16550). | |
112 | ||
113 | config SERIAL_RX_BUFFER_SIZE | |
114 | int "RX buffer size" | |
115 | depends on SERIAL_RX_BUFFER | |
116 | default 256 | |
117 | help | |
118 | The size of the RX buffer (needs to be power of 2) | |
119 | ||
7a763471 SA |
120 | config SERIAL_PUTS |
121 | bool "Enable printing strings all at once" | |
122 | depends on DM_SERIAL | |
123 | help | |
124 | Some serial drivers are much more efficient when printing multiple | |
125 | characters at once rather than printing characters individually. This | |
126 | can be because they can load a fifo, or because individual print | |
127 | calls have a constant overhead. With this option set, the serial | |
128 | subsystem will try to provide serial drivers with as many characters | |
129 | at once as possible, instead of printing characters one by one. Most | |
130 | serial drivers do not need this config to print efficiently. If | |
131 | unsure, say N. | |
132 | ||
ae5326a6 AG |
133 | config SERIAL_SEARCH_ALL |
134 | bool "Search for serial devices after default one failed" | |
135 | depends on DM_SERIAL | |
136 | help | |
137 | The serial subsystem only searches for a single serial device | |
138 | that was instantiated, but does not check whether it was probed | |
139 | correctly. With this option set, we make successful probing | |
140 | mandatory and search for fallback serial devices if the default | |
141 | device does not work. | |
142 | ||
143 | If unsure, say N. | |
67b2ed02 VS |
144 | |
145 | config SERIAL_PROBE_ALL | |
146 | bool "Probe all available serial devices" | |
147 | depends on DM_SERIAL | |
67b2ed02 VS |
148 | help |
149 | The serial subsystem only probes for a single serial device, | |
150 | but does not probe for other remaining serial devices. | |
151 | With this option set, we make probing and searching for | |
152 | all available devices optional. | |
153 | Normally, U-Boot talks to one serial port at a time, but SBSA | |
154 | compliant UART devices like PL011 require initialization | |
155 | by firmware and to let the kernel use serial port for sending | |
156 | and receiving the characters. | |
157 | ||
158 | If unsure, say N. | |
ae5326a6 | 159 | |
891f7ae6 | 160 | config SPL_DM_SERIAL |
0424990c | 161 | bool "Enable Driver Model for serial drivers in SPL" |
6f6b7cfa | 162 | depends on DM_SERIAL && SPL_DM |
327bb3bc | 163 | select SYS_SPL_MALLOC_F |
6f6b7cfa | 164 | default y |
891f7ae6 SG |
165 | help |
166 | Enable driver model for serial in SPL. This replaces | |
167 | drivers/serial/serial.c with the serial uclass, which | |
168 | implements serial_putc() etc. The uclass interface is | |
169 | defined in include/serial.h. | |
170 | ||
171 | config TPL_DM_SERIAL | |
0424990c | 172 | bool "Enable Driver Model for serial drivers in TPL" |
6920f00c | 173 | depends on DM_SERIAL && TPL_DM |
327bb3bc | 174 | select SYS_TPL_MALLOC_F |
891f7ae6 SG |
175 | default y if TPL && DM_SERIAL |
176 | help | |
177 | Enable driver model for serial in TPL. This replaces | |
178 | drivers/serial/serial.c with the serial uclass, which | |
179 | implements serial_putc() etc. The uclass interface is | |
180 | defined in include/serial.h. | |
181 | ||
747093dd SG |
182 | config VPL_DM_SERIAL |
183 | bool "Enable Driver Model for serial drivers in VPL" | |
184 | depends on DM_SERIAL | |
185 | default y if VPL && DM_SERIAL | |
186 | help | |
187 | Enable driver model for serial in VPL. This replaces | |
188 | drivers/serial/serial.c with the serial uclass, which | |
189 | implements serial_putc() etc. The uclass interface is | |
190 | defined in include/serial.h. | |
191 | ||
2f964aa7 SG |
192 | config DEBUG_UART |
193 | bool "Enable an early debug UART for debugging" | |
194 | help | |
195 | The debug UART is intended for use very early in U-Boot to debug | |
196 | problems when an ICE or other debug mechanism is not available. | |
197 | ||
198 | To use it you should: | |
199 | - Make sure your UART supports this interface | |
200 | - Enable CONFIG_DEBUG_UART | |
201 | - Enable the CONFIG for your UART to tell it to provide this interface | |
202 | (e.g. CONFIG_DEBUG_UART_NS16550) | |
203 | - Define the required settings as needed (see below) | |
204 | - Call debug_uart_init() before use | |
205 | - Call debug_uart_putc() to output a character | |
206 | ||
207 | Depending on your platform it may be possible to use this UART before | |
208 | a stack is available. | |
209 | ||
210 | If your UART does not support this interface you can probably add | |
211 | support quite easily. Remember that you cannot use driver model and | |
212 | it is preferred to use no stack. | |
213 | ||
214 | You must not use this UART once driver model is working and the | |
215 | serial drivers are up and running (done in serial_init()). Otherwise | |
216 | the drivers may conflict and you will get strange output. | |
217 | ||
21d00436 SG |
218 | choice |
219 | prompt "Select which UART will provide the debug UART" | |
220 | depends on DEBUG_UART | |
b1e361b6 | 221 | default DEBUG_UART_NS16550 |
21d00436 | 222 | |
220e8021 TC |
223 | config DEBUG_UART_ALTERA_JTAGUART |
224 | bool "Altera JTAG UART" | |
4cc24aea | 225 | depends on ALTERA_JTAG_UART |
220e8021 TC |
226 | help |
227 | Select this to enable a debug UART using the altera_jtag_uart driver. | |
228 | You will need to provide parameters to make this work. The driver will | |
229 | be available until the real driver model serial is running. | |
230 | ||
da2f838d TC |
231 | config DEBUG_UART_ALTERA_UART |
232 | bool "Altera UART" | |
4cc24aea | 233 | depends on ALTERA_UART |
da2f838d TC |
234 | help |
235 | Select this to enable a debug UART using the altera_uart driver. | |
236 | You will need to provide parameters to make this work. The driver will | |
237 | be available until the real driver model serial is running. | |
238 | ||
60b49761 WW |
239 | config DEBUG_UART_AR933X |
240 | bool "QCA/Atheros ar933x" | |
241 | depends on AR933X_UART | |
242 | help | |
243 | Select this to enable a debug UART using the ar933x uart driver. | |
244 | You will need to provide parameters to make this work. The | |
245 | driver will be available until the real driver model serial is | |
246 | running. | |
247 | ||
54705016 AB |
248 | config DEBUG_ARC_SERIAL |
249 | bool "ARC UART" | |
250 | depends on ARC_SERIAL | |
251 | help | |
252 | Select this to enable a debug UART using the ARC UART driver. | |
253 | You will need to provide parameters to make this work. The | |
254 | driver will be available until the real driver model serial is | |
255 | running. | |
256 | ||
998cf3c2 WY |
257 | config DEBUG_UART_ATMEL |
258 | bool "Atmel USART" | |
4cc24aea | 259 | depends on ATMEL_USART |
998cf3c2 WY |
260 | help |
261 | Select this to enable a debug UART using the atmel usart 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 | ||
30581040 ÁFR |
265 | config DEBUG_UART_BCM6345 |
266 | bool "BCM6345 UART" | |
267 | depends on BCM6345_SERIAL | |
268 | help | |
269 | Select this to enable a debug UART on BCM6345 SoCs. You | |
270 | will need to provide parameters to make this work. The driver will | |
271 | be available until the real driver model serial is running. | |
272 | ||
21d00436 SG |
273 | config DEBUG_UART_NS16550 |
274 | bool "ns16550" | |
4cc24aea | 275 | depends on SYS_NS16550 |
21d00436 SG |
276 | help |
277 | Select this to enable a debug UART using the ns16550 driver. You | |
278 | will need to provide parameters to make this work. The driver will | |
279 | be available until the real driver model serial is running. | |
280 | ||
275854ba SG |
281 | config DEBUG_EFI_CONSOLE |
282 | bool "EFI" | |
283 | depends on EFI_APP | |
284 | help | |
285 | Select this to enable a debug console which calls back to EFI to | |
286 | output to the console. This can be useful for early debugging of | |
287 | U-Boot when running on top of EFI (Extensive Firmware Interface). | |
288 | This is a type of BIOS used by PCs. | |
289 | ||
41f7be73 SH |
290 | config DEBUG_SBI_CONSOLE |
291 | bool "SBI" | |
292 | depends on SBI_V01 | |
293 | help | |
294 | Select this to enable a debug console which calls back to SBI to | |
295 | output to the console. This can be useful for early debugging of | |
296 | U-Boot when running on top of SBI (Supervisor Binary Interface). | |
297 | ||
bf6e7022 SG |
298 | config DEBUG_UART_S5P |
299 | bool "Samsung S5P" | |
d520e1fb | 300 | depends on ARCH_APPLE || ARCH_EXYNOS || ARCH_S5PC1XX |
bf6e7022 SG |
301 | help |
302 | Select this to enable a debug UART using the serial_s5p driver. You | |
303 | will need to provide parameters to make this work. The driver will | |
304 | be available until the real driver-model serial is running. | |
305 | ||
324df15a DS |
306 | config DEBUG_UART_MSM_GENI |
307 | bool "Qualcomm snapdragon" | |
308 | depends on ARCH_SNAPDRAGON | |
309 | help | |
310 | Select this to enable a debug UART using the serial_msm driver. You | |
311 | will need to provide parameters to make this work. The driver will | |
312 | be available until the real driver-model serial is running. | |
313 | ||
bfcef28a BG |
314 | config DEBUG_UART_MESON |
315 | bool "Amlogic Meson" | |
316 | depends on MESON_SERIAL | |
317 | help | |
318 | Select this to enable a debug UART using the serial_meson driver. You | |
319 | will need to provide parameters to make this work. The driver will | |
320 | be available until the real driver-model serial is running. | |
321 | ||
4166ba3b MS |
322 | config DEBUG_UART_UARTLITE |
323 | bool "Xilinx Uartlite" | |
4cc24aea | 324 | depends on XILINX_UARTLITE |
4166ba3b MS |
325 | help |
326 | Select this to enable a debug UART using the serial_uartlite driver. | |
327 | You will need to provide parameters to make this work. The driver will | |
328 | be available until the real driver-model serial is running. | |
329 | ||
966bfa73 MS |
330 | config DEBUG_UART_ARM_DCC |
331 | bool "ARM DCC" | |
4cc24aea | 332 | depends on ARM_DCC |
966bfa73 MS |
333 | help |
334 | Select this to enable a debug UART using the ARM JTAG DCC port. | |
335 | The DCC port can be used for very early debugging and doesn't require | |
336 | any additional setting like address/baudrate/clock. On systems without | |
337 | any serial interface this is the easiest way how to get console. | |
338 | Every ARM core has own DCC port which is the part of debug interface. | |
339 | This port is available at least on ARMv6, ARMv7, ARMv8 and XScale | |
340 | architectures. | |
341 | ||
6985d496 SR |
342 | config DEBUG_MVEBU_A3700_UART |
343 | bool "Marvell Armada 3700" | |
4cc24aea | 344 | depends on MVEBU_A3700_UART |
6985d496 SR |
345 | help |
346 | Select this to enable a debug UART using the serial_mvebu driver. You | |
347 | will need to provide parameters to make this work. The driver will | |
348 | be available until the real driver-model serial is running. | |
349 | ||
c54c0a4c SG |
350 | config DEBUG_UART_ZYNQ |
351 | bool "Xilinx Zynq" | |
4cc24aea | 352 | depends on ZYNQ_SERIAL |
c54c0a4c | 353 | help |
6bf87dac | 354 | Select this to enable a debug UART using the serial_zynq driver. You |
c54c0a4c SG |
355 | will need to provide parameters to make this work. The driver will |
356 | be available until the real driver-model serial is running. | |
357 | ||
e43ce3fc FR |
358 | config DEBUG_UART_APBUART |
359 | depends on LEON3 | |
360 | bool "Gaisler APBUART" | |
361 | help | |
362 | Select this to enable a debug UART using the serial_leon3 driver. You | |
363 | will need to provide parameters to make this work. The driver will | |
364 | be available until the real driver model serial is running. | |
365 | ||
19de8150 ST |
366 | config DEBUG_UART_PL010 |
367 | bool "pl010" | |
bc08dc56 | 368 | depends on PL01X_SERIAL |
19de8150 ST |
369 | help |
370 | Select this to enable a debug UART using the pl01x driver with the | |
371 | PL010 UART type. You will need to provide parameters to make this | |
372 | work. The driver will be available until the real driver model | |
373 | serial is running. | |
374 | ||
375 | config DEBUG_UART_PL011 | |
376 | bool "pl011" | |
5e9d2833 | 377 | depends on PL01X_SERIAL || PL011_SERIAL |
19de8150 ST |
378 | help |
379 | Select this to enable a debug UART using the pl01x driver with the | |
380 | PL011 UART type. You will need to provide parameters to make this | |
381 | work. The driver will be available until the real driver model | |
382 | serial is running. | |
383 | ||
9e160ee8 PT |
384 | config DEBUG_UART_PIC32 |
385 | bool "Microchip PIC32" | |
386 | depends on PIC32_SERIAL | |
387 | help | |
388 | Select this to enable a debug UART using the serial_pic32 driver. You | |
389 | will need to provide parameters to make this work. The driver will | |
390 | be available until the real driver model serial is running. | |
391 | ||
61366b71 JT |
392 | config DEBUG_UART_MXC |
393 | bool "IMX Serial port" | |
394 | depends on MXC_UART | |
395 | help | |
396 | Select this to enable a debug UART using the serial_mxc driver. You | |
397 | will need to provide parameters to make this work. The driver will | |
398 | be available until the real driver model serial is running. | |
399 | ||
ee441764 SG |
400 | config DEBUG_UART_SANDBOX |
401 | bool "sandbox" | |
402 | depends on SANDBOX_SERIAL | |
403 | help | |
404 | Select this to enable the debug UART using the sandbox driver. This | |
405 | provides basic serial output from the console without needing to | |
406 | start up driver model. The driver will be available until the real | |
407 | driver model serial is running. | |
408 | ||
74d11d37 SA |
409 | config DEBUG_UART_SEMIHOSTING |
410 | bool "semihosting" | |
411 | depends on SEMIHOSTING_SERIAL | |
412 | help | |
413 | Select this to enable the debug UART using the semihosting driver. | |
414 | This provides basic serial output from the console without needing to | |
415 | start up driver model. The driver will be available until the real | |
416 | driver model serial is running. | |
417 | ||
836d1bff MV |
418 | config DEBUG_UART_SCIF |
419 | bool "Renesas SCIF UART" | |
420 | depends on SH || ARCH_RMOBILE | |
421 | help | |
422 | Select this to enable a debug UART using the serial_sh driver. You | |
423 | will need to provide parameters to make this work. The driver will | |
424 | be available until the real driver-model serial is running. | |
425 | ||
e2842496 AP |
426 | config DEBUG_UART_SIFIVE |
427 | bool "SiFive UART" | |
27b4a4ab | 428 | depends on SIFIVE_SERIAL |
e2842496 AP |
429 | help |
430 | Select this to enable a debug UART using the serial_sifive driver. You | |
431 | will need to provide parameters to make this work. The driver will | |
432 | be available until the real driver-model serial is running. | |
433 | ||
215c8bed PD |
434 | config DEBUG_UART_STM32 |
435 | bool "STMicroelectronics STM32" | |
436 | depends on STM32_SERIAL | |
437 | help | |
438 | Select this to enable a debug UART using the serial_stm32 driver | |
439 | You will need to provide parameters to make this work. | |
440 | The driver will be available until the real driver model | |
441 | serial is running. | |
442 | ||
d5cf3297 MY |
443 | config DEBUG_UART_UNIPHIER |
444 | bool "UniPhier on-chip UART" | |
445 | depends on ARCH_UNIPHIER | |
446 | help | |
447 | Select this to enable a debug UART using the UniPhier on-chip UART. | |
448 | You will need to provide DEBUG_UART_BASE to make this work. The | |
449 | driver will be available until the real driver-model serial is | |
450 | running. | |
451 | ||
a52cf086 LV |
452 | config DEBUG_UART_OMAP |
453 | bool "OMAP uart" | |
4cc24aea | 454 | depends on OMAP_SERIAL |
a52cf086 LV |
455 | help |
456 | Select this to enable a debug UART using the omap ns16550 driver. | |
457 | You will need to provide parameters to make this work. The driver | |
458 | will be available until the real driver model serial is running. | |
459 | ||
849b1160 RL |
460 | config DEBUG_UART_MTK |
461 | bool "MediaTek High-speed UART" | |
462 | depends on MTK_SERIAL | |
463 | help | |
464 | Select this to enable a debug UART using the MediaTek High-speed | |
465 | UART driver. | |
466 | You will need to provide parameters to make this work. The | |
467 | driver will be available until the real driver model serial is | |
468 | running. | |
469 | ||
2161f1fc WG |
470 | config DEBUG_UART_MT7620 |
471 | bool "UART driver for MediaTek MT7620 and earlier SoCs" | |
472 | depends on MT7620_SERIAL | |
473 | help | |
474 | Select this to enable a debug UART using the UART driver for | |
475 | MediaTek MT7620 and earlier SoCs. | |
476 | You will need to provide parameters to make this work. The | |
477 | driver will be available until the real driver model serial is | |
478 | running. | |
479 | ||
21d00436 SG |
480 | endchoice |
481 | ||
2f964aa7 SG |
482 | config DEBUG_UART_BASE |
483 | hex "Base address of UART" | |
467591b8 | 484 | depends on DEBUG_UART |
a077ac13 TR |
485 | default 0x0 if DEBUG_SBI_CONSOLE |
486 | default 0x0 if DEBUG_UART_SANDBOX | |
ad55d99e MS |
487 | default 0xff000000 if DEBUG_UART_ZYNQ && ARCH_ZYNQMP |
488 | default 0xe0000000 if DEBUG_UART_ZYNQ && ARCH_ZYNQ | |
2f964aa7 SG |
489 | help |
490 | This is the base address of your UART for memory-mapped UARTs. | |
491 | ||
492 | A default should be provided by your board, but if not you will need | |
493 | to use the correct value here. | |
494 | ||
9f971ff7 T |
495 | config SPL_DEBUG_UART_BASE |
496 | hex "Base address of UART for SPL" | |
497 | depends on SPL && DEBUG_UART | |
498 | default DEBUG_UART_BASE | |
499 | help | |
500 | This is the base address of your UART for memory-mapped UARTs for SPL. | |
501 | ||
958789f0 T |
502 | config TPL_DEBUG_UART_BASE |
503 | hex "Base address of UART for TPL" | |
504 | depends on TPL && DEBUG_UART | |
505 | default DEBUG_UART_BASE | |
506 | help | |
507 | This is the base address of your UART for memory-mapped UARTs for TPL. | |
508 | ||
2f964aa7 SG |
509 | config DEBUG_UART_CLOCK |
510 | int "UART input clock" | |
467591b8 | 511 | depends on DEBUG_UART |
41f7be73 | 512 | default 0 if DEBUG_SBI_CONSOLE |
ee441764 | 513 | default 0 if DEBUG_UART_SANDBOX |
4a8ad584 | 514 | default 0 if DEBUG_MVEBU_A3700_UART |
ad55d99e MS |
515 | default 100000000 if DEBUG_UART_ZYNQ && ARCH_ZYNQMP |
516 | default 50000000 if DEBUG_UART_ZYNQ && ARCH_ZYNQ | |
2f964aa7 SG |
517 | help |
518 | The UART input clock determines the speed of the internal UART | |
519 | circuitry. The baud rate is derived from this by dividing the input | |
520 | clock down. | |
521 | ||
522 | A default should be provided by your board, but if not you will need | |
523 | to use the correct value here. | |
524 | ||
dd0b0122 SG |
525 | config DEBUG_UART_SHIFT |
526 | int "UART register shift" | |
467591b8 | 527 | depends on DEBUG_UART |
dd0b0122 SG |
528 | default 0 if DEBUG_UART |
529 | help | |
530 | Some UARTs (notably ns16550) support different register layouts | |
531 | where the registers are spaced either as bytes, words or some other | |
532 | value. Use this value to specify the shift to use, where 0=byte | |
533 | registers, 2=32-bit word registers, etc. | |
534 | ||
0e977bc1 SG |
535 | config DEBUG_UART_BOARD_INIT |
536 | bool "Enable board-specific debug UART init" | |
537 | depends on DEBUG_UART | |
538 | help | |
539 | Some boards need to set things up before the debug UART can be used. | |
540 | On these boards a call to debug_uart_init() is insufficient. When | |
541 | this option is enabled, the function board_debug_uart_init() will | |
542 | be called when debug_uart_init() is called. You can put any code | |
543 | here that is needed to set up the UART ready for use, such as set | |
544 | pin multiplexing or enable clocks. | |
545 | ||
c7fefcb9 SG |
546 | config DEBUG_UART_ANNOUNCE |
547 | bool "Show a message when the debug UART starts up" | |
548 | depends on DEBUG_UART | |
549 | help | |
550 | Enable this option to show a message when the debug UART is ready | |
551 | for use. You will see a message like "<debug_uart> " as soon as | |
552 | U-Boot has the UART ready for use (i.e. your code calls | |
553 | debug_uart_init()). This can be useful just as a check that | |
554 | everything is working. | |
555 | ||
19de8150 ST |
556 | config DEBUG_UART_SKIP_INIT |
557 | bool "Skip UART initialization" | |
7828e3cf | 558 | depends on DEBUG_UART |
19de8150 ST |
559 | help |
560 | Select this if the UART you want to use for debug output is already | |
561 | initialized by the time U-Boot starts its execution. | |
562 | ||
c4448bdc SG |
563 | config DEBUG_UART_NS16550_CHECK_ENABLED |
564 | bool "Check if UART is enabled on output" | |
565 | depends on DEBUG_UART | |
566 | depends on DEBUG_UART_NS16550 | |
567 | help | |
568 | Select this if puts()/putc() might be called before the debug UART | |
569 | has been initialized. If this is disabled, putc() might sit in a | |
570 | tight loop if it is called before debug_uart_init() has been called. | |
571 | ||
572 | Note that this does not work for every ns16550-compatible UART and | |
573 | so has to be enabled carefully or you might notice lost characters. | |
574 | ||
220e8021 TC |
575 | config ALTERA_JTAG_UART |
576 | bool "Altera JTAG UART support" | |
577 | depends on DM_SERIAL | |
578 | help | |
579 | Select this to enable an JTAG UART for Altera devices.The JTAG UART | |
580 | core implements a method to communicate serial character streams | |
581 | between a host PC and a Qsys system on an Altera FPGA. Please find | |
582 | details on the "Embedded Peripherals IP User Guide" of Altera. | |
583 | ||
584 | config ALTERA_JTAG_UART_BYPASS | |
585 | bool "Bypass output when no connection" | |
586 | depends on ALTERA_JTAG_UART | |
587 | help | |
588 | Bypass console output and keep going even if there is no JTAG | |
589 | terminal connection with the host. The console output will resume | |
590 | once the JTAG terminal is connected. Without the bypass, the console | |
591 | output will wait forever until a JTAG terminal is connected. If you | |
592 | not are sure, say Y. | |
593 | ||
da2f838d TC |
594 | config ALTERA_UART |
595 | bool "Altera UART support" | |
596 | depends on DM_SERIAL | |
597 | help | |
598 | Select this to enable an UART for Altera devices. Please find | |
599 | details on the "Embedded Peripherals IP User Guide" of Altera. | |
600 | ||
60b49761 WW |
601 | config AR933X_UART |
602 | bool "QCA/Atheros ar933x UART support" | |
603 | depends on DM_SERIAL && SOC_AR933X | |
604 | help | |
605 | Select this to enable UART support for QCA/Atheros ar933x | |
606 | devices. This driver uses driver model and requires a device | |
607 | tree binding to operate, please refer to the document at | |
608 | doc/device-tree-bindings/serial/qca,ar9330-uart.txt. | |
609 | ||
d7ac185f AB |
610 | config ARC_SERIAL |
611 | bool "ARC UART support" | |
612 | depends on DM_SERIAL | |
613 | help | |
614 | Select this to enable support for ARC UART now typically | |
615 | only used in Synopsys DesignWare ARC simulators like nSIM. | |
616 | ||
c2a38411 TR |
617 | config ARM_DCC |
618 | bool "ARM Debug Communication Channel (DCC) as UART support" | |
619 | depends on ARM | |
620 | help | |
621 | Select this to enable using the ARM DCC as a form of UART. | |
622 | ||
6ec739aa WY |
623 | config ATMEL_USART |
624 | bool "Atmel USART support" | |
625 | help | |
626 | Select this to enable USART support for Atmel SoCs. It can be | |
627 | configured in the device tree, and input clock frequency can | |
628 | be got from the clk node. | |
629 | ||
e567dfb2 SR |
630 | config SPL_UART_CLOCK |
631 | int "SPL fixed UART input clock" | |
632 | depends on ATMEL_USART && SPL && !SPL_CLK | |
633 | default 132096000 if ARCH_AT91 | |
634 | help | |
635 | Provide a fixed clock value as input to the UART controller. This | |
636 | might be needed on platforms which can't enable CONFIG_SPL_CLK | |
637 | because of SPL image size restrictions. | |
638 | ||
fa487594 AG |
639 | config BCM283X_MU_SERIAL |
640 | bool "Support for BCM283x Mini-UART" | |
641 | depends on DM_SERIAL && ARCH_BCM283X | |
642 | default y | |
643 | help | |
644 | Select this to enable Mini-UART support on BCM283X family of SoCs. | |
645 | ||
6001985f AG |
646 | config BCM283X_PL011_SERIAL |
647 | bool "Support for BCM283x PL011 UART" | |
648 | depends on PL01X_SERIAL && ARCH_BCM283X | |
649 | default y | |
650 | help | |
651 | Select this to enable an overriding PL011 driver for BCM283X SoCs | |
652 | that supports automatic disable, so that it only gets used when | |
653 | the UART is actually muxed. | |
654 | ||
30581040 ÁFR |
655 | config BCM6345_SERIAL |
656 | bool "Support for BCM6345 UART" | |
e9e8d80d | 657 | depends on DM_SERIAL |
30581040 ÁFR |
658 | help |
659 | Select this to enable UART on BCM6345 SoCs. | |
660 | ||
44482e8a SG |
661 | config COREBOOT_SERIAL |
662 | bool "Coreboot UART support" | |
663 | depends on DM_SERIAL | |
664 | default y if SYS_COREBOOT | |
665 | select SYS_NS16550 | |
666 | help | |
667 | Select this to enable a ns16550-style UART where the platform data | |
668 | comes from the coreboot 'sysinfo' tables. This allows U-Boot to have | |
669 | a serial console on any platform without needing to change the | |
670 | device tree, etc. | |
671 | ||
b29dbf98 SG |
672 | config COREBOOT_SERIAL_FROM_DBG2 |
673 | bool "Obtain UART from ACPI tables" | |
674 | depends on COREBOOT_SERIAL | |
675 | default y if !SPL | |
676 | help | |
677 | Select this to try to find a DBG2 record in the ACPI tables, in the | |
678 | event that coreboot does not provide information about the UART in the | |
679 | normal sysinfo tables. This provides a useful fallback when serial | |
680 | is not enabled in coreboot. | |
681 | ||
0de653d8 JL |
682 | config CORTINA_UART |
683 | bool "Cortina UART support" | |
684 | depends on DM_SERIAL | |
685 | help | |
686 | Select this to enable UART support for Cortina-Access UART devices | |
687 | found on CAxxxx SoCs. | |
688 | ||
fac379e1 TT |
689 | config FSL_LINFLEXUART |
690 | bool "Freescale Linflex UART support" | |
691 | depends on DM_SERIAL | |
692 | help | |
693 | Select this to enable the Linflex serial module found on some | |
694 | NXP SoCs like S32V234. | |
695 | ||
5ed07cf5 BM |
696 | config FSL_LPUART |
697 | bool "Freescale LPUART support" | |
698 | help | |
699 | Select this to enable a Low Power UART for Freescale VF610 and | |
700 | QorIQ Layerscape devices. | |
701 | ||
db48e525 TR |
702 | config LPUART |
703 | bool "Use the LPUART as console" | |
704 | depends on FSL_LPUART | |
705 | ||
6985d496 SR |
706 | config MVEBU_A3700_UART |
707 | bool "UART support for Armada 3700" | |
6985d496 SR |
708 | help |
709 | Choose this option to add support for UART driver on the Marvell | |
710 | Armada 3700 SoC. The base address is configured via DT. | |
711 | ||
461ea079 AD |
712 | config MCFUART |
713 | bool "Freescale ColdFire UART support" | |
714 | help | |
715 | Choose this option to add support for UART driver on the ColdFire | |
716 | SoC's family. The serial communication channel provides a full-duplex | |
717 | asynchronous/synchronous receiver and transmitter deriving an | |
718 | operating frequency from the internal bus clock or an external clock. | |
719 | ||
8829e662 JT |
720 | config MXC_UART |
721 | bool "IMX serial port support" | |
8ba59608 | 722 | depends on ARCH_MX31 || MX5 || MX6 || MX7 || IMX8M |
8829e662 JT |
723 | help |
724 | If you have a machine based on a Motorola IMX CPU you | |
725 | can enable its onboard serial port by enabling this option. | |
726 | ||
cac73f20 KSC |
727 | config NULLDEV_SERIAL |
728 | bool "Null serial device" | |
729 | help | |
730 | Select this to enable null serial device support. A null serial | |
731 | device merely acts as a placeholder for a serial device and does | |
732 | nothing for all it's operation. | |
733 | ||
9e160ee8 PT |
734 | config PIC32_SERIAL |
735 | bool "Support for Microchip PIC32 on-chip UART" | |
736 | depends on DM_SERIAL && MACH_PIC32 | |
737 | default y | |
738 | help | |
739 | Support for the UART found on Microchip PIC32 SoC's. | |
740 | ||
9591b635 TR |
741 | config SYS_NS16550_SERIAL |
742 | bool "NS16550 UART or compatible legacy driver" | |
743 | depends on !DM_SERIAL | |
744 | select SYS_NS16550 | |
745 | ||
746 | config SPL_SYS_NS16550_SERIAL | |
747 | bool "NS16550 UART or compatible legacy driver in SPL" | |
748 | depends on SPL && !SPL_DM_SERIAL | |
749 | default y if SYS_NS16550_SERIAL || ARCH_SUNXI || ARCH_OMAP2PLUS | |
750 | select SYS_NS16550 | |
751 | ||
9e39003e TC |
752 | config SYS_NS16550 |
753 | bool "NS16550 UART or compatible" | |
754 | help | |
755 | Support NS16550 UART or compatible. This can be enabled in the | |
756 | device tree with the correct input clock frequency. If the input | |
757 | clock frequency is not defined in the device tree, the macro | |
91092132 | 758 | CFG_SYS_NS16550_CLK defined in a legacy board header file will |
9e39003e TC |
759 | be used. It can be a constant or a function to get clock, eg, |
760 | get_serial_clock(). | |
761 | ||
62cbde4c SG |
762 | config NS16550_DYNAMIC |
763 | bool "Allow NS16550 to be configured at runtime" | |
9591b635 | 764 | depends on SYS_NS16550 |
62cbde4c SG |
765 | default y if SYS_COREBOOT || SYS_SLIMBOOTLOADER |
766 | help | |
767 | Enable this option to allow device-tree control of the driver. | |
768 | ||
769 | Normally this driver is controlled by the following options: | |
770 | ||
62cbde4c SG |
771 | It is not a good practice for a driver to be statically configured, |
772 | since it prevents the same driver being used for different types of | |
773 | UARTs in a system. This option avoids this problem at the cost of a | |
774 | slightly increased code size. | |
775 | ||
9591b635 TR |
776 | config SYS_NS16550_MEM32 |
777 | bool "If memory-mapped, 32bit access is needed for ns16550 register access" | |
778 | depends on SYS_NS16550 | |
779 | help | |
780 | If enabled, if memory-mapped, indicates that 32-bit access should be | |
781 | used (instead of 8-bit) for register access. | |
782 | ||
783 | config SYS_NS16550_PORT_MAPPED | |
784 | bool "Port I/O is used for ns16550 register access" | |
785 | depends on SYS_NS16550 | |
786 | help | |
787 | If enabled, port I/O is used for ns16550 register access. If not | |
788 | enabled, then the UART is memory-mapped. | |
789 | ||
790 | config SYS_NS16550_REG_SIZE | |
791 | int "ns16550 register width and endianness" | |
792 | depends on SYS_NS16550_SERIAL || SPL_SYS_NS16550_SERIAL | |
793 | range -4 4 | |
794 | default -4 if ARCH_OMAP2PLUS || ARCH_SUNXI | |
795 | default 1 | |
796 | help | |
797 | Indicates register width and also endianness. If positive, big-endian | |
798 | access is used. If negative, little-endian is used. | |
799 | ||
800 | config SPL_NS16550_MIN_FUNCTIONS | |
801 | bool "Only provide NS16550_init and NS16550_putc in SPL" | |
802 | depends on SPL_SYS_NS16550_SERIAL && PPC | |
803 | help | |
804 | Enable this if you desire to only have use of the NS16550_init and | |
805 | NS16550_putc functions for the serial driver located at | |
806 | drivers/serial/ns16550.c. This option is useful for saving space for | |
807 | already greatly restricted images, including but not limited to | |
808 | NAND_SPL configurations. | |
809 | ||
c5f8dd48 AS |
810 | config INTEL_MID_SERIAL |
811 | bool "Intel MID platform UART support" | |
812 | depends on DM_SERIAL && OF_CONTROL | |
813 | depends on INTEL_MID | |
814 | select SYS_NS16550 | |
815 | help | |
816 | Select this to enable a UART for Intel MID platforms. | |
817 | This uses the ns16550 driver as a library. | |
818 | ||
d10fc50f AG |
819 | config PL011_SERIAL |
820 | bool "ARM PL011 driver" | |
821 | depends on !DM_SERIAL | |
822 | help | |
823 | Select this to enable a UART for platforms using PL011. | |
824 | ||
cf2c7784 AG |
825 | config PL01X_SERIAL |
826 | bool "ARM PL010 and PL011 driver" | |
827 | depends on DM_SERIAL | |
828 | help | |
829 | Select this to enable a UART for platforms using PL010 or PL011. | |
830 | ||
2fc24d53 SG |
831 | config ROCKCHIP_SERIAL |
832 | bool "Rockchip on-chip UART support" | |
9ee6c076 | 833 | depends on DM_SERIAL |
6dcaf2d2 | 834 | select SYS_NS16550 |
2fc24d53 SG |
835 | help |
836 | Select this to enable a debug UART for Rockchip devices when using | |
9ee6c076 | 837 | OF_PLATDATA (i.e. a compiled-in device tree replacemenmt). |
2fc24d53 SG |
838 | This uses the ns16550 driver, converting the platdata from of-platdata |
839 | to the ns16550 format. | |
840 | ||
0d9ff95c MK |
841 | config S5P_SERIAL |
842 | bool "Support for Samsung S5P UART" | |
d520e1fb | 843 | depends on ARCH_APPLE || ARCH_EXYNOS || ARCH_S5PC1XX |
0d9ff95c MK |
844 | default y |
845 | help | |
846 | Select this to enable Samsung S5P UART support. | |
847 | ||
5745de2c SB |
848 | config S5P4418_PL011_SERIAL |
849 | bool "Extended PL011 driver for S5P4418" | |
850 | depends on DM_SERIAL && PL01X_SERIAL && ARCH_NEXELL | |
851 | default y | |
852 | help | |
853 | Select this to enable support of the PL011 UARTs in the S5P4418 SOC. | |
854 | With this driver the UART-clocks are set to the appropriate rate | |
855 | (if not 'skip-init'). | |
856 | ||
af282245 SG |
857 | config SANDBOX_SERIAL |
858 | bool "Sandbox UART support" | |
2ea65f3e | 859 | depends on SANDBOX |
efa51f2b | 860 | imply SERIAL_PUTS |
af282245 SG |
861 | help |
862 | Select this to enable a seral UART for sandbox. This is required to | |
863 | operate correctly, otherwise you will see no serial output from | |
864 | sandbox. The emulated UART will display to the console and console | |
865 | input will be fed into the UART. This allows you to interact with | |
866 | U-Boot. | |
867 | ||
868 | The operation of the console is controlled by the -t command-line | |
869 | flag. In raw mode, U-Boot sees all characters from the terminal | |
870 | before they are processed, including Ctrl-C. In cooked mode, Ctrl-C | |
871 | is processed by the terminal, and terminates U-Boot. Valid options | |
872 | are: | |
873 | ||
874 | -t raw-with-sigs Raw mode, Ctrl-C will terminate U-Boot | |
875 | -t raw Raw mode, Ctrl-C is processed by U-Boot | |
876 | -t cooked Cooked mode, Ctrl-C terminates | |
877 | ||
03a38a39 MV |
878 | config SCIF_CONSOLE |
879 | bool "Renesas SCIF UART support" | |
880 | depends on SH || ARCH_RMOBILE | |
881 | help | |
882 | Select this to enable Renesas SCIF UART. To operate serial ports | |
883 | on systems with RCar or SH SoCs, say Y to this option. If unsure, | |
884 | say N. | |
885 | ||
f9f3209a TR |
886 | choice |
887 | prompt "SCIF console port" | |
888 | depends on SCIF_CONSOLE && (!DM_SERIAL || (SPL && !SPL_DM_SERIAL)) | |
889 | ||
890 | config CONS_SCIF0 | |
891 | bool "SCIF0" | |
892 | ||
893 | config CONS_SCIF1 | |
894 | bool "SCIF1" | |
895 | ||
896 | config CONS_SCIF2 | |
897 | bool "SCIF2" | |
898 | ||
899 | config CONS_SCIF4 | |
900 | bool "SCIF4" | |
901 | ||
902 | config CONS_SCIFA0 | |
903 | bool "SCIFA0" | |
904 | ||
905 | endchoice | |
906 | ||
5d14c336 TR |
907 | config SH_SCIF_CLK_FREQ |
908 | int "SCIF console clock frequency" | |
909 | depends on SCIF_CONSOLE && (!DM_SERIAL || (SPL && !SPL_DM_SERIAL)) | |
910 | default 65000000 | |
911 | ||
74d11d37 SA |
912 | config SEMIHOSTING_SERIAL |
913 | bool "Semihosting UART support" | |
914 | depends on SEMIHOSTING && !SERIAL_RX_BUFFER | |
34855b39 | 915 | imply SERIAL_PUTS |
74d11d37 SA |
916 | help |
917 | Select this to enable a serial UART using semihosting. Special halt | |
918 | instructions will be issued which an external debugger (such as a | |
919 | JTAG emulator) may interpret. The debugger will display U-Boot's | |
920 | console output on the host system. | |
921 | ||
922 | Enable this option only if you are using a debugger which supports | |
923 | semihosting. If you are not using a debugger, this driver will halt | |
924 | the boot. | |
925 | ||
ff247b7a | 926 | config UNIPHIER_SERIAL |
b6ef3a3f | 927 | bool "Support for UniPhier on-chip UART" |
2ea65f3e | 928 | depends on ARCH_UNIPHIER |
85dc2fe1 | 929 | default y |
ff247b7a | 930 | help |
b6ef3a3f MY |
931 | If you have a UniPhier based board and want to use the on-chip |
932 | serial ports, say Y to this option. If unsure, say N. | |
dcfe4a54 | 933 | |
54e24d33 MS |
934 | config XILINX_UARTLITE |
935 | bool "Xilinx Uarlite support" | |
54fdef24 | 936 | depends on DM_SERIAL |
54e24d33 MS |
937 | help |
938 | If you have a Xilinx based board and want to use the uartlite | |
939 | serial ports, say Y to this option. If unsure, say N. | |
940 | ||
bfcef28a BG |
941 | config MESON_SERIAL |
942 | bool "Support for Amlogic Meson UART" | |
943 | depends on DM_SERIAL && ARCH_MESON | |
944 | help | |
945 | If you have an Amlogic Meson based board and want to use the on-chip | |
946 | serial ports, say Y to this option. If unsure, say N. | |
947 | ||
142a20c3 MK |
948 | config MSM_SERIAL |
949 | bool "Qualcomm on-chip UART" | |
950 | depends on DM_SERIAL | |
951 | help | |
952 | Support Data Mover UART used on Qualcomm Snapdragon SoCs. | |
953 | It should support all Qualcomm devices with UARTDM version 1.4, | |
954 | for example APQ8016 and MSM8916. | |
955 | Single baudrate is supported in current implementation (115200). | |
6985d496 | 956 | |
324df15a DS |
957 | config MSM_GENI_SERIAL |
958 | bool "Qualcomm on-chip GENI UART" | |
10ea2a7a VZ |
959 | select MISC |
960 | imply QCOM_GENI_SE | |
324df15a DS |
961 | help |
962 | Support UART based on Generic Interface (GENI) Serial Engine (SE), | |
963 | used on Qualcomm Snapdragon SoCs. Should support all qualcomm SOCs | |
964 | with Qualcomm Universal Peripheral (QUP) Wrapper cores, | |
965 | i.e. newer ones, starting from SDM845. | |
966 | Driver works in FIFO mode. | |
967 | Multiple baudrates supported. | |
968 | ||
ff476897 MV |
969 | config MXS_AUART_SERIAL |
970 | bool "MXS AUART" | |
971 | depends on DM_SERIAL | |
972 | help | |
973 | Support for Freescale i.MX23 / i.MX28 AUART or Application UART IP. | |
974 | This IP is present in the aforementioned SoCs, however this is not | |
975 | the IP used to drive the Debug UART port, for that see PL01X_SERIAL . | |
976 | ||
f1054661 SR |
977 | config OCTEON_SERIAL_BOOTCMD |
978 | bool "MIPS Octeon PCI remote bootcmd input" | |
979 | depends on ARCH_OCTEON | |
980 | depends on DM_SERIAL | |
981 | select SYS_IS_IN_ENV | |
982 | select CONSOLE_MUX | |
983 | help | |
984 | This driver supports remote input over the PCIe bus from a host | |
985 | to U-Boot for entering commands. It is utilized by the host | |
986 | commands 'oct-remote-load' and 'oct-remote-bootcmd'. | |
987 | ||
4dead10d SR |
988 | config OCTEON_SERIAL_PCIE_CONSOLE |
989 | bool "MIPS Octeon PCIe remote console" | |
990 | depends on ARCH_OCTEON | |
991 | depends on (DM_SERIAL && DM_STDIO) | |
992 | select SYS_STDIO_DEREGISTER | |
993 | select SYS_CONSOLE_IS_IN_ENV | |
994 | select CONSOLE_MUX | |
995 | help | |
996 | This driver supports remote console over the PCIe bus when the | |
997 | Octeon is running in PCIe target mode. The host program | |
998 | 'oct-remote-console' can be used to connect to this console. | |
999 | The console number will likely be 0 or 1. | |
1000 | ||
5d754197 LV |
1001 | config OMAP_SERIAL |
1002 | bool "Support for OMAP specific UART" | |
1003 | depends on DM_SERIAL | |
586bde93 | 1004 | default y if (ARCH_OMAP2PLUS || ARCH_K3) |
5d754197 LV |
1005 | select SYS_NS16550 |
1006 | help | |
1007 | If you have an TI based SoC and want to use the on-chip serial | |
1008 | port, say Y to this option. If unsure say N. | |
1009 | ||
6f9347f3 MS |
1010 | config OWL_SERIAL |
1011 | bool "Actions Semi OWL UART" | |
1012 | depends on DM_SERIAL && ARCH_OWL | |
1013 | help | |
1014 | If you have a Actions Semi OWL based board and want to use the on-chip | |
1015 | serial port, say Y to this option. If unsure, say N. | |
1016 | Single baudrate is supported in current implementation (115200). | |
1017 | ||
d6ba787e AP |
1018 | config HTIF_CONSOLE |
1019 | bool "RISC-V HTIF console support" | |
1020 | depends on DM_SERIAL && 64BIT | |
1021 | help | |
1022 | Select this to enable host transfer interface (HTIF) based serial | |
1023 | console. The HTIF device is quite common in RISC-V emulators and | |
1024 | RISC-V ISS so this driver allows using U-Boot on such platforms. | |
1025 | ||
e2842496 AP |
1026 | config SIFIVE_SERIAL |
1027 | bool "SiFive UART support" | |
1028 | depends on DM_SERIAL | |
1029 | help | |
1030 | This driver supports the SiFive UART. If unsure say N. | |
1031 | ||
214a17e6 PC |
1032 | config STI_ASC_SERIAL |
1033 | bool "STMicroelectronics on-chip UART" | |
1034 | depends on DM_SERIAL && ARCH_STI | |
1035 | help | |
1036 | Select this to enable Asynchronous Serial Controller available | |
1037 | on STiH410 SoC. This is a basic implementation, it supports | |
1038 | following baudrate 9600, 19200, 38400, 57600 and 115200. | |
1039 | ||
ae74de0d | 1040 | config STM32_SERIAL |
84e9dcc1 | 1041 | bool "STMicroelectronics STM32 SoCs on-chip UART" |
2514c2d0 | 1042 | depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7 || ARCH_STM32MP) |
84e9dcc1 | 1043 | help |
2514c2d0 PD |
1044 | If you have a machine based on a STM32 F4, F7, H7 or MP1 SOC |
1045 | you can enable its onboard serial ports, say Y to this option. | |
776b2ddb | 1046 | If unsure, say N. |
84e9dcc1 | 1047 | |
809704eb MS |
1048 | config ZYNQ_SERIAL |
1049 | bool "Cadence (Xilinx Zynq) UART support" | |
54fdef24 | 1050 | depends on DM_SERIAL |
809704eb MS |
1051 | help |
1052 | This driver supports the Cadence UART. It is found e.g. in Xilinx | |
1053 | Zynq/ZynqMP. | |
1054 | ||
849b1160 RL |
1055 | config MTK_SERIAL |
1056 | bool "MediaTek High-speed UART support" | |
1057 | depends on DM_SERIAL | |
1058 | help | |
1059 | Select this to enable UART support for MediaTek High-speed UART | |
1060 | devices. This driver uses driver model and requires a device | |
1061 | tree binding to operate. | |
1062 | The High-speed UART is compatible with the ns16550a UART and have | |
1063 | its own high-speed registers. | |
1064 | ||
2161f1fc WG |
1065 | config MT7620_SERIAL |
1066 | bool "UART driver for MediaTek MT7620 and earlier SoCs" | |
1067 | depends on DM_SERIAL | |
1068 | help | |
1069 | Select this to enable UART support for MediaTek MT7620 and earlier | |
1070 | SoCs. This driver uses driver model and requires a device tree | |
1071 | binding to operate. | |
1072 | The UART driver for MediaTek MT7620 and earlier SoCs is *NOT* | |
1073 | compatible with the ns16550a UART. | |
1074 | ||
dd7ff472 CL |
1075 | config MPC8XX_CONS |
1076 | bool "Console driver for MPC8XX" | |
ee1e600c | 1077 | depends on MPC8xx |
dd7ff472 CL |
1078 | default y |
1079 | ||
6f6a0b74 JL |
1080 | config NPCM_SERIAL |
1081 | bool "Nuvoton NPCM UART driver" | |
1082 | depends on DM_SERIAL | |
1083 | help | |
1084 | Select this to enable UART support for Nuvoton BMCs | |
1085 | (NPCM7xx and NPCM8xx). | |
1086 | The driver enables the onboard serial port with 8-N-1 | |
1087 | configuration. | |
1088 | ||
384d5cfe PF |
1089 | config XEN_SERIAL |
1090 | bool "XEN serial support" | |
1091 | depends on XEN | |
1092 | help | |
1093 | If built without DM support, then requires Xen | |
1094 | to be built with CONFIG_VERBOSE_DEBUG. | |
1095 | ||
dd7ff472 CL |
1096 | choice |
1097 | prompt "Console port" | |
1098 | default 8xx_CONS_SMC1 | |
1099 | depends on MPC8XX_CONS | |
1100 | help | |
1101 | Depending on board, select one serial port | |
1102 | (CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2) | |
1103 | ||
1104 | config 8xx_CONS_SMC1 | |
1105 | bool "SMC1" | |
1106 | ||
1107 | config 8xx_CONS_SMC2 | |
1108 | bool "SMC2" | |
1109 | ||
1110 | endchoice | |
1111 | ||
1112 | config SYS_SMC_RXBUFLEN | |
1113 | int "Console Rx buffer length" | |
1114 | depends on MPC8XX_CONS | |
1115 | default 1 | |
1116 | help | |
1117 | With CONFIG_SYS_SMC_RXBUFLEN it is possible to define | |
1118 | the maximum receive buffer length for the SMC. | |
1119 | This option is actual only for 8xx possible. | |
1120 | If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE | |
1121 | must be defined, to setup the maximum idle timeout for | |
1122 | the SMC. | |
1123 | ||
1124 | config SYS_MAXIDLE | |
1125 | int "maximum idle timeout" | |
1126 | depends on MPC8XX_CONS | |
1127 | default 0 | |
1128 | ||
1129 | config SYS_BRGCLK_PRESCALE | |
1130 | int "BRG Clock Prescale" | |
1131 | depends on MPC8XX_CONS | |
1132 | default 1 | |
1133 | ||
1134 | config SYS_SDSR | |
1135 | hex "SDSR Value" | |
1136 | depends on MPC8XX_CONS | |
1137 | default 0x83 | |
1138 | ||
1139 | config SYS_SDMR | |
1140 | hex "SDMR Value" | |
1141 | depends on MPC8XX_CONS | |
a077ac13 | 1142 | default 0x0 |
dd7ff472 | 1143 | |
52510486 | 1144 | endif |