| # | |
| # Serial device configuration | |
| # | |
| menuconfig SERIAL | |
| bool "Serial" | |
| default y | |
| help | |
| Enable support for serial drivers. This allows use of a serial UART | |
| for displaying messages while U-Boot is running. It also brings in | |
| printf() and panic() functions. This should normally be enabled | |
| unless there are space reasons not to. If you just need to disable | |
| the console you can adjust the stdout environment variable or use | |
| SILENT_CONSOLE. | |
| if SERIAL | |
| config BAUDRATE | |
| int "Default baudrate" | |
| default 115200 | |
| help | |
| Select a default baudrate, where "default" has a driver-specific | |
| meaning of either setting the baudrate for the early debug UART | |
| in the SPL stage (most drivers) or for choosing a default baudrate | |
| in the absence of an environment setting (serial_mxc.c). | |
| config OF_SERIAL_BAUD | |
| bool "Fetch serial baudrate from device tree" | |
| depends on DM_SERIAL && SPL_ENV_SUPPORT | |
| select DEFAULT_ENV_IS_RW | |
| help | |
| Select this to enable fetching and setting of the baudrate | |
| configured in the DT. Replace the default baudrate with the DT | |
| baudrate and also set it to the environment. | |
| config DEFAULT_ENV_IS_RW | |
| bool "Make default environment as writable" | |
| help | |
| Select this to enable to make default environment writable. This | |
| allows modifying the default environment. | |
| config REQUIRE_SERIAL_CONSOLE | |
| bool "Require a serial port for console" | |
| # Running without a serial console is not supported by the | |
| # non-dm serial code | |
| depends on DM_SERIAL | |
| default y | |
| help | |
| Require a serial port for the console, and panic if none is found | |
| during serial port initialization (default y). Set this to n on | |
| boards which have no debug serial port whatsoever. | |
| config SPECIFY_CONSOLE_INDEX | |
| bool "Specify the port number used for console" | |
| default y if !DM_SERIAL || (SPL && !SPL_DM_SERIAL) || \ | |
| (TPL && !TPL_DM_SERIAL) | |
| help | |
| In various cases, we need to specify which of the UART devices that | |
| a board or SoC has available are to be used for the console device | |
| in U-Boot. | |
| config SERIAL_PRESENT | |
| bool "Provide a serial driver" | |
| depends on DM_SERIAL | |
| default y | |
| help | |
| In very space-constrained devices even the full UART driver is too | |
| large. In this case the debug UART can still be used in some cases. | |
| This option enables the full UART in U-Boot, so if is it disabled, | |
| the full UART driver will be omitted, thus saving space. | |
| config SPL_SERIAL_PRESENT | |
| bool "Provide a serial driver in SPL" | |
| depends on DM_SERIAL && SPL | |
| default y | |
| help | |
| In very space-constrained devices even the full UART driver is too | |
| large. In this case the debug UART can still be used in some cases. | |
| This option enables the full UART in SPL, so if is it disabled, | |
| the full UART driver will be omitted, thus saving space. | |
| config TPL_SERIAL_PRESENT | |
| bool "Provide a serial driver in TPL" | |
| depends on DM_SERIAL && TPL | |
| default y | |
| help | |
| In very space-constrained devices even the full UART driver is too | |
| large. In this case the debug UART can still be used in some cases. | |
| This option enables the full UART in TPL, so if is it disabled, | |
| the full UART driver will be omitted, thus saving space. | |
| config VPL_SERIAL_PRESENT | |
| bool "Provide a serial driver in VPL" | |
| depends on DM_SERIAL && VPL | |
| default y | |
| help | |
| In very space-constrained devices even the full UART driver is too | |
| large. In this case the debug UART can still be used in some cases. | |
| This option enables the full UART in TPL, so if is it disabled, | |
| the full UART driver will be omitted, thus saving space. | |
| config CONS_INDEX | |
| int "UART used for console" | |
| depends on SPECIFY_CONSOLE_INDEX | |
| range 0 6 | |
| default 1 | |
| help | |
| Set this to match the UART number of the serial console. | |
| config DM_SERIAL | |
| bool "Enable Driver Model for serial drivers" | |
| depends on DM | |
| select SYS_MALLOC_F | |
| help | |
| Enable driver model for serial. This replaces | |
| drivers/serial/serial.c with the serial uclass, which | |
| implements serial_putc() etc. The uclass interface is | |
| defined in include/serial.h. | |
| config SERIAL_RX_BUFFER | |
| bool "Enable RX buffer for serial input" | |
| depends on DM_SERIAL | |
| help | |
| Enable RX buffer support for the serial driver. This enables | |
| pasting longer strings, even when the RX FIFO of the UART is | |
| not big enough (e.g. 16 bytes on the normal NS16550). | |
| config SERIAL_RX_BUFFER_SIZE | |
| int "RX buffer size" | |
| depends on SERIAL_RX_BUFFER | |
| default 256 | |
| help | |
| The size of the RX buffer (needs to be power of 2) | |
| config SERIAL_PUTS | |
| bool "Enable printing strings all at once" | |
| depends on DM_SERIAL | |
| help | |
| Some serial drivers are much more efficient when printing multiple | |
| characters at once rather than printing characters individually. This | |
| can be because they can load a fifo, or because individual print | |
| calls have a constant overhead. With this option set, the serial | |
| subsystem will try to provide serial drivers with as many characters | |
| at once as possible, instead of printing characters one by one. Most | |
| serial drivers do not need this config to print efficiently. If | |
| unsure, say N. | |
| config SERIAL_SEARCH_ALL | |
| bool "Search for serial devices after default one failed" | |
| depends on DM_SERIAL | |
| help | |
| The serial subsystem only searches for a single serial device | |
| that was instantiated, but does not check whether it was probed | |
| correctly. With this option set, we make successful probing | |
| mandatory and search for fallback serial devices if the default | |
| device does not work. | |
| If unsure, say N. | |
| config SERIAL_PROBE_ALL | |
| bool "Probe all available serial devices" | |
| depends on DM_SERIAL | |
| help | |
| The serial subsystem only probes for a single serial device, | |
| but does not probe for other remaining serial devices. | |
| With this option set, we make probing and searching for | |
| all available devices optional. | |
| Normally, U-Boot talks to one serial port at a time, but SBSA | |
| compliant UART devices like PL011 require initialization | |
| by firmware and to let the kernel use serial port for sending | |
| and receiving the characters. | |
| If unsure, say N. | |
| config SPL_DM_SERIAL | |
| bool "Enable Driver Model for serial drivers in SPL" | |
| depends on DM_SERIAL && SPL_DM | |
| default y | |
| help | |
| Enable driver model for serial in SPL. This replaces | |
| drivers/serial/serial.c with the serial uclass, which | |
| implements serial_putc() etc. The uclass interface is | |
| defined in include/serial.h. | |
| config TPL_DM_SERIAL | |
| bool "Enable Driver Model for serial drivers in TPL" | |
| depends on DM_SERIAL && TPL_DM | |
| default y if TPL && DM_SERIAL | |
| help | |
| Enable driver model for serial in TPL. This replaces | |
| drivers/serial/serial.c with the serial uclass, which | |
| implements serial_putc() etc. The uclass interface is | |
| defined in include/serial.h. | |
| config VPL_DM_SERIAL | |
| bool "Enable Driver Model for serial drivers in VPL" | |
| depends on DM_SERIAL | |
| default y if VPL && DM_SERIAL | |
| help | |
| Enable driver model for serial in VPL. This replaces | |
| drivers/serial/serial.c with the serial uclass, which | |
| implements serial_putc() etc. The uclass interface is | |
| defined in include/serial.h. | |
| config DEBUG_UART | |
| bool "Enable an early debug UART for debugging" | |
| help | |
| The debug UART is intended for use very early in U-Boot to debug | |
| problems when an ICE or other debug mechanism is not available. | |
| To use it you should: | |
| - Make sure your UART supports this interface | |
| - Enable CONFIG_DEBUG_UART | |
| - Enable the CONFIG for your UART to tell it to provide this interface | |
| (e.g. CONFIG_DEBUG_UART_NS16550) | |
| - Define the required settings as needed (see below) | |
| - Call debug_uart_init() before use | |
| - Call debug_uart_putc() to output a character | |
| Depending on your platform it may be possible to use this UART before | |
| a stack is available. | |
| If your UART does not support this interface you can probably add | |
| support quite easily. Remember that you cannot use driver model and | |
| it is preferred to use no stack. | |
| You must not use this UART once driver model is working and the | |
| serial drivers are up and running (done in serial_init()). Otherwise | |
| the drivers may conflict and you will get strange output. | |
| choice | |
| prompt "Select which UART will provide the debug UART" | |
| depends on DEBUG_UART | |
| default DEBUG_SBI_CONSOLE if RISCV_SMODE | |
| default DEBUG_UART_NS16550 | |
| config DEBUG_UART_ALTERA_JTAGUART | |
| bool "Altera JTAG UART" | |
| depends on ALTERA_JTAG_UART | |
| help | |
| Select this to enable a debug UART using the altera_jtag_uart driver. | |
| You will need to provide parameters to make this work. The driver will | |
| be available until the real driver model serial is running. | |
| config DEBUG_UART_ALTERA_UART | |
| bool "Altera UART" | |
| depends on ALTERA_UART | |
| help | |
| Select this to enable a debug UART using the altera_uart driver. | |
| You will need to provide parameters to make this work. The driver will | |
| be available until the real driver model serial is running. | |
| config DEBUG_UART_AR933X | |
| bool "QCA/Atheros ar933x" | |
| depends on AR933X_UART | |
| help | |
| Select this to enable a debug UART using the ar933x uart driver. | |
| You will need to provide parameters to make this work. The | |
| driver will be available until the real driver model serial is | |
| running. | |
| config DEBUG_ARC_SERIAL | |
| bool "ARC UART" | |
| depends on ARC_SERIAL | |
| help | |
| Select this to enable a debug UART using the ARC UART driver. | |
| You will need to provide parameters to make this work. The | |
| driver will be available until the real driver model serial is | |
| running. | |
| config DEBUG_UART_ATMEL | |
| bool "Atmel USART" | |
| depends on ATMEL_USART | |
| help | |
| Select this to enable a debug UART using the atmel usart driver. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver-model serial is running. | |
| config DEBUG_UART_BCM6345 | |
| bool "BCM6345 UART" | |
| depends on BCM6345_SERIAL | |
| help | |
| Select this to enable a debug UART on BCM6345 SoCs. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver model serial is running. | |
| config DEBUG_UART_NS16550 | |
| bool "ns16550" | |
| depends on SYS_NS16550 | |
| help | |
| Select this to enable a debug UART using the ns16550 driver. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver model serial is running. | |
| config DEBUG_EFI_CONSOLE | |
| bool "EFI" | |
| depends on EFI_APP | |
| help | |
| Select this to enable a debug console which calls back to EFI to | |
| output to the console. This can be useful for early debugging of | |
| U-Boot when running on top of EFI (Extensive Firmware Interface). | |
| This is a type of BIOS used by PCs. | |
| config DEBUG_SBI_CONSOLE | |
| bool "SBI" | |
| depends on RISCV_SMODE | |
| help | |
| Select this to enable a debug console which calls back to SBI to | |
| output to the console. This can be useful for early debugging of | |
| U-Boot when running on top of SBI (Supervisor Binary Interface). | |
| This implementation of the debug UART is not available while in | |
| M-mode (e.g. during SPL). | |
| config DEBUG_UART_S5P | |
| bool "Samsung S5P" | |
| depends on ARCH_APPLE || ARCH_EXYNOS || ARCH_S5PC1XX | |
| help | |
| Select this to enable a debug UART using the serial_s5p driver. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver-model serial is running. | |
| config DEBUG_UART_MSM | |
| bool "Qualcomm QUP UART debug" | |
| depends on ARCH_SNAPDRAGON || ARCH_IPQ40XX | |
| help | |
| Select this to enable a debug UART using the serial_msm driver. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver-model serial is running. | |
| config DEBUG_UART_MSM_GENI | |
| bool "Qualcomm snapdragon" | |
| depends on ARCH_SNAPDRAGON | |
| help | |
| Select this to enable a debug UART using the serial_msm driver. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver-model serial is running. | |
| config DEBUG_UART_MESON | |
| bool "Amlogic Meson" | |
| depends on MESON_SERIAL | |
| help | |
| Select this to enable a debug UART using the serial_meson driver. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver-model serial is running. | |
| config DEBUG_UART_UARTLITE | |
| bool "Xilinx Uartlite" | |
| depends on XILINX_UARTLITE | |
| help | |
| Select this to enable a debug UART using the serial_uartlite driver. | |
| You will need to provide parameters to make this work. The driver will | |
| be available until the real driver-model serial is running. | |
| config DEBUG_UART_ARM_DCC | |
| bool "ARM DCC" | |
| depends on ARM_DCC | |
| help | |
| Select this to enable a debug UART using the ARM JTAG DCC port. | |
| The DCC port can be used for very early debugging and doesn't require | |
| any additional setting like address/baudrate/clock. On systems without | |
| any serial interface this is the easiest way how to get console. | |
| Every ARM core has own DCC port which is the part of debug interface. | |
| This port is available at least on ARMv6, ARMv7, ARMv8 and XScale | |
| architectures. | |
| config DEBUG_MVEBU_A3700_UART | |
| bool "Marvell Armada 3700" | |
| depends on MVEBU_A3700_UART | |
| help | |
| Select this to enable a debug UART using the serial_mvebu driver. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver-model serial is running. | |
| config DEBUG_UART_ZYNQ | |
| bool "Xilinx Zynq" | |
| depends on ZYNQ_SERIAL | |
| help | |
| Select this to enable a debug UART using the serial_zynq driver. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver-model serial is running. | |
| config DEBUG_UART_APBUART | |
| depends on LEON3 | |
| bool "Gaisler APBUART" | |
| help | |
| Select this to enable a debug UART using the serial_leon3 driver. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver model serial is running. | |
| config DEBUG_UART_PL010 | |
| bool "pl010" | |
| depends on PL01X_SERIAL | |
| help | |
| Select this to enable a debug UART using the pl01x driver with the | |
| PL010 UART type. You will need to provide parameters to make this | |
| work. The driver will be available until the real driver model | |
| serial is running. | |
| config DEBUG_UART_PL011 | |
| bool "pl011" | |
| depends on PL01X_SERIAL || PL011_SERIAL | |
| help | |
| Select this to enable a debug UART using the pl01x driver with the | |
| PL011 UART type. You will need to provide parameters to make this | |
| work. The driver will be available until the real driver model | |
| serial is running. | |
| config DEBUG_UART_PIC32 | |
| bool "Microchip PIC32" | |
| depends on PIC32_SERIAL | |
| help | |
| Select this to enable a debug UART using the serial_pic32 driver. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver model serial is running. | |
| config DEBUG_UART_MXC | |
| bool "IMX Serial port" | |
| depends on MXC_UART | |
| help | |
| Select this to enable a debug UART using the serial_mxc driver. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver model serial is running. | |
| config DEBUG_UART_SANDBOX | |
| bool "sandbox" | |
| depends on SANDBOX_SERIAL | |
| help | |
| Select this to enable the debug UART using the sandbox driver. This | |
| provides basic serial output from the console without needing to | |
| start up driver model. The driver will be available until the real | |
| driver model serial is running. | |
| config DEBUG_UART_SEMIHOSTING | |
| bool "semihosting" | |
| depends on SEMIHOSTING_SERIAL | |
| help | |
| Select this to enable the debug UART using the semihosting driver. | |
| This provides basic serial output from the console without needing to | |
| start up driver model. The driver will be available until the real | |
| driver model serial is running. | |
| config DEBUG_UART_SCIF | |
| bool "Renesas SCIF UART" | |
| depends on SH || ARCH_RENESAS | |
| help | |
| Select this to enable a debug UART using the serial_sh driver. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver-model serial is running. | |
| config DEBUG_UART_SIFIVE | |
| bool "SiFive UART" | |
| depends on SIFIVE_SERIAL | |
| help | |
| Select this to enable a debug UART using the serial_sifive driver. You | |
| will need to provide parameters to make this work. The driver will | |
| be available until the real driver-model serial is running. | |
| config DEBUG_UART_STM32 | |
| bool "STMicroelectronics STM32" | |
| depends on STM32_SERIAL | |
| help | |
| Select this to enable a debug UART using the serial_stm32 driver | |
| You will need to provide parameters to make this work. | |
| The driver will be available until the real driver model | |
| serial is running. | |
| config DEBUG_UART_UNIPHIER | |
| bool "UniPhier on-chip UART" | |
| depends on ARCH_UNIPHIER | |
| help | |
| Select this to enable a debug UART using the UniPhier on-chip UART. | |
| You will need to provide DEBUG_UART_BASE to make this work. The | |
| driver will be available until the real driver-model serial is | |
| running. | |
| config DEBUG_UART_OMAP | |
| bool "OMAP uart" | |
| depends on OMAP_SERIAL | |
| help | |
| Select this to enable a debug UART using the omap ns16550 driver. | |
| You will need to provide parameters to make this work. The driver | |
| will be available until the real driver model serial is running. | |
| config DEBUG_UART_MTK | |
| bool "MediaTek High-speed UART" | |
| depends on MTK_SERIAL | |
| help | |
| Select this to enable a debug UART using the MediaTek High-speed | |
| UART driver. | |
| You will need to provide parameters to make this work. The | |
| driver will be available until the real driver model serial is | |
| running. | |
| config DEBUG_UART_MT7620 | |
| bool "UART driver for MediaTek MT7620 and earlier SoCs" | |
| depends on MT7620_SERIAL | |
| help | |
| Select this to enable a debug UART using the UART driver for | |
| MediaTek MT7620 and earlier SoCs. | |
| You will need to provide parameters to make this work. The | |
| driver will be available until the real driver model serial is | |
| running. | |
| config DEBUG_UART_XTENSA_SEMIHOSTING | |
| bool "Xtensa semihosting" | |
| depends on XTENSA_SEMIHOSTING_SERIAL | |
| help | |
| Select this to enable the debug UART using the Xtensa semihosting driver. | |
| This provides basic serial output from the console without needing to | |
| start up driver model. The driver will be available until the real | |
| driver model serial is running. | |
| endchoice | |
| config DEBUG_UART_BASE | |
| hex "Base address of UART" | |
| depends on DEBUG_UART | |
| default 0x0 if DEBUG_SBI_CONSOLE | |
| default 0x0 if DEBUG_UART_SANDBOX | |
| default 0xff000000 if DEBUG_UART_ZYNQ && ARCH_ZYNQMP | |
| default 0xe0000000 if DEBUG_UART_ZYNQ && ARCH_ZYNQ | |
| help | |
| This is the base address of your UART for memory-mapped UARTs. | |
| A default should be provided by your board, but if not you will need | |
| to use the correct value here. | |
| config SPL_DEBUG_UART_BASE | |
| hex "Base address of UART for SPL" | |
| depends on SPL && DEBUG_UART | |
| default DEBUG_UART_BASE | |
| help | |
| This is the base address of your UART for memory-mapped UARTs for SPL. | |
| config TPL_DEBUG_UART_BASE | |
| hex "Base address of UART for TPL" | |
| depends on TPL && DEBUG_UART | |
| default DEBUG_UART_BASE | |
| help | |
| This is the base address of your UART for memory-mapped UARTs for TPL. | |
| config DEBUG_UART_CLOCK | |
| int "UART input clock" | |
| depends on DEBUG_UART | |
| default 0 if DEBUG_SBI_CONSOLE | |
| default 0 if DEBUG_UART_SANDBOX | |
| default 0 if DEBUG_MVEBU_A3700_UART | |
| default 100000000 if DEBUG_UART_ZYNQ && ARCH_ZYNQMP | |
| default 50000000 if DEBUG_UART_ZYNQ && ARCH_ZYNQ | |
| help | |
| The UART input clock determines the speed of the internal UART | |
| circuitry. The baud rate is derived from this by dividing the input | |
| clock down. | |
| A default should be provided by your board, but if not you will need | |
| to use the correct value here. | |
| config DEBUG_UART_SHIFT | |
| int "UART register shift" | |
| depends on DEBUG_UART | |
| default 0 if DEBUG_UART | |
| help | |
| Some UARTs (notably ns16550) support different register layouts | |
| where the registers are spaced either as bytes, words or some other | |
| value. Use this value to specify the shift to use, where 0=byte | |
| registers, 2=32-bit word registers, etc. | |
| config DEBUG_UART_BOARD_INIT | |
| bool "Enable board-specific debug UART init" | |
| depends on DEBUG_UART | |
| help | |
| Some boards need to set things up before the debug UART can be used. | |
| On these boards a call to debug_uart_init() is insufficient. When | |
| this option is enabled, the function board_debug_uart_init() will | |
| be called when debug_uart_init() is called. You can put any code | |
| here that is needed to set up the UART ready for use, such as set | |
| pin multiplexing or enable clocks. | |
| config DEBUG_UART_ANNOUNCE | |
| bool "Show a message when the debug UART starts up" | |
| depends on DEBUG_UART | |
| help | |
| Enable this option to show a message when the debug UART is ready | |
| for use. You will see a message like "<debug_uart> " as soon as | |
| U-Boot has the UART ready for use (i.e. your code calls | |
| debug_uart_init()). This can be useful just as a check that | |
| everything is working. | |
| config DEBUG_UART_SKIP_INIT | |
| bool "Skip UART initialization" | |
| depends on DEBUG_UART | |
| help | |
| Select this if the UART you want to use for debug output is already | |
| initialized by the time U-Boot starts its execution. | |
| config DEBUG_UART_NS16550_CHECK_ENABLED | |
| bool "Check if UART is enabled on output" | |
| depends on DEBUG_UART | |
| depends on DEBUG_UART_NS16550 | |
| help | |
| Select this if puts()/putc() might be called before the debug UART | |
| has been initialized. If this is disabled, putc() might sit in a | |
| tight loop if it is called before debug_uart_init() has been called. | |
| Note that this does not work for every ns16550-compatible UART and | |
| so has to be enabled carefully or you might notice lost characters. | |
| config ALTERA_JTAG_UART | |
| bool "Altera JTAG UART support" | |
| depends on DM_SERIAL | |
| help | |
| Select this to enable an JTAG UART for Altera devices.The JTAG UART | |
| core implements a method to communicate serial character streams | |
| between a host PC and a Qsys system on an Altera FPGA. Please find | |
| details on the "Embedded Peripherals IP User Guide" of Altera. | |
| config ALTERA_JTAG_UART_BYPASS | |
| bool "Bypass output when no connection" | |
| depends on ALTERA_JTAG_UART | |
| help | |
| Bypass console output and keep going even if there is no JTAG | |
| terminal connection with the host. The console output will resume | |
| once the JTAG terminal is connected. Without the bypass, the console | |
| output will wait forever until a JTAG terminal is connected. If you | |
| not are sure, say Y. | |
| config ALTERA_UART | |
| bool "Altera UART support" | |
| depends on DM_SERIAL | |
| help | |
| Select this to enable an UART for Altera devices. Please find | |
| details on the "Embedded Peripherals IP User Guide" of Altera. | |
| config AR933X_UART | |
| bool "QCA/Atheros ar933x UART support" | |
| depends on DM_SERIAL && SOC_AR933X | |
| help | |
| Select this to enable UART support for QCA/Atheros ar933x | |
| devices. This driver uses driver model and requires a device | |
| tree binding to operate, please refer to the document at | |
| doc/device-tree-bindings/serial/qca,ar9330-uart.txt. | |
| config ARC_SERIAL | |
| bool "ARC UART support" | |
| depends on DM_SERIAL | |
| help | |
| Select this to enable support for ARC UART now typically | |
| only used in Synopsys DesignWare ARC simulators like nSIM. | |
| config ARM_DCC | |
| bool "ARM Debug Communication Channel (DCC) as UART support" | |
| depends on ARM | |
| help | |
| Select this to enable using the ARM DCC as a form of UART. | |
| config ATMEL_USART | |
| bool "Atmel USART support" | |
| help | |
| Select this to enable USART support for Atmel SoCs. It can be | |
| configured in the device tree, and input clock frequency can | |
| be got from the clk node. | |
| config SPL_UART_CLOCK | |
| int "SPL fixed UART input clock" | |
| depends on ATMEL_USART && SPL && !SPL_CLK | |
| default 132096000 if ARCH_AT91 | |
| help | |
| Provide a fixed clock value as input to the UART controller. This | |
| might be needed on platforms which can't enable CONFIG_SPL_CLK | |
| because of SPL image size restrictions. | |
| config BCM283X_MU_SERIAL | |
| bool "Support for BCM283x Mini-UART" | |
| depends on DM_SERIAL && ARCH_BCM283X | |
| default y | |
| help | |
| Select this to enable Mini-UART support on BCM283X family of SoCs. | |
| config BCM283X_PL011_SERIAL | |
| bool "Support for BCM283x PL011 UART" | |
| depends on PL01X_SERIAL && ARCH_BCM283X | |
| default y | |
| help | |
| Select this to enable an overriding PL011 driver for BCM283X SoCs | |
| that supports automatic disable, so that it only gets used when | |
| the UART is actually muxed. | |
| config BCM6345_SERIAL | |
| bool "Support for BCM6345 UART" | |
| depends on DM_SERIAL | |
| help | |
| Select this to enable UART on BCM6345 SoCs. | |
| config COREBOOT_SERIAL | |
| bool "Coreboot UART support" | |
| depends on DM_SERIAL | |
| default y if SYS_COREBOOT | |
| select SYS_NS16550 | |
| help | |
| Select this to enable a ns16550-style UART where the platform data | |
| comes from the coreboot 'sysinfo' tables. This allows U-Boot to have | |
| a serial console on any platform without needing to change the | |
| device tree, etc. | |
| config COREBOOT_SERIAL_FROM_DBG2 | |
| bool "Obtain UART from ACPI tables" | |
| depends on COREBOOT_SERIAL | |
| default y | |
| help | |
| Select this to try to find a DBG2 record in the ACPI tables, in the | |
| event that coreboot does not provide information about the UART in the | |
| normal sysinfo tables. This provides a useful fallback when serial | |
| is not enabled in coreboot. | |
| config CORTINA_UART | |
| bool "Cortina UART support" | |
| depends on DM_SERIAL | |
| help | |
| Select this to enable UART support for Cortina-Access UART devices | |
| found on CAxxxx SoCs. | |
| config FSL_LINFLEXUART | |
| bool "Freescale Linflex UART support" | |
| depends on DM_SERIAL | |
| help | |
| Select this to enable the Linflex serial module found on some | |
| NXP SoCs like S32V234. | |
| config FSL_LPUART | |
| bool "Freescale LPUART support" | |
| help | |
| Select this to enable a Low Power UART for Freescale VF610 and | |
| QorIQ Layerscape devices. | |
| config LPUART | |
| bool "Use the LPUART as console" | |
| depends on FSL_LPUART | |
| config MVEBU_A3700_UART | |
| bool "UART support for Armada 3700" | |
| help | |
| Choose this option to add support for UART driver on the Marvell | |
| Armada 3700 SoC. The base address is configured via DT. | |
| config MCFUART | |
| bool "Freescale ColdFire UART support" | |
| help | |
| Choose this option to add support for UART driver on the ColdFire | |
| SoC's family. The serial communication channel provides a full-duplex | |
| asynchronous/synchronous receiver and transmitter deriving an | |
| operating frequency from the internal bus clock or an external clock. | |
| config MXC_UART | |
| bool "IMX serial port support" | |
| depends on ARCH_MX31 || MX5 || MX6 || MX7 || IMX8M | |
| help | |
| If you have a machine based on a Motorola IMX CPU you | |
| can enable its onboard serial port by enabling this option. | |
| config NULLDEV_SERIAL | |
| bool "Null serial device" | |
| help | |
| Select this to enable null serial device support. A null serial | |
| device merely acts as a placeholder for a serial device and does | |
| nothing for all it's operation. | |
| config PIC32_SERIAL | |
| bool "Support for Microchip PIC32 on-chip UART" | |
| depends on DM_SERIAL && MACH_PIC32 | |
| default y | |
| help | |
| Support for the UART found on Microchip PIC32 SoC's. | |
| config SYS_NS16550_SERIAL | |
| bool "NS16550 UART or compatible legacy driver" | |
| depends on !DM_SERIAL | |
| select SYS_NS16550 | |
| config SPL_SYS_NS16550_SERIAL | |
| bool "NS16550 UART or compatible legacy driver in SPL" | |
| depends on SPL && !SPL_DM_SERIAL | |
| default y if SYS_NS16550_SERIAL || ARCH_SUNXI || ARCH_OMAP2PLUS | |
| select SYS_NS16550 | |
| config SYS_NS16550 | |
| bool "NS16550 UART or compatible" | |
| help | |
| Support NS16550 UART or compatible. This can be enabled in the | |
| device tree with the correct input clock frequency. If the input | |
| clock frequency is not defined in the device tree, the macro | |
| CFG_SYS_NS16550_CLK defined in a legacy board header file will | |
| be used. It can be a constant or a function to get clock, eg, | |
| get_serial_clock(). | |
| config NS16550_DYNAMIC | |
| bool "Allow NS16550 to be configured at runtime" | |
| depends on SYS_NS16550 | |
| default y if SYS_COREBOOT || SYS_SLIMBOOTLOADER | |
| help | |
| Enable this option to allow device-tree control of the driver. | |
| Normally this driver is controlled by the following options: | |
| It is not a good practice for a driver to be statically configured, | |
| since it prevents the same driver being used for different types of | |
| UARTs in a system. This option avoids this problem at the cost of a | |
| slightly increased code size. | |
| config SYS_NS16550_MEM32 | |
| bool "If memory-mapped, 32bit access is needed for ns16550 register access" | |
| depends on SYS_NS16550 | |
| help | |
| If enabled, if memory-mapped, indicates that 32-bit access should be | |
| used (instead of 8-bit) for register access. | |
| config SYS_NS16550_PORT_MAPPED | |
| bool "Port I/O is used for ns16550 register access" | |
| depends on SYS_NS16550 | |
| help | |
| If enabled, port I/O is used for ns16550 register access. If not | |
| enabled, then the UART is memory-mapped. | |
| config SYS_NS16550_REG_SIZE | |
| int "ns16550 register width and endianness" | |
| depends on SYS_NS16550_SERIAL || SPL_SYS_NS16550_SERIAL | |
| range -4 4 | |
| default -4 if ARCH_OMAP2PLUS || ARCH_SUNXI | |
| default 1 | |
| help | |
| Indicates register width and also endianness. If positive, big-endian | |
| access is used. If negative, little-endian is used. | |
| config SPL_NS16550_MIN_FUNCTIONS | |
| bool "Only provide NS16550_init and NS16550_putc in SPL" | |
| depends on SPL_SYS_NS16550_SERIAL && PPC | |
| help | |
| Enable this if you desire to only have use of the NS16550_init and | |
| NS16550_putc functions for the serial driver located at | |
| drivers/serial/ns16550.c. This option is useful for saving space for | |
| already greatly restricted images, including but not limited to | |
| NAND_SPL configurations. | |
| config INTEL_MID_SERIAL | |
| bool "Intel MID platform UART support" | |
| depends on DM_SERIAL && OF_CONTROL | |
| depends on INTEL_MID | |
| select SYS_NS16550 | |
| help | |
| Select this to enable a UART for Intel MID platforms. | |
| This uses the ns16550 driver as a library. | |
| config PL011_SERIAL | |
| bool "ARM PL011 driver" | |
| depends on !DM_SERIAL | |
| help | |
| Select this to enable a UART for platforms using PL011. | |
| config PL01X_SERIAL | |
| bool "ARM PL010 and PL011 driver" | |
| depends on DM_SERIAL | |
| help | |
| Select this to enable a UART for platforms using PL010 or PL011. | |
| config ROCKCHIP_SERIAL | |
| bool "Rockchip on-chip UART support" | |
| depends on DM_SERIAL | |
| select SYS_NS16550 | |
| help | |
| Select this to enable a debug UART for Rockchip devices when using | |
| OF_PLATDATA (i.e. a compiled-in device tree replacemenmt). | |
| This uses the ns16550 driver, converting the platdata from of-platdata | |
| to the ns16550 format. | |
| config S5P_SERIAL | |
| bool "Support for Samsung S5P UART" | |
| depends on ARCH_APPLE || ARCH_EXYNOS || ARCH_S5PC1XX | |
| default y | |
| help | |
| Select this to enable Samsung S5P UART support. | |
| config S5P4418_PL011_SERIAL | |
| bool "Extended PL011 driver for S5P4418" | |
| depends on DM_SERIAL && PL01X_SERIAL && ARCH_NEXELL | |
| default y | |
| help | |
| Select this to enable support of the PL011 UARTs in the S5P4418 SOC. | |
| With this driver the UART-clocks are set to the appropriate rate | |
| (if not 'skip-init'). | |
| config SANDBOX_SERIAL | |
| bool "Sandbox UART support" | |
| depends on SANDBOX | |
| imply SERIAL_PUTS | |
| help | |
| Select this to enable a seral UART for sandbox. This is required to | |
| operate correctly, otherwise you will see no serial output from | |
| sandbox. The emulated UART will display to the console and console | |
| input will be fed into the UART. This allows you to interact with | |
| U-Boot. | |
| The operation of the console is controlled by the -t command-line | |
| flag. In raw mode, U-Boot sees all characters from the terminal | |
| before they are processed, including Ctrl-C. In cooked mode, Ctrl-C | |
| is processed by the terminal, and terminates U-Boot. Valid options | |
| are: | |
| -t raw-with-sigs Raw mode, Ctrl-C will terminate U-Boot | |
| -t raw Raw mode, Ctrl-C is processed by U-Boot | |
| -t cooked Cooked mode, Ctrl-C terminates | |
| config SCIF_CONSOLE | |
| bool "Renesas SCIF UART support" | |
| depends on SH || ARCH_RENESAS | |
| help | |
| Select this to enable Renesas SCIF UART. To operate serial ports | |
| on systems with RCar or SH SoCs, say Y to this option. If unsure, | |
| say N. | |
| choice | |
| prompt "SCIF console port" | |
| depends on SCIF_CONSOLE && (!DM_SERIAL || (SPL && !SPL_DM_SERIAL)) | |
| config CONS_SCIF0 | |
| bool "SCIF0" | |
| config CONS_SCIF1 | |
| bool "SCIF1" | |
| config CONS_SCIF2 | |
| bool "SCIF2" | |
| config CONS_SCIF4 | |
| bool "SCIF4" | |
| config CONS_SCIFA0 | |
| bool "SCIFA0" | |
| endchoice | |
| config SH_SCIF_CLK_FREQ | |
| int "SCIF console clock frequency" | |
| depends on SCIF_CONSOLE && (!DM_SERIAL || (SPL && !SPL_DM_SERIAL)) | |
| default 65000000 | |
| config SEMIHOSTING_SERIAL | |
| bool "Semihosting UART support" | |
| depends on SEMIHOSTING && !SERIAL_RX_BUFFER | |
| help | |
| Select this to enable a serial UART using semihosting. Special halt | |
| instructions will be issued which an external debugger (such as a | |
| JTAG emulator) may interpret. The debugger will display U-Boot's | |
| console output on the host system. | |
| Enable this option only if you are using a debugger which supports | |
| semihosting. If you are not using a debugger, this driver will halt | |
| the boot. | |
| config UNIPHIER_SERIAL | |
| bool "Support for UniPhier on-chip UART" | |
| depends on ARCH_UNIPHIER | |
| default y | |
| help | |
| If you have a UniPhier based board and want to use the on-chip | |
| serial ports, say Y to this option. If unsure, say N. | |
| config XILINX_UARTLITE | |
| bool "Xilinx Uarlite support" | |
| depends on DM_SERIAL | |
| help | |
| If you have a Xilinx based board and want to use the uartlite | |
| serial ports, say Y to this option. If unsure, say N. | |
| config MESON_SERIAL | |
| bool "Support for Amlogic Meson UART" | |
| depends on DM_SERIAL && ARCH_MESON | |
| help | |
| If you have an Amlogic Meson based board and want to use the on-chip | |
| serial ports, say Y to this option. If unsure, say N. | |
| config MSM_SERIAL | |
| bool "Qualcomm on-chip UART" | |
| depends on DM_SERIAL | |
| help | |
| Support Data Mover UART used on Qualcomm Snapdragon SoCs. | |
| It should support all Qualcomm devices with UARTDM version 1.4, | |
| for example APQ8016 and MSM8916. | |
| Single baudrate is supported in current implementation (115200). | |
| config MSM_GENI_SERIAL | |
| bool "Qualcomm on-chip GENI UART" | |
| help | |
| Support UART based on Generic Interface (GENI) Serial Engine (SE), | |
| used on Qualcomm Snapdragon SoCs. Should support all qualcomm SOCs | |
| with Qualcomm Universal Peripheral (QUP) Wrapper cores, | |
| i.e. newer ones, starting from SDM845. | |
| Driver works in FIFO mode. | |
| Multiple baudrates supported. | |
| config MXS_AUART_SERIAL | |
| bool "MXS AUART" | |
| depends on DM_SERIAL | |
| help | |
| Support for Freescale i.MX23 / i.MX28 AUART or Application UART IP. | |
| This IP is present in the aforementioned SoCs, however this is not | |
| the IP used to drive the Debug UART port, for that see PL01X_SERIAL . | |
| config OCTEON_SERIAL_BOOTCMD | |
| bool "MIPS Octeon PCI remote bootcmd input" | |
| depends on ARCH_OCTEON | |
| depends on DM_SERIAL | |
| select SYS_IS_IN_ENV | |
| select CONSOLE_MUX | |
| help | |
| This driver supports remote input over the PCIe bus from a host | |
| to U-Boot for entering commands. It is utilized by the host | |
| commands 'oct-remote-load' and 'oct-remote-bootcmd'. | |
| config OCTEON_SERIAL_PCIE_CONSOLE | |
| bool "MIPS Octeon PCIe remote console" | |
| depends on ARCH_OCTEON | |
| depends on (DM_SERIAL && DM_STDIO) | |
| select SYS_STDIO_DEREGISTER | |
| select SYS_CONSOLE_IS_IN_ENV | |
| select CONSOLE_MUX | |
| help | |
| This driver supports remote console over the PCIe bus when the | |
| Octeon is running in PCIe target mode. The host program | |
| 'oct-remote-console' can be used to connect to this console. | |
| The console number will likely be 0 or 1. | |
| config OMAP_SERIAL | |
| bool "Support for OMAP specific UART" | |
| depends on DM_SERIAL | |
| default y if (ARCH_OMAP2PLUS || ARCH_K3) | |
| select SYS_NS16550 | |
| help | |
| If you have an TI based SoC and want to use the on-chip serial | |
| port, say Y to this option. If unsure say N. | |
| config OWL_SERIAL | |
| bool "Actions Semi OWL UART" | |
| depends on DM_SERIAL && ARCH_OWL | |
| help | |
| If you have a Actions Semi OWL based board and want to use the on-chip | |
| serial port, say Y to this option. If unsure, say N. | |
| Single baudrate is supported in current implementation (115200). | |
| config HTIF_CONSOLE | |
| bool "RISC-V HTIF console support" | |
| depends on DM_SERIAL && 64BIT | |
| help | |
| Select this to enable host transfer interface (HTIF) based serial | |
| console. The HTIF device is quite common in RISC-V emulators and | |
| RISC-V ISS so this driver allows using U-Boot on such platforms. | |
| config SIFIVE_SERIAL | |
| bool "SiFive UART support" | |
| depends on DM_SERIAL | |
| help | |
| This driver supports the SiFive UART. If unsure say N. | |
| config STI_ASC_SERIAL | |
| bool "STMicroelectronics on-chip UART" | |
| depends on DM_SERIAL && ARCH_STI | |
| help | |
| Select this to enable Asynchronous Serial Controller available | |
| on STiH410 SoC. This is a basic implementation, it supports | |
| following baudrate 9600, 19200, 38400, 57600 and 115200. | |
| config STM32_SERIAL | |
| bool "STMicroelectronics STM32 SoCs on-chip UART" | |
| depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7 || ARCH_STM32MP) | |
| help | |
| If you have a machine based on a STM32 F4, F7, H7 or MP1 SOC | |
| you can enable its onboard serial ports, say Y to this option. | |
| If unsure, say N. | |
| config ZYNQ_SERIAL | |
| bool "Cadence (Xilinx Zynq) UART support" | |
| depends on DM_SERIAL | |
| help | |
| This driver supports the Cadence UART. It is found e.g. in Xilinx | |
| Zynq/ZynqMP. | |
| config MTK_SERIAL | |
| bool "MediaTek High-speed UART support" | |
| depends on DM_SERIAL | |
| help | |
| Select this to enable UART support for MediaTek High-speed UART | |
| devices. This driver uses driver model and requires a device | |
| tree binding to operate. | |
| The High-speed UART is compatible with the ns16550a UART and have | |
| its own high-speed registers. | |
| config MT7620_SERIAL | |
| bool "UART driver for MediaTek MT7620 and earlier SoCs" | |
| depends on DM_SERIAL | |
| help | |
| Select this to enable UART support for MediaTek MT7620 and earlier | |
| SoCs. This driver uses driver model and requires a device tree | |
| binding to operate. | |
| The UART driver for MediaTek MT7620 and earlier SoCs is *NOT* | |
| compatible with the ns16550a UART. | |
| config MPC8XX_CONS | |
| bool "Console driver for MPC8XX" | |
| depends on MPC8xx | |
| default y | |
| config NPCM_SERIAL | |
| bool "Nuvoton NPCM UART driver" | |
| depends on DM_SERIAL | |
| help | |
| Select this to enable UART support for Nuvoton BMCs | |
| (NPCM7xx and NPCM8xx). | |
| The driver enables the onboard serial port with 8-N-1 | |
| configuration. | |
| config XEN_SERIAL | |
| bool "XEN serial support" | |
| depends on XEN | |
| help | |
| If built without DM support, then requires Xen | |
| to be built with CONFIG_VERBOSE_DEBUG. | |
| config XTENSA_SEMIHOSTING_SERIAL | |
| bool "Xtensa Semihosting UART support" | |
| depends on DM_SERIAL | |
| depends on XTENSA_SEMIHOSTING | |
| imply SERIAL_PUTS | |
| help | |
| Select this to enable a serial UART using Xtensa semihosting. | |
| choice | |
| prompt "Console port" | |
| default 8xx_CONS_SMC1 | |
| depends on MPC8XX_CONS | |
| help | |
| Depending on board, select one serial port | |
| (CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2) | |
| config 8xx_CONS_SMC1 | |
| bool "SMC1" | |
| config 8xx_CONS_SMC2 | |
| bool "SMC2" | |
| endchoice | |
| config SYS_SMC_RXBUFLEN | |
| int "Console Rx buffer length" | |
| depends on MPC8XX_CONS | |
| default 1 | |
| help | |
| With CONFIG_SYS_SMC_RXBUFLEN it is possible to define | |
| the maximum receive buffer length for the SMC. | |
| This option is actual only for 8xx possible. | |
| If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE | |
| must be defined, to setup the maximum idle timeout for | |
| the SMC. | |
| config SYS_MAXIDLE | |
| int "maximum idle timeout" | |
| depends on MPC8XX_CONS | |
| default 0 | |
| config SYS_BRGCLK_PRESCALE | |
| int "BRG Clock Prescale" | |
| depends on MPC8XX_CONS | |
| default 1 | |
| config SYS_SDSR | |
| hex "SDSR Value" | |
| depends on MPC8XX_CONS | |
| default 0x83 | |
| config SYS_SDMR | |
| hex "SDMR Value" | |
| depends on MPC8XX_CONS | |
| default 0x0 | |
| endif |