| # |
| # 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 VPL_DEBUG_UART_BASE |
| hex "Base address of UART for VPL" |
| depends on VPL && DEBUG_UART |
| default DEBUG_UART_BASE |
| help |
| This is the base address of your UART for memory-mapped UARTs for VPL. |
| |
| 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 |