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