10b11dbf7SMasahiro Yamada# 20b11dbf7SMasahiro Yamada# Serial device configuration 30b11dbf7SMasahiro Yamada# 40b11dbf7SMasahiro Yamada 50b11dbf7SMasahiro Yamadamenu "Serial drivers" 60b11dbf7SMasahiro Yamada 7f40574e2SPhilipp Tomsichconfig BAUDRATE 8f40574e2SPhilipp Tomsich int "Default baudrate" 9f40574e2SPhilipp Tomsich default 115200 10f40574e2SPhilipp Tomsich help 11f40574e2SPhilipp Tomsich Select a default baudrate, where "default" has a driver-specific 12f40574e2SPhilipp Tomsich meaning of either setting the baudrate for the early debug UART 13f40574e2SPhilipp Tomsich in the SPL stage (most drivers) or for choosing a default baudrate 14f40574e2SPhilipp Tomsich in the absence of an environment setting (serial_mxc.c). 15f40574e2SPhilipp Tomsich 168c458588SHans de Goedeconfig REQUIRE_SERIAL_CONSOLE 178c458588SHans de Goede bool "Require a serial port for console" 188c458588SHans de Goede # Running without a serial console is not supported by the 198c458588SHans de Goede # non-dm serial code 208c458588SHans de Goede depends on DM_SERIAL 218c458588SHans de Goede default y 228c458588SHans de Goede help 238c458588SHans de Goede Require a serial port for the console, and panic if none is found 248c458588SHans de Goede during serial port initialization (default y). Set this to n on 258c458588SHans de Goede boards which have no debug serial port whatsoever. 268c458588SHans de Goede 276f6b7cfaSTom Riniconfig SPECIFY_CONSOLE_INDEX 286f6b7cfaSTom Rini bool "Specify the port number used for console" 296f6b7cfaSTom Rini default y if !DM_SERIAL || (SPL && !SPL_DM_SERIAL) || \ 306f6b7cfaSTom Rini (TPL && !TPL_DM_SERIAL) 316f6b7cfaSTom Rini help 326f6b7cfaSTom Rini In various cases, we need to specify which of the UART devices that 336f6b7cfaSTom Rini a board or SoC has available are to be used for the console device 346f6b7cfaSTom Rini in U-Boot. 356f6b7cfaSTom Rini 3692c55b68SSimon Glassconfig SERIAL_PRESENT 3792c55b68SSimon Glass bool "Provide a serial driver" 3892c55b68SSimon Glass depends on DM_SERIAL 3992c55b68SSimon Glass default y 4092c55b68SSimon Glass help 4192c55b68SSimon Glass In very space-constrained devices even the full UART driver is too 4292c55b68SSimon Glass large. In this case the debug UART can still be used in some cases. 4392c55b68SSimon Glass This option enables the full UART in U-Boot, so if is it disabled, 4492c55b68SSimon Glass the full UART driver will be omitted, thus saving space. 4592c55b68SSimon Glass 4692c55b68SSimon Glassconfig SPL_SERIAL_PRESENT 4792c55b68SSimon Glass bool "Provide a serial driver in SPL" 4892c55b68SSimon Glass depends on DM_SERIAL 4992c55b68SSimon Glass default y 5092c55b68SSimon Glass help 5192c55b68SSimon Glass In very space-constrained devices even the full UART driver is too 5292c55b68SSimon Glass large. In this case the debug UART can still be used in some cases. 5392c55b68SSimon Glass This option enables the full UART in SPL, so if is it disabled, 5492c55b68SSimon Glass the full UART driver will be omitted, thus saving space. 5592c55b68SSimon Glass 566f6b7cfaSTom Rini# Logic to allow us to use the imply keyword to set what the default port 576f6b7cfaSTom Rini# should be. The default is otherwise 1. 586f6b7cfaSTom Riniconfig CONS_INDEX_0 596f6b7cfaSTom Rini bool 606f6b7cfaSTom Rini 616f6b7cfaSTom Riniconfig CONS_INDEX_2 626f6b7cfaSTom Rini bool 636f6b7cfaSTom Rini 646f6b7cfaSTom Riniconfig CONS_INDEX_3 656f6b7cfaSTom Rini bool 666f6b7cfaSTom Rini 676f6b7cfaSTom Riniconfig CONS_INDEX_4 686f6b7cfaSTom Rini bool 696f6b7cfaSTom Rini 706f6b7cfaSTom Riniconfig CONS_INDEX_5 716f6b7cfaSTom Rini bool 726f6b7cfaSTom Rini 736f6b7cfaSTom Riniconfig CONS_INDEX_6 746f6b7cfaSTom Rini bool 756f6b7cfaSTom Rini 767095f864SMylène Josserandconfig CONS_INDEX 777095f864SMylène Josserand int "UART used for console" 786f6b7cfaSTom Rini depends on SPECIFY_CONSOLE_INDEX 796f6b7cfaSTom Rini range 0 6 806f6b7cfaSTom Rini default 0 if CONS_INDEX_0 816f6b7cfaSTom Rini default 2 if CONS_INDEX_2 826f6b7cfaSTom Rini default 3 if CONS_INDEX_3 836f6b7cfaSTom Rini default 4 if CONS_INDEX_4 846f6b7cfaSTom Rini default 5 if CONS_INDEX_5 856f6b7cfaSTom Rini default 6 if CONS_INDEX_6 867095f864SMylène Josserand default 1 877095f864SMylène Josserand help 886f6b7cfaSTom Rini Set this to match the UART number of the serial console. 897095f864SMylène Josserand 90da333ae7SMasahiro Yamadaconfig DM_SERIAL 91da333ae7SMasahiro Yamada bool "Enable Driver Model for serial drivers" 92da333ae7SMasahiro Yamada depends on DM 93da333ae7SMasahiro Yamada help 94f94a1bedSSimon Glass Enable driver model for serial. This replaces 95f94a1bedSSimon Glass drivers/serial/serial.c with the serial uclass, which 96f94a1bedSSimon Glass implements serial_putc() etc. The uclass interface is 97f94a1bedSSimon Glass defined in include/serial.h. 98ff247b7aSMasahiro Yamada 993ca7a06aSStefan Roeseconfig SERIAL_RX_BUFFER 1003ca7a06aSStefan Roese bool "Enable RX buffer for serial input" 1013ca7a06aSStefan Roese depends on DM_SERIAL 1023ca7a06aSStefan Roese help 1033ca7a06aSStefan Roese Enable RX buffer support for the serial driver. This enables 1043ca7a06aSStefan Roese pasting longer strings, even when the RX FIFO of the UART is 1053ca7a06aSStefan Roese not big enough (e.g. 16 bytes on the normal NS16550). 1063ca7a06aSStefan Roese 1073ca7a06aSStefan Roeseconfig SERIAL_RX_BUFFER_SIZE 1083ca7a06aSStefan Roese int "RX buffer size" 1093ca7a06aSStefan Roese depends on SERIAL_RX_BUFFER 1103ca7a06aSStefan Roese default 256 1113ca7a06aSStefan Roese help 1123ca7a06aSStefan Roese The size of the RX buffer (needs to be power of 2) 1133ca7a06aSStefan Roese 114ae5326a6SAlexander Grafconfig SERIAL_SEARCH_ALL 115ae5326a6SAlexander Graf bool "Search for serial devices after default one failed" 116ae5326a6SAlexander Graf depends on DM_SERIAL 117ae5326a6SAlexander Graf help 118ae5326a6SAlexander Graf The serial subsystem only searches for a single serial device 119ae5326a6SAlexander Graf that was instantiated, but does not check whether it was probed 120ae5326a6SAlexander Graf correctly. With this option set, we make successful probing 121ae5326a6SAlexander Graf mandatory and search for fallback serial devices if the default 122ae5326a6SAlexander Graf device does not work. 123ae5326a6SAlexander Graf 124ae5326a6SAlexander Graf If unsure, say N. 125ae5326a6SAlexander Graf 126891f7ae6SSimon Glassconfig SPL_DM_SERIAL 1270424990cSHeiko Schocher bool "Enable Driver Model for serial drivers in SPL" 1286f6b7cfaSTom Rini depends on DM_SERIAL && SPL_DM 1296f6b7cfaSTom Rini default y 130891f7ae6SSimon Glass help 131891f7ae6SSimon Glass Enable driver model for serial in SPL. This replaces 132891f7ae6SSimon Glass drivers/serial/serial.c with the serial uclass, which 133891f7ae6SSimon Glass implements serial_putc() etc. The uclass interface is 134891f7ae6SSimon Glass defined in include/serial.h. 135891f7ae6SSimon Glass 136891f7ae6SSimon Glassconfig TPL_DM_SERIAL 1370424990cSHeiko Schocher bool "Enable Driver Model for serial drivers in TPL" 138891f7ae6SSimon Glass depends on DM_SERIAL 139891f7ae6SSimon Glass default y if TPL && DM_SERIAL 140891f7ae6SSimon Glass help 141891f7ae6SSimon Glass Enable driver model for serial in TPL. This replaces 142891f7ae6SSimon Glass drivers/serial/serial.c with the serial uclass, which 143891f7ae6SSimon Glass implements serial_putc() etc. The uclass interface is 144891f7ae6SSimon Glass defined in include/serial.h. 145891f7ae6SSimon Glass 1462f964aa7SSimon Glassconfig DEBUG_UART 1472f964aa7SSimon Glass bool "Enable an early debug UART for debugging" 1482f964aa7SSimon Glass help 1492f964aa7SSimon Glass The debug UART is intended for use very early in U-Boot to debug 1502f964aa7SSimon Glass problems when an ICE or other debug mechanism is not available. 1512f964aa7SSimon Glass 1522f964aa7SSimon Glass To use it you should: 1532f964aa7SSimon Glass - Make sure your UART supports this interface 1542f964aa7SSimon Glass - Enable CONFIG_DEBUG_UART 1552f964aa7SSimon Glass - Enable the CONFIG for your UART to tell it to provide this interface 1562f964aa7SSimon Glass (e.g. CONFIG_DEBUG_UART_NS16550) 1572f964aa7SSimon Glass - Define the required settings as needed (see below) 1582f964aa7SSimon Glass - Call debug_uart_init() before use 1592f964aa7SSimon Glass - Call debug_uart_putc() to output a character 1602f964aa7SSimon Glass 1612f964aa7SSimon Glass Depending on your platform it may be possible to use this UART before 1622f964aa7SSimon Glass a stack is available. 1632f964aa7SSimon Glass 1642f964aa7SSimon Glass If your UART does not support this interface you can probably add 1652f964aa7SSimon Glass support quite easily. Remember that you cannot use driver model and 1662f964aa7SSimon Glass it is preferred to use no stack. 1672f964aa7SSimon Glass 1682f964aa7SSimon Glass You must not use this UART once driver model is working and the 1692f964aa7SSimon Glass serial drivers are up and running (done in serial_init()). Otherwise 1702f964aa7SSimon Glass the drivers may conflict and you will get strange output. 1712f964aa7SSimon Glass 17221d00436SSimon Glasschoice 17321d00436SSimon Glass prompt "Select which UART will provide the debug UART" 17421d00436SSimon Glass depends on DEBUG_UART 175b1e361b6SThomas Chou default DEBUG_UART_NS16550 17621d00436SSimon Glass 177220e8021SThomas Chouconfig DEBUG_UART_ALTERA_JTAGUART 178220e8021SThomas Chou bool "Altera JTAG UART" 179220e8021SThomas Chou help 180220e8021SThomas Chou Select this to enable a debug UART using the altera_jtag_uart driver. 181220e8021SThomas Chou You will need to provide parameters to make this work. The driver will 182220e8021SThomas Chou be available until the real driver model serial is running. 183220e8021SThomas Chou 184da2f838dSThomas Chouconfig DEBUG_UART_ALTERA_UART 185da2f838dSThomas Chou bool "Altera UART" 186da2f838dSThomas Chou help 187da2f838dSThomas Chou Select this to enable a debug UART using the altera_uart driver. 188da2f838dSThomas Chou You will need to provide parameters to make this work. The driver will 189da2f838dSThomas Chou be available until the real driver model serial is running. 190da2f838dSThomas Chou 19160b49761SWills Wangconfig DEBUG_UART_AR933X 19260b49761SWills Wang bool "QCA/Atheros ar933x" 19360b49761SWills Wang depends on AR933X_UART 19460b49761SWills Wang help 19560b49761SWills Wang Select this to enable a debug UART using the ar933x uart driver. 19660b49761SWills Wang You will need to provide parameters to make this work. The 19760b49761SWills Wang driver will be available until the real driver model serial is 19860b49761SWills Wang running. 19960b49761SWills Wang 200*54705016SAlexey Brodkinconfig DEBUG_ARC_SERIAL 201*54705016SAlexey Brodkin bool "ARC UART" 202*54705016SAlexey Brodkin depends on ARC_SERIAL 203*54705016SAlexey Brodkin help 204*54705016SAlexey Brodkin Select this to enable a debug UART using the ARC UART driver. 205*54705016SAlexey Brodkin You will need to provide parameters to make this work. The 206*54705016SAlexey Brodkin driver will be available until the real driver model serial is 207*54705016SAlexey Brodkin running. 208*54705016SAlexey Brodkin 209998cf3c2SWenyou Yangconfig DEBUG_UART_ATMEL 210998cf3c2SWenyou Yang bool "Atmel USART" 211998cf3c2SWenyou Yang help 212998cf3c2SWenyou Yang Select this to enable a debug UART using the atmel usart driver. You 213998cf3c2SWenyou Yang will need to provide parameters to make this work. The driver will 214998cf3c2SWenyou Yang be available until the real driver-model serial is running. 215998cf3c2SWenyou Yang 21630581040SÁlvaro Fernández Rojasconfig DEBUG_UART_BCM6345 21730581040SÁlvaro Fernández Rojas bool "BCM6345 UART" 21830581040SÁlvaro Fernández Rojas depends on BCM6345_SERIAL 21930581040SÁlvaro Fernández Rojas help 22030581040SÁlvaro Fernández Rojas Select this to enable a debug UART on BCM6345 SoCs. You 22130581040SÁlvaro Fernández Rojas will need to provide parameters to make this work. The driver will 22230581040SÁlvaro Fernández Rojas be available until the real driver model serial is running. 22330581040SÁlvaro Fernández Rojas 22421d00436SSimon Glassconfig DEBUG_UART_NS16550 22521d00436SSimon Glass bool "ns16550" 22621d00436SSimon Glass help 22721d00436SSimon Glass Select this to enable a debug UART using the ns16550 driver. You 22821d00436SSimon Glass will need to provide parameters to make this work. The driver will 22921d00436SSimon Glass be available until the real driver model serial is running. 23021d00436SSimon Glass 231275854baSSimon Glassconfig DEBUG_EFI_CONSOLE 232275854baSSimon Glass bool "EFI" 233275854baSSimon Glass depends on EFI_APP 234275854baSSimon Glass help 235275854baSSimon Glass Select this to enable a debug console which calls back to EFI to 236275854baSSimon Glass output to the console. This can be useful for early debugging of 237275854baSSimon Glass U-Boot when running on top of EFI (Extensive Firmware Interface). 238275854baSSimon Glass This is a type of BIOS used by PCs. 239275854baSSimon Glass 240bf6e7022SSimon Glassconfig DEBUG_UART_S5P 241bf6e7022SSimon Glass bool "Samsung S5P" 242bf6e7022SSimon Glass help 243bf6e7022SSimon Glass Select this to enable a debug UART using the serial_s5p driver. You 244bf6e7022SSimon Glass will need to provide parameters to make this work. The driver will 245bf6e7022SSimon Glass be available until the real driver-model serial is running. 246bf6e7022SSimon Glass 247bfcef28aSBeniamino Galvaniconfig DEBUG_UART_MESON 248bfcef28aSBeniamino Galvani bool "Amlogic Meson" 249bfcef28aSBeniamino Galvani depends on MESON_SERIAL 250bfcef28aSBeniamino Galvani help 251bfcef28aSBeniamino Galvani Select this to enable a debug UART using the serial_meson driver. You 252bfcef28aSBeniamino Galvani will need to provide parameters to make this work. The driver will 253bfcef28aSBeniamino Galvani be available until the real driver-model serial is running. 254bfcef28aSBeniamino Galvani 2554166ba3bSMichal Simekconfig DEBUG_UART_UARTLITE 2564166ba3bSMichal Simek bool "Xilinx Uartlite" 2574166ba3bSMichal Simek help 2584166ba3bSMichal Simek Select this to enable a debug UART using the serial_uartlite driver. 2594166ba3bSMichal Simek You will need to provide parameters to make this work. The driver will 2604166ba3bSMichal Simek be available until the real driver-model serial is running. 2614166ba3bSMichal Simek 262966bfa73SMichal Simekconfig DEBUG_UART_ARM_DCC 263966bfa73SMichal Simek bool "ARM DCC" 264966bfa73SMichal Simek help 265966bfa73SMichal Simek Select this to enable a debug UART using the ARM JTAG DCC port. 266966bfa73SMichal Simek The DCC port can be used for very early debugging and doesn't require 267966bfa73SMichal Simek any additional setting like address/baudrate/clock. On systems without 268966bfa73SMichal Simek any serial interface this is the easiest way how to get console. 269966bfa73SMichal Simek Every ARM core has own DCC port which is the part of debug interface. 270966bfa73SMichal Simek This port is available at least on ARMv6, ARMv7, ARMv8 and XScale 271966bfa73SMichal Simek architectures. 272966bfa73SMichal Simek 2736985d496SStefan Roeseconfig DEBUG_MVEBU_A3700_UART 2746985d496SStefan Roese bool "Marvell Armada 3700" 2756985d496SStefan Roese help 2766985d496SStefan Roese Select this to enable a debug UART using the serial_mvebu driver. You 2776985d496SStefan Roese will need to provide parameters to make this work. The driver will 2786985d496SStefan Roese be available until the real driver-model serial is running. 2796985d496SStefan Roese 280c54c0a4cSSimon Glassconfig DEBUG_UART_ZYNQ 281c54c0a4cSSimon Glass bool "Xilinx Zynq" 282c54c0a4cSSimon Glass help 2836bf87dacSMichal Simek Select this to enable a debug UART using the serial_zynq driver. You 284c54c0a4cSSimon Glass will need to provide parameters to make this work. The driver will 285c54c0a4cSSimon Glass be available until the real driver-model serial is running. 286c54c0a4cSSimon Glass 287e43ce3fcSFrancois Retiefconfig DEBUG_UART_APBUART 288e43ce3fcSFrancois Retief depends on LEON3 289e43ce3fcSFrancois Retief bool "Gaisler APBUART" 290e43ce3fcSFrancois Retief help 291e43ce3fcSFrancois Retief Select this to enable a debug UART using the serial_leon3 driver. You 292e43ce3fcSFrancois Retief will need to provide parameters to make this work. The driver will 293e43ce3fcSFrancois Retief be available until the real driver model serial is running. 294e43ce3fcSFrancois Retief 29519de8150SSergey Temerkhanovconfig DEBUG_UART_PL010 29619de8150SSergey Temerkhanov bool "pl010" 29719de8150SSergey Temerkhanov help 29819de8150SSergey Temerkhanov Select this to enable a debug UART using the pl01x driver with the 29919de8150SSergey Temerkhanov PL010 UART type. You will need to provide parameters to make this 30019de8150SSergey Temerkhanov work. The driver will be available until the real driver model 30119de8150SSergey Temerkhanov serial is running. 30219de8150SSergey Temerkhanov 30319de8150SSergey Temerkhanovconfig DEBUG_UART_PL011 30419de8150SSergey Temerkhanov bool "pl011" 30519de8150SSergey Temerkhanov help 30619de8150SSergey Temerkhanov Select this to enable a debug UART using the pl01x driver with the 30719de8150SSergey Temerkhanov PL011 UART type. You will need to provide parameters to make this 30819de8150SSergey Temerkhanov work. The driver will be available until the real driver model 30919de8150SSergey Temerkhanov serial is running. 31019de8150SSergey Temerkhanov 3119e160ee8SPaul Thackerconfig DEBUG_UART_PIC32 3129e160ee8SPaul Thacker bool "Microchip PIC32" 3139e160ee8SPaul Thacker depends on PIC32_SERIAL 3149e160ee8SPaul Thacker help 3159e160ee8SPaul Thacker Select this to enable a debug UART using the serial_pic32 driver. You 3169e160ee8SPaul Thacker will need to provide parameters to make this work. The driver will 3179e160ee8SPaul Thacker be available until the real driver model serial is running. 3189e160ee8SPaul Thacker 31961366b71SJagan Tekiconfig DEBUG_UART_MXC 32061366b71SJagan Teki bool "IMX Serial port" 32161366b71SJagan Teki depends on MXC_UART 32261366b71SJagan Teki help 32361366b71SJagan Teki Select this to enable a debug UART using the serial_mxc driver. You 32461366b71SJagan Teki will need to provide parameters to make this work. The driver will 32561366b71SJagan Teki be available until the real driver model serial is running. 32661366b71SJagan Teki 327d5cf3297SMasahiro Yamadaconfig DEBUG_UART_UNIPHIER 328d5cf3297SMasahiro Yamada bool "UniPhier on-chip UART" 329d5cf3297SMasahiro Yamada depends on ARCH_UNIPHIER 330d5cf3297SMasahiro Yamada help 331d5cf3297SMasahiro Yamada Select this to enable a debug UART using the UniPhier on-chip UART. 332d5cf3297SMasahiro Yamada You will need to provide DEBUG_UART_BASE to make this work. The 333d5cf3297SMasahiro Yamada driver will be available until the real driver-model serial is 334d5cf3297SMasahiro Yamada running. 335d5cf3297SMasahiro Yamada 336a52cf086SLokesh Vutlaconfig DEBUG_UART_OMAP 337a52cf086SLokesh Vutla bool "OMAP uart" 338a52cf086SLokesh Vutla help 339a52cf086SLokesh Vutla Select this to enable a debug UART using the omap ns16550 driver. 340a52cf086SLokesh Vutla You will need to provide parameters to make this work. The driver 341a52cf086SLokesh Vutla will be available until the real driver model serial is running. 342a52cf086SLokesh Vutla 34321d00436SSimon Glassendchoice 34421d00436SSimon Glass 3452f964aa7SSimon Glassconfig DEBUG_UART_BASE 3462f964aa7SSimon Glass hex "Base address of UART" 3472f964aa7SSimon Glass depends on DEBUG_UART 3482f964aa7SSimon Glass help 3492f964aa7SSimon Glass This is the base address of your UART for memory-mapped UARTs. 3502f964aa7SSimon Glass 3512f964aa7SSimon Glass A default should be provided by your board, but if not you will need 3522f964aa7SSimon Glass to use the correct value here. 3532f964aa7SSimon Glass 3542f964aa7SSimon Glassconfig DEBUG_UART_CLOCK 3552f964aa7SSimon Glass int "UART input clock" 3562f964aa7SSimon Glass depends on DEBUG_UART 3572f964aa7SSimon Glass help 3582f964aa7SSimon Glass The UART input clock determines the speed of the internal UART 3592f964aa7SSimon Glass circuitry. The baud rate is derived from this by dividing the input 3602f964aa7SSimon Glass clock down. 3612f964aa7SSimon Glass 3622f964aa7SSimon Glass A default should be provided by your board, but if not you will need 3632f964aa7SSimon Glass to use the correct value here. 3642f964aa7SSimon Glass 365dd0b0122SSimon Glassconfig DEBUG_UART_SHIFT 366dd0b0122SSimon Glass int "UART register shift" 367dd0b0122SSimon Glass depends on DEBUG_UART 368dd0b0122SSimon Glass default 0 if DEBUG_UART 369dd0b0122SSimon Glass help 370dd0b0122SSimon Glass Some UARTs (notably ns16550) support different register layouts 371dd0b0122SSimon Glass where the registers are spaced either as bytes, words or some other 372dd0b0122SSimon Glass value. Use this value to specify the shift to use, where 0=byte 373dd0b0122SSimon Glass registers, 2=32-bit word registers, etc. 374dd0b0122SSimon Glass 3750e977bc1SSimon Glassconfig DEBUG_UART_BOARD_INIT 3760e977bc1SSimon Glass bool "Enable board-specific debug UART init" 3770e977bc1SSimon Glass depends on DEBUG_UART 3780e977bc1SSimon Glass help 3790e977bc1SSimon Glass Some boards need to set things up before the debug UART can be used. 3800e977bc1SSimon Glass On these boards a call to debug_uart_init() is insufficient. When 3810e977bc1SSimon Glass this option is enabled, the function board_debug_uart_init() will 3820e977bc1SSimon Glass be called when debug_uart_init() is called. You can put any code 3830e977bc1SSimon Glass here that is needed to set up the UART ready for use, such as set 3840e977bc1SSimon Glass pin multiplexing or enable clocks. 3850e977bc1SSimon Glass 386c7fefcb9SSimon Glassconfig DEBUG_UART_ANNOUNCE 387c7fefcb9SSimon Glass bool "Show a message when the debug UART starts up" 388c7fefcb9SSimon Glass depends on DEBUG_UART 389c7fefcb9SSimon Glass help 390c7fefcb9SSimon Glass Enable this option to show a message when the debug UART is ready 391c7fefcb9SSimon Glass for use. You will see a message like "<debug_uart> " as soon as 392c7fefcb9SSimon Glass U-Boot has the UART ready for use (i.e. your code calls 393c7fefcb9SSimon Glass debug_uart_init()). This can be useful just as a check that 394c7fefcb9SSimon Glass everything is working. 395c7fefcb9SSimon Glass 39619de8150SSergey Temerkhanovconfig DEBUG_UART_SKIP_INIT 39719de8150SSergey Temerkhanov bool "Skip UART initialization" 39819de8150SSergey Temerkhanov help 39919de8150SSergey Temerkhanov Select this if the UART you want to use for debug output is already 40019de8150SSergey Temerkhanov initialized by the time U-Boot starts its execution. 40119de8150SSergey Temerkhanov 402220e8021SThomas Chouconfig ALTERA_JTAG_UART 403220e8021SThomas Chou bool "Altera JTAG UART support" 404220e8021SThomas Chou depends on DM_SERIAL 405220e8021SThomas Chou help 406220e8021SThomas Chou Select this to enable an JTAG UART for Altera devices.The JTAG UART 407220e8021SThomas Chou core implements a method to communicate serial character streams 408220e8021SThomas Chou between a host PC and a Qsys system on an Altera FPGA. Please find 409220e8021SThomas Chou details on the "Embedded Peripherals IP User Guide" of Altera. 410220e8021SThomas Chou 411220e8021SThomas Chouconfig ALTERA_JTAG_UART_BYPASS 412220e8021SThomas Chou bool "Bypass output when no connection" 413220e8021SThomas Chou depends on ALTERA_JTAG_UART 414220e8021SThomas Chou help 415220e8021SThomas Chou Bypass console output and keep going even if there is no JTAG 416220e8021SThomas Chou terminal connection with the host. The console output will resume 417220e8021SThomas Chou once the JTAG terminal is connected. Without the bypass, the console 418220e8021SThomas Chou output will wait forever until a JTAG terminal is connected. If you 419220e8021SThomas Chou not are sure, say Y. 420220e8021SThomas Chou 421da2f838dSThomas Chouconfig ALTERA_UART 422da2f838dSThomas Chou bool "Altera UART support" 423da2f838dSThomas Chou depends on DM_SERIAL 424da2f838dSThomas Chou help 425da2f838dSThomas Chou Select this to enable an UART for Altera devices. Please find 426da2f838dSThomas Chou details on the "Embedded Peripherals IP User Guide" of Altera. 427da2f838dSThomas Chou 42860b49761SWills Wangconfig AR933X_UART 42960b49761SWills Wang bool "QCA/Atheros ar933x UART support" 43060b49761SWills Wang depends on DM_SERIAL && SOC_AR933X 43160b49761SWills Wang help 43260b49761SWills Wang Select this to enable UART support for QCA/Atheros ar933x 43360b49761SWills Wang devices. This driver uses driver model and requires a device 43460b49761SWills Wang tree binding to operate, please refer to the document at 43560b49761SWills Wang doc/device-tree-bindings/serial/qca,ar9330-uart.txt. 43660b49761SWills Wang 437d7ac185fSAlexey Brodkinconfig ARC_SERIAL 438d7ac185fSAlexey Brodkin bool "ARC UART support" 439d7ac185fSAlexey Brodkin depends on DM_SERIAL 440d7ac185fSAlexey Brodkin help 441d7ac185fSAlexey Brodkin Select this to enable support for ARC UART now typically 442d7ac185fSAlexey Brodkin only used in Synopsys DesignWare ARC simulators like nSIM. 443d7ac185fSAlexey Brodkin 4446ec739aaSWenyou Yangconfig ATMEL_USART 4456ec739aaSWenyou Yang bool "Atmel USART support" 4466ec739aaSWenyou Yang help 4476ec739aaSWenyou Yang Select this to enable USART support for Atmel SoCs. It can be 4486ec739aaSWenyou Yang configured in the device tree, and input clock frequency can 4496ec739aaSWenyou Yang be got from the clk node. 4506ec739aaSWenyou Yang 451fa487594SAlexander Grafconfig BCM283X_MU_SERIAL 452fa487594SAlexander Graf bool "Support for BCM283x Mini-UART" 453fa487594SAlexander Graf depends on DM_SERIAL && ARCH_BCM283X 454fa487594SAlexander Graf default y 455fa487594SAlexander Graf help 456fa487594SAlexander Graf Select this to enable Mini-UART support on BCM283X family of SoCs. 457fa487594SAlexander Graf 4586001985fSAlexander Grafconfig BCM283X_PL011_SERIAL 4596001985fSAlexander Graf bool "Support for BCM283x PL011 UART" 4606001985fSAlexander Graf depends on PL01X_SERIAL && ARCH_BCM283X 4616001985fSAlexander Graf default y 4626001985fSAlexander Graf help 4636001985fSAlexander Graf Select this to enable an overriding PL011 driver for BCM283X SoCs 4646001985fSAlexander Graf that supports automatic disable, so that it only gets used when 4656001985fSAlexander Graf the UART is actually muxed. 4666001985fSAlexander Graf 46730581040SÁlvaro Fernández Rojasconfig BCM6345_SERIAL 46830581040SÁlvaro Fernández Rojas bool "Support for BCM6345 UART" 46930581040SÁlvaro Fernández Rojas depends on DM_SERIAL && ARCH_BMIPS 47030581040SÁlvaro Fernández Rojas help 47130581040SÁlvaro Fernández Rojas Select this to enable UART on BCM6345 SoCs. 47230581040SÁlvaro Fernández Rojas 473fac379e1STuomas Tynkkynenconfig FSL_LINFLEXUART 474fac379e1STuomas Tynkkynen bool "Freescale Linflex UART support" 475fac379e1STuomas Tynkkynen depends on DM_SERIAL 476fac379e1STuomas Tynkkynen help 477fac379e1STuomas Tynkkynen Select this to enable the Linflex serial module found on some 478fac379e1STuomas Tynkkynen NXP SoCs like S32V234. 479fac379e1STuomas Tynkkynen 4805ed07cf5SBin Mengconfig FSL_LPUART 4815ed07cf5SBin Meng bool "Freescale LPUART support" 4825ed07cf5SBin Meng help 4835ed07cf5SBin Meng Select this to enable a Low Power UART for Freescale VF610 and 4845ed07cf5SBin Meng QorIQ Layerscape devices. 4855ed07cf5SBin Meng 4866985d496SStefan Roeseconfig MVEBU_A3700_UART 4876985d496SStefan Roese bool "UART support for Armada 3700" 4886985d496SStefan Roese default n 4896985d496SStefan Roese help 4906985d496SStefan Roese Choose this option to add support for UART driver on the Marvell 4916985d496SStefan Roese Armada 3700 SoC. The base address is configured via DT. 4926985d496SStefan Roese 4938829e662SJagan Tekiconfig MXC_UART 4948829e662SJagan Teki bool "IMX serial port support" 49598d62e61SPatrick Bruenn depends on MX5 || MX6 4968829e662SJagan Teki help 4978829e662SJagan Teki If you have a machine based on a Motorola IMX CPU you 4988829e662SJagan Teki can enable its onboard serial port by enabling this option. 4998829e662SJagan Teki 500cac73f20SKeng Soon Cheahconfig NULLDEV_SERIAL 501cac73f20SKeng Soon Cheah bool "Null serial device" 502cac73f20SKeng Soon Cheah help 503cac73f20SKeng Soon Cheah Select this to enable null serial device support. A null serial 504cac73f20SKeng Soon Cheah device merely acts as a placeholder for a serial device and does 505cac73f20SKeng Soon Cheah nothing for all it's operation. 506cac73f20SKeng Soon Cheah 5079e160ee8SPaul Thackerconfig PIC32_SERIAL 5089e160ee8SPaul Thacker bool "Support for Microchip PIC32 on-chip UART" 5099e160ee8SPaul Thacker depends on DM_SERIAL && MACH_PIC32 5109e160ee8SPaul Thacker default y 5119e160ee8SPaul Thacker help 5129e160ee8SPaul Thacker Support for the UART found on Microchip PIC32 SoC's. 5139e160ee8SPaul Thacker 5149e39003eSThomas Chouconfig SYS_NS16550 5159e39003eSThomas Chou bool "NS16550 UART or compatible" 5169e39003eSThomas Chou help 5179e39003eSThomas Chou Support NS16550 UART or compatible. This can be enabled in the 5189e39003eSThomas Chou device tree with the correct input clock frequency. If the input 5199e39003eSThomas Chou clock frequency is not defined in the device tree, the macro 5209e39003eSThomas Chou CONFIG_SYS_NS16550_CLK defined in a legacy board header file will 5219e39003eSThomas Chou be used. It can be a constant or a function to get clock, eg, 5229e39003eSThomas Chou get_serial_clock(). 5239e39003eSThomas Chou 524c5f8dd48SAndy Shevchenkoconfig INTEL_MID_SERIAL 525c5f8dd48SAndy Shevchenko bool "Intel MID platform UART support" 526c5f8dd48SAndy Shevchenko depends on DM_SERIAL && OF_CONTROL 527c5f8dd48SAndy Shevchenko depends on INTEL_MID 528c5f8dd48SAndy Shevchenko select SYS_NS16550 529c5f8dd48SAndy Shevchenko help 530c5f8dd48SAndy Shevchenko Select this to enable a UART for Intel MID platforms. 531c5f8dd48SAndy Shevchenko This uses the ns16550 driver as a library. 532c5f8dd48SAndy Shevchenko 533884f9013SAlexander Grafconfig PL010_SERIAL 534884f9013SAlexander Graf bool "ARM PL010 driver" 535884f9013SAlexander Graf depends on !DM_SERIAL 536884f9013SAlexander Graf help 537884f9013SAlexander Graf Select this to enable a UART for platforms using PL010. 538884f9013SAlexander Graf 539d10fc50fSAlexander Grafconfig PL011_SERIAL 540d10fc50fSAlexander Graf bool "ARM PL011 driver" 541d10fc50fSAlexander Graf depends on !DM_SERIAL 542d10fc50fSAlexander Graf help 543d10fc50fSAlexander Graf Select this to enable a UART for platforms using PL011. 544d10fc50fSAlexander Graf 545cf2c7784SAlexander Grafconfig PL01X_SERIAL 546cf2c7784SAlexander Graf bool "ARM PL010 and PL011 driver" 547cf2c7784SAlexander Graf depends on DM_SERIAL 548cf2c7784SAlexander Graf help 549cf2c7784SAlexander Graf Select this to enable a UART for platforms using PL010 or PL011. 550cf2c7784SAlexander Graf 5512fc24d53SSimon Glassconfig ROCKCHIP_SERIAL 5522fc24d53SSimon Glass bool "Rockchip on-chip UART support" 5532fc24d53SSimon Glass depends on DM_SERIAL && SPL_OF_PLATDATA 5542fc24d53SSimon Glass help 5552fc24d53SSimon Glass Select this to enable a debug UART for Rockchip devices when using 5567f73ca48STom Rini CONFIG_SPL_OF_PLATDATA (i.e. a compiled-in device tree replacemenmt). 5572fc24d53SSimon Glass This uses the ns16550 driver, converting the platdata from of-platdata 5582fc24d53SSimon Glass to the ns16550 format. 5592fc24d53SSimon Glass 560af282245SSimon Glassconfig SANDBOX_SERIAL 561af282245SSimon Glass bool "Sandbox UART support" 5622ea65f3eSMasahiro Yamada depends on SANDBOX 563af282245SSimon Glass help 564af282245SSimon Glass Select this to enable a seral UART for sandbox. This is required to 565af282245SSimon Glass operate correctly, otherwise you will see no serial output from 566af282245SSimon Glass sandbox. The emulated UART will display to the console and console 567af282245SSimon Glass input will be fed into the UART. This allows you to interact with 568af282245SSimon Glass U-Boot. 569af282245SSimon Glass 570af282245SSimon Glass The operation of the console is controlled by the -t command-line 571af282245SSimon Glass flag. In raw mode, U-Boot sees all characters from the terminal 572af282245SSimon Glass before they are processed, including Ctrl-C. In cooked mode, Ctrl-C 573af282245SSimon Glass is processed by the terminal, and terminates U-Boot. Valid options 574af282245SSimon Glass are: 575af282245SSimon Glass 576af282245SSimon Glass -t raw-with-sigs Raw mode, Ctrl-C will terminate U-Boot 577af282245SSimon Glass -t raw Raw mode, Ctrl-C is processed by U-Boot 578af282245SSimon Glass -t cooked Cooked mode, Ctrl-C terminates 579af282245SSimon Glass 58003a38a39SMarek Vasutconfig SCIF_CONSOLE 58103a38a39SMarek Vasut bool "Renesas SCIF UART support" 58203a38a39SMarek Vasut depends on SH || ARCH_RMOBILE 58303a38a39SMarek Vasut help 58403a38a39SMarek Vasut Select this to enable Renesas SCIF UART. To operate serial ports 58503a38a39SMarek Vasut on systems with RCar or SH SoCs, say Y to this option. If unsure, 58603a38a39SMarek Vasut say N. 58703a38a39SMarek Vasut 588ff247b7aSMasahiro Yamadaconfig UNIPHIER_SERIAL 589b6ef3a3fSMasahiro Yamada bool "Support for UniPhier on-chip UART" 5902ea65f3eSMasahiro Yamada depends on ARCH_UNIPHIER 59185dc2fe1SMasahiro Yamada default y 592ff247b7aSMasahiro Yamada help 593b6ef3a3fSMasahiro Yamada If you have a UniPhier based board and want to use the on-chip 594b6ef3a3fSMasahiro Yamada serial ports, say Y to this option. If unsure, say N. 595dcfe4a54SSimon Glass 59654e24d33SMichal Simekconfig XILINX_UARTLITE 59754e24d33SMichal Simek bool "Xilinx Uarlite support" 59880cce262SRicardo Ribalda Delgado depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || 4xx) 59954e24d33SMichal Simek help 60054e24d33SMichal Simek If you have a Xilinx based board and want to use the uartlite 60154e24d33SMichal Simek serial ports, say Y to this option. If unsure, say N. 60254e24d33SMichal Simek 603bfcef28aSBeniamino Galvaniconfig MESON_SERIAL 604bfcef28aSBeniamino Galvani bool "Support for Amlogic Meson UART" 605bfcef28aSBeniamino Galvani depends on DM_SERIAL && ARCH_MESON 606bfcef28aSBeniamino Galvani help 607bfcef28aSBeniamino Galvani If you have an Amlogic Meson based board and want to use the on-chip 608bfcef28aSBeniamino Galvani serial ports, say Y to this option. If unsure, say N. 609bfcef28aSBeniamino Galvani 610142a20c3SMateusz Kulikowskiconfig MSM_SERIAL 611142a20c3SMateusz Kulikowski bool "Qualcomm on-chip UART" 612142a20c3SMateusz Kulikowski depends on DM_SERIAL 613142a20c3SMateusz Kulikowski help 614142a20c3SMateusz Kulikowski Support Data Mover UART used on Qualcomm Snapdragon SoCs. 615142a20c3SMateusz Kulikowski It should support all Qualcomm devices with UARTDM version 1.4, 616142a20c3SMateusz Kulikowski for example APQ8016 and MSM8916. 617142a20c3SMateusz Kulikowski Single baudrate is supported in current implementation (115200). 6186985d496SStefan Roese 619d804a5e1SMarcel Ziswilerconfig PXA_SERIAL 620d804a5e1SMarcel Ziswiler bool "PXA serial port support" 621d804a5e1SMarcel Ziswiler help 622d804a5e1SMarcel Ziswiler If you have a machine based on a Marvell XScale PXA2xx CPU you 623d804a5e1SMarcel Ziswiler can enable its onboard serial ports by enabling this option. 624d804a5e1SMarcel Ziswiler 625214a17e6SPatrice Chotardconfig STI_ASC_SERIAL 626214a17e6SPatrice Chotard bool "STMicroelectronics on-chip UART" 627214a17e6SPatrice Chotard depends on DM_SERIAL && ARCH_STI 628214a17e6SPatrice Chotard help 629214a17e6SPatrice Chotard Select this to enable Asynchronous Serial Controller available 630214a17e6SPatrice Chotard on STiH410 SoC. This is a basic implementation, it supports 631214a17e6SPatrice Chotard following baudrate 9600, 19200, 38400, 57600 and 115200. 632214a17e6SPatrice Chotard 633ae74de0dSPatrice Chotardconfig STM32_SERIAL 63484e9dcc1SPatrice Chotard bool "STMicroelectronics STM32 SoCs on-chip UART" 6352514c2d0SPatrick Delaunay depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7 || ARCH_STM32MP) 63684e9dcc1SPatrice Chotard help 6372514c2d0SPatrick Delaunay If you have a machine based on a STM32 F4, F7, H7 or MP1 SOC 6382514c2d0SPatrick Delaunay you can enable its onboard serial ports, say Y to this option. 639776b2ddbSPatrice Chotard If unsure, say N. 64084e9dcc1SPatrice Chotard 641809704ebSMichal Simekconfig ZYNQ_SERIAL 642809704ebSMichal Simek bool "Cadence (Xilinx Zynq) UART support" 6431d6c54ecSMichal Simek depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_ZYNQMP_R5) 644809704ebSMichal Simek help 645809704ebSMichal Simek This driver supports the Cadence UART. It is found e.g. in Xilinx 646809704ebSMichal Simek Zynq/ZynqMP. 647809704ebSMichal Simek 648dd7ff472SChristophe Leroyconfig MPC8XX_CONS 649dd7ff472SChristophe Leroy bool "Console driver for MPC8XX" 650ee1e600cSChristophe Leroy depends on MPC8xx 651dd7ff472SChristophe Leroy default y 652dd7ff472SChristophe Leroy 653dd7ff472SChristophe Leroychoice 654dd7ff472SChristophe Leroy prompt "Console port" 655dd7ff472SChristophe Leroy default 8xx_CONS_SMC1 656dd7ff472SChristophe Leroy depends on MPC8XX_CONS 657dd7ff472SChristophe Leroy help 658dd7ff472SChristophe Leroy Depending on board, select one serial port 659dd7ff472SChristophe Leroy (CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2) 660dd7ff472SChristophe Leroy 661dd7ff472SChristophe Leroyconfig 8xx_CONS_SMC1 662dd7ff472SChristophe Leroy bool "SMC1" 663dd7ff472SChristophe Leroy 664dd7ff472SChristophe Leroyconfig 8xx_CONS_SMC2 665dd7ff472SChristophe Leroy bool "SMC2" 666dd7ff472SChristophe Leroy 667dd7ff472SChristophe Leroyendchoice 668dd7ff472SChristophe Leroy 669dd7ff472SChristophe Leroyconfig SYS_SMC_RXBUFLEN 670dd7ff472SChristophe Leroy int "Console Rx buffer length" 671dd7ff472SChristophe Leroy depends on MPC8XX_CONS 672dd7ff472SChristophe Leroy default 1 673dd7ff472SChristophe Leroy help 674dd7ff472SChristophe Leroy With CONFIG_SYS_SMC_RXBUFLEN it is possible to define 675dd7ff472SChristophe Leroy the maximum receive buffer length for the SMC. 676dd7ff472SChristophe Leroy This option is actual only for 8xx possible. 677dd7ff472SChristophe Leroy If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE 678dd7ff472SChristophe Leroy must be defined, to setup the maximum idle timeout for 679dd7ff472SChristophe Leroy the SMC. 680dd7ff472SChristophe Leroy 681dd7ff472SChristophe Leroyconfig SYS_MAXIDLE 682dd7ff472SChristophe Leroy int "maximum idle timeout" 683dd7ff472SChristophe Leroy depends on MPC8XX_CONS 684dd7ff472SChristophe Leroy default 0 685dd7ff472SChristophe Leroy 686dd7ff472SChristophe Leroyconfig SYS_BRGCLK_PRESCALE 687dd7ff472SChristophe Leroy int "BRG Clock Prescale" 688dd7ff472SChristophe Leroy depends on MPC8XX_CONS 689dd7ff472SChristophe Leroy default 1 690dd7ff472SChristophe Leroy 691dd7ff472SChristophe Leroyconfig SYS_SDSR 692dd7ff472SChristophe Leroy hex "SDSR Value" 693dd7ff472SChristophe Leroy depends on MPC8XX_CONS 694dd7ff472SChristophe Leroy default 0x83 695dd7ff472SChristophe Leroy 696dd7ff472SChristophe Leroyconfig SYS_SDMR 697dd7ff472SChristophe Leroy hex "SDMR Value" 698dd7ff472SChristophe Leroy depends on MPC8XX_CONS 699dd7ff472SChristophe Leroy default 0 700dd7ff472SChristophe Leroy 7010b11dbf7SMasahiro Yamadaendmenu 702