1# 2# Serial device configuration 3# 4 5menuconfig SERIAL 6 bool "Serial" 7 default y 8 help 9 Enable support for serial drivers. This allows use of a serial UART 10 for displaying messages while U-Boot is running. It also brings in 11 printf() and panic() functions. This should normally be enabled 12 unless there are space reasons not to. If you just need to disable 13 the console you can adjust the stdout environment variable or use 14 SILENT_CONSOLE. 15 16if SERIAL 17 18config BAUDRATE 19 int "Default baudrate" 20 default 115200 21 help 22 Select a default baudrate, where "default" has a driver-specific 23 meaning of either setting the baudrate for the early debug UART 24 in the SPL stage (most drivers) or for choosing a default baudrate 25 in the absence of an environment setting (serial_mxc.c). 26 27config REQUIRE_SERIAL_CONSOLE 28 bool "Require a serial port for console" 29 # Running without a serial console is not supported by the 30 # non-dm serial code 31 depends on DM_SERIAL 32 default y 33 help 34 Require a serial port for the console, and panic if none is found 35 during serial port initialization (default y). Set this to n on 36 boards which have no debug serial port whatsoever. 37 38config SPECIFY_CONSOLE_INDEX 39 bool "Specify the port number used for console" 40 default y if !DM_SERIAL || (SPL && !SPL_DM_SERIAL) || \ 41 (TPL && !TPL_DM_SERIAL) 42 help 43 In various cases, we need to specify which of the UART devices that 44 a board or SoC has available are to be used for the console device 45 in U-Boot. 46 47config SERIAL_PRESENT 48 bool "Provide a serial driver" 49 depends on DM_SERIAL 50 default y 51 help 52 In very space-constrained devices even the full UART driver is too 53 large. In this case the debug UART can still be used in some cases. 54 This option enables the full UART in U-Boot, so if is it disabled, 55 the full UART driver will be omitted, thus saving space. 56 57config SPL_SERIAL_PRESENT 58 bool "Provide a serial driver in SPL" 59 depends on DM_SERIAL && SPL 60 default y 61 help 62 In very space-constrained devices even the full UART driver is too 63 large. In this case the debug UART can still be used in some cases. 64 This option enables the full UART in SPL, so if is it disabled, 65 the full UART driver will be omitted, thus saving space. 66 67config TPL_SERIAL_PRESENT 68 bool "Provide a serial driver in TPL" 69 depends on DM_SERIAL && TPL 70 default y 71 help 72 In very space-constrained devices even the full UART driver is too 73 large. In this case the debug UART can still be used in some cases. 74 This option enables the full UART in TPL, so if is it disabled, 75 the full UART driver will be omitted, thus saving space. 76 77# Logic to allow us to use the imply keyword to set what the default port 78# should be. The default is otherwise 1. 79config CONS_INDEX_0 80 bool 81 82config CONS_INDEX_2 83 bool 84 85config CONS_INDEX_3 86 bool 87 88config CONS_INDEX_4 89 bool 90 91config CONS_INDEX_5 92 bool 93 94config CONS_INDEX_6 95 bool 96 97config CONS_INDEX 98 int "UART used for console" 99 depends on SPECIFY_CONSOLE_INDEX 100 range 0 6 101 default 0 if CONS_INDEX_0 102 default 2 if CONS_INDEX_2 103 default 3 if CONS_INDEX_3 104 default 4 if CONS_INDEX_4 105 default 5 if CONS_INDEX_5 106 default 6 if CONS_INDEX_6 107 default 1 108 help 109 Set this to match the UART number of the serial console. 110 111config DM_SERIAL 112 bool "Enable Driver Model for serial drivers" 113 depends on DM 114 select SYS_MALLOC_F 115 help 116 Enable driver model for serial. This replaces 117 drivers/serial/serial.c with the serial uclass, which 118 implements serial_putc() etc. The uclass interface is 119 defined in include/serial.h. 120 121config SERIAL_RX_BUFFER 122 bool "Enable RX buffer for serial input" 123 depends on DM_SERIAL 124 help 125 Enable RX buffer support for the serial driver. This enables 126 pasting longer strings, even when the RX FIFO of the UART is 127 not big enough (e.g. 16 bytes on the normal NS16550). 128 129config SERIAL_RX_BUFFER_SIZE 130 int "RX buffer size" 131 depends on SERIAL_RX_BUFFER 132 default 256 133 help 134 The size of the RX buffer (needs to be power of 2) 135 136config SERIAL_SEARCH_ALL 137 bool "Search for serial devices after default one failed" 138 depends on DM_SERIAL 139 help 140 The serial subsystem only searches for a single serial device 141 that was instantiated, but does not check whether it was probed 142 correctly. With this option set, we make successful probing 143 mandatory and search for fallback serial devices if the default 144 device does not work. 145 146 If unsure, say N. 147 148config SERIAL_PROBE_ALL 149 bool "Probe all available serial devices" 150 depends on DM_SERIAL 151 help 152 The serial subsystem only probes for a single serial device, 153 but does not probe for other remaining serial devices. 154 With this option set, we make probing and searching for 155 all available devices optional. 156 Normally, U-Boot talks to one serial port at a time, but SBSA 157 compliant UART devices like PL011 require initialization 158 by firmware and to let the kernel use serial port for sending 159 and receiving the characters. 160 161 If unsure, say N. 162 163config SPL_DM_SERIAL 164 bool "Enable Driver Model for serial drivers in SPL" 165 depends on DM_SERIAL && SPL_DM 166 select SYS_SPL_MALLOC_F 167 default y 168 help 169 Enable driver model for serial in SPL. This replaces 170 drivers/serial/serial.c with the serial uclass, which 171 implements serial_putc() etc. The uclass interface is 172 defined in include/serial.h. 173 174config TPL_DM_SERIAL 175 bool "Enable Driver Model for serial drivers in TPL" 176 depends on DM_SERIAL && TPL_DM 177 select SYS_TPL_MALLOC_F 178 default y if TPL && DM_SERIAL 179 help 180 Enable driver model for serial in TPL. This replaces 181 drivers/serial/serial.c with the serial uclass, which 182 implements serial_putc() etc. The uclass interface is 183 defined in include/serial.h. 184 185config DEBUG_UART 186 bool "Enable an early debug UART for debugging" 187 help 188 The debug UART is intended for use very early in U-Boot to debug 189 problems when an ICE or other debug mechanism is not available. 190 191 To use it you should: 192 - Make sure your UART supports this interface 193 - Enable CONFIG_DEBUG_UART 194 - Enable the CONFIG for your UART to tell it to provide this interface 195 (e.g. CONFIG_DEBUG_UART_NS16550) 196 - Define the required settings as needed (see below) 197 - Call debug_uart_init() before use 198 - Call debug_uart_putc() to output a character 199 200 Depending on your platform it may be possible to use this UART before 201 a stack is available. 202 203 If your UART does not support this interface you can probably add 204 support quite easily. Remember that you cannot use driver model and 205 it is preferred to use no stack. 206 207 You must not use this UART once driver model is working and the 208 serial drivers are up and running (done in serial_init()). Otherwise 209 the drivers may conflict and you will get strange output. 210 211choice 212 prompt "Select which UART will provide the debug UART" 213 depends on DEBUG_UART 214 default DEBUG_UART_NS16550 215 216config DEBUG_UART_ALTERA_JTAGUART 217 bool "Altera JTAG UART" 218 depends on ALTERA_JTAG_UART 219 help 220 Select this to enable a debug UART using the altera_jtag_uart driver. 221 You will need to provide parameters to make this work. The driver will 222 be available until the real driver model serial is running. 223 224config DEBUG_UART_ALTERA_UART 225 bool "Altera UART" 226 depends on ALTERA_UART 227 help 228 Select this to enable a debug UART using the altera_uart driver. 229 You will need to provide parameters to make this work. The driver will 230 be available until the real driver model serial is running. 231 232config DEBUG_UART_AR933X 233 bool "QCA/Atheros ar933x" 234 depends on AR933X_UART 235 help 236 Select this to enable a debug UART using the ar933x uart driver. 237 You will need to provide parameters to make this work. The 238 driver will be available until the real driver model serial is 239 running. 240 241config DEBUG_ARC_SERIAL 242 bool "ARC UART" 243 depends on ARC_SERIAL 244 help 245 Select this to enable a debug UART using the ARC UART driver. 246 You will need to provide parameters to make this work. The 247 driver will be available until the real driver model serial is 248 running. 249 250config DEBUG_UART_ATMEL 251 bool "Atmel USART" 252 depends on ATMEL_USART 253 help 254 Select this to enable a debug UART using the atmel usart driver. You 255 will need to provide parameters to make this work. The driver will 256 be available until the real driver-model serial is running. 257 258config DEBUG_UART_BCM6345 259 bool "BCM6345 UART" 260 depends on BCM6345_SERIAL 261 help 262 Select this to enable a debug UART on BCM6345 SoCs. You 263 will need to provide parameters to make this work. The driver will 264 be available until the real driver model serial is running. 265 266config DEBUG_UART_NS16550 267 bool "ns16550" 268 depends on SYS_NS16550 269 help 270 Select this to enable a debug UART using the ns16550 driver. You 271 will need to provide parameters to make this work. The driver will 272 be available until the real driver model serial is running. 273 274config DEBUG_EFI_CONSOLE 275 bool "EFI" 276 depends on EFI_APP 277 help 278 Select this to enable a debug console which calls back to EFI to 279 output to the console. This can be useful for early debugging of 280 U-Boot when running on top of EFI (Extensive Firmware Interface). 281 This is a type of BIOS used by PCs. 282 283config DEBUG_SBI_CONSOLE 284 bool "SBI" 285 depends on SBI_V01 286 help 287 Select this to enable a debug console which calls back to SBI to 288 output to the console. This can be useful for early debugging of 289 U-Boot when running on top of SBI (Supervisor Binary Interface). 290 291config DEBUG_UART_S5P 292 bool "Samsung S5P" 293 depends on ARCH_APPLE || ARCH_EXYNOS || ARCH_S5PC1XX 294 help 295 Select this to enable a debug UART using the serial_s5p driver. You 296 will need to provide parameters to make this work. The driver will 297 be available until the real driver-model serial is running. 298 299config DEBUG_UART_MSM_GENI 300 bool "Qualcomm snapdragon" 301 depends on ARCH_SNAPDRAGON 302 help 303 Select this to enable a debug UART using the serial_msm driver. You 304 will need to provide parameters to make this work. The driver will 305 be available until the real driver-model serial is running. 306 307config DEBUG_UART_MESON 308 bool "Amlogic Meson" 309 depends on MESON_SERIAL 310 help 311 Select this to enable a debug UART using the serial_meson driver. You 312 will need to provide parameters to make this work. The driver will 313 be available until the real driver-model serial is running. 314 315config DEBUG_UART_UARTLITE 316 bool "Xilinx Uartlite" 317 depends on XILINX_UARTLITE 318 help 319 Select this to enable a debug UART using the serial_uartlite driver. 320 You will need to provide parameters to make this work. The driver will 321 be available until the real driver-model serial is running. 322 323config DEBUG_UART_ARM_DCC 324 bool "ARM DCC" 325 depends on ARM_DCC 326 help 327 Select this to enable a debug UART using the ARM JTAG DCC port. 328 The DCC port can be used for very early debugging and doesn't require 329 any additional setting like address/baudrate/clock. On systems without 330 any serial interface this is the easiest way how to get console. 331 Every ARM core has own DCC port which is the part of debug interface. 332 This port is available at least on ARMv6, ARMv7, ARMv8 and XScale 333 architectures. 334 335config DEBUG_MVEBU_A3700_UART 336 bool "Marvell Armada 3700" 337 depends on MVEBU_A3700_UART 338 help 339 Select this to enable a debug UART using the serial_mvebu driver. You 340 will need to provide parameters to make this work. The driver will 341 be available until the real driver-model serial is running. 342 343config DEBUG_UART_ZYNQ 344 bool "Xilinx Zynq" 345 depends on ZYNQ_SERIAL 346 help 347 Select this to enable a debug UART using the serial_zynq driver. You 348 will need to provide parameters to make this work. The driver will 349 be available until the real driver-model serial is running. 350 351config DEBUG_UART_APBUART 352 depends on LEON3 353 bool "Gaisler APBUART" 354 help 355 Select this to enable a debug UART using the serial_leon3 driver. You 356 will need to provide parameters to make this work. The driver will 357 be available until the real driver model serial is running. 358 359config DEBUG_UART_PL010 360 bool "pl010" 361 depends on PL01X_SERIAL 362 help 363 Select this to enable a debug UART using the pl01x driver with the 364 PL010 UART type. You will need to provide parameters to make this 365 work. The driver will be available until the real driver model 366 serial is running. 367 368config DEBUG_UART_PL011 369 bool "pl011" 370 depends on PL01X_SERIAL || PL011_SERIAL 371 help 372 Select this to enable a debug UART using the pl01x driver with the 373 PL011 UART type. You will need to provide parameters to make this 374 work. The driver will be available until the real driver model 375 serial is running. 376 377config DEBUG_UART_PIC32 378 bool "Microchip PIC32" 379 depends on PIC32_SERIAL 380 help 381 Select this to enable a debug UART using the serial_pic32 driver. You 382 will need to provide parameters to make this work. The driver will 383 be available until the real driver model serial is running. 384 385config DEBUG_UART_MXC 386 bool "IMX Serial port" 387 depends on MXC_UART 388 help 389 Select this to enable a debug UART using the serial_mxc driver. You 390 will need to provide parameters to make this work. The driver will 391 be available until the real driver model serial is running. 392 393config DEBUG_UART_SANDBOX 394 bool "sandbox" 395 depends on SANDBOX_SERIAL 396 help 397 Select this to enable the debug UART using the sandbox driver. This 398 provides basic serial output from the console without needing to 399 start up driver model. The driver will be available until the real 400 driver model serial is running. 401 402config DEBUG_UART_SIFIVE 403 bool "SiFive UART" 404 depends on SIFIVE_SERIAL 405 help 406 Select this to enable a debug UART using the serial_sifive driver. You 407 will need to provide parameters to make this work. The driver will 408 be available until the real driver-model serial is running. 409 410config DEBUG_UART_STM32 411 bool "STMicroelectronics STM32" 412 depends on STM32_SERIAL 413 help 414 Select this to enable a debug UART using the serial_stm32 driver 415 You will need to provide parameters to make this work. 416 The driver will be available until the real driver model 417 serial is running. 418 419config DEBUG_UART_UNIPHIER 420 bool "UniPhier on-chip UART" 421 depends on ARCH_UNIPHIER 422 help 423 Select this to enable a debug UART using the UniPhier on-chip UART. 424 You will need to provide DEBUG_UART_BASE to make this work. The 425 driver will be available until the real driver-model serial is 426 running. 427 428config DEBUG_UART_OMAP 429 bool "OMAP uart" 430 depends on OMAP_SERIAL 431 help 432 Select this to enable a debug UART using the omap ns16550 driver. 433 You will need to provide parameters to make this work. The driver 434 will be available until the real driver model serial is running. 435 436config DEBUG_UART_MTK 437 bool "MediaTek High-speed UART" 438 depends on MTK_SERIAL 439 help 440 Select this to enable a debug UART using the MediaTek High-speed 441 UART driver. 442 You will need to provide parameters to make this work. The 443 driver will be available until the real driver model serial is 444 running. 445 446config DEBUG_UART_MT7620 447 bool "UART driver for MediaTek MT7620 and earlier SoCs" 448 depends on MT7620_SERIAL 449 help 450 Select this to enable a debug UART using the UART driver for 451 MediaTek MT7620 and earlier SoCs. 452 You will need to provide parameters to make this work. The 453 driver will be available until the real driver model serial is 454 running. 455 456endchoice 457 458config DEBUG_UART_BASE 459 hex "Base address of UART" 460 depends on DEBUG_UART 461 default 0 if DEBUG_SBI_CONSOLE 462 default 0 if DEBUG_UART_SANDBOX 463 help 464 This is the base address of your UART for memory-mapped UARTs. 465 466 A default should be provided by your board, but if not you will need 467 to use the correct value here. 468 469config DEBUG_UART_CLOCK 470 int "UART input clock" 471 depends on DEBUG_UART 472 default 0 if DEBUG_SBI_CONSOLE 473 default 0 if DEBUG_UART_SANDBOX 474 default 0 if DEBUG_MVEBU_A3700_UART 475 help 476 The UART input clock determines the speed of the internal UART 477 circuitry. The baud rate is derived from this by dividing the input 478 clock down. 479 480 A default should be provided by your board, but if not you will need 481 to use the correct value here. 482 483config DEBUG_UART_SHIFT 484 int "UART register shift" 485 depends on DEBUG_UART 486 default 0 if DEBUG_UART 487 help 488 Some UARTs (notably ns16550) support different register layouts 489 where the registers are spaced either as bytes, words or some other 490 value. Use this value to specify the shift to use, where 0=byte 491 registers, 2=32-bit word registers, etc. 492 493config DEBUG_UART_BOARD_INIT 494 bool "Enable board-specific debug UART init" 495 depends on DEBUG_UART 496 help 497 Some boards need to set things up before the debug UART can be used. 498 On these boards a call to debug_uart_init() is insufficient. When 499 this option is enabled, the function board_debug_uart_init() will 500 be called when debug_uart_init() is called. You can put any code 501 here that is needed to set up the UART ready for use, such as set 502 pin multiplexing or enable clocks. 503 504config DEBUG_UART_ANNOUNCE 505 bool "Show a message when the debug UART starts up" 506 depends on DEBUG_UART 507 help 508 Enable this option to show a message when the debug UART is ready 509 for use. You will see a message like "<debug_uart> " as soon as 510 U-Boot has the UART ready for use (i.e. your code calls 511 debug_uart_init()). This can be useful just as a check that 512 everything is working. 513 514config DEBUG_UART_SKIP_INIT 515 bool "Skip UART initialization" 516 depends on DEBUG_UART 517 help 518 Select this if the UART you want to use for debug output is already 519 initialized by the time U-Boot starts its execution. 520 521config DEBUG_UART_NS16550_CHECK_ENABLED 522 bool "Check if UART is enabled on output" 523 depends on DEBUG_UART 524 depends on DEBUG_UART_NS16550 525 help 526 Select this if puts()/putc() might be called before the debug UART 527 has been initialized. If this is disabled, putc() might sit in a 528 tight loop if it is called before debug_uart_init() has been called. 529 530 Note that this does not work for every ns16550-compatible UART and 531 so has to be enabled carefully or you might notice lost characters. 532 533config ALTERA_JTAG_UART 534 bool "Altera JTAG UART support" 535 depends on DM_SERIAL 536 help 537 Select this to enable an JTAG UART for Altera devices.The JTAG UART 538 core implements a method to communicate serial character streams 539 between a host PC and a Qsys system on an Altera FPGA. Please find 540 details on the "Embedded Peripherals IP User Guide" of Altera. 541 542config ALTERA_JTAG_UART_BYPASS 543 bool "Bypass output when no connection" 544 depends on ALTERA_JTAG_UART 545 help 546 Bypass console output and keep going even if there is no JTAG 547 terminal connection with the host. The console output will resume 548 once the JTAG terminal is connected. Without the bypass, the console 549 output will wait forever until a JTAG terminal is connected. If you 550 not are sure, say Y. 551 552config ALTERA_UART 553 bool "Altera UART support" 554 depends on DM_SERIAL 555 help 556 Select this to enable an UART for Altera devices. Please find 557 details on the "Embedded Peripherals IP User Guide" of Altera. 558 559config AR933X_UART 560 bool "QCA/Atheros ar933x UART support" 561 depends on DM_SERIAL && SOC_AR933X 562 help 563 Select this to enable UART support for QCA/Atheros ar933x 564 devices. This driver uses driver model and requires a device 565 tree binding to operate, please refer to the document at 566 doc/device-tree-bindings/serial/qca,ar9330-uart.txt. 567 568config ARC_SERIAL 569 bool "ARC UART support" 570 depends on DM_SERIAL 571 help 572 Select this to enable support for ARC UART now typically 573 only used in Synopsys DesignWare ARC simulators like nSIM. 574 575config ARM_DCC 576 bool "ARM Debug Communication Channel (DCC) as UART support" 577 depends on ARM 578 help 579 Select this to enable using the ARM DCC as a form of UART. 580 581config ATMEL_USART 582 bool "Atmel USART support" 583 help 584 Select this to enable USART support for Atmel SoCs. It can be 585 configured in the device tree, and input clock frequency can 586 be got from the clk node. 587 588config SPL_UART_CLOCK 589 int "SPL fixed UART input clock" 590 depends on ATMEL_USART && SPL && !SPL_CLK 591 default 132096000 if ARCH_AT91 592 help 593 Provide a fixed clock value as input to the UART controller. This 594 might be needed on platforms which can't enable CONFIG_SPL_CLK 595 because of SPL image size restrictions. 596 597config BCM283X_MU_SERIAL 598 bool "Support for BCM283x Mini-UART" 599 depends on DM_SERIAL && ARCH_BCM283X 600 default y 601 help 602 Select this to enable Mini-UART support on BCM283X family of SoCs. 603 604config BCM283X_PL011_SERIAL 605 bool "Support for BCM283x PL011 UART" 606 depends on PL01X_SERIAL && ARCH_BCM283X 607 default y 608 help 609 Select this to enable an overriding PL011 driver for BCM283X SoCs 610 that supports automatic disable, so that it only gets used when 611 the UART is actually muxed. 612 613config BCM6345_SERIAL 614 bool "Support for BCM6345 UART" 615 depends on DM_SERIAL 616 help 617 Select this to enable UART on BCM6345 SoCs. 618 619config COREBOOT_SERIAL 620 bool "Coreboot UART support" 621 depends on DM_SERIAL 622 default y if SYS_COREBOOT 623 select SYS_NS16550 624 help 625 Select this to enable a ns16550-style UART where the platform data 626 comes from the coreboot 'sysinfo' tables. This allows U-Boot to have 627 a serial console on any platform without needing to change the 628 device tree, etc. 629 630config CORTINA_UART 631 bool "Cortina UART support" 632 depends on DM_SERIAL 633 help 634 Select this to enable UART support for Cortina-Access UART devices 635 found on CAxxxx SoCs. 636 637config FSL_LINFLEXUART 638 bool "Freescale Linflex UART support" 639 depends on DM_SERIAL 640 help 641 Select this to enable the Linflex serial module found on some 642 NXP SoCs like S32V234. 643 644config FSL_LPUART 645 bool "Freescale LPUART support" 646 help 647 Select this to enable a Low Power UART for Freescale VF610 and 648 QorIQ Layerscape devices. 649 650config MVEBU_A3700_UART 651 bool "UART support for Armada 3700" 652 help 653 Choose this option to add support for UART driver on the Marvell 654 Armada 3700 SoC. The base address is configured via DT. 655 656config MCFUART 657 bool "Freescale ColdFire UART support" 658 help 659 Choose this option to add support for UART driver on the ColdFire 660 SoC's family. The serial communication channel provides a full-duplex 661 asynchronous/synchronous receiver and transmitter deriving an 662 operating frequency from the internal bus clock or an external clock. 663 664config MXC_UART 665 bool "IMX serial port support" 666 depends on ARCH_MX31 || MX5 || MX6 || MX7 || IMX8M 667 help 668 If you have a machine based on a Motorola IMX CPU you 669 can enable its onboard serial port by enabling this option. 670 671config NULLDEV_SERIAL 672 bool "Null serial device" 673 help 674 Select this to enable null serial device support. A null serial 675 device merely acts as a placeholder for a serial device and does 676 nothing for all it's operation. 677 678config PIC32_SERIAL 679 bool "Support for Microchip PIC32 on-chip UART" 680 depends on DM_SERIAL && MACH_PIC32 681 default y 682 help 683 Support for the UART found on Microchip PIC32 SoC's. 684 685config SYS_NS16550 686 bool "NS16550 UART or compatible" 687 help 688 Support NS16550 UART or compatible. This can be enabled in the 689 device tree with the correct input clock frequency. If the input 690 clock frequency is not defined in the device tree, the macro 691 CONFIG_SYS_NS16550_CLK defined in a legacy board header file will 692 be used. It can be a constant or a function to get clock, eg, 693 get_serial_clock(). 694 695config NS16550_DYNAMIC 696 bool "Allow NS16550 to be configured at runtime" 697 default y if SYS_COREBOOT || SYS_SLIMBOOTLOADER 698 help 699 Enable this option to allow device-tree control of the driver. 700 701 Normally this driver is controlled by the following options: 702 703 CONFIG_SYS_NS16550_PORT_MAPPED - indicates that port I/O is used for 704 access. If not enabled, then the UART is memory-mapped. 705 CONFIG_SYS_NS16550_MEM32 - if memory-mapped, indicates that 32-bit 706 access should be used (instead of 8-bit) 707 CONFIG_SYS_NS16550_REG_SIZE - indicates register width and also 708 endianness. If positive, big-endian access is used. If negative, 709 little-endian is used. 710 711 It is not a good practice for a driver to be statically configured, 712 since it prevents the same driver being used for different types of 713 UARTs in a system. This option avoids this problem at the cost of a 714 slightly increased code size. 715 716config INTEL_MID_SERIAL 717 bool "Intel MID platform UART support" 718 depends on DM_SERIAL && OF_CONTROL 719 depends on INTEL_MID 720 select SYS_NS16550 721 help 722 Select this to enable a UART for Intel MID platforms. 723 This uses the ns16550 driver as a library. 724 725config PL011_SERIAL 726 bool "ARM PL011 driver" 727 depends on !DM_SERIAL 728 help 729 Select this to enable a UART for platforms using PL011. 730 731config PL01X_SERIAL 732 bool "ARM PL010 and PL011 driver" 733 depends on DM_SERIAL 734 help 735 Select this to enable a UART for platforms using PL010 or PL011. 736 737config ROCKCHIP_SERIAL 738 bool "Rockchip on-chip UART support" 739 depends on DM_SERIAL && SPL_OF_PLATDATA 740 help 741 Select this to enable a debug UART for Rockchip devices when using 742 CONFIG_SPL_OF_PLATDATA (i.e. a compiled-in device tree replacemenmt). 743 This uses the ns16550 driver, converting the platdata from of-platdata 744 to the ns16550 format. 745 746config S5P_SERIAL 747 bool "Support for Samsung S5P UART" 748 depends on ARCH_APPLE || ARCH_EXYNOS || ARCH_S5PC1XX 749 default y 750 help 751 Select this to enable Samsung S5P UART support. 752 753config SANDBOX_SERIAL 754 bool "Sandbox UART support" 755 depends on SANDBOX 756 help 757 Select this to enable a seral UART for sandbox. This is required to 758 operate correctly, otherwise you will see no serial output from 759 sandbox. The emulated UART will display to the console and console 760 input will be fed into the UART. This allows you to interact with 761 U-Boot. 762 763 The operation of the console is controlled by the -t command-line 764 flag. In raw mode, U-Boot sees all characters from the terminal 765 before they are processed, including Ctrl-C. In cooked mode, Ctrl-C 766 is processed by the terminal, and terminates U-Boot. Valid options 767 are: 768 769 -t raw-with-sigs Raw mode, Ctrl-C will terminate U-Boot 770 -t raw Raw mode, Ctrl-C is processed by U-Boot 771 -t cooked Cooked mode, Ctrl-C terminates 772 773config SCIF_CONSOLE 774 bool "Renesas SCIF UART support" 775 depends on SH || ARCH_RMOBILE 776 help 777 Select this to enable Renesas SCIF UART. To operate serial ports 778 on systems with RCar or SH SoCs, say Y to this option. If unsure, 779 say N. 780 781config UNIPHIER_SERIAL 782 bool "Support for UniPhier on-chip UART" 783 depends on ARCH_UNIPHIER 784 default y 785 help 786 If you have a UniPhier based board and want to use the on-chip 787 serial ports, say Y to this option. If unsure, say N. 788 789config XILINX_UARTLITE 790 bool "Xilinx Uarlite support" 791 depends on DM_SERIAL 792 help 793 If you have a Xilinx based board and want to use the uartlite 794 serial ports, say Y to this option. If unsure, say N. 795 796config MESON_SERIAL 797 bool "Support for Amlogic Meson UART" 798 depends on DM_SERIAL && ARCH_MESON 799 help 800 If you have an Amlogic Meson based board and want to use the on-chip 801 serial ports, say Y to this option. If unsure, say N. 802 803config MSM_SERIAL 804 bool "Qualcomm on-chip UART" 805 depends on DM_SERIAL 806 help 807 Support Data Mover UART used on Qualcomm Snapdragon SoCs. 808 It should support all Qualcomm devices with UARTDM version 1.4, 809 for example APQ8016 and MSM8916. 810 Single baudrate is supported in current implementation (115200). 811 812config MSM_GENI_SERIAL 813 bool "Qualcomm on-chip GENI UART" 814 help 815 Support UART based on Generic Interface (GENI) Serial Engine (SE), 816 used on Qualcomm Snapdragon SoCs. Should support all qualcomm SOCs 817 with Qualcomm Universal Peripheral (QUP) Wrapper cores, 818 i.e. newer ones, starting from SDM845. 819 Driver works in FIFO mode. 820 Multiple baudrates supported. 821 822config OCTEON_SERIAL_BOOTCMD 823 bool "MIPS Octeon PCI remote bootcmd input" 824 depends on ARCH_OCTEON 825 depends on DM_SERIAL 826 select SYS_IS_IN_ENV 827 select CONSOLE_MUX 828 help 829 This driver supports remote input over the PCIe bus from a host 830 to U-Boot for entering commands. It is utilized by the host 831 commands 'oct-remote-load' and 'oct-remote-bootcmd'. 832 833config OCTEON_SERIAL_PCIE_CONSOLE 834 bool "MIPS Octeon PCIe remote console" 835 depends on ARCH_OCTEON 836 depends on (DM_SERIAL && DM_STDIO) 837 select SYS_STDIO_DEREGISTER 838 select SYS_CONSOLE_IS_IN_ENV 839 select CONSOLE_MUX 840 help 841 This driver supports remote console over the PCIe bus when the 842 Octeon is running in PCIe target mode. The host program 843 'oct-remote-console' can be used to connect to this console. 844 The console number will likely be 0 or 1. 845 846config OMAP_SERIAL 847 bool "Support for OMAP specific UART" 848 depends on DM_SERIAL 849 default y if (ARCH_OMAP2PLUS || ARCH_K3) 850 select SYS_NS16550 851 help 852 If you have an TI based SoC and want to use the on-chip serial 853 port, say Y to this option. If unsure say N. 854 855config OWL_SERIAL 856 bool "Actions Semi OWL UART" 857 depends on DM_SERIAL && ARCH_OWL 858 help 859 If you have a Actions Semi OWL based board and want to use the on-chip 860 serial port, say Y to this option. If unsure, say N. 861 Single baudrate is supported in current implementation (115200). 862 863config PXA_SERIAL 864 bool "PXA serial port support" 865 help 866 If you have a machine based on a Marvell XScale PXA2xx CPU you 867 can enable its onboard serial ports by enabling this option. 868 869config SIFIVE_SERIAL 870 bool "SiFive UART support" 871 depends on DM_SERIAL 872 help 873 This driver supports the SiFive UART. If unsure say N. 874 875config STI_ASC_SERIAL 876 bool "STMicroelectronics on-chip UART" 877 depends on DM_SERIAL && ARCH_STI 878 help 879 Select this to enable Asynchronous Serial Controller available 880 on STiH410 SoC. This is a basic implementation, it supports 881 following baudrate 9600, 19200, 38400, 57600 and 115200. 882 883config STM32_SERIAL 884 bool "STMicroelectronics STM32 SoCs on-chip UART" 885 depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7 || ARCH_STM32MP) 886 help 887 If you have a machine based on a STM32 F4, F7, H7 or MP1 SOC 888 you can enable its onboard serial ports, say Y to this option. 889 If unsure, say N. 890 891config ZYNQ_SERIAL 892 bool "Cadence (Xilinx Zynq) UART support" 893 depends on DM_SERIAL 894 help 895 This driver supports the Cadence UART. It is found e.g. in Xilinx 896 Zynq/ZynqMP. 897 898config MTK_SERIAL 899 bool "MediaTek High-speed UART support" 900 depends on DM_SERIAL 901 help 902 Select this to enable UART support for MediaTek High-speed UART 903 devices. This driver uses driver model and requires a device 904 tree binding to operate. 905 The High-speed UART is compatible with the ns16550a UART and have 906 its own high-speed registers. 907 908config MT7620_SERIAL 909 bool "UART driver for MediaTek MT7620 and earlier SoCs" 910 depends on DM_SERIAL 911 help 912 Select this to enable UART support for MediaTek MT7620 and earlier 913 SoCs. This driver uses driver model and requires a device tree 914 binding to operate. 915 The UART driver for MediaTek MT7620 and earlier SoCs is *NOT* 916 compatible with the ns16550a UART. 917 918config MPC8XX_CONS 919 bool "Console driver for MPC8XX" 920 depends on MPC8xx 921 default y 922 923config XEN_SERIAL 924 bool "XEN serial support" 925 depends on XEN 926 help 927 If built without DM support, then requires Xen 928 to be built with CONFIG_VERBOSE_DEBUG. 929 930choice 931 prompt "Console port" 932 default 8xx_CONS_SMC1 933 depends on MPC8XX_CONS 934 help 935 Depending on board, select one serial port 936 (CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2) 937 938config 8xx_CONS_SMC1 939 bool "SMC1" 940 941config 8xx_CONS_SMC2 942 bool "SMC2" 943 944endchoice 945 946config SYS_SMC_RXBUFLEN 947 int "Console Rx buffer length" 948 depends on MPC8XX_CONS 949 default 1 950 help 951 With CONFIG_SYS_SMC_RXBUFLEN it is possible to define 952 the maximum receive buffer length for the SMC. 953 This option is actual only for 8xx possible. 954 If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE 955 must be defined, to setup the maximum idle timeout for 956 the SMC. 957 958config SYS_MAXIDLE 959 int "maximum idle timeout" 960 depends on MPC8XX_CONS 961 default 0 962 963config SYS_BRGCLK_PRESCALE 964 int "BRG Clock Prescale" 965 depends on MPC8XX_CONS 966 default 1 967 968config SYS_SDSR 969 hex "SDSR Value" 970 depends on MPC8XX_CONS 971 default 0x83 972 973config SYS_SDMR 974 hex "SDMR Value" 975 depends on MPC8XX_CONS 976 default 0 977 978endif 979