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 20054705016SAlexey Brodkinconfig DEBUG_ARC_SERIAL 20154705016SAlexey Brodkin bool "ARC UART" 20254705016SAlexey Brodkin depends on ARC_SERIAL 20354705016SAlexey Brodkin help 20454705016SAlexey Brodkin Select this to enable a debug UART using the ARC UART driver. 20554705016SAlexey Brodkin You will need to provide parameters to make this work. The 20654705016SAlexey Brodkin driver will be available until the real driver model serial is 20754705016SAlexey Brodkin running. 20854705016SAlexey 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 327*ee441764SSimon Glassconfig DEBUG_UART_SANDBOX 328*ee441764SSimon Glass bool "sandbox" 329*ee441764SSimon Glass depends on SANDBOX_SERIAL 330*ee441764SSimon Glass help 331*ee441764SSimon Glass Select this to enable the debug UART using the sandbox driver. This 332*ee441764SSimon Glass provides basic serial output from the console without needing to 333*ee441764SSimon Glass start up driver model. The driver will be available until the real 334*ee441764SSimon Glass driver model serial is running. 335*ee441764SSimon Glass 336215c8bedSPatrick Delaunayconfig DEBUG_UART_STM32 337215c8bedSPatrick Delaunay bool "STMicroelectronics STM32" 338215c8bedSPatrick Delaunay depends on STM32_SERIAL 339215c8bedSPatrick Delaunay help 340215c8bedSPatrick Delaunay Select this to enable a debug UART using the serial_stm32 driver 341215c8bedSPatrick Delaunay You will need to provide parameters to make this work. 342215c8bedSPatrick Delaunay The driver will be available until the real driver model 343215c8bedSPatrick Delaunay serial is running. 344215c8bedSPatrick Delaunay 345d5cf3297SMasahiro Yamadaconfig DEBUG_UART_UNIPHIER 346d5cf3297SMasahiro Yamada bool "UniPhier on-chip UART" 347d5cf3297SMasahiro Yamada depends on ARCH_UNIPHIER 348d5cf3297SMasahiro Yamada help 349d5cf3297SMasahiro Yamada Select this to enable a debug UART using the UniPhier on-chip UART. 350d5cf3297SMasahiro Yamada You will need to provide DEBUG_UART_BASE to make this work. The 351d5cf3297SMasahiro Yamada driver will be available until the real driver-model serial is 352d5cf3297SMasahiro Yamada running. 353d5cf3297SMasahiro Yamada 354a52cf086SLokesh Vutlaconfig DEBUG_UART_OMAP 355a52cf086SLokesh Vutla bool "OMAP uart" 356a52cf086SLokesh Vutla help 357a52cf086SLokesh Vutla Select this to enable a debug UART using the omap ns16550 driver. 358a52cf086SLokesh Vutla You will need to provide parameters to make this work. The driver 359a52cf086SLokesh Vutla will be available until the real driver model serial is running. 360a52cf086SLokesh Vutla 36121d00436SSimon Glassendchoice 36221d00436SSimon Glass 3632f964aa7SSimon Glassconfig DEBUG_UART_BASE 3642f964aa7SSimon Glass hex "Base address of UART" 3652f964aa7SSimon Glass depends on DEBUG_UART 366*ee441764SSimon Glass default 0 if DEBUG_UART_SANDBOX 3672f964aa7SSimon Glass help 3682f964aa7SSimon Glass This is the base address of your UART for memory-mapped UARTs. 3692f964aa7SSimon Glass 3702f964aa7SSimon Glass A default should be provided by your board, but if not you will need 3712f964aa7SSimon Glass to use the correct value here. 3722f964aa7SSimon Glass 3732f964aa7SSimon Glassconfig DEBUG_UART_CLOCK 3742f964aa7SSimon Glass int "UART input clock" 3752f964aa7SSimon Glass depends on DEBUG_UART 376*ee441764SSimon Glass default 0 if DEBUG_UART_SANDBOX 3772f964aa7SSimon Glass help 3782f964aa7SSimon Glass The UART input clock determines the speed of the internal UART 3792f964aa7SSimon Glass circuitry. The baud rate is derived from this by dividing the input 3802f964aa7SSimon Glass clock down. 3812f964aa7SSimon Glass 3822f964aa7SSimon Glass A default should be provided by your board, but if not you will need 3832f964aa7SSimon Glass to use the correct value here. 3842f964aa7SSimon Glass 385dd0b0122SSimon Glassconfig DEBUG_UART_SHIFT 386dd0b0122SSimon Glass int "UART register shift" 387dd0b0122SSimon Glass depends on DEBUG_UART 388dd0b0122SSimon Glass default 0 if DEBUG_UART 389dd0b0122SSimon Glass help 390dd0b0122SSimon Glass Some UARTs (notably ns16550) support different register layouts 391dd0b0122SSimon Glass where the registers are spaced either as bytes, words or some other 392dd0b0122SSimon Glass value. Use this value to specify the shift to use, where 0=byte 393dd0b0122SSimon Glass registers, 2=32-bit word registers, etc. 394dd0b0122SSimon Glass 3950e977bc1SSimon Glassconfig DEBUG_UART_BOARD_INIT 3960e977bc1SSimon Glass bool "Enable board-specific debug UART init" 3970e977bc1SSimon Glass depends on DEBUG_UART 3980e977bc1SSimon Glass help 3990e977bc1SSimon Glass Some boards need to set things up before the debug UART can be used. 4000e977bc1SSimon Glass On these boards a call to debug_uart_init() is insufficient. When 4010e977bc1SSimon Glass this option is enabled, the function board_debug_uart_init() will 4020e977bc1SSimon Glass be called when debug_uart_init() is called. You can put any code 4030e977bc1SSimon Glass here that is needed to set up the UART ready for use, such as set 4040e977bc1SSimon Glass pin multiplexing or enable clocks. 4050e977bc1SSimon Glass 406c7fefcb9SSimon Glassconfig DEBUG_UART_ANNOUNCE 407c7fefcb9SSimon Glass bool "Show a message when the debug UART starts up" 408c7fefcb9SSimon Glass depends on DEBUG_UART 409c7fefcb9SSimon Glass help 410c7fefcb9SSimon Glass Enable this option to show a message when the debug UART is ready 411c7fefcb9SSimon Glass for use. You will see a message like "<debug_uart> " as soon as 412c7fefcb9SSimon Glass U-Boot has the UART ready for use (i.e. your code calls 413c7fefcb9SSimon Glass debug_uart_init()). This can be useful just as a check that 414c7fefcb9SSimon Glass everything is working. 415c7fefcb9SSimon Glass 41619de8150SSergey Temerkhanovconfig DEBUG_UART_SKIP_INIT 41719de8150SSergey Temerkhanov bool "Skip UART initialization" 41819de8150SSergey Temerkhanov help 41919de8150SSergey Temerkhanov Select this if the UART you want to use for debug output is already 42019de8150SSergey Temerkhanov initialized by the time U-Boot starts its execution. 42119de8150SSergey Temerkhanov 422220e8021SThomas Chouconfig ALTERA_JTAG_UART 423220e8021SThomas Chou bool "Altera JTAG UART support" 424220e8021SThomas Chou depends on DM_SERIAL 425220e8021SThomas Chou help 426220e8021SThomas Chou Select this to enable an JTAG UART for Altera devices.The JTAG UART 427220e8021SThomas Chou core implements a method to communicate serial character streams 428220e8021SThomas Chou between a host PC and a Qsys system on an Altera FPGA. Please find 429220e8021SThomas Chou details on the "Embedded Peripherals IP User Guide" of Altera. 430220e8021SThomas Chou 431220e8021SThomas Chouconfig ALTERA_JTAG_UART_BYPASS 432220e8021SThomas Chou bool "Bypass output when no connection" 433220e8021SThomas Chou depends on ALTERA_JTAG_UART 434220e8021SThomas Chou help 435220e8021SThomas Chou Bypass console output and keep going even if there is no JTAG 436220e8021SThomas Chou terminal connection with the host. The console output will resume 437220e8021SThomas Chou once the JTAG terminal is connected. Without the bypass, the console 438220e8021SThomas Chou output will wait forever until a JTAG terminal is connected. If you 439220e8021SThomas Chou not are sure, say Y. 440220e8021SThomas Chou 441da2f838dSThomas Chouconfig ALTERA_UART 442da2f838dSThomas Chou bool "Altera UART support" 443da2f838dSThomas Chou depends on DM_SERIAL 444da2f838dSThomas Chou help 445da2f838dSThomas Chou Select this to enable an UART for Altera devices. Please find 446da2f838dSThomas Chou details on the "Embedded Peripherals IP User Guide" of Altera. 447da2f838dSThomas Chou 44860b49761SWills Wangconfig AR933X_UART 44960b49761SWills Wang bool "QCA/Atheros ar933x UART support" 45060b49761SWills Wang depends on DM_SERIAL && SOC_AR933X 45160b49761SWills Wang help 45260b49761SWills Wang Select this to enable UART support for QCA/Atheros ar933x 45360b49761SWills Wang devices. This driver uses driver model and requires a device 45460b49761SWills Wang tree binding to operate, please refer to the document at 45560b49761SWills Wang doc/device-tree-bindings/serial/qca,ar9330-uart.txt. 45660b49761SWills Wang 457d7ac185fSAlexey Brodkinconfig ARC_SERIAL 458d7ac185fSAlexey Brodkin bool "ARC UART support" 459d7ac185fSAlexey Brodkin depends on DM_SERIAL 460d7ac185fSAlexey Brodkin help 461d7ac185fSAlexey Brodkin Select this to enable support for ARC UART now typically 462d7ac185fSAlexey Brodkin only used in Synopsys DesignWare ARC simulators like nSIM. 463d7ac185fSAlexey Brodkin 4646ec739aaSWenyou Yangconfig ATMEL_USART 4656ec739aaSWenyou Yang bool "Atmel USART support" 4666ec739aaSWenyou Yang help 4676ec739aaSWenyou Yang Select this to enable USART support for Atmel SoCs. It can be 4686ec739aaSWenyou Yang configured in the device tree, and input clock frequency can 4696ec739aaSWenyou Yang be got from the clk node. 4706ec739aaSWenyou Yang 471fa487594SAlexander Grafconfig BCM283X_MU_SERIAL 472fa487594SAlexander Graf bool "Support for BCM283x Mini-UART" 473fa487594SAlexander Graf depends on DM_SERIAL && ARCH_BCM283X 474fa487594SAlexander Graf default y 475fa487594SAlexander Graf help 476fa487594SAlexander Graf Select this to enable Mini-UART support on BCM283X family of SoCs. 477fa487594SAlexander Graf 4786001985fSAlexander Grafconfig BCM283X_PL011_SERIAL 4796001985fSAlexander Graf bool "Support for BCM283x PL011 UART" 4806001985fSAlexander Graf depends on PL01X_SERIAL && ARCH_BCM283X 4816001985fSAlexander Graf default y 4826001985fSAlexander Graf help 4836001985fSAlexander Graf Select this to enable an overriding PL011 driver for BCM283X SoCs 4846001985fSAlexander Graf that supports automatic disable, so that it only gets used when 4856001985fSAlexander Graf the UART is actually muxed. 4866001985fSAlexander Graf 48730581040SÁlvaro Fernández Rojasconfig BCM6345_SERIAL 48830581040SÁlvaro Fernández Rojas bool "Support for BCM6345 UART" 48930581040SÁlvaro Fernández Rojas depends on DM_SERIAL && ARCH_BMIPS 49030581040SÁlvaro Fernández Rojas help 49130581040SÁlvaro Fernández Rojas Select this to enable UART on BCM6345 SoCs. 49230581040SÁlvaro Fernández Rojas 493fac379e1STuomas Tynkkynenconfig FSL_LINFLEXUART 494fac379e1STuomas Tynkkynen bool "Freescale Linflex UART support" 495fac379e1STuomas Tynkkynen depends on DM_SERIAL 496fac379e1STuomas Tynkkynen help 497fac379e1STuomas Tynkkynen Select this to enable the Linflex serial module found on some 498fac379e1STuomas Tynkkynen NXP SoCs like S32V234. 499fac379e1STuomas Tynkkynen 5005ed07cf5SBin Mengconfig FSL_LPUART 5015ed07cf5SBin Meng bool "Freescale LPUART support" 5025ed07cf5SBin Meng help 5035ed07cf5SBin Meng Select this to enable a Low Power UART for Freescale VF610 and 5045ed07cf5SBin Meng QorIQ Layerscape devices. 5055ed07cf5SBin Meng 5066985d496SStefan Roeseconfig MVEBU_A3700_UART 5076985d496SStefan Roese bool "UART support for Armada 3700" 5086985d496SStefan Roese default n 5096985d496SStefan Roese help 5106985d496SStefan Roese Choose this option to add support for UART driver on the Marvell 5116985d496SStefan Roese Armada 3700 SoC. The base address is configured via DT. 5126985d496SStefan Roese 5138829e662SJagan Tekiconfig MXC_UART 5148829e662SJagan Teki bool "IMX serial port support" 51598d62e61SPatrick Bruenn depends on MX5 || MX6 5168829e662SJagan Teki help 5178829e662SJagan Teki If you have a machine based on a Motorola IMX CPU you 5188829e662SJagan Teki can enable its onboard serial port by enabling this option. 5198829e662SJagan Teki 520cac73f20SKeng Soon Cheahconfig NULLDEV_SERIAL 521cac73f20SKeng Soon Cheah bool "Null serial device" 522cac73f20SKeng Soon Cheah help 523cac73f20SKeng Soon Cheah Select this to enable null serial device support. A null serial 524cac73f20SKeng Soon Cheah device merely acts as a placeholder for a serial device and does 525cac73f20SKeng Soon Cheah nothing for all it's operation. 526cac73f20SKeng Soon Cheah 5279e160ee8SPaul Thackerconfig PIC32_SERIAL 5289e160ee8SPaul Thacker bool "Support for Microchip PIC32 on-chip UART" 5299e160ee8SPaul Thacker depends on DM_SERIAL && MACH_PIC32 5309e160ee8SPaul Thacker default y 5319e160ee8SPaul Thacker help 5329e160ee8SPaul Thacker Support for the UART found on Microchip PIC32 SoC's. 5339e160ee8SPaul Thacker 5349e39003eSThomas Chouconfig SYS_NS16550 5359e39003eSThomas Chou bool "NS16550 UART or compatible" 5369e39003eSThomas Chou help 5379e39003eSThomas Chou Support NS16550 UART or compatible. This can be enabled in the 5389e39003eSThomas Chou device tree with the correct input clock frequency. If the input 5399e39003eSThomas Chou clock frequency is not defined in the device tree, the macro 5409e39003eSThomas Chou CONFIG_SYS_NS16550_CLK defined in a legacy board header file will 5419e39003eSThomas Chou be used. It can be a constant or a function to get clock, eg, 5429e39003eSThomas Chou get_serial_clock(). 5439e39003eSThomas Chou 544c5f8dd48SAndy Shevchenkoconfig INTEL_MID_SERIAL 545c5f8dd48SAndy Shevchenko bool "Intel MID platform UART support" 546c5f8dd48SAndy Shevchenko depends on DM_SERIAL && OF_CONTROL 547c5f8dd48SAndy Shevchenko depends on INTEL_MID 548c5f8dd48SAndy Shevchenko select SYS_NS16550 549c5f8dd48SAndy Shevchenko help 550c5f8dd48SAndy Shevchenko Select this to enable a UART for Intel MID platforms. 551c5f8dd48SAndy Shevchenko This uses the ns16550 driver as a library. 552c5f8dd48SAndy Shevchenko 553884f9013SAlexander Grafconfig PL010_SERIAL 554884f9013SAlexander Graf bool "ARM PL010 driver" 555884f9013SAlexander Graf depends on !DM_SERIAL 556884f9013SAlexander Graf help 557884f9013SAlexander Graf Select this to enable a UART for platforms using PL010. 558884f9013SAlexander Graf 559d10fc50fSAlexander Grafconfig PL011_SERIAL 560d10fc50fSAlexander Graf bool "ARM PL011 driver" 561d10fc50fSAlexander Graf depends on !DM_SERIAL 562d10fc50fSAlexander Graf help 563d10fc50fSAlexander Graf Select this to enable a UART for platforms using PL011. 564d10fc50fSAlexander Graf 565cf2c7784SAlexander Grafconfig PL01X_SERIAL 566cf2c7784SAlexander Graf bool "ARM PL010 and PL011 driver" 567cf2c7784SAlexander Graf depends on DM_SERIAL 568cf2c7784SAlexander Graf help 569cf2c7784SAlexander Graf Select this to enable a UART for platforms using PL010 or PL011. 570cf2c7784SAlexander Graf 5712fc24d53SSimon Glassconfig ROCKCHIP_SERIAL 5722fc24d53SSimon Glass bool "Rockchip on-chip UART support" 5732fc24d53SSimon Glass depends on DM_SERIAL && SPL_OF_PLATDATA 5742fc24d53SSimon Glass help 5752fc24d53SSimon Glass Select this to enable a debug UART for Rockchip devices when using 5767f73ca48STom Rini CONFIG_SPL_OF_PLATDATA (i.e. a compiled-in device tree replacemenmt). 5772fc24d53SSimon Glass This uses the ns16550 driver, converting the platdata from of-platdata 5782fc24d53SSimon Glass to the ns16550 format. 5792fc24d53SSimon Glass 580af282245SSimon Glassconfig SANDBOX_SERIAL 581af282245SSimon Glass bool "Sandbox UART support" 5822ea65f3eSMasahiro Yamada depends on SANDBOX 583af282245SSimon Glass help 584af282245SSimon Glass Select this to enable a seral UART for sandbox. This is required to 585af282245SSimon Glass operate correctly, otherwise you will see no serial output from 586af282245SSimon Glass sandbox. The emulated UART will display to the console and console 587af282245SSimon Glass input will be fed into the UART. This allows you to interact with 588af282245SSimon Glass U-Boot. 589af282245SSimon Glass 590af282245SSimon Glass The operation of the console is controlled by the -t command-line 591af282245SSimon Glass flag. In raw mode, U-Boot sees all characters from the terminal 592af282245SSimon Glass before they are processed, including Ctrl-C. In cooked mode, Ctrl-C 593af282245SSimon Glass is processed by the terminal, and terminates U-Boot. Valid options 594af282245SSimon Glass are: 595af282245SSimon Glass 596af282245SSimon Glass -t raw-with-sigs Raw mode, Ctrl-C will terminate U-Boot 597af282245SSimon Glass -t raw Raw mode, Ctrl-C is processed by U-Boot 598af282245SSimon Glass -t cooked Cooked mode, Ctrl-C terminates 599af282245SSimon Glass 60003a38a39SMarek Vasutconfig SCIF_CONSOLE 60103a38a39SMarek Vasut bool "Renesas SCIF UART support" 60203a38a39SMarek Vasut depends on SH || ARCH_RMOBILE 60303a38a39SMarek Vasut help 60403a38a39SMarek Vasut Select this to enable Renesas SCIF UART. To operate serial ports 60503a38a39SMarek Vasut on systems with RCar or SH SoCs, say Y to this option. If unsure, 60603a38a39SMarek Vasut say N. 60703a38a39SMarek Vasut 608ff247b7aSMasahiro Yamadaconfig UNIPHIER_SERIAL 609b6ef3a3fSMasahiro Yamada bool "Support for UniPhier on-chip UART" 6102ea65f3eSMasahiro Yamada depends on ARCH_UNIPHIER 61185dc2fe1SMasahiro Yamada default y 612ff247b7aSMasahiro Yamada help 613b6ef3a3fSMasahiro Yamada If you have a UniPhier based board and want to use the on-chip 614b6ef3a3fSMasahiro Yamada serial ports, say Y to this option. If unsure, say N. 615dcfe4a54SSimon Glass 61654e24d33SMichal Simekconfig XILINX_UARTLITE 61754e24d33SMichal Simek bool "Xilinx Uarlite support" 61880cce262SRicardo Ribalda Delgado depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || 4xx) 61954e24d33SMichal Simek help 62054e24d33SMichal Simek If you have a Xilinx based board and want to use the uartlite 62154e24d33SMichal Simek serial ports, say Y to this option. If unsure, say N. 62254e24d33SMichal Simek 623bfcef28aSBeniamino Galvaniconfig MESON_SERIAL 624bfcef28aSBeniamino Galvani bool "Support for Amlogic Meson UART" 625bfcef28aSBeniamino Galvani depends on DM_SERIAL && ARCH_MESON 626bfcef28aSBeniamino Galvani help 627bfcef28aSBeniamino Galvani If you have an Amlogic Meson based board and want to use the on-chip 628bfcef28aSBeniamino Galvani serial ports, say Y to this option. If unsure, say N. 629bfcef28aSBeniamino Galvani 630142a20c3SMateusz Kulikowskiconfig MSM_SERIAL 631142a20c3SMateusz Kulikowski bool "Qualcomm on-chip UART" 632142a20c3SMateusz Kulikowski depends on DM_SERIAL 633142a20c3SMateusz Kulikowski help 634142a20c3SMateusz Kulikowski Support Data Mover UART used on Qualcomm Snapdragon SoCs. 635142a20c3SMateusz Kulikowski It should support all Qualcomm devices with UARTDM version 1.4, 636142a20c3SMateusz Kulikowski for example APQ8016 and MSM8916. 637142a20c3SMateusz Kulikowski Single baudrate is supported in current implementation (115200). 6386985d496SStefan Roese 6395d754197SLokesh Vutlaconfig OMAP_SERIAL 6405d754197SLokesh Vutla bool "Support for OMAP specific UART" 6415d754197SLokesh Vutla depends on DM_SERIAL 642586bde93SLokesh Vutla default y if (ARCH_OMAP2PLUS || ARCH_K3) 6435d754197SLokesh Vutla select SYS_NS16550 6445d754197SLokesh Vutla help 6455d754197SLokesh Vutla If you have an TI based SoC and want to use the on-chip serial 6465d754197SLokesh Vutla port, say Y to this option. If unsure say N. 6475d754197SLokesh Vutla 6486f9347f3SManivannan Sadhasivamconfig OWL_SERIAL 6496f9347f3SManivannan Sadhasivam bool "Actions Semi OWL UART" 6506f9347f3SManivannan Sadhasivam depends on DM_SERIAL && ARCH_OWL 6516f9347f3SManivannan Sadhasivam help 6526f9347f3SManivannan Sadhasivam If you have a Actions Semi OWL based board and want to use the on-chip 6536f9347f3SManivannan Sadhasivam serial port, say Y to this option. If unsure, say N. 6546f9347f3SManivannan Sadhasivam Single baudrate is supported in current implementation (115200). 6556f9347f3SManivannan Sadhasivam 656d804a5e1SMarcel Ziswilerconfig PXA_SERIAL 657d804a5e1SMarcel Ziswiler bool "PXA serial port support" 658d804a5e1SMarcel Ziswiler help 659d804a5e1SMarcel Ziswiler If you have a machine based on a Marvell XScale PXA2xx CPU you 660d804a5e1SMarcel Ziswiler can enable its onboard serial ports by enabling this option. 661d804a5e1SMarcel Ziswiler 662214a17e6SPatrice Chotardconfig STI_ASC_SERIAL 663214a17e6SPatrice Chotard bool "STMicroelectronics on-chip UART" 664214a17e6SPatrice Chotard depends on DM_SERIAL && ARCH_STI 665214a17e6SPatrice Chotard help 666214a17e6SPatrice Chotard Select this to enable Asynchronous Serial Controller available 667214a17e6SPatrice Chotard on STiH410 SoC. This is a basic implementation, it supports 668214a17e6SPatrice Chotard following baudrate 9600, 19200, 38400, 57600 and 115200. 669214a17e6SPatrice Chotard 670ae74de0dSPatrice Chotardconfig STM32_SERIAL 67184e9dcc1SPatrice Chotard bool "STMicroelectronics STM32 SoCs on-chip UART" 6722514c2d0SPatrick Delaunay depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7 || ARCH_STM32MP) 67384e9dcc1SPatrice Chotard help 6742514c2d0SPatrick Delaunay If you have a machine based on a STM32 F4, F7, H7 or MP1 SOC 6752514c2d0SPatrick Delaunay you can enable its onboard serial ports, say Y to this option. 676776b2ddbSPatrice Chotard If unsure, say N. 67784e9dcc1SPatrice Chotard 678809704ebSMichal Simekconfig ZYNQ_SERIAL 679809704ebSMichal Simek bool "Cadence (Xilinx Zynq) UART support" 6801d6c54ecSMichal Simek depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_ZYNQMP_R5) 681809704ebSMichal Simek help 682809704ebSMichal Simek This driver supports the Cadence UART. It is found e.g. in Xilinx 683809704ebSMichal Simek Zynq/ZynqMP. 684809704ebSMichal Simek 685dd7ff472SChristophe Leroyconfig MPC8XX_CONS 686dd7ff472SChristophe Leroy bool "Console driver for MPC8XX" 687ee1e600cSChristophe Leroy depends on MPC8xx 688dd7ff472SChristophe Leroy default y 689dd7ff472SChristophe Leroy 690dd7ff472SChristophe Leroychoice 691dd7ff472SChristophe Leroy prompt "Console port" 692dd7ff472SChristophe Leroy default 8xx_CONS_SMC1 693dd7ff472SChristophe Leroy depends on MPC8XX_CONS 694dd7ff472SChristophe Leroy help 695dd7ff472SChristophe Leroy Depending on board, select one serial port 696dd7ff472SChristophe Leroy (CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2) 697dd7ff472SChristophe Leroy 698dd7ff472SChristophe Leroyconfig 8xx_CONS_SMC1 699dd7ff472SChristophe Leroy bool "SMC1" 700dd7ff472SChristophe Leroy 701dd7ff472SChristophe Leroyconfig 8xx_CONS_SMC2 702dd7ff472SChristophe Leroy bool "SMC2" 703dd7ff472SChristophe Leroy 704dd7ff472SChristophe Leroyendchoice 705dd7ff472SChristophe Leroy 706dd7ff472SChristophe Leroyconfig SYS_SMC_RXBUFLEN 707dd7ff472SChristophe Leroy int "Console Rx buffer length" 708dd7ff472SChristophe Leroy depends on MPC8XX_CONS 709dd7ff472SChristophe Leroy default 1 710dd7ff472SChristophe Leroy help 711dd7ff472SChristophe Leroy With CONFIG_SYS_SMC_RXBUFLEN it is possible to define 712dd7ff472SChristophe Leroy the maximum receive buffer length for the SMC. 713dd7ff472SChristophe Leroy This option is actual only for 8xx possible. 714dd7ff472SChristophe Leroy If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE 715dd7ff472SChristophe Leroy must be defined, to setup the maximum idle timeout for 716dd7ff472SChristophe Leroy the SMC. 717dd7ff472SChristophe Leroy 718dd7ff472SChristophe Leroyconfig SYS_MAXIDLE 719dd7ff472SChristophe Leroy int "maximum idle timeout" 720dd7ff472SChristophe Leroy depends on MPC8XX_CONS 721dd7ff472SChristophe Leroy default 0 722dd7ff472SChristophe Leroy 723dd7ff472SChristophe Leroyconfig SYS_BRGCLK_PRESCALE 724dd7ff472SChristophe Leroy int "BRG Clock Prescale" 725dd7ff472SChristophe Leroy depends on MPC8XX_CONS 726dd7ff472SChristophe Leroy default 1 727dd7ff472SChristophe Leroy 728dd7ff472SChristophe Leroyconfig SYS_SDSR 729dd7ff472SChristophe Leroy hex "SDSR Value" 730dd7ff472SChristophe Leroy depends on MPC8XX_CONS 731dd7ff472SChristophe Leroy default 0x83 732dd7ff472SChristophe Leroy 733dd7ff472SChristophe Leroyconfig SYS_SDMR 734dd7ff472SChristophe Leroy hex "SDMR Value" 735dd7ff472SChristophe Leroy depends on MPC8XX_CONS 736dd7ff472SChristophe Leroy default 0 737dd7ff472SChristophe Leroy 7380b11dbf7SMasahiro Yamadaendmenu 739