1*4882a593Smuzhiyun# 2*4882a593Smuzhiyun# Serial device configuration 3*4882a593Smuzhiyun# 4*4882a593Smuzhiyun 5*4882a593Smuzhiyunmenu "Serial drivers" 6*4882a593Smuzhiyun 7*4882a593Smuzhiyunconfig BAUDRATE 8*4882a593Smuzhiyun int "Default baudrate" 9*4882a593Smuzhiyun default 115200 10*4882a593Smuzhiyun help 11*4882a593Smuzhiyun Select a default baudrate, where "default" has a driver-specific 12*4882a593Smuzhiyun meaning of either setting the baudrate for the early debug UART 13*4882a593Smuzhiyun in the SPL stage (most drivers) or for choosing a default baudrate 14*4882a593Smuzhiyun in the absence of an environment setting (serial_mxc.c). 15*4882a593Smuzhiyun 16*4882a593Smuzhiyunconfig REQUIRE_SERIAL_CONSOLE 17*4882a593Smuzhiyun bool "Require a serial port for console" 18*4882a593Smuzhiyun # Running without a serial console is not supported by the 19*4882a593Smuzhiyun # non-dm serial code 20*4882a593Smuzhiyun depends on DM_SERIAL 21*4882a593Smuzhiyun default y 22*4882a593Smuzhiyun help 23*4882a593Smuzhiyun Require a serial port for the console, and panic if none is found 24*4882a593Smuzhiyun during serial port initialization (default y). Set this to n on 25*4882a593Smuzhiyun boards which have no debug serial port whatsoever. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyunconfig SERIAL_PRESENT 28*4882a593Smuzhiyun bool "Provide a serial driver" 29*4882a593Smuzhiyun depends on DM_SERIAL 30*4882a593Smuzhiyun default y 31*4882a593Smuzhiyun help 32*4882a593Smuzhiyun In very space-constrained devices even the full UART driver is too 33*4882a593Smuzhiyun large. In this case the debug UART can still be used in some cases. 34*4882a593Smuzhiyun This option enables the full UART in U-Boot, so if is it disabled, 35*4882a593Smuzhiyun the full UART driver will be omitted, thus saving space. 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunconfig SPL_SERIAL_PRESENT 38*4882a593Smuzhiyun bool "Provide a serial driver in SPL" 39*4882a593Smuzhiyun depends on SPL_DM_SERIAL 40*4882a593Smuzhiyun default y 41*4882a593Smuzhiyun help 42*4882a593Smuzhiyun In very space-constrained devices even the full UART driver is too 43*4882a593Smuzhiyun large. In this case the debug UART can still be used in some cases. 44*4882a593Smuzhiyun This option enables the full UART in SPL, so if is it disabled, 45*4882a593Smuzhiyun the full UART driver will be omitted, thus saving space. 46*4882a593Smuzhiyun 47*4882a593Smuzhiyunconfig CONS_INDEX 48*4882a593Smuzhiyun int "UART used for console" 49*4882a593Smuzhiyun depends on ARCH_SUNXI 50*4882a593Smuzhiyun default 2 if MACH_SUN5I 51*4882a593Smuzhiyun default 5 if MACH_SUN8I_A23 || MACH_SUN8I_A33 52*4882a593Smuzhiyun default 1 53*4882a593Smuzhiyun help 54*4882a593Smuzhiyun Configures the console index. 55*4882a593Smuzhiyun For Allwinner SoC., default values are 2 for SUN5I and 5 for A23/A33. 56*4882a593Smuzhiyun Otherwise, the index equals 1. 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunconfig DM_SERIAL 59*4882a593Smuzhiyun bool "Enable Driver Model for serial drivers" 60*4882a593Smuzhiyun depends on DM 61*4882a593Smuzhiyun help 62*4882a593Smuzhiyun Enable driver model for serial. This replaces 63*4882a593Smuzhiyun drivers/serial/serial.c with the serial uclass, which 64*4882a593Smuzhiyun implements serial_putc() etc. The uclass interface is 65*4882a593Smuzhiyun defined in include/serial.h. 66*4882a593Smuzhiyun 67*4882a593Smuzhiyunconfig SERIAL_RX_BUFFER 68*4882a593Smuzhiyun bool "Enable RX buffer for serial input" 69*4882a593Smuzhiyun depends on DM_SERIAL 70*4882a593Smuzhiyun help 71*4882a593Smuzhiyun Enable RX buffer support for the serial driver. This enables 72*4882a593Smuzhiyun pasting longer strings, even when the RX FIFO of the UART is 73*4882a593Smuzhiyun not big enough (e.g. 16 bytes on the normal NS16550). 74*4882a593Smuzhiyun 75*4882a593Smuzhiyunconfig SERIAL_RX_BUFFER_SIZE 76*4882a593Smuzhiyun int "RX buffer size" 77*4882a593Smuzhiyun depends on SERIAL_RX_BUFFER 78*4882a593Smuzhiyun default 256 79*4882a593Smuzhiyun help 80*4882a593Smuzhiyun The size of the RX buffer (needs to be power of 2) 81*4882a593Smuzhiyun 82*4882a593Smuzhiyunconfig SPL_DM_SERIAL 83*4882a593Smuzhiyun bool "Enable Driver Model for serial drivers in SPL" 84*4882a593Smuzhiyun depends on DM_SERIAL && SPL 85*4882a593Smuzhiyun default y 86*4882a593Smuzhiyun help 87*4882a593Smuzhiyun Enable driver model for serial in SPL. This replaces 88*4882a593Smuzhiyun drivers/serial/serial.c with the serial uclass, which 89*4882a593Smuzhiyun implements serial_putc() etc. The uclass interface is 90*4882a593Smuzhiyun defined in include/serial.h. 91*4882a593Smuzhiyun 92*4882a593Smuzhiyunconfig TPL_DM_SERIAL 93*4882a593Smuzhiyun bool "Enable Driver Model for serial drivers in TPL" 94*4882a593Smuzhiyun depends on DM_SERIAL && TPL 95*4882a593Smuzhiyun default y 96*4882a593Smuzhiyun help 97*4882a593Smuzhiyun Enable driver model for serial in TPL. This replaces 98*4882a593Smuzhiyun drivers/serial/serial.c with the serial uclass, which 99*4882a593Smuzhiyun implements serial_putc() etc. The uclass interface is 100*4882a593Smuzhiyun defined in include/serial.h. 101*4882a593Smuzhiyun 102*4882a593Smuzhiyunconfig DEBUG_UART 103*4882a593Smuzhiyun bool "Enable an early debug UART for debugging" 104*4882a593Smuzhiyun help 105*4882a593Smuzhiyun The debug UART is intended for use very early in U-Boot to debug 106*4882a593Smuzhiyun problems when an ICE or other debug mechanism is not available. 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun To use it you should: 109*4882a593Smuzhiyun - Make sure your UART supports this interface 110*4882a593Smuzhiyun - Enable CONFIG_DEBUG_UART 111*4882a593Smuzhiyun - Enable the CONFIG for your UART to tell it to provide this interface 112*4882a593Smuzhiyun (e.g. CONFIG_DEBUG_UART_NS16550) 113*4882a593Smuzhiyun - Define the required settings as needed (see below) 114*4882a593Smuzhiyun - Call debug_uart_init() before use 115*4882a593Smuzhiyun - Call debug_uart_putc() to output a character 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun Depending on your platform it may be possible to use this UART before 118*4882a593Smuzhiyun a stack is available. 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun If your UART does not support this interface you can probably add 121*4882a593Smuzhiyun support quite easily. Remember that you cannot use driver model and 122*4882a593Smuzhiyun it is preferred to use no stack. 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun You must not use this UART once driver model is working and the 125*4882a593Smuzhiyun serial drivers are up and running (done in serial_init()). Otherwise 126*4882a593Smuzhiyun the drivers may conflict and you will get strange output. 127*4882a593Smuzhiyun 128*4882a593Smuzhiyunchoice 129*4882a593Smuzhiyun prompt "Select which UART will provide the debug UART" 130*4882a593Smuzhiyun depends on DEBUG_UART 131*4882a593Smuzhiyun default DEBUG_UART_NS16550 132*4882a593Smuzhiyun 133*4882a593Smuzhiyunconfig DEBUG_UART_ALTERA_JTAGUART 134*4882a593Smuzhiyun bool "Altera JTAG UART" 135*4882a593Smuzhiyun help 136*4882a593Smuzhiyun Select this to enable a debug UART using the altera_jtag_uart driver. 137*4882a593Smuzhiyun You will need to provide parameters to make this work. The driver will 138*4882a593Smuzhiyun be available until the real driver model serial is running. 139*4882a593Smuzhiyun 140*4882a593Smuzhiyunconfig DEBUG_UART_ALTERA_UART 141*4882a593Smuzhiyun bool "Altera UART" 142*4882a593Smuzhiyun help 143*4882a593Smuzhiyun Select this to enable a debug UART using the altera_uart driver. 144*4882a593Smuzhiyun You will need to provide parameters to make this work. The driver will 145*4882a593Smuzhiyun be available until the real driver model serial is running. 146*4882a593Smuzhiyun 147*4882a593Smuzhiyunconfig DEBUG_UART_AR933X 148*4882a593Smuzhiyun bool "QCA/Atheros ar933x" 149*4882a593Smuzhiyun depends on AR933X_UART 150*4882a593Smuzhiyun help 151*4882a593Smuzhiyun Select this to enable a debug UART using the ar933x uart driver. 152*4882a593Smuzhiyun You will need to provide parameters to make this work. The 153*4882a593Smuzhiyun driver will be available until the real driver model serial is 154*4882a593Smuzhiyun running. 155*4882a593Smuzhiyun 156*4882a593Smuzhiyunconfig DEBUG_UART_ATMEL 157*4882a593Smuzhiyun bool "Atmel USART" 158*4882a593Smuzhiyun help 159*4882a593Smuzhiyun Select this to enable a debug UART using the atmel usart driver. You 160*4882a593Smuzhiyun will need to provide parameters to make this work. The driver will 161*4882a593Smuzhiyun be available until the real driver-model serial is running. 162*4882a593Smuzhiyun 163*4882a593Smuzhiyunconfig DEBUG_UART_BCM6345 164*4882a593Smuzhiyun bool "BCM6345 UART" 165*4882a593Smuzhiyun depends on BCM6345_SERIAL 166*4882a593Smuzhiyun help 167*4882a593Smuzhiyun Select this to enable a debug UART on BCM6345 SoCs. You 168*4882a593Smuzhiyun will need to provide parameters to make this work. The driver will 169*4882a593Smuzhiyun be available until the real driver model serial is running. 170*4882a593Smuzhiyun 171*4882a593Smuzhiyunconfig DEBUG_UART_NS16550 172*4882a593Smuzhiyun bool "ns16550" 173*4882a593Smuzhiyun help 174*4882a593Smuzhiyun Select this to enable a debug UART using the ns16550 driver. You 175*4882a593Smuzhiyun will need to provide parameters to make this work. The driver will 176*4882a593Smuzhiyun be available until the real driver model serial is running. 177*4882a593Smuzhiyun 178*4882a593Smuzhiyunconfig DEBUG_EFI_CONSOLE 179*4882a593Smuzhiyun bool "EFI" 180*4882a593Smuzhiyun depends on EFI_APP 181*4882a593Smuzhiyun help 182*4882a593Smuzhiyun Select this to enable a debug console which calls back to EFI to 183*4882a593Smuzhiyun output to the console. This can be useful for early debugging of 184*4882a593Smuzhiyun U-Boot when running on top of EFI (Extensive Firmware Interface). 185*4882a593Smuzhiyun This is a type of BIOS used by PCs. 186*4882a593Smuzhiyun 187*4882a593Smuzhiyunconfig DEBUG_UART_S5P 188*4882a593Smuzhiyun bool "Samsung S5P" 189*4882a593Smuzhiyun help 190*4882a593Smuzhiyun Select this to enable a debug UART using the serial_s5p driver. You 191*4882a593Smuzhiyun will need to provide parameters to make this work. The driver will 192*4882a593Smuzhiyun be available until the real driver-model serial is running. 193*4882a593Smuzhiyun 194*4882a593Smuzhiyunconfig DEBUG_UART_MESON 195*4882a593Smuzhiyun bool "Amlogic Meson" 196*4882a593Smuzhiyun depends on MESON_SERIAL 197*4882a593Smuzhiyun help 198*4882a593Smuzhiyun Select this to enable a debug UART using the serial_meson driver. You 199*4882a593Smuzhiyun will need to provide parameters to make this work. The driver will 200*4882a593Smuzhiyun be available until the real driver-model serial is running. 201*4882a593Smuzhiyun 202*4882a593Smuzhiyunconfig DEBUG_UART_UARTLITE 203*4882a593Smuzhiyun bool "Xilinx Uartlite" 204*4882a593Smuzhiyun help 205*4882a593Smuzhiyun Select this to enable a debug UART using the serial_uartlite driver. 206*4882a593Smuzhiyun You will need to provide parameters to make this work. The driver will 207*4882a593Smuzhiyun be available until the real driver-model serial is running. 208*4882a593Smuzhiyun 209*4882a593Smuzhiyunconfig DEBUG_UART_ARM_DCC 210*4882a593Smuzhiyun bool "ARM DCC" 211*4882a593Smuzhiyun help 212*4882a593Smuzhiyun Select this to enable a debug UART using the ARM JTAG DCC port. 213*4882a593Smuzhiyun The DCC port can be used for very early debugging and doesn't require 214*4882a593Smuzhiyun any additional setting like address/baudrate/clock. On systems without 215*4882a593Smuzhiyun any serial interface this is the easiest way how to get console. 216*4882a593Smuzhiyun Every ARM core has own DCC port which is the part of debug interface. 217*4882a593Smuzhiyun This port is available at least on ARMv6, ARMv7, ARMv8 and XScale 218*4882a593Smuzhiyun architectures. 219*4882a593Smuzhiyun 220*4882a593Smuzhiyunconfig DEBUG_MVEBU_A3700_UART 221*4882a593Smuzhiyun bool "Marvell Armada 3700" 222*4882a593Smuzhiyun help 223*4882a593Smuzhiyun Select this to enable a debug UART using the serial_mvebu driver. You 224*4882a593Smuzhiyun will need to provide parameters to make this work. The driver will 225*4882a593Smuzhiyun be available until the real driver-model serial is running. 226*4882a593Smuzhiyun 227*4882a593Smuzhiyunconfig DEBUG_UART_ZYNQ 228*4882a593Smuzhiyun bool "Xilinx Zynq" 229*4882a593Smuzhiyun help 230*4882a593Smuzhiyun Select this to enable a debug UART using the serial_zynq driver. You 231*4882a593Smuzhiyun will need to provide parameters to make this work. The driver will 232*4882a593Smuzhiyun be available until the real driver-model serial is running. 233*4882a593Smuzhiyun 234*4882a593Smuzhiyunconfig DEBUG_UART_APBUART 235*4882a593Smuzhiyun depends on LEON3 236*4882a593Smuzhiyun bool "Gaisler APBUART" 237*4882a593Smuzhiyun help 238*4882a593Smuzhiyun Select this to enable a debug UART using the serial_leon3 driver. You 239*4882a593Smuzhiyun will need to provide parameters to make this work. The driver will 240*4882a593Smuzhiyun be available until the real driver model serial is running. 241*4882a593Smuzhiyun 242*4882a593Smuzhiyunconfig DEBUG_UART_PL010 243*4882a593Smuzhiyun bool "pl010" 244*4882a593Smuzhiyun help 245*4882a593Smuzhiyun Select this to enable a debug UART using the pl01x driver with the 246*4882a593Smuzhiyun PL010 UART type. You will need to provide parameters to make this 247*4882a593Smuzhiyun work. The driver will be available until the real driver model 248*4882a593Smuzhiyun serial is running. 249*4882a593Smuzhiyun 250*4882a593Smuzhiyunconfig DEBUG_UART_PL011 251*4882a593Smuzhiyun bool "pl011" 252*4882a593Smuzhiyun help 253*4882a593Smuzhiyun Select this to enable a debug UART using the pl01x driver with the 254*4882a593Smuzhiyun PL011 UART type. You will need to provide parameters to make this 255*4882a593Smuzhiyun work. The driver will be available until the real driver model 256*4882a593Smuzhiyun serial is running. 257*4882a593Smuzhiyun 258*4882a593Smuzhiyunconfig DEBUG_UART_PIC32 259*4882a593Smuzhiyun bool "Microchip PIC32" 260*4882a593Smuzhiyun depends on PIC32_SERIAL 261*4882a593Smuzhiyun help 262*4882a593Smuzhiyun Select this to enable a debug UART using the serial_pic32 driver. You 263*4882a593Smuzhiyun will need to provide parameters to make this work. The driver will 264*4882a593Smuzhiyun be available until the real driver model serial is running. 265*4882a593Smuzhiyun 266*4882a593Smuzhiyunconfig DEBUG_UART_MXC 267*4882a593Smuzhiyun bool "IMX Serial port" 268*4882a593Smuzhiyun depends on MXC_UART 269*4882a593Smuzhiyun help 270*4882a593Smuzhiyun Select this to enable a debug UART using the serial_mxc driver. You 271*4882a593Smuzhiyun will need to provide parameters to make this work. The driver will 272*4882a593Smuzhiyun be available until the real driver model serial is running. 273*4882a593Smuzhiyun 274*4882a593Smuzhiyunconfig DEBUG_UART_UNIPHIER 275*4882a593Smuzhiyun bool "UniPhier on-chip UART" 276*4882a593Smuzhiyun depends on ARCH_UNIPHIER 277*4882a593Smuzhiyun help 278*4882a593Smuzhiyun Select this to enable a debug UART using the UniPhier on-chip UART. 279*4882a593Smuzhiyun You will need to provide DEBUG_UART_BASE to make this work. The 280*4882a593Smuzhiyun driver will be available until the real driver-model serial is 281*4882a593Smuzhiyun running. 282*4882a593Smuzhiyun 283*4882a593Smuzhiyunconfig DEBUG_UART_OMAP 284*4882a593Smuzhiyun bool "OMAP uart" 285*4882a593Smuzhiyun help 286*4882a593Smuzhiyun Select this to enable a debug UART using the omap ns16550 driver. 287*4882a593Smuzhiyun You will need to provide parameters to make this work. The driver 288*4882a593Smuzhiyun will be available until the real driver model serial is running. 289*4882a593Smuzhiyun 290*4882a593Smuzhiyunendchoice 291*4882a593Smuzhiyun 292*4882a593Smuzhiyunconfig DEBUG_UART_BASE 293*4882a593Smuzhiyun hex "Base address of UART" 294*4882a593Smuzhiyun depends on DEBUG_UART 295*4882a593Smuzhiyun help 296*4882a593Smuzhiyun This is the base address of your UART for memory-mapped UARTs. 297*4882a593Smuzhiyun 298*4882a593Smuzhiyun A default should be provided by your board, but if not you will need 299*4882a593Smuzhiyun to use the correct value here. 300*4882a593Smuzhiyun 301*4882a593Smuzhiyunconfig DEBUG_UART_CLOCK 302*4882a593Smuzhiyun int "UART input clock" 303*4882a593Smuzhiyun depends on DEBUG_UART 304*4882a593Smuzhiyun help 305*4882a593Smuzhiyun The UART input clock determines the speed of the internal UART 306*4882a593Smuzhiyun circuitry. The baud rate is derived from this by dividing the input 307*4882a593Smuzhiyun clock down. 308*4882a593Smuzhiyun 309*4882a593Smuzhiyun A default should be provided by your board, but if not you will need 310*4882a593Smuzhiyun to use the correct value here. 311*4882a593Smuzhiyun 312*4882a593Smuzhiyunconfig DEBUG_UART_SHIFT 313*4882a593Smuzhiyun int "UART register shift" 314*4882a593Smuzhiyun depends on DEBUG_UART 315*4882a593Smuzhiyun default 0 if DEBUG_UART 316*4882a593Smuzhiyun help 317*4882a593Smuzhiyun Some UARTs (notably ns16550) support different register layouts 318*4882a593Smuzhiyun where the registers are spaced either as bytes, words or some other 319*4882a593Smuzhiyun value. Use this value to specify the shift to use, where 0=byte 320*4882a593Smuzhiyun registers, 2=32-bit word registers, etc. 321*4882a593Smuzhiyun 322*4882a593Smuzhiyunconfig DEBUG_UART_BOARD_INIT 323*4882a593Smuzhiyun bool "Enable board-specific debug UART init" 324*4882a593Smuzhiyun depends on DEBUG_UART 325*4882a593Smuzhiyun help 326*4882a593Smuzhiyun Some boards need to set things up before the debug UART can be used. 327*4882a593Smuzhiyun On these boards a call to debug_uart_init() is insufficient. When 328*4882a593Smuzhiyun this option is enabled, the function board_debug_uart_init() will 329*4882a593Smuzhiyun be called when debug_uart_init() is called. You can put any code 330*4882a593Smuzhiyun here that is needed to set up the UART ready for use, such as set 331*4882a593Smuzhiyun pin multiplexing or enable clocks. 332*4882a593Smuzhiyun 333*4882a593Smuzhiyunconfig DEBUG_UART_ANNOUNCE 334*4882a593Smuzhiyun bool "Show a message when the debug UART starts up" 335*4882a593Smuzhiyun depends on DEBUG_UART 336*4882a593Smuzhiyun help 337*4882a593Smuzhiyun Enable this option to show a message when the debug UART is ready 338*4882a593Smuzhiyun for use. You will see a message like "<debug_uart> " as soon as 339*4882a593Smuzhiyun U-Boot has the UART ready for use (i.e. your code calls 340*4882a593Smuzhiyun debug_uart_init()). This can be useful just as a check that 341*4882a593Smuzhiyun everything is working. 342*4882a593Smuzhiyun 343*4882a593Smuzhiyunconfig DEBUG_UART_SKIP_INIT 344*4882a593Smuzhiyun bool "Skip UART initialization" 345*4882a593Smuzhiyun help 346*4882a593Smuzhiyun Select this if the UART you want to use for debug output is already 347*4882a593Smuzhiyun initialized by the time U-Boot starts its execution. 348*4882a593Smuzhiyun 349*4882a593Smuzhiyunconfig DEBUG_UART_ALWAYS 350*4882a593Smuzhiyun bool "Always use debug UART mode" 351*4882a593Smuzhiyun default y if !ROCKCHIP_PX5 352*4882a593Smuzhiyun help 353*4882a593Smuzhiyun Say y to always use debug UART, skip complicated console UART register. 354*4882a593Smuzhiyun 355*4882a593Smuzhiyunconfig ALTERA_JTAG_UART 356*4882a593Smuzhiyun bool "Altera JTAG UART support" 357*4882a593Smuzhiyun depends on DM_SERIAL 358*4882a593Smuzhiyun help 359*4882a593Smuzhiyun Select this to enable an JTAG UART for Altera devices.The JTAG UART 360*4882a593Smuzhiyun core implements a method to communicate serial character streams 361*4882a593Smuzhiyun between a host PC and a Qsys system on an Altera FPGA. Please find 362*4882a593Smuzhiyun details on the "Embedded Peripherals IP User Guide" of Altera. 363*4882a593Smuzhiyun 364*4882a593Smuzhiyunconfig ALTERA_JTAG_UART_BYPASS 365*4882a593Smuzhiyun bool "Bypass output when no connection" 366*4882a593Smuzhiyun depends on ALTERA_JTAG_UART 367*4882a593Smuzhiyun help 368*4882a593Smuzhiyun Bypass console output and keep going even if there is no JTAG 369*4882a593Smuzhiyun terminal connection with the host. The console output will resume 370*4882a593Smuzhiyun once the JTAG terminal is connected. Without the bypass, the console 371*4882a593Smuzhiyun output will wait forever until a JTAG terminal is connected. If you 372*4882a593Smuzhiyun not are sure, say Y. 373*4882a593Smuzhiyun 374*4882a593Smuzhiyunconfig ALTERA_UART 375*4882a593Smuzhiyun bool "Altera UART support" 376*4882a593Smuzhiyun depends on DM_SERIAL 377*4882a593Smuzhiyun help 378*4882a593Smuzhiyun Select this to enable an UART for Altera devices. Please find 379*4882a593Smuzhiyun details on the "Embedded Peripherals IP User Guide" of Altera. 380*4882a593Smuzhiyun 381*4882a593Smuzhiyunconfig AR933X_UART 382*4882a593Smuzhiyun bool "QCA/Atheros ar933x UART support" 383*4882a593Smuzhiyun depends on DM_SERIAL && SOC_AR933X 384*4882a593Smuzhiyun help 385*4882a593Smuzhiyun Select this to enable UART support for QCA/Atheros ar933x 386*4882a593Smuzhiyun devices. This driver uses driver model and requires a device 387*4882a593Smuzhiyun tree binding to operate, please refer to the document at 388*4882a593Smuzhiyun doc/device-tree-bindings/serial/qca,ar9330-uart.txt. 389*4882a593Smuzhiyun 390*4882a593Smuzhiyunconfig ATMEL_USART 391*4882a593Smuzhiyun bool "Atmel USART support" 392*4882a593Smuzhiyun help 393*4882a593Smuzhiyun Select this to enable USART support for Atmel SoCs. It can be 394*4882a593Smuzhiyun configured in the device tree, and input clock frequency can 395*4882a593Smuzhiyun be got from the clk node. 396*4882a593Smuzhiyun 397*4882a593Smuzhiyunconfig BCM6345_SERIAL 398*4882a593Smuzhiyun bool "Support for BCM6345 UART" 399*4882a593Smuzhiyun depends on DM_SERIAL && ARCH_BMIPS 400*4882a593Smuzhiyun help 401*4882a593Smuzhiyun Select this to enable UART on BCM6345 SoCs. 402*4882a593Smuzhiyun 403*4882a593Smuzhiyunconfig FSL_LPUART 404*4882a593Smuzhiyun bool "Freescale LPUART support" 405*4882a593Smuzhiyun help 406*4882a593Smuzhiyun Select this to enable a Low Power UART for Freescale VF610 and 407*4882a593Smuzhiyun QorIQ Layerscape devices. 408*4882a593Smuzhiyun 409*4882a593Smuzhiyunconfig MVEBU_A3700_UART 410*4882a593Smuzhiyun bool "UART support for Armada 3700" 411*4882a593Smuzhiyun default n 412*4882a593Smuzhiyun help 413*4882a593Smuzhiyun Choose this option to add support for UART driver on the Marvell 414*4882a593Smuzhiyun Armada 3700 SoC. The base address is configured via DT. 415*4882a593Smuzhiyun 416*4882a593Smuzhiyunconfig MXC_UART 417*4882a593Smuzhiyun bool "IMX serial port support" 418*4882a593Smuzhiyun depends on MX5 || MX6 419*4882a593Smuzhiyun help 420*4882a593Smuzhiyun If you have a machine based on a Motorola IMX CPU you 421*4882a593Smuzhiyun can enable its onboard serial port by enabling this option. 422*4882a593Smuzhiyun 423*4882a593Smuzhiyunconfig PIC32_SERIAL 424*4882a593Smuzhiyun bool "Support for Microchip PIC32 on-chip UART" 425*4882a593Smuzhiyun depends on DM_SERIAL && MACH_PIC32 426*4882a593Smuzhiyun default y 427*4882a593Smuzhiyun help 428*4882a593Smuzhiyun Support for the UART found on Microchip PIC32 SoC's. 429*4882a593Smuzhiyun 430*4882a593Smuzhiyunconfig SYS_NS16550 431*4882a593Smuzhiyun bool "NS16550 UART or compatible" 432*4882a593Smuzhiyun help 433*4882a593Smuzhiyun Support NS16550 UART or compatible. This can be enabled in the 434*4882a593Smuzhiyun device tree with the correct input clock frequency. If the input 435*4882a593Smuzhiyun clock frequency is not defined in the device tree, the macro 436*4882a593Smuzhiyun CONFIG_SYS_NS16550_CLK defined in a legacy board header file will 437*4882a593Smuzhiyun be used. It can be a constant or a function to get clock, eg, 438*4882a593Smuzhiyun get_serial_clock(). 439*4882a593Smuzhiyun 440*4882a593Smuzhiyunconfig INTEL_MID_SERIAL 441*4882a593Smuzhiyun bool "Intel MID platform UART support" 442*4882a593Smuzhiyun depends on DM_SERIAL && OF_CONTROL 443*4882a593Smuzhiyun depends on INTEL_MID 444*4882a593Smuzhiyun select SYS_NS16550 445*4882a593Smuzhiyun help 446*4882a593Smuzhiyun Select this to enable a UART for Intel MID platforms. 447*4882a593Smuzhiyun This uses the ns16550 driver as a library. 448*4882a593Smuzhiyun 449*4882a593Smuzhiyunconfig ROCKCHIP_SERIAL 450*4882a593Smuzhiyun bool "Rockchip on-chip UART support" 451*4882a593Smuzhiyun depends on DM_SERIAL && SPL_OF_PLATDATA 452*4882a593Smuzhiyun help 453*4882a593Smuzhiyun Select this to enable a debug UART for Rockchip devices when using 454*4882a593Smuzhiyun CONFIG_SPL_OF_PLATDATA (i.e. a compiled-in device tree replacemenmt). 455*4882a593Smuzhiyun This uses the ns16550 driver, converting the platdata from of-platdata 456*4882a593Smuzhiyun to the ns16550 format. 457*4882a593Smuzhiyun 458*4882a593Smuzhiyunconfig SANDBOX_SERIAL 459*4882a593Smuzhiyun bool "Sandbox UART support" 460*4882a593Smuzhiyun depends on SANDBOX 461*4882a593Smuzhiyun help 462*4882a593Smuzhiyun Select this to enable a seral UART for sandbox. This is required to 463*4882a593Smuzhiyun operate correctly, otherwise you will see no serial output from 464*4882a593Smuzhiyun sandbox. The emulated UART will display to the console and console 465*4882a593Smuzhiyun input will be fed into the UART. This allows you to interact with 466*4882a593Smuzhiyun U-Boot. 467*4882a593Smuzhiyun 468*4882a593Smuzhiyun The operation of the console is controlled by the -t command-line 469*4882a593Smuzhiyun flag. In raw mode, U-Boot sees all characters from the terminal 470*4882a593Smuzhiyun before they are processed, including Ctrl-C. In cooked mode, Ctrl-C 471*4882a593Smuzhiyun is processed by the terminal, and terminates U-Boot. Valid options 472*4882a593Smuzhiyun are: 473*4882a593Smuzhiyun 474*4882a593Smuzhiyun -t raw-with-sigs Raw mode, Ctrl-C will terminate U-Boot 475*4882a593Smuzhiyun -t raw Raw mode, Ctrl-C is processed by U-Boot 476*4882a593Smuzhiyun -t cooked Cooked mode, Ctrl-C terminates 477*4882a593Smuzhiyun 478*4882a593Smuzhiyunconfig SCIF_CONSOLE 479*4882a593Smuzhiyun bool "Renesas SCIF UART support" 480*4882a593Smuzhiyun depends on SH || ARCH_RMOBILE 481*4882a593Smuzhiyun help 482*4882a593Smuzhiyun Select this to enable Renesas SCIF UART. To operate serial ports 483*4882a593Smuzhiyun on systems with RCar or SH SoCs, say Y to this option. If unsure, 484*4882a593Smuzhiyun say N. 485*4882a593Smuzhiyun 486*4882a593Smuzhiyunconfig UNIPHIER_SERIAL 487*4882a593Smuzhiyun bool "Support for UniPhier on-chip UART" 488*4882a593Smuzhiyun depends on ARCH_UNIPHIER 489*4882a593Smuzhiyun default y 490*4882a593Smuzhiyun help 491*4882a593Smuzhiyun If you have a UniPhier based board and want to use the on-chip 492*4882a593Smuzhiyun serial ports, say Y to this option. If unsure, say N. 493*4882a593Smuzhiyun 494*4882a593Smuzhiyunconfig XILINX_UARTLITE 495*4882a593Smuzhiyun bool "Xilinx Uarlite support" 496*4882a593Smuzhiyun depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || 4xx) 497*4882a593Smuzhiyun help 498*4882a593Smuzhiyun If you have a Xilinx based board and want to use the uartlite 499*4882a593Smuzhiyun serial ports, say Y to this option. If unsure, say N. 500*4882a593Smuzhiyun 501*4882a593Smuzhiyunconfig MESON_SERIAL 502*4882a593Smuzhiyun bool "Support for Amlogic Meson UART" 503*4882a593Smuzhiyun depends on DM_SERIAL && ARCH_MESON 504*4882a593Smuzhiyun help 505*4882a593Smuzhiyun If you have an Amlogic Meson based board and want to use the on-chip 506*4882a593Smuzhiyun serial ports, say Y to this option. If unsure, say N. 507*4882a593Smuzhiyun 508*4882a593Smuzhiyunconfig MSM_SERIAL 509*4882a593Smuzhiyun bool "Qualcomm on-chip UART" 510*4882a593Smuzhiyun depends on DM_SERIAL 511*4882a593Smuzhiyun help 512*4882a593Smuzhiyun Support Data Mover UART used on Qualcomm Snapdragon SoCs. 513*4882a593Smuzhiyun It should support all Qualcomm devices with UARTDM version 1.4, 514*4882a593Smuzhiyun for example APQ8016 and MSM8916. 515*4882a593Smuzhiyun Single baudrate is supported in current implementation (115200). 516*4882a593Smuzhiyun 517*4882a593Smuzhiyunconfig PXA_SERIAL 518*4882a593Smuzhiyun bool "PXA serial port support" 519*4882a593Smuzhiyun help 520*4882a593Smuzhiyun If you have a machine based on a Marvell XScale PXA2xx CPU you 521*4882a593Smuzhiyun can enable its onboard serial ports by enabling this option. 522*4882a593Smuzhiyun 523*4882a593Smuzhiyunconfig STI_ASC_SERIAL 524*4882a593Smuzhiyun bool "STMicroelectronics on-chip UART" 525*4882a593Smuzhiyun depends on DM_SERIAL && ARCH_STI 526*4882a593Smuzhiyun help 527*4882a593Smuzhiyun Select this to enable Asynchronous Serial Controller available 528*4882a593Smuzhiyun on STiH410 SoC. This is a basic implementation, it supports 529*4882a593Smuzhiyun following baudrate 9600, 19200, 38400, 57600 and 115200. 530*4882a593Smuzhiyun 531*4882a593Smuzhiyunconfig STM32X7_SERIAL 532*4882a593Smuzhiyun bool "STMicroelectronics STM32 SoCs on-chip UART" 533*4882a593Smuzhiyun depends on DM_SERIAL && STM32F7 534*4882a593Smuzhiyun help 535*4882a593Smuzhiyun If you have a machine based on a STM32 F7 you can enable its 536*4882a593Smuzhiyun onboard serial ports, say Y to this option. If unsure, say N. 537*4882a593Smuzhiyun 538*4882a593Smuzhiyunconfig MPC8XX_CONS 539*4882a593Smuzhiyun bool "Console driver for MPC8XX" 540*4882a593Smuzhiyun depends on 8xx 541*4882a593Smuzhiyun default y 542*4882a593Smuzhiyun 543*4882a593Smuzhiyunchoice 544*4882a593Smuzhiyun prompt "Console port" 545*4882a593Smuzhiyun default 8xx_CONS_SMC1 546*4882a593Smuzhiyun depends on MPC8XX_CONS 547*4882a593Smuzhiyun help 548*4882a593Smuzhiyun Depending on board, select one serial port 549*4882a593Smuzhiyun (CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2) 550*4882a593Smuzhiyun 551*4882a593Smuzhiyunconfig 8xx_CONS_SMC1 552*4882a593Smuzhiyun bool "SMC1" 553*4882a593Smuzhiyun 554*4882a593Smuzhiyunconfig 8xx_CONS_SMC2 555*4882a593Smuzhiyun bool "SMC2" 556*4882a593Smuzhiyun 557*4882a593Smuzhiyunendchoice 558*4882a593Smuzhiyun 559*4882a593Smuzhiyunconfig SYS_SMC_RXBUFLEN 560*4882a593Smuzhiyun int "Console Rx buffer length" 561*4882a593Smuzhiyun depends on MPC8XX_CONS 562*4882a593Smuzhiyun default 1 563*4882a593Smuzhiyun help 564*4882a593Smuzhiyun With CONFIG_SYS_SMC_RXBUFLEN it is possible to define 565*4882a593Smuzhiyun the maximum receive buffer length for the SMC. 566*4882a593Smuzhiyun This option is actual only for 8xx possible. 567*4882a593Smuzhiyun If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE 568*4882a593Smuzhiyun must be defined, to setup the maximum idle timeout for 569*4882a593Smuzhiyun the SMC. 570*4882a593Smuzhiyun 571*4882a593Smuzhiyunconfig SYS_MAXIDLE 572*4882a593Smuzhiyun int "maximum idle timeout" 573*4882a593Smuzhiyun depends on MPC8XX_CONS 574*4882a593Smuzhiyun default 0 575*4882a593Smuzhiyun 576*4882a593Smuzhiyunconfig SYS_BRGCLK_PRESCALE 577*4882a593Smuzhiyun int "BRG Clock Prescale" 578*4882a593Smuzhiyun depends on MPC8XX_CONS 579*4882a593Smuzhiyun default 1 580*4882a593Smuzhiyun 581*4882a593Smuzhiyunconfig SYS_SDSR 582*4882a593Smuzhiyun hex "SDSR Value" 583*4882a593Smuzhiyun depends on MPC8XX_CONS 584*4882a593Smuzhiyun default 0x83 585*4882a593Smuzhiyun 586*4882a593Smuzhiyunconfig SYS_SDMR 587*4882a593Smuzhiyun hex "SDMR Value" 588*4882a593Smuzhiyun depends on MPC8XX_CONS 589*4882a593Smuzhiyun default 0 590*4882a593Smuzhiyun 591*4882a593Smuzhiyunendmenu 592