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 327215c8bedSPatrick Delaunayconfig DEBUG_UART_STM32 328215c8bedSPatrick Delaunay bool "STMicroelectronics STM32" 329215c8bedSPatrick Delaunay depends on STM32_SERIAL 330215c8bedSPatrick Delaunay help 331215c8bedSPatrick Delaunay Select this to enable a debug UART using the serial_stm32 driver 332215c8bedSPatrick Delaunay You will need to provide parameters to make this work. 333215c8bedSPatrick Delaunay The driver will be available until the real driver model 334215c8bedSPatrick Delaunay serial is running. 335215c8bedSPatrick Delaunay 336d5cf3297SMasahiro Yamadaconfig DEBUG_UART_UNIPHIER 337d5cf3297SMasahiro Yamada bool "UniPhier on-chip UART" 338d5cf3297SMasahiro Yamada depends on ARCH_UNIPHIER 339d5cf3297SMasahiro Yamada help 340d5cf3297SMasahiro Yamada Select this to enable a debug UART using the UniPhier on-chip UART. 341d5cf3297SMasahiro Yamada You will need to provide DEBUG_UART_BASE to make this work. The 342d5cf3297SMasahiro Yamada driver will be available until the real driver-model serial is 343d5cf3297SMasahiro Yamada running. 344d5cf3297SMasahiro Yamada 345a52cf086SLokesh Vutlaconfig DEBUG_UART_OMAP 346a52cf086SLokesh Vutla bool "OMAP uart" 347a52cf086SLokesh Vutla help 348a52cf086SLokesh Vutla Select this to enable a debug UART using the omap ns16550 driver. 349a52cf086SLokesh Vutla You will need to provide parameters to make this work. The driver 350a52cf086SLokesh Vutla will be available until the real driver model serial is running. 351a52cf086SLokesh Vutla 35221d00436SSimon Glassendchoice 35321d00436SSimon Glass 3542f964aa7SSimon Glassconfig DEBUG_UART_BASE 3552f964aa7SSimon Glass hex "Base address of UART" 3562f964aa7SSimon Glass depends on DEBUG_UART 3572f964aa7SSimon Glass help 3582f964aa7SSimon Glass This is the base address of your UART for memory-mapped UARTs. 3592f964aa7SSimon Glass 3602f964aa7SSimon Glass A default should be provided by your board, but if not you will need 3612f964aa7SSimon Glass to use the correct value here. 3622f964aa7SSimon Glass 3632f964aa7SSimon Glassconfig DEBUG_UART_CLOCK 3642f964aa7SSimon Glass int "UART input clock" 3652f964aa7SSimon Glass depends on DEBUG_UART 3662f964aa7SSimon Glass help 3672f964aa7SSimon Glass The UART input clock determines the speed of the internal UART 3682f964aa7SSimon Glass circuitry. The baud rate is derived from this by dividing the input 3692f964aa7SSimon Glass clock down. 3702f964aa7SSimon Glass 3712f964aa7SSimon Glass A default should be provided by your board, but if not you will need 3722f964aa7SSimon Glass to use the correct value here. 3732f964aa7SSimon Glass 374dd0b0122SSimon Glassconfig DEBUG_UART_SHIFT 375dd0b0122SSimon Glass int "UART register shift" 376dd0b0122SSimon Glass depends on DEBUG_UART 377dd0b0122SSimon Glass default 0 if DEBUG_UART 378dd0b0122SSimon Glass help 379dd0b0122SSimon Glass Some UARTs (notably ns16550) support different register layouts 380dd0b0122SSimon Glass where the registers are spaced either as bytes, words or some other 381dd0b0122SSimon Glass value. Use this value to specify the shift to use, where 0=byte 382dd0b0122SSimon Glass registers, 2=32-bit word registers, etc. 383dd0b0122SSimon Glass 3840e977bc1SSimon Glassconfig DEBUG_UART_BOARD_INIT 3850e977bc1SSimon Glass bool "Enable board-specific debug UART init" 3860e977bc1SSimon Glass depends on DEBUG_UART 3870e977bc1SSimon Glass help 3880e977bc1SSimon Glass Some boards need to set things up before the debug UART can be used. 3890e977bc1SSimon Glass On these boards a call to debug_uart_init() is insufficient. When 3900e977bc1SSimon Glass this option is enabled, the function board_debug_uart_init() will 3910e977bc1SSimon Glass be called when debug_uart_init() is called. You can put any code 3920e977bc1SSimon Glass here that is needed to set up the UART ready for use, such as set 3930e977bc1SSimon Glass pin multiplexing or enable clocks. 3940e977bc1SSimon Glass 395c7fefcb9SSimon Glassconfig DEBUG_UART_ANNOUNCE 396c7fefcb9SSimon Glass bool "Show a message when the debug UART starts up" 397c7fefcb9SSimon Glass depends on DEBUG_UART 398c7fefcb9SSimon Glass help 399c7fefcb9SSimon Glass Enable this option to show a message when the debug UART is ready 400c7fefcb9SSimon Glass for use. You will see a message like "<debug_uart> " as soon as 401c7fefcb9SSimon Glass U-Boot has the UART ready for use (i.e. your code calls 402c7fefcb9SSimon Glass debug_uart_init()). This can be useful just as a check that 403c7fefcb9SSimon Glass everything is working. 404c7fefcb9SSimon Glass 40519de8150SSergey Temerkhanovconfig DEBUG_UART_SKIP_INIT 40619de8150SSergey Temerkhanov bool "Skip UART initialization" 40719de8150SSergey Temerkhanov help 40819de8150SSergey Temerkhanov Select this if the UART you want to use for debug output is already 40919de8150SSergey Temerkhanov initialized by the time U-Boot starts its execution. 41019de8150SSergey Temerkhanov 411220e8021SThomas Chouconfig ALTERA_JTAG_UART 412220e8021SThomas Chou bool "Altera JTAG UART support" 413220e8021SThomas Chou depends on DM_SERIAL 414220e8021SThomas Chou help 415220e8021SThomas Chou Select this to enable an JTAG UART for Altera devices.The JTAG UART 416220e8021SThomas Chou core implements a method to communicate serial character streams 417220e8021SThomas Chou between a host PC and a Qsys system on an Altera FPGA. Please find 418220e8021SThomas Chou details on the "Embedded Peripherals IP User Guide" of Altera. 419220e8021SThomas Chou 420220e8021SThomas Chouconfig ALTERA_JTAG_UART_BYPASS 421220e8021SThomas Chou bool "Bypass output when no connection" 422220e8021SThomas Chou depends on ALTERA_JTAG_UART 423220e8021SThomas Chou help 424220e8021SThomas Chou Bypass console output and keep going even if there is no JTAG 425220e8021SThomas Chou terminal connection with the host. The console output will resume 426220e8021SThomas Chou once the JTAG terminal is connected. Without the bypass, the console 427220e8021SThomas Chou output will wait forever until a JTAG terminal is connected. If you 428220e8021SThomas Chou not are sure, say Y. 429220e8021SThomas Chou 430da2f838dSThomas Chouconfig ALTERA_UART 431da2f838dSThomas Chou bool "Altera UART support" 432da2f838dSThomas Chou depends on DM_SERIAL 433da2f838dSThomas Chou help 434da2f838dSThomas Chou Select this to enable an UART for Altera devices. Please find 435da2f838dSThomas Chou details on the "Embedded Peripherals IP User Guide" of Altera. 436da2f838dSThomas Chou 43760b49761SWills Wangconfig AR933X_UART 43860b49761SWills Wang bool "QCA/Atheros ar933x UART support" 43960b49761SWills Wang depends on DM_SERIAL && SOC_AR933X 44060b49761SWills Wang help 44160b49761SWills Wang Select this to enable UART support for QCA/Atheros ar933x 44260b49761SWills Wang devices. This driver uses driver model and requires a device 44360b49761SWills Wang tree binding to operate, please refer to the document at 44460b49761SWills Wang doc/device-tree-bindings/serial/qca,ar9330-uart.txt. 44560b49761SWills Wang 446d7ac185fSAlexey Brodkinconfig ARC_SERIAL 447d7ac185fSAlexey Brodkin bool "ARC UART support" 448d7ac185fSAlexey Brodkin depends on DM_SERIAL 449d7ac185fSAlexey Brodkin help 450d7ac185fSAlexey Brodkin Select this to enable support for ARC UART now typically 451d7ac185fSAlexey Brodkin only used in Synopsys DesignWare ARC simulators like nSIM. 452d7ac185fSAlexey Brodkin 4536ec739aaSWenyou Yangconfig ATMEL_USART 4546ec739aaSWenyou Yang bool "Atmel USART support" 4556ec739aaSWenyou Yang help 4566ec739aaSWenyou Yang Select this to enable USART support for Atmel SoCs. It can be 4576ec739aaSWenyou Yang configured in the device tree, and input clock frequency can 4586ec739aaSWenyou Yang be got from the clk node. 4596ec739aaSWenyou Yang 460fa487594SAlexander Grafconfig BCM283X_MU_SERIAL 461fa487594SAlexander Graf bool "Support for BCM283x Mini-UART" 462fa487594SAlexander Graf depends on DM_SERIAL && ARCH_BCM283X 463fa487594SAlexander Graf default y 464fa487594SAlexander Graf help 465fa487594SAlexander Graf Select this to enable Mini-UART support on BCM283X family of SoCs. 466fa487594SAlexander Graf 4676001985fSAlexander Grafconfig BCM283X_PL011_SERIAL 4686001985fSAlexander Graf bool "Support for BCM283x PL011 UART" 4696001985fSAlexander Graf depends on PL01X_SERIAL && ARCH_BCM283X 4706001985fSAlexander Graf default y 4716001985fSAlexander Graf help 4726001985fSAlexander Graf Select this to enable an overriding PL011 driver for BCM283X SoCs 4736001985fSAlexander Graf that supports automatic disable, so that it only gets used when 4746001985fSAlexander Graf the UART is actually muxed. 4756001985fSAlexander Graf 47630581040SÁlvaro Fernández Rojasconfig BCM6345_SERIAL 47730581040SÁlvaro Fernández Rojas bool "Support for BCM6345 UART" 47830581040SÁlvaro Fernández Rojas depends on DM_SERIAL && ARCH_BMIPS 47930581040SÁlvaro Fernández Rojas help 48030581040SÁlvaro Fernández Rojas Select this to enable UART on BCM6345 SoCs. 48130581040SÁlvaro Fernández Rojas 482fac379e1STuomas Tynkkynenconfig FSL_LINFLEXUART 483fac379e1STuomas Tynkkynen bool "Freescale Linflex UART support" 484fac379e1STuomas Tynkkynen depends on DM_SERIAL 485fac379e1STuomas Tynkkynen help 486fac379e1STuomas Tynkkynen Select this to enable the Linflex serial module found on some 487fac379e1STuomas Tynkkynen NXP SoCs like S32V234. 488fac379e1STuomas Tynkkynen 4895ed07cf5SBin Mengconfig FSL_LPUART 4905ed07cf5SBin Meng bool "Freescale LPUART support" 4915ed07cf5SBin Meng help 4925ed07cf5SBin Meng Select this to enable a Low Power UART for Freescale VF610 and 4935ed07cf5SBin Meng QorIQ Layerscape devices. 4945ed07cf5SBin Meng 4956985d496SStefan Roeseconfig MVEBU_A3700_UART 4966985d496SStefan Roese bool "UART support for Armada 3700" 4976985d496SStefan Roese default n 4986985d496SStefan Roese help 4996985d496SStefan Roese Choose this option to add support for UART driver on the Marvell 5006985d496SStefan Roese Armada 3700 SoC. The base address is configured via DT. 5016985d496SStefan Roese 5028829e662SJagan Tekiconfig MXC_UART 5038829e662SJagan Teki bool "IMX serial port support" 50498d62e61SPatrick Bruenn depends on MX5 || MX6 5058829e662SJagan Teki help 5068829e662SJagan Teki If you have a machine based on a Motorola IMX CPU you 5078829e662SJagan Teki can enable its onboard serial port by enabling this option. 5088829e662SJagan Teki 509cac73f20SKeng Soon Cheahconfig NULLDEV_SERIAL 510cac73f20SKeng Soon Cheah bool "Null serial device" 511cac73f20SKeng Soon Cheah help 512cac73f20SKeng Soon Cheah Select this to enable null serial device support. A null serial 513cac73f20SKeng Soon Cheah device merely acts as a placeholder for a serial device and does 514cac73f20SKeng Soon Cheah nothing for all it's operation. 515cac73f20SKeng Soon Cheah 5169e160ee8SPaul Thackerconfig PIC32_SERIAL 5179e160ee8SPaul Thacker bool "Support for Microchip PIC32 on-chip UART" 5189e160ee8SPaul Thacker depends on DM_SERIAL && MACH_PIC32 5199e160ee8SPaul Thacker default y 5209e160ee8SPaul Thacker help 5219e160ee8SPaul Thacker Support for the UART found on Microchip PIC32 SoC's. 5229e160ee8SPaul Thacker 5239e39003eSThomas Chouconfig SYS_NS16550 5249e39003eSThomas Chou bool "NS16550 UART or compatible" 5259e39003eSThomas Chou help 5269e39003eSThomas Chou Support NS16550 UART or compatible. This can be enabled in the 5279e39003eSThomas Chou device tree with the correct input clock frequency. If the input 5289e39003eSThomas Chou clock frequency is not defined in the device tree, the macro 5299e39003eSThomas Chou CONFIG_SYS_NS16550_CLK defined in a legacy board header file will 5309e39003eSThomas Chou be used. It can be a constant or a function to get clock, eg, 5319e39003eSThomas Chou get_serial_clock(). 5329e39003eSThomas Chou 533c5f8dd48SAndy Shevchenkoconfig INTEL_MID_SERIAL 534c5f8dd48SAndy Shevchenko bool "Intel MID platform UART support" 535c5f8dd48SAndy Shevchenko depends on DM_SERIAL && OF_CONTROL 536c5f8dd48SAndy Shevchenko depends on INTEL_MID 537c5f8dd48SAndy Shevchenko select SYS_NS16550 538c5f8dd48SAndy Shevchenko help 539c5f8dd48SAndy Shevchenko Select this to enable a UART for Intel MID platforms. 540c5f8dd48SAndy Shevchenko This uses the ns16550 driver as a library. 541c5f8dd48SAndy Shevchenko 542884f9013SAlexander Grafconfig PL010_SERIAL 543884f9013SAlexander Graf bool "ARM PL010 driver" 544884f9013SAlexander Graf depends on !DM_SERIAL 545884f9013SAlexander Graf help 546884f9013SAlexander Graf Select this to enable a UART for platforms using PL010. 547884f9013SAlexander Graf 548d10fc50fSAlexander Grafconfig PL011_SERIAL 549d10fc50fSAlexander Graf bool "ARM PL011 driver" 550d10fc50fSAlexander Graf depends on !DM_SERIAL 551d10fc50fSAlexander Graf help 552d10fc50fSAlexander Graf Select this to enable a UART for platforms using PL011. 553d10fc50fSAlexander Graf 554cf2c7784SAlexander Grafconfig PL01X_SERIAL 555cf2c7784SAlexander Graf bool "ARM PL010 and PL011 driver" 556cf2c7784SAlexander Graf depends on DM_SERIAL 557cf2c7784SAlexander Graf help 558cf2c7784SAlexander Graf Select this to enable a UART for platforms using PL010 or PL011. 559cf2c7784SAlexander Graf 5602fc24d53SSimon Glassconfig ROCKCHIP_SERIAL 5612fc24d53SSimon Glass bool "Rockchip on-chip UART support" 5622fc24d53SSimon Glass depends on DM_SERIAL && SPL_OF_PLATDATA 5632fc24d53SSimon Glass help 5642fc24d53SSimon Glass Select this to enable a debug UART for Rockchip devices when using 5657f73ca48STom Rini CONFIG_SPL_OF_PLATDATA (i.e. a compiled-in device tree replacemenmt). 5662fc24d53SSimon Glass This uses the ns16550 driver, converting the platdata from of-platdata 5672fc24d53SSimon Glass to the ns16550 format. 5682fc24d53SSimon Glass 569af282245SSimon Glassconfig SANDBOX_SERIAL 570af282245SSimon Glass bool "Sandbox UART support" 5712ea65f3eSMasahiro Yamada depends on SANDBOX 572af282245SSimon Glass help 573af282245SSimon Glass Select this to enable a seral UART for sandbox. This is required to 574af282245SSimon Glass operate correctly, otherwise you will see no serial output from 575af282245SSimon Glass sandbox. The emulated UART will display to the console and console 576af282245SSimon Glass input will be fed into the UART. This allows you to interact with 577af282245SSimon Glass U-Boot. 578af282245SSimon Glass 579af282245SSimon Glass The operation of the console is controlled by the -t command-line 580af282245SSimon Glass flag. In raw mode, U-Boot sees all characters from the terminal 581af282245SSimon Glass before they are processed, including Ctrl-C. In cooked mode, Ctrl-C 582af282245SSimon Glass is processed by the terminal, and terminates U-Boot. Valid options 583af282245SSimon Glass are: 584af282245SSimon Glass 585af282245SSimon Glass -t raw-with-sigs Raw mode, Ctrl-C will terminate U-Boot 586af282245SSimon Glass -t raw Raw mode, Ctrl-C is processed by U-Boot 587af282245SSimon Glass -t cooked Cooked mode, Ctrl-C terminates 588af282245SSimon Glass 58903a38a39SMarek Vasutconfig SCIF_CONSOLE 59003a38a39SMarek Vasut bool "Renesas SCIF UART support" 59103a38a39SMarek Vasut depends on SH || ARCH_RMOBILE 59203a38a39SMarek Vasut help 59303a38a39SMarek Vasut Select this to enable Renesas SCIF UART. To operate serial ports 59403a38a39SMarek Vasut on systems with RCar or SH SoCs, say Y to this option. If unsure, 59503a38a39SMarek Vasut say N. 59603a38a39SMarek Vasut 597ff247b7aSMasahiro Yamadaconfig UNIPHIER_SERIAL 598b6ef3a3fSMasahiro Yamada bool "Support for UniPhier on-chip UART" 5992ea65f3eSMasahiro Yamada depends on ARCH_UNIPHIER 60085dc2fe1SMasahiro Yamada default y 601ff247b7aSMasahiro Yamada help 602b6ef3a3fSMasahiro Yamada If you have a UniPhier based board and want to use the on-chip 603b6ef3a3fSMasahiro Yamada serial ports, say Y to this option. If unsure, say N. 604dcfe4a54SSimon Glass 60554e24d33SMichal Simekconfig XILINX_UARTLITE 60654e24d33SMichal Simek bool "Xilinx Uarlite support" 60780cce262SRicardo Ribalda Delgado depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || 4xx) 60854e24d33SMichal Simek help 60954e24d33SMichal Simek If you have a Xilinx based board and want to use the uartlite 61054e24d33SMichal Simek serial ports, say Y to this option. If unsure, say N. 61154e24d33SMichal Simek 612bfcef28aSBeniamino Galvaniconfig MESON_SERIAL 613bfcef28aSBeniamino Galvani bool "Support for Amlogic Meson UART" 614bfcef28aSBeniamino Galvani depends on DM_SERIAL && ARCH_MESON 615bfcef28aSBeniamino Galvani help 616bfcef28aSBeniamino Galvani If you have an Amlogic Meson based board and want to use the on-chip 617bfcef28aSBeniamino Galvani serial ports, say Y to this option. If unsure, say N. 618bfcef28aSBeniamino Galvani 619142a20c3SMateusz Kulikowskiconfig MSM_SERIAL 620142a20c3SMateusz Kulikowski bool "Qualcomm on-chip UART" 621142a20c3SMateusz Kulikowski depends on DM_SERIAL 622142a20c3SMateusz Kulikowski help 623142a20c3SMateusz Kulikowski Support Data Mover UART used on Qualcomm Snapdragon SoCs. 624142a20c3SMateusz Kulikowski It should support all Qualcomm devices with UARTDM version 1.4, 625142a20c3SMateusz Kulikowski for example APQ8016 and MSM8916. 626142a20c3SMateusz Kulikowski Single baudrate is supported in current implementation (115200). 6276985d496SStefan Roese 628*6f9347f3SManivannan Sadhasivamconfig OWL_SERIAL 629*6f9347f3SManivannan Sadhasivam bool "Actions Semi OWL UART" 630*6f9347f3SManivannan Sadhasivam depends on DM_SERIAL && ARCH_OWL 631*6f9347f3SManivannan Sadhasivam help 632*6f9347f3SManivannan Sadhasivam If you have a Actions Semi OWL based board and want to use the on-chip 633*6f9347f3SManivannan Sadhasivam serial port, say Y to this option. If unsure, say N. 634*6f9347f3SManivannan Sadhasivam Single baudrate is supported in current implementation (115200). 635*6f9347f3SManivannan Sadhasivam 636d804a5e1SMarcel Ziswilerconfig PXA_SERIAL 637d804a5e1SMarcel Ziswiler bool "PXA serial port support" 638d804a5e1SMarcel Ziswiler help 639d804a5e1SMarcel Ziswiler If you have a machine based on a Marvell XScale PXA2xx CPU you 640d804a5e1SMarcel Ziswiler can enable its onboard serial ports by enabling this option. 641d804a5e1SMarcel Ziswiler 642214a17e6SPatrice Chotardconfig STI_ASC_SERIAL 643214a17e6SPatrice Chotard bool "STMicroelectronics on-chip UART" 644214a17e6SPatrice Chotard depends on DM_SERIAL && ARCH_STI 645214a17e6SPatrice Chotard help 646214a17e6SPatrice Chotard Select this to enable Asynchronous Serial Controller available 647214a17e6SPatrice Chotard on STiH410 SoC. This is a basic implementation, it supports 648214a17e6SPatrice Chotard following baudrate 9600, 19200, 38400, 57600 and 115200. 649214a17e6SPatrice Chotard 650ae74de0dSPatrice Chotardconfig STM32_SERIAL 65184e9dcc1SPatrice Chotard bool "STMicroelectronics STM32 SoCs on-chip UART" 6522514c2d0SPatrick Delaunay depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7 || ARCH_STM32MP) 65384e9dcc1SPatrice Chotard help 6542514c2d0SPatrick Delaunay If you have a machine based on a STM32 F4, F7, H7 or MP1 SOC 6552514c2d0SPatrick Delaunay you can enable its onboard serial ports, say Y to this option. 656776b2ddbSPatrice Chotard If unsure, say N. 65784e9dcc1SPatrice Chotard 658809704ebSMichal Simekconfig ZYNQ_SERIAL 659809704ebSMichal Simek bool "Cadence (Xilinx Zynq) UART support" 6601d6c54ecSMichal Simek depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_ZYNQMP_R5) 661809704ebSMichal Simek help 662809704ebSMichal Simek This driver supports the Cadence UART. It is found e.g. in Xilinx 663809704ebSMichal Simek Zynq/ZynqMP. 664809704ebSMichal Simek 665dd7ff472SChristophe Leroyconfig MPC8XX_CONS 666dd7ff472SChristophe Leroy bool "Console driver for MPC8XX" 667ee1e600cSChristophe Leroy depends on MPC8xx 668dd7ff472SChristophe Leroy default y 669dd7ff472SChristophe Leroy 670dd7ff472SChristophe Leroychoice 671dd7ff472SChristophe Leroy prompt "Console port" 672dd7ff472SChristophe Leroy default 8xx_CONS_SMC1 673dd7ff472SChristophe Leroy depends on MPC8XX_CONS 674dd7ff472SChristophe Leroy help 675dd7ff472SChristophe Leroy Depending on board, select one serial port 676dd7ff472SChristophe Leroy (CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2) 677dd7ff472SChristophe Leroy 678dd7ff472SChristophe Leroyconfig 8xx_CONS_SMC1 679dd7ff472SChristophe Leroy bool "SMC1" 680dd7ff472SChristophe Leroy 681dd7ff472SChristophe Leroyconfig 8xx_CONS_SMC2 682dd7ff472SChristophe Leroy bool "SMC2" 683dd7ff472SChristophe Leroy 684dd7ff472SChristophe Leroyendchoice 685dd7ff472SChristophe Leroy 686dd7ff472SChristophe Leroyconfig SYS_SMC_RXBUFLEN 687dd7ff472SChristophe Leroy int "Console Rx buffer length" 688dd7ff472SChristophe Leroy depends on MPC8XX_CONS 689dd7ff472SChristophe Leroy default 1 690dd7ff472SChristophe Leroy help 691dd7ff472SChristophe Leroy With CONFIG_SYS_SMC_RXBUFLEN it is possible to define 692dd7ff472SChristophe Leroy the maximum receive buffer length for the SMC. 693dd7ff472SChristophe Leroy This option is actual only for 8xx possible. 694dd7ff472SChristophe Leroy If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE 695dd7ff472SChristophe Leroy must be defined, to setup the maximum idle timeout for 696dd7ff472SChristophe Leroy the SMC. 697dd7ff472SChristophe Leroy 698dd7ff472SChristophe Leroyconfig SYS_MAXIDLE 699dd7ff472SChristophe Leroy int "maximum idle timeout" 700dd7ff472SChristophe Leroy depends on MPC8XX_CONS 701dd7ff472SChristophe Leroy default 0 702dd7ff472SChristophe Leroy 703dd7ff472SChristophe Leroyconfig SYS_BRGCLK_PRESCALE 704dd7ff472SChristophe Leroy int "BRG Clock Prescale" 705dd7ff472SChristophe Leroy depends on MPC8XX_CONS 706dd7ff472SChristophe Leroy default 1 707dd7ff472SChristophe Leroy 708dd7ff472SChristophe Leroyconfig SYS_SDSR 709dd7ff472SChristophe Leroy hex "SDSR Value" 710dd7ff472SChristophe Leroy depends on MPC8XX_CONS 711dd7ff472SChristophe Leroy default 0x83 712dd7ff472SChristophe Leroy 713dd7ff472SChristophe Leroyconfig SYS_SDMR 714dd7ff472SChristophe Leroy hex "SDMR Value" 715dd7ff472SChristophe Leroy depends on MPC8XX_CONS 716dd7ff472SChristophe Leroy default 0 717dd7ff472SChristophe Leroy 7180b11dbf7SMasahiro Yamadaendmenu 719