| # |
| # Serial device configuration |
| # |
| |
| menu "Serial drivers" |
| |
| 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 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 |
| 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 DM_SERIAL |
| bool "Enable Driver Model for serial drivers" |
| depends on DM |
| 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 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_UART_NS16550 |
| |
| config DEBUG_UART_ALTERA_JTAGUART |
| bool "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" |
| 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_UART_NS16550 |
| bool "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_UART_S5P |
| bool "Samsung S5P" |
| 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_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" |
| 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" |
| 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_UART_ZYNQ |
| bool "Xilinx Zynq" |
| 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" |
| 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" |
| 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_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. |
| |
| endchoice |
| |
| config DEBUG_UART_BASE |
| hex "Base address of UART" |
| depends on DEBUG_UART |
| 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 DEBUG_UART_CLOCK |
| int "UART input clock" |
| depends on DEBUG_UART |
| 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" |
| 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 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 FSL_LPUART |
| bool "Freescale LPUART support" |
| help |
| Select this to enable a Low Power UART for Freescale VF610 and |
| QorIQ Layerscape devices. |
| |
| 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 |
| 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 |
| CONFIG_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 ROCKCHIP_SERIAL |
| bool "Rockchip on-chip UART support" |
| depends on DM_SERIAL && SPL_OF_PLATDATA |
| help |
| Select this to enable a debug UART for Rockchip devices when using |
| CONFIG_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 SANDBOX_SERIAL |
| bool "Sandbox UART support" |
| depends on SANDBOX |
| 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 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 && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || 4xx) |
| 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). |
| endmenu |