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 56*aa0ffe8eSSimon Glassconfig TPL_SERIAL_PRESENT 57*aa0ffe8eSSimon Glass bool "Provide a serial driver in TPL" 58*aa0ffe8eSSimon Glass depends on DM_SERIAL 59*aa0ffe8eSSimon Glass default y 60*aa0ffe8eSSimon Glass help 61*aa0ffe8eSSimon Glass In very space-constrained devices even the full UART driver is too 62*aa0ffe8eSSimon Glass large. In this case the debug UART can still be used in some cases. 63*aa0ffe8eSSimon Glass This option enables the full UART in TPL, so if is it disabled, 64*aa0ffe8eSSimon Glass the full UART driver will be omitted, thus saving space. 65*aa0ffe8eSSimon Glass 666f6b7cfaSTom Rini# Logic to allow us to use the imply keyword to set what the default port 676f6b7cfaSTom Rini# should be. The default is otherwise 1. 686f6b7cfaSTom Riniconfig CONS_INDEX_0 696f6b7cfaSTom Rini bool 706f6b7cfaSTom Rini 716f6b7cfaSTom Riniconfig CONS_INDEX_2 726f6b7cfaSTom Rini bool 736f6b7cfaSTom Rini 746f6b7cfaSTom Riniconfig CONS_INDEX_3 756f6b7cfaSTom Rini bool 766f6b7cfaSTom Rini 776f6b7cfaSTom Riniconfig CONS_INDEX_4 786f6b7cfaSTom Rini bool 796f6b7cfaSTom Rini 806f6b7cfaSTom Riniconfig CONS_INDEX_5 816f6b7cfaSTom Rini bool 826f6b7cfaSTom Rini 836f6b7cfaSTom Riniconfig CONS_INDEX_6 846f6b7cfaSTom Rini bool 856f6b7cfaSTom Rini 867095f864SMylène Josserandconfig CONS_INDEX 877095f864SMylène Josserand int "UART used for console" 886f6b7cfaSTom Rini depends on SPECIFY_CONSOLE_INDEX 896f6b7cfaSTom Rini range 0 6 906f6b7cfaSTom Rini default 0 if CONS_INDEX_0 916f6b7cfaSTom Rini default 2 if CONS_INDEX_2 926f6b7cfaSTom Rini default 3 if CONS_INDEX_3 936f6b7cfaSTom Rini default 4 if CONS_INDEX_4 946f6b7cfaSTom Rini default 5 if CONS_INDEX_5 956f6b7cfaSTom Rini default 6 if CONS_INDEX_6 967095f864SMylène Josserand default 1 977095f864SMylène Josserand help 986f6b7cfaSTom Rini Set this to match the UART number of the serial console. 997095f864SMylène Josserand 100da333ae7SMasahiro Yamadaconfig DM_SERIAL 101da333ae7SMasahiro Yamada bool "Enable Driver Model for serial drivers" 102da333ae7SMasahiro Yamada depends on DM 103da333ae7SMasahiro Yamada help 104f94a1bedSSimon Glass Enable driver model for serial. This replaces 105f94a1bedSSimon Glass drivers/serial/serial.c with the serial uclass, which 106f94a1bedSSimon Glass implements serial_putc() etc. The uclass interface is 107f94a1bedSSimon Glass defined in include/serial.h. 108ff247b7aSMasahiro Yamada 1093ca7a06aSStefan Roeseconfig SERIAL_RX_BUFFER 1103ca7a06aSStefan Roese bool "Enable RX buffer for serial input" 1113ca7a06aSStefan Roese depends on DM_SERIAL 1123ca7a06aSStefan Roese help 1133ca7a06aSStefan Roese Enable RX buffer support for the serial driver. This enables 1143ca7a06aSStefan Roese pasting longer strings, even when the RX FIFO of the UART is 1153ca7a06aSStefan Roese not big enough (e.g. 16 bytes on the normal NS16550). 1163ca7a06aSStefan Roese 1173ca7a06aSStefan Roeseconfig SERIAL_RX_BUFFER_SIZE 1183ca7a06aSStefan Roese int "RX buffer size" 1193ca7a06aSStefan Roese depends on SERIAL_RX_BUFFER 1203ca7a06aSStefan Roese default 256 1213ca7a06aSStefan Roese help 1223ca7a06aSStefan Roese The size of the RX buffer (needs to be power of 2) 1233ca7a06aSStefan Roese 124ae5326a6SAlexander Grafconfig SERIAL_SEARCH_ALL 125ae5326a6SAlexander Graf bool "Search for serial devices after default one failed" 126ae5326a6SAlexander Graf depends on DM_SERIAL 127ae5326a6SAlexander Graf help 128ae5326a6SAlexander Graf The serial subsystem only searches for a single serial device 129ae5326a6SAlexander Graf that was instantiated, but does not check whether it was probed 130ae5326a6SAlexander Graf correctly. With this option set, we make successful probing 131ae5326a6SAlexander Graf mandatory and search for fallback serial devices if the default 132ae5326a6SAlexander Graf device does not work. 133ae5326a6SAlexander Graf 134ae5326a6SAlexander Graf If unsure, say N. 135ae5326a6SAlexander Graf 136891f7ae6SSimon Glassconfig SPL_DM_SERIAL 1370424990cSHeiko Schocher bool "Enable Driver Model for serial drivers in SPL" 1386f6b7cfaSTom Rini depends on DM_SERIAL && SPL_DM 1396f6b7cfaSTom Rini default y 140891f7ae6SSimon Glass help 141891f7ae6SSimon Glass Enable driver model for serial in SPL. 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 146891f7ae6SSimon Glassconfig TPL_DM_SERIAL 1470424990cSHeiko Schocher bool "Enable Driver Model for serial drivers in TPL" 148891f7ae6SSimon Glass depends on DM_SERIAL 149891f7ae6SSimon Glass default y if TPL && DM_SERIAL 150891f7ae6SSimon Glass help 151891f7ae6SSimon Glass Enable driver model for serial in TPL. This replaces 152891f7ae6SSimon Glass drivers/serial/serial.c with the serial uclass, which 153891f7ae6SSimon Glass implements serial_putc() etc. The uclass interface is 154891f7ae6SSimon Glass defined in include/serial.h. 155891f7ae6SSimon Glass 1562f964aa7SSimon Glassconfig DEBUG_UART 1572f964aa7SSimon Glass bool "Enable an early debug UART for debugging" 1582f964aa7SSimon Glass help 1592f964aa7SSimon Glass The debug UART is intended for use very early in U-Boot to debug 1602f964aa7SSimon Glass problems when an ICE or other debug mechanism is not available. 1612f964aa7SSimon Glass 1622f964aa7SSimon Glass To use it you should: 1632f964aa7SSimon Glass - Make sure your UART supports this interface 1642f964aa7SSimon Glass - Enable CONFIG_DEBUG_UART 1652f964aa7SSimon Glass - Enable the CONFIG for your UART to tell it to provide this interface 1662f964aa7SSimon Glass (e.g. CONFIG_DEBUG_UART_NS16550) 1672f964aa7SSimon Glass - Define the required settings as needed (see below) 1682f964aa7SSimon Glass - Call debug_uart_init() before use 1692f964aa7SSimon Glass - Call debug_uart_putc() to output a character 1702f964aa7SSimon Glass 1712f964aa7SSimon Glass Depending on your platform it may be possible to use this UART before 1722f964aa7SSimon Glass a stack is available. 1732f964aa7SSimon Glass 1742f964aa7SSimon Glass If your UART does not support this interface you can probably add 1752f964aa7SSimon Glass support quite easily. Remember that you cannot use driver model and 1762f964aa7SSimon Glass it is preferred to use no stack. 1772f964aa7SSimon Glass 1782f964aa7SSimon Glass You must not use this UART once driver model is working and the 1792f964aa7SSimon Glass serial drivers are up and running (done in serial_init()). Otherwise 1802f964aa7SSimon Glass the drivers may conflict and you will get strange output. 1812f964aa7SSimon Glass 18221d00436SSimon Glasschoice 18321d00436SSimon Glass prompt "Select which UART will provide the debug UART" 18421d00436SSimon Glass depends on DEBUG_UART 185b1e361b6SThomas Chou default DEBUG_UART_NS16550 18621d00436SSimon Glass 187220e8021SThomas Chouconfig DEBUG_UART_ALTERA_JTAGUART 188220e8021SThomas Chou bool "Altera JTAG UART" 189220e8021SThomas Chou help 190220e8021SThomas Chou Select this to enable a debug UART using the altera_jtag_uart driver. 191220e8021SThomas Chou You will need to provide parameters to make this work. The driver will 192220e8021SThomas Chou be available until the real driver model serial is running. 193220e8021SThomas Chou 194da2f838dSThomas Chouconfig DEBUG_UART_ALTERA_UART 195da2f838dSThomas Chou bool "Altera UART" 196da2f838dSThomas Chou help 197da2f838dSThomas Chou Select this to enable a debug UART using the altera_uart driver. 198da2f838dSThomas Chou You will need to provide parameters to make this work. The driver will 199da2f838dSThomas Chou be available until the real driver model serial is running. 200da2f838dSThomas Chou 20160b49761SWills Wangconfig DEBUG_UART_AR933X 20260b49761SWills Wang bool "QCA/Atheros ar933x" 20360b49761SWills Wang depends on AR933X_UART 20460b49761SWills Wang help 20560b49761SWills Wang Select this to enable a debug UART using the ar933x uart driver. 20660b49761SWills Wang You will need to provide parameters to make this work. The 20760b49761SWills Wang driver will be available until the real driver model serial is 20860b49761SWills Wang running. 20960b49761SWills Wang 21054705016SAlexey Brodkinconfig DEBUG_ARC_SERIAL 21154705016SAlexey Brodkin bool "ARC UART" 21254705016SAlexey Brodkin depends on ARC_SERIAL 21354705016SAlexey Brodkin help 21454705016SAlexey Brodkin Select this to enable a debug UART using the ARC UART driver. 21554705016SAlexey Brodkin You will need to provide parameters to make this work. The 21654705016SAlexey Brodkin driver will be available until the real driver model serial is 21754705016SAlexey Brodkin running. 21854705016SAlexey Brodkin 219998cf3c2SWenyou Yangconfig DEBUG_UART_ATMEL 220998cf3c2SWenyou Yang bool "Atmel USART" 221998cf3c2SWenyou Yang help 222998cf3c2SWenyou Yang Select this to enable a debug UART using the atmel usart driver. You 223998cf3c2SWenyou Yang will need to provide parameters to make this work. The driver will 224998cf3c2SWenyou Yang be available until the real driver-model serial is running. 225998cf3c2SWenyou Yang 22630581040SÁlvaro Fernández Rojasconfig DEBUG_UART_BCM6345 22730581040SÁlvaro Fernández Rojas bool "BCM6345 UART" 22830581040SÁlvaro Fernández Rojas depends on BCM6345_SERIAL 22930581040SÁlvaro Fernández Rojas help 23030581040SÁlvaro Fernández Rojas Select this to enable a debug UART on BCM6345 SoCs. You 23130581040SÁlvaro Fernández Rojas will need to provide parameters to make this work. The driver will 23230581040SÁlvaro Fernández Rojas be available until the real driver model serial is running. 23330581040SÁlvaro Fernández Rojas 23421d00436SSimon Glassconfig DEBUG_UART_NS16550 23521d00436SSimon Glass bool "ns16550" 23621d00436SSimon Glass help 23721d00436SSimon Glass Select this to enable a debug UART using the ns16550 driver. You 23821d00436SSimon Glass will need to provide parameters to make this work. The driver will 23921d00436SSimon Glass be available until the real driver model serial is running. 24021d00436SSimon Glass 241275854baSSimon Glassconfig DEBUG_EFI_CONSOLE 242275854baSSimon Glass bool "EFI" 243275854baSSimon Glass depends on EFI_APP 244275854baSSimon Glass help 245275854baSSimon Glass Select this to enable a debug console which calls back to EFI to 246275854baSSimon Glass output to the console. This can be useful for early debugging of 247275854baSSimon Glass U-Boot when running on top of EFI (Extensive Firmware Interface). 248275854baSSimon Glass This is a type of BIOS used by PCs. 249275854baSSimon Glass 250bf6e7022SSimon Glassconfig DEBUG_UART_S5P 251bf6e7022SSimon Glass bool "Samsung S5P" 252bf6e7022SSimon Glass help 253bf6e7022SSimon Glass Select this to enable a debug UART using the serial_s5p driver. You 254bf6e7022SSimon Glass will need to provide parameters to make this work. The driver will 255bf6e7022SSimon Glass be available until the real driver-model serial is running. 256bf6e7022SSimon Glass 257bfcef28aSBeniamino Galvaniconfig DEBUG_UART_MESON 258bfcef28aSBeniamino Galvani bool "Amlogic Meson" 259bfcef28aSBeniamino Galvani depends on MESON_SERIAL 260bfcef28aSBeniamino Galvani help 261bfcef28aSBeniamino Galvani Select this to enable a debug UART using the serial_meson driver. You 262bfcef28aSBeniamino Galvani will need to provide parameters to make this work. The driver will 263bfcef28aSBeniamino Galvani be available until the real driver-model serial is running. 264bfcef28aSBeniamino Galvani 2654166ba3bSMichal Simekconfig DEBUG_UART_UARTLITE 2664166ba3bSMichal Simek bool "Xilinx Uartlite" 2674166ba3bSMichal Simek help 2684166ba3bSMichal Simek Select this to enable a debug UART using the serial_uartlite driver. 2694166ba3bSMichal Simek You will need to provide parameters to make this work. The driver will 2704166ba3bSMichal Simek be available until the real driver-model serial is running. 2714166ba3bSMichal Simek 272966bfa73SMichal Simekconfig DEBUG_UART_ARM_DCC 273966bfa73SMichal Simek bool "ARM DCC" 274966bfa73SMichal Simek help 275966bfa73SMichal Simek Select this to enable a debug UART using the ARM JTAG DCC port. 276966bfa73SMichal Simek The DCC port can be used for very early debugging and doesn't require 277966bfa73SMichal Simek any additional setting like address/baudrate/clock. On systems without 278966bfa73SMichal Simek any serial interface this is the easiest way how to get console. 279966bfa73SMichal Simek Every ARM core has own DCC port which is the part of debug interface. 280966bfa73SMichal Simek This port is available at least on ARMv6, ARMv7, ARMv8 and XScale 281966bfa73SMichal Simek architectures. 282966bfa73SMichal Simek 2836985d496SStefan Roeseconfig DEBUG_MVEBU_A3700_UART 2846985d496SStefan Roese bool "Marvell Armada 3700" 2856985d496SStefan Roese help 2866985d496SStefan Roese Select this to enable a debug UART using the serial_mvebu driver. You 2876985d496SStefan Roese will need to provide parameters to make this work. The driver will 2886985d496SStefan Roese be available until the real driver-model serial is running. 2896985d496SStefan Roese 290c54c0a4cSSimon Glassconfig DEBUG_UART_ZYNQ 291c54c0a4cSSimon Glass bool "Xilinx Zynq" 292c54c0a4cSSimon Glass help 2936bf87dacSMichal Simek Select this to enable a debug UART using the serial_zynq driver. You 294c54c0a4cSSimon Glass will need to provide parameters to make this work. The driver will 295c54c0a4cSSimon Glass be available until the real driver-model serial is running. 296c54c0a4cSSimon Glass 297e43ce3fcSFrancois Retiefconfig DEBUG_UART_APBUART 298e43ce3fcSFrancois Retief depends on LEON3 299e43ce3fcSFrancois Retief bool "Gaisler APBUART" 300e43ce3fcSFrancois Retief help 301e43ce3fcSFrancois Retief Select this to enable a debug UART using the serial_leon3 driver. You 302e43ce3fcSFrancois Retief will need to provide parameters to make this work. The driver will 303e43ce3fcSFrancois Retief be available until the real driver model serial is running. 304e43ce3fcSFrancois Retief 30519de8150SSergey Temerkhanovconfig DEBUG_UART_PL010 30619de8150SSergey Temerkhanov bool "pl010" 30719de8150SSergey Temerkhanov help 30819de8150SSergey Temerkhanov Select this to enable a debug UART using the pl01x driver with the 30919de8150SSergey Temerkhanov PL010 UART type. You will need to provide parameters to make this 31019de8150SSergey Temerkhanov work. The driver will be available until the real driver model 31119de8150SSergey Temerkhanov serial is running. 31219de8150SSergey Temerkhanov 31319de8150SSergey Temerkhanovconfig DEBUG_UART_PL011 31419de8150SSergey Temerkhanov bool "pl011" 31519de8150SSergey Temerkhanov help 31619de8150SSergey Temerkhanov Select this to enable a debug UART using the pl01x driver with the 31719de8150SSergey Temerkhanov PL011 UART type. You will need to provide parameters to make this 31819de8150SSergey Temerkhanov work. The driver will be available until the real driver model 31919de8150SSergey Temerkhanov serial is running. 32019de8150SSergey Temerkhanov 3219e160ee8SPaul Thackerconfig DEBUG_UART_PIC32 3229e160ee8SPaul Thacker bool "Microchip PIC32" 3239e160ee8SPaul Thacker depends on PIC32_SERIAL 3249e160ee8SPaul Thacker help 3259e160ee8SPaul Thacker Select this to enable a debug UART using the serial_pic32 driver. You 3269e160ee8SPaul Thacker will need to provide parameters to make this work. The driver will 3279e160ee8SPaul Thacker be available until the real driver model serial is running. 3289e160ee8SPaul Thacker 32961366b71SJagan Tekiconfig DEBUG_UART_MXC 33061366b71SJagan Teki bool "IMX Serial port" 33161366b71SJagan Teki depends on MXC_UART 33261366b71SJagan Teki help 33361366b71SJagan Teki Select this to enable a debug UART using the serial_mxc driver. You 33461366b71SJagan Teki will need to provide parameters to make this work. The driver will 33561366b71SJagan Teki be available until the real driver model serial is running. 33661366b71SJagan Teki 337ee441764SSimon Glassconfig DEBUG_UART_SANDBOX 338ee441764SSimon Glass bool "sandbox" 339ee441764SSimon Glass depends on SANDBOX_SERIAL 340ee441764SSimon Glass help 341ee441764SSimon Glass Select this to enable the debug UART using the sandbox driver. This 342ee441764SSimon Glass provides basic serial output from the console without needing to 343ee441764SSimon Glass start up driver model. The driver will be available until the real 344ee441764SSimon Glass driver model serial is running. 345ee441764SSimon Glass 346215c8bedSPatrick Delaunayconfig DEBUG_UART_STM32 347215c8bedSPatrick Delaunay bool "STMicroelectronics STM32" 348215c8bedSPatrick Delaunay depends on STM32_SERIAL 349215c8bedSPatrick Delaunay help 350215c8bedSPatrick Delaunay Select this to enable a debug UART using the serial_stm32 driver 351215c8bedSPatrick Delaunay You will need to provide parameters to make this work. 352215c8bedSPatrick Delaunay The driver will be available until the real driver model 353215c8bedSPatrick Delaunay serial is running. 354215c8bedSPatrick Delaunay 355d5cf3297SMasahiro Yamadaconfig DEBUG_UART_UNIPHIER 356d5cf3297SMasahiro Yamada bool "UniPhier on-chip UART" 357d5cf3297SMasahiro Yamada depends on ARCH_UNIPHIER 358d5cf3297SMasahiro Yamada help 359d5cf3297SMasahiro Yamada Select this to enable a debug UART using the UniPhier on-chip UART. 360d5cf3297SMasahiro Yamada You will need to provide DEBUG_UART_BASE to make this work. The 361d5cf3297SMasahiro Yamada driver will be available until the real driver-model serial is 362d5cf3297SMasahiro Yamada running. 363d5cf3297SMasahiro Yamada 364a52cf086SLokesh Vutlaconfig DEBUG_UART_OMAP 365a52cf086SLokesh Vutla bool "OMAP uart" 366a52cf086SLokesh Vutla help 367a52cf086SLokesh Vutla Select this to enable a debug UART using the omap ns16550 driver. 368a52cf086SLokesh Vutla You will need to provide parameters to make this work. The driver 369a52cf086SLokesh Vutla will be available until the real driver model serial is running. 370a52cf086SLokesh Vutla 37121d00436SSimon Glassendchoice 37221d00436SSimon Glass 3732f964aa7SSimon Glassconfig DEBUG_UART_BASE 3742f964aa7SSimon Glass hex "Base address of UART" 3752f964aa7SSimon Glass depends on DEBUG_UART 376ee441764SSimon Glass default 0 if DEBUG_UART_SANDBOX 3772f964aa7SSimon Glass help 3782f964aa7SSimon Glass This is the base address of your UART for memory-mapped UARTs. 3792f964aa7SSimon Glass 3802f964aa7SSimon Glass A default should be provided by your board, but if not you will need 3812f964aa7SSimon Glass to use the correct value here. 3822f964aa7SSimon Glass 3832f964aa7SSimon Glassconfig DEBUG_UART_CLOCK 3842f964aa7SSimon Glass int "UART input clock" 3852f964aa7SSimon Glass depends on DEBUG_UART 386ee441764SSimon Glass default 0 if DEBUG_UART_SANDBOX 3872f964aa7SSimon Glass help 3882f964aa7SSimon Glass The UART input clock determines the speed of the internal UART 3892f964aa7SSimon Glass circuitry. The baud rate is derived from this by dividing the input 3902f964aa7SSimon Glass clock down. 3912f964aa7SSimon Glass 3922f964aa7SSimon Glass A default should be provided by your board, but if not you will need 3932f964aa7SSimon Glass to use the correct value here. 3942f964aa7SSimon Glass 395dd0b0122SSimon Glassconfig DEBUG_UART_SHIFT 396dd0b0122SSimon Glass int "UART register shift" 397dd0b0122SSimon Glass depends on DEBUG_UART 398dd0b0122SSimon Glass default 0 if DEBUG_UART 399dd0b0122SSimon Glass help 400dd0b0122SSimon Glass Some UARTs (notably ns16550) support different register layouts 401dd0b0122SSimon Glass where the registers are spaced either as bytes, words or some other 402dd0b0122SSimon Glass value. Use this value to specify the shift to use, where 0=byte 403dd0b0122SSimon Glass registers, 2=32-bit word registers, etc. 404dd0b0122SSimon Glass 4050e977bc1SSimon Glassconfig DEBUG_UART_BOARD_INIT 4060e977bc1SSimon Glass bool "Enable board-specific debug UART init" 4070e977bc1SSimon Glass depends on DEBUG_UART 4080e977bc1SSimon Glass help 4090e977bc1SSimon Glass Some boards need to set things up before the debug UART can be used. 4100e977bc1SSimon Glass On these boards a call to debug_uart_init() is insufficient. When 4110e977bc1SSimon Glass this option is enabled, the function board_debug_uart_init() will 4120e977bc1SSimon Glass be called when debug_uart_init() is called. You can put any code 4130e977bc1SSimon Glass here that is needed to set up the UART ready for use, such as set 4140e977bc1SSimon Glass pin multiplexing or enable clocks. 4150e977bc1SSimon Glass 416c7fefcb9SSimon Glassconfig DEBUG_UART_ANNOUNCE 417c7fefcb9SSimon Glass bool "Show a message when the debug UART starts up" 418c7fefcb9SSimon Glass depends on DEBUG_UART 419c7fefcb9SSimon Glass help 420c7fefcb9SSimon Glass Enable this option to show a message when the debug UART is ready 421c7fefcb9SSimon Glass for use. You will see a message like "<debug_uart> " as soon as 422c7fefcb9SSimon Glass U-Boot has the UART ready for use (i.e. your code calls 423c7fefcb9SSimon Glass debug_uart_init()). This can be useful just as a check that 424c7fefcb9SSimon Glass everything is working. 425c7fefcb9SSimon Glass 42619de8150SSergey Temerkhanovconfig DEBUG_UART_SKIP_INIT 42719de8150SSergey Temerkhanov bool "Skip UART initialization" 42819de8150SSergey Temerkhanov help 42919de8150SSergey Temerkhanov Select this if the UART you want to use for debug output is already 43019de8150SSergey Temerkhanov initialized by the time U-Boot starts its execution. 43119de8150SSergey Temerkhanov 432220e8021SThomas Chouconfig ALTERA_JTAG_UART 433220e8021SThomas Chou bool "Altera JTAG UART support" 434220e8021SThomas Chou depends on DM_SERIAL 435220e8021SThomas Chou help 436220e8021SThomas Chou Select this to enable an JTAG UART for Altera devices.The JTAG UART 437220e8021SThomas Chou core implements a method to communicate serial character streams 438220e8021SThomas Chou between a host PC and a Qsys system on an Altera FPGA. Please find 439220e8021SThomas Chou details on the "Embedded Peripherals IP User Guide" of Altera. 440220e8021SThomas Chou 441220e8021SThomas Chouconfig ALTERA_JTAG_UART_BYPASS 442220e8021SThomas Chou bool "Bypass output when no connection" 443220e8021SThomas Chou depends on ALTERA_JTAG_UART 444220e8021SThomas Chou help 445220e8021SThomas Chou Bypass console output and keep going even if there is no JTAG 446220e8021SThomas Chou terminal connection with the host. The console output will resume 447220e8021SThomas Chou once the JTAG terminal is connected. Without the bypass, the console 448220e8021SThomas Chou output will wait forever until a JTAG terminal is connected. If you 449220e8021SThomas Chou not are sure, say Y. 450220e8021SThomas Chou 451da2f838dSThomas Chouconfig ALTERA_UART 452da2f838dSThomas Chou bool "Altera UART support" 453da2f838dSThomas Chou depends on DM_SERIAL 454da2f838dSThomas Chou help 455da2f838dSThomas Chou Select this to enable an UART for Altera devices. Please find 456da2f838dSThomas Chou details on the "Embedded Peripherals IP User Guide" of Altera. 457da2f838dSThomas Chou 45860b49761SWills Wangconfig AR933X_UART 45960b49761SWills Wang bool "QCA/Atheros ar933x UART support" 46060b49761SWills Wang depends on DM_SERIAL && SOC_AR933X 46160b49761SWills Wang help 46260b49761SWills Wang Select this to enable UART support for QCA/Atheros ar933x 46360b49761SWills Wang devices. This driver uses driver model and requires a device 46460b49761SWills Wang tree binding to operate, please refer to the document at 46560b49761SWills Wang doc/device-tree-bindings/serial/qca,ar9330-uart.txt. 46660b49761SWills Wang 467d7ac185fSAlexey Brodkinconfig ARC_SERIAL 468d7ac185fSAlexey Brodkin bool "ARC UART support" 469d7ac185fSAlexey Brodkin depends on DM_SERIAL 470d7ac185fSAlexey Brodkin help 471d7ac185fSAlexey Brodkin Select this to enable support for ARC UART now typically 472d7ac185fSAlexey Brodkin only used in Synopsys DesignWare ARC simulators like nSIM. 473d7ac185fSAlexey Brodkin 4746ec739aaSWenyou Yangconfig ATMEL_USART 4756ec739aaSWenyou Yang bool "Atmel USART support" 4766ec739aaSWenyou Yang help 4776ec739aaSWenyou Yang Select this to enable USART support for Atmel SoCs. It can be 4786ec739aaSWenyou Yang configured in the device tree, and input clock frequency can 4796ec739aaSWenyou Yang be got from the clk node. 4806ec739aaSWenyou Yang 481fa487594SAlexander Grafconfig BCM283X_MU_SERIAL 482fa487594SAlexander Graf bool "Support for BCM283x Mini-UART" 483fa487594SAlexander Graf depends on DM_SERIAL && ARCH_BCM283X 484fa487594SAlexander Graf default y 485fa487594SAlexander Graf help 486fa487594SAlexander Graf Select this to enable Mini-UART support on BCM283X family of SoCs. 487fa487594SAlexander Graf 4886001985fSAlexander Grafconfig BCM283X_PL011_SERIAL 4896001985fSAlexander Graf bool "Support for BCM283x PL011 UART" 4906001985fSAlexander Graf depends on PL01X_SERIAL && ARCH_BCM283X 4916001985fSAlexander Graf default y 4926001985fSAlexander Graf help 4936001985fSAlexander Graf Select this to enable an overriding PL011 driver for BCM283X SoCs 4946001985fSAlexander Graf that supports automatic disable, so that it only gets used when 4956001985fSAlexander Graf the UART is actually muxed. 4966001985fSAlexander Graf 49730581040SÁlvaro Fernández Rojasconfig BCM6345_SERIAL 49830581040SÁlvaro Fernández Rojas bool "Support for BCM6345 UART" 49930581040SÁlvaro Fernández Rojas depends on DM_SERIAL && ARCH_BMIPS 50030581040SÁlvaro Fernández Rojas help 50130581040SÁlvaro Fernández Rojas Select this to enable UART on BCM6345 SoCs. 50230581040SÁlvaro Fernández Rojas 503fac379e1STuomas Tynkkynenconfig FSL_LINFLEXUART 504fac379e1STuomas Tynkkynen bool "Freescale Linflex UART support" 505fac379e1STuomas Tynkkynen depends on DM_SERIAL 506fac379e1STuomas Tynkkynen help 507fac379e1STuomas Tynkkynen Select this to enable the Linflex serial module found on some 508fac379e1STuomas Tynkkynen NXP SoCs like S32V234. 509fac379e1STuomas Tynkkynen 5105ed07cf5SBin Mengconfig FSL_LPUART 5115ed07cf5SBin Meng bool "Freescale LPUART support" 5125ed07cf5SBin Meng help 5135ed07cf5SBin Meng Select this to enable a Low Power UART for Freescale VF610 and 5145ed07cf5SBin Meng QorIQ Layerscape devices. 5155ed07cf5SBin Meng 5166985d496SStefan Roeseconfig MVEBU_A3700_UART 5176985d496SStefan Roese bool "UART support for Armada 3700" 5186985d496SStefan Roese default n 5196985d496SStefan Roese help 5206985d496SStefan Roese Choose this option to add support for UART driver on the Marvell 5216985d496SStefan Roese Armada 3700 SoC. The base address is configured via DT. 5226985d496SStefan Roese 5238829e662SJagan Tekiconfig MXC_UART 5248829e662SJagan Teki bool "IMX serial port support" 52598d62e61SPatrick Bruenn depends on MX5 || MX6 5268829e662SJagan Teki help 5278829e662SJagan Teki If you have a machine based on a Motorola IMX CPU you 5288829e662SJagan Teki can enable its onboard serial port by enabling this option. 5298829e662SJagan Teki 530cac73f20SKeng Soon Cheahconfig NULLDEV_SERIAL 531cac73f20SKeng Soon Cheah bool "Null serial device" 532cac73f20SKeng Soon Cheah help 533cac73f20SKeng Soon Cheah Select this to enable null serial device support. A null serial 534cac73f20SKeng Soon Cheah device merely acts as a placeholder for a serial device and does 535cac73f20SKeng Soon Cheah nothing for all it's operation. 536cac73f20SKeng Soon Cheah 5379e160ee8SPaul Thackerconfig PIC32_SERIAL 5389e160ee8SPaul Thacker bool "Support for Microchip PIC32 on-chip UART" 5399e160ee8SPaul Thacker depends on DM_SERIAL && MACH_PIC32 5409e160ee8SPaul Thacker default y 5419e160ee8SPaul Thacker help 5429e160ee8SPaul Thacker Support for the UART found on Microchip PIC32 SoC's. 5439e160ee8SPaul Thacker 5449e39003eSThomas Chouconfig SYS_NS16550 5459e39003eSThomas Chou bool "NS16550 UART or compatible" 5469e39003eSThomas Chou help 5479e39003eSThomas Chou Support NS16550 UART or compatible. This can be enabled in the 5489e39003eSThomas Chou device tree with the correct input clock frequency. If the input 5499e39003eSThomas Chou clock frequency is not defined in the device tree, the macro 5509e39003eSThomas Chou CONFIG_SYS_NS16550_CLK defined in a legacy board header file will 5519e39003eSThomas Chou be used. It can be a constant or a function to get clock, eg, 5529e39003eSThomas Chou get_serial_clock(). 5539e39003eSThomas Chou 554c5f8dd48SAndy Shevchenkoconfig INTEL_MID_SERIAL 555c5f8dd48SAndy Shevchenko bool "Intel MID platform UART support" 556c5f8dd48SAndy Shevchenko depends on DM_SERIAL && OF_CONTROL 557c5f8dd48SAndy Shevchenko depends on INTEL_MID 558c5f8dd48SAndy Shevchenko select SYS_NS16550 559c5f8dd48SAndy Shevchenko help 560c5f8dd48SAndy Shevchenko Select this to enable a UART for Intel MID platforms. 561c5f8dd48SAndy Shevchenko This uses the ns16550 driver as a library. 562c5f8dd48SAndy Shevchenko 563884f9013SAlexander Grafconfig PL010_SERIAL 564884f9013SAlexander Graf bool "ARM PL010 driver" 565884f9013SAlexander Graf depends on !DM_SERIAL 566884f9013SAlexander Graf help 567884f9013SAlexander Graf Select this to enable a UART for platforms using PL010. 568884f9013SAlexander Graf 569d10fc50fSAlexander Grafconfig PL011_SERIAL 570d10fc50fSAlexander Graf bool "ARM PL011 driver" 571d10fc50fSAlexander Graf depends on !DM_SERIAL 572d10fc50fSAlexander Graf help 573d10fc50fSAlexander Graf Select this to enable a UART for platforms using PL011. 574d10fc50fSAlexander Graf 575cf2c7784SAlexander Grafconfig PL01X_SERIAL 576cf2c7784SAlexander Graf bool "ARM PL010 and PL011 driver" 577cf2c7784SAlexander Graf depends on DM_SERIAL 578cf2c7784SAlexander Graf help 579cf2c7784SAlexander Graf Select this to enable a UART for platforms using PL010 or PL011. 580cf2c7784SAlexander Graf 5812fc24d53SSimon Glassconfig ROCKCHIP_SERIAL 5822fc24d53SSimon Glass bool "Rockchip on-chip UART support" 5832fc24d53SSimon Glass depends on DM_SERIAL && SPL_OF_PLATDATA 5842fc24d53SSimon Glass help 5852fc24d53SSimon Glass Select this to enable a debug UART for Rockchip devices when using 5867f73ca48STom Rini CONFIG_SPL_OF_PLATDATA (i.e. a compiled-in device tree replacemenmt). 5872fc24d53SSimon Glass This uses the ns16550 driver, converting the platdata from of-platdata 5882fc24d53SSimon Glass to the ns16550 format. 5892fc24d53SSimon Glass 590af282245SSimon Glassconfig SANDBOX_SERIAL 591af282245SSimon Glass bool "Sandbox UART support" 5922ea65f3eSMasahiro Yamada depends on SANDBOX 593af282245SSimon Glass help 594af282245SSimon Glass Select this to enable a seral UART for sandbox. This is required to 595af282245SSimon Glass operate correctly, otherwise you will see no serial output from 596af282245SSimon Glass sandbox. The emulated UART will display to the console and console 597af282245SSimon Glass input will be fed into the UART. This allows you to interact with 598af282245SSimon Glass U-Boot. 599af282245SSimon Glass 600af282245SSimon Glass The operation of the console is controlled by the -t command-line 601af282245SSimon Glass flag. In raw mode, U-Boot sees all characters from the terminal 602af282245SSimon Glass before they are processed, including Ctrl-C. In cooked mode, Ctrl-C 603af282245SSimon Glass is processed by the terminal, and terminates U-Boot. Valid options 604af282245SSimon Glass are: 605af282245SSimon Glass 606af282245SSimon Glass -t raw-with-sigs Raw mode, Ctrl-C will terminate U-Boot 607af282245SSimon Glass -t raw Raw mode, Ctrl-C is processed by U-Boot 608af282245SSimon Glass -t cooked Cooked mode, Ctrl-C terminates 609af282245SSimon Glass 61003a38a39SMarek Vasutconfig SCIF_CONSOLE 61103a38a39SMarek Vasut bool "Renesas SCIF UART support" 61203a38a39SMarek Vasut depends on SH || ARCH_RMOBILE 61303a38a39SMarek Vasut help 61403a38a39SMarek Vasut Select this to enable Renesas SCIF UART. To operate serial ports 61503a38a39SMarek Vasut on systems with RCar or SH SoCs, say Y to this option. If unsure, 61603a38a39SMarek Vasut say N. 61703a38a39SMarek Vasut 618ff247b7aSMasahiro Yamadaconfig UNIPHIER_SERIAL 619b6ef3a3fSMasahiro Yamada bool "Support for UniPhier on-chip UART" 6202ea65f3eSMasahiro Yamada depends on ARCH_UNIPHIER 62185dc2fe1SMasahiro Yamada default y 622ff247b7aSMasahiro Yamada help 623b6ef3a3fSMasahiro Yamada If you have a UniPhier based board and want to use the on-chip 624b6ef3a3fSMasahiro Yamada serial ports, say Y to this option. If unsure, say N. 625dcfe4a54SSimon Glass 62654e24d33SMichal Simekconfig XILINX_UARTLITE 62754e24d33SMichal Simek bool "Xilinx Uarlite support" 62880cce262SRicardo Ribalda Delgado depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || 4xx) 62954e24d33SMichal Simek help 63054e24d33SMichal Simek If you have a Xilinx based board and want to use the uartlite 63154e24d33SMichal Simek serial ports, say Y to this option. If unsure, say N. 63254e24d33SMichal Simek 633bfcef28aSBeniamino Galvaniconfig MESON_SERIAL 634bfcef28aSBeniamino Galvani bool "Support for Amlogic Meson UART" 635bfcef28aSBeniamino Galvani depends on DM_SERIAL && ARCH_MESON 636bfcef28aSBeniamino Galvani help 637bfcef28aSBeniamino Galvani If you have an Amlogic Meson based board and want to use the on-chip 638bfcef28aSBeniamino Galvani serial ports, say Y to this option. If unsure, say N. 639bfcef28aSBeniamino Galvani 640142a20c3SMateusz Kulikowskiconfig MSM_SERIAL 641142a20c3SMateusz Kulikowski bool "Qualcomm on-chip UART" 642142a20c3SMateusz Kulikowski depends on DM_SERIAL 643142a20c3SMateusz Kulikowski help 644142a20c3SMateusz Kulikowski Support Data Mover UART used on Qualcomm Snapdragon SoCs. 645142a20c3SMateusz Kulikowski It should support all Qualcomm devices with UARTDM version 1.4, 646142a20c3SMateusz Kulikowski for example APQ8016 and MSM8916. 647142a20c3SMateusz Kulikowski Single baudrate is supported in current implementation (115200). 6486985d496SStefan Roese 6495d754197SLokesh Vutlaconfig OMAP_SERIAL 6505d754197SLokesh Vutla bool "Support for OMAP specific UART" 6515d754197SLokesh Vutla depends on DM_SERIAL 652586bde93SLokesh Vutla default y if (ARCH_OMAP2PLUS || ARCH_K3) 6535d754197SLokesh Vutla select SYS_NS16550 6545d754197SLokesh Vutla help 6555d754197SLokesh Vutla If you have an TI based SoC and want to use the on-chip serial 6565d754197SLokesh Vutla port, say Y to this option. If unsure say N. 6575d754197SLokesh Vutla 6586f9347f3SManivannan Sadhasivamconfig OWL_SERIAL 6596f9347f3SManivannan Sadhasivam bool "Actions Semi OWL UART" 6606f9347f3SManivannan Sadhasivam depends on DM_SERIAL && ARCH_OWL 6616f9347f3SManivannan Sadhasivam help 6626f9347f3SManivannan Sadhasivam If you have a Actions Semi OWL based board and want to use the on-chip 6636f9347f3SManivannan Sadhasivam serial port, say Y to this option. If unsure, say N. 6646f9347f3SManivannan Sadhasivam Single baudrate is supported in current implementation (115200). 6656f9347f3SManivannan Sadhasivam 666d804a5e1SMarcel Ziswilerconfig PXA_SERIAL 667d804a5e1SMarcel Ziswiler bool "PXA serial port support" 668d804a5e1SMarcel Ziswiler help 669d804a5e1SMarcel Ziswiler If you have a machine based on a Marvell XScale PXA2xx CPU you 670d804a5e1SMarcel Ziswiler can enable its onboard serial ports by enabling this option. 671d804a5e1SMarcel Ziswiler 672214a17e6SPatrice Chotardconfig STI_ASC_SERIAL 673214a17e6SPatrice Chotard bool "STMicroelectronics on-chip UART" 674214a17e6SPatrice Chotard depends on DM_SERIAL && ARCH_STI 675214a17e6SPatrice Chotard help 676214a17e6SPatrice Chotard Select this to enable Asynchronous Serial Controller available 677214a17e6SPatrice Chotard on STiH410 SoC. This is a basic implementation, it supports 678214a17e6SPatrice Chotard following baudrate 9600, 19200, 38400, 57600 and 115200. 679214a17e6SPatrice Chotard 680ae74de0dSPatrice Chotardconfig STM32_SERIAL 68184e9dcc1SPatrice Chotard bool "STMicroelectronics STM32 SoCs on-chip UART" 6822514c2d0SPatrick Delaunay depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7 || ARCH_STM32MP) 68384e9dcc1SPatrice Chotard help 6842514c2d0SPatrick Delaunay If you have a machine based on a STM32 F4, F7, H7 or MP1 SOC 6852514c2d0SPatrick Delaunay you can enable its onboard serial ports, say Y to this option. 686776b2ddbSPatrice Chotard If unsure, say N. 68784e9dcc1SPatrice Chotard 688809704ebSMichal Simekconfig ZYNQ_SERIAL 689809704ebSMichal Simek bool "Cadence (Xilinx Zynq) UART support" 6901d6c54ecSMichal Simek depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_ZYNQMP_R5) 691809704ebSMichal Simek help 692809704ebSMichal Simek This driver supports the Cadence UART. It is found e.g. in Xilinx 693809704ebSMichal Simek Zynq/ZynqMP. 694809704ebSMichal Simek 695dd7ff472SChristophe Leroyconfig MPC8XX_CONS 696dd7ff472SChristophe Leroy bool "Console driver for MPC8XX" 697ee1e600cSChristophe Leroy depends on MPC8xx 698dd7ff472SChristophe Leroy default y 699dd7ff472SChristophe Leroy 700dd7ff472SChristophe Leroychoice 701dd7ff472SChristophe Leroy prompt "Console port" 702dd7ff472SChristophe Leroy default 8xx_CONS_SMC1 703dd7ff472SChristophe Leroy depends on MPC8XX_CONS 704dd7ff472SChristophe Leroy help 705dd7ff472SChristophe Leroy Depending on board, select one serial port 706dd7ff472SChristophe Leroy (CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2) 707dd7ff472SChristophe Leroy 708dd7ff472SChristophe Leroyconfig 8xx_CONS_SMC1 709dd7ff472SChristophe Leroy bool "SMC1" 710dd7ff472SChristophe Leroy 711dd7ff472SChristophe Leroyconfig 8xx_CONS_SMC2 712dd7ff472SChristophe Leroy bool "SMC2" 713dd7ff472SChristophe Leroy 714dd7ff472SChristophe Leroyendchoice 715dd7ff472SChristophe Leroy 716dd7ff472SChristophe Leroyconfig SYS_SMC_RXBUFLEN 717dd7ff472SChristophe Leroy int "Console Rx buffer length" 718dd7ff472SChristophe Leroy depends on MPC8XX_CONS 719dd7ff472SChristophe Leroy default 1 720dd7ff472SChristophe Leroy help 721dd7ff472SChristophe Leroy With CONFIG_SYS_SMC_RXBUFLEN it is possible to define 722dd7ff472SChristophe Leroy the maximum receive buffer length for the SMC. 723dd7ff472SChristophe Leroy This option is actual only for 8xx possible. 724dd7ff472SChristophe Leroy If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE 725dd7ff472SChristophe Leroy must be defined, to setup the maximum idle timeout for 726dd7ff472SChristophe Leroy the SMC. 727dd7ff472SChristophe Leroy 728dd7ff472SChristophe Leroyconfig SYS_MAXIDLE 729dd7ff472SChristophe Leroy int "maximum idle timeout" 730dd7ff472SChristophe Leroy depends on MPC8XX_CONS 731dd7ff472SChristophe Leroy default 0 732dd7ff472SChristophe Leroy 733dd7ff472SChristophe Leroyconfig SYS_BRGCLK_PRESCALE 734dd7ff472SChristophe Leroy int "BRG Clock Prescale" 735dd7ff472SChristophe Leroy depends on MPC8XX_CONS 736dd7ff472SChristophe Leroy default 1 737dd7ff472SChristophe Leroy 738dd7ff472SChristophe Leroyconfig SYS_SDSR 739dd7ff472SChristophe Leroy hex "SDSR Value" 740dd7ff472SChristophe Leroy depends on MPC8XX_CONS 741dd7ff472SChristophe Leroy default 0x83 742dd7ff472SChristophe Leroy 743dd7ff472SChristophe Leroyconfig SYS_SDMR 744dd7ff472SChristophe Leroy hex "SDMR Value" 745dd7ff472SChristophe Leroy depends on MPC8XX_CONS 746dd7ff472SChristophe Leroy default 0 747dd7ff472SChristophe Leroy 7480b11dbf7SMasahiro Yamadaendmenu 749