]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - drivers/serial/Kconfig
debug_uart: Adjust the declaration of debug_uart_init()
[people/ms/u-boot.git] / drivers / serial / Kconfig
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ddb725d326bc276a6b73c8e192b739120beabef0 100644 (file)
@@ -0,0 +1,158 @@
+#
+# 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 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
+
+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.
+
+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 ROCKCHIP_SERIAL
+       bool "Rockchip on-chip UART support"
+       depends on ARCH_ROCKCHIP && DM_SERIAL
+       help
+         Select this to enable a debug UART for Rockchip devices. This uses
+         the ns16550 driver. You will need to #define CONFIG_SYS_NS16550 in
+         your board config header. The clock input is automatically set to
+         use the oscillator (24MHz).
+
+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
+       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 X86_SERIAL
+       bool "Support for 16550 serial port on x86 machines"
+       depends on X86
+       default y
+       help
+         Most x86 machines have a ns16550 UART or compatible. This can be
+         enabled in the device tree with the correct input clock frequency
+         provided (default 1843200). Enable this to obtain serial console
+         output.
+
+endmenu