]> git.sur5r.net Git - u-boot/blobdiff - drivers/serial/Kconfig
serial: Add Actions Semi OWL UART support
[u-boot] / drivers / serial / Kconfig
index 04541c9ff33985ec93e14aaf88b3eda913a9824a..766e5ced03e72e2957c40fead2fa0a4d78e9ecb6 100644 (file)
@@ -4,6 +4,15 @@
 
 menu "Serial drivers"
 
+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 REQUIRE_SERIAL_CONSOLE
        bool "Require a serial port for console"
        # Running without a serial console is not supported by the
@@ -15,6 +24,15 @@ config REQUIRE_SERIAL_CONSOLE
          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
@@ -35,6 +53,40 @@ config SPL_SERIAL_PRESENT
          This option enables the full UART in SPL, so if is it disabled,
          the full UART driver will be omitted, thus saving space.
 
+# Logic to allow us to use the imply keyword to set what the default port
+# should be.  The default is otherwise 1.
+config CONS_INDEX_0
+       bool
+
+config CONS_INDEX_2
+       bool
+
+config CONS_INDEX_3
+       bool
+
+config CONS_INDEX_4
+       bool
+
+config CONS_INDEX_5
+       bool
+
+config CONS_INDEX_6
+       bool
+
+config CONS_INDEX
+       int "UART used for console"
+       depends on SPECIFY_CONSOLE_INDEX
+       range 0 6
+       default 0 if CONS_INDEX_0
+       default 2 if CONS_INDEX_2
+       default 3 if CONS_INDEX_3
+       default 4 if CONS_INDEX_4
+       default 5 if CONS_INDEX_5
+       default 6 if CONS_INDEX_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
@@ -44,6 +96,53 @@ config DM_SERIAL
          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_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 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
+       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 DEBUG_UART
        bool "Enable an early debug UART for debugging"
        help
@@ -89,6 +188,39 @@ config DEBUG_UART_ALTERA_UART
          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"
+       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"
        help
@@ -112,6 +244,39 @@ config DEBUG_UART_S5P
          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_MVEBU_A3700_UART
+       bool "Marvell Armada 3700"
+       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"
        help
@@ -127,6 +292,63 @@ config DEBUG_UART_APBUART
          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_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_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"
+       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.
+
 endchoice
 
 config DEBUG_UART_BASE
@@ -180,6 +402,12 @@ config DEBUG_UART_ANNOUNCE
          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
@@ -206,6 +434,92 @@ config ALTERA_UART
          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 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 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 && ARCH_BMIPS
+       help
+         Select this to enable UART on BCM6345 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 MVEBU_A3700_UART
+       bool "UART support for Armada 3700"
+       default n
+       help
+         Choose this option to add support for UART driver on the Marvell
+         Armada 3700 SoC. The base address is configured via DT.
+
+config MXC_UART
+       bool "IMX serial port support"
+       depends on MX5 || MX6
+       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
        bool "NS16550 UART or compatible"
        help
@@ -216,6 +530,42 @@ config SYS_NS16550
          be used. It can be a constant or a function to get clock, eg,
          get_serial_clock().
 
+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 PL010_SERIAL
+       bool "ARM PL010 driver"
+       depends on !DM_SERIAL
+       help
+         Select this to enable a UART for platforms using PL010.
+
+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 && SPL_OF_PLATDATA
+       help
+         Select this to enable a debug UART for Rockchip devices when using
+         CONFIG_SPL_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
@@ -236,11 +586,133 @@ config SANDBOX_SERIAL
             -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_RMOBILE
+       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.
+
 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).
+
+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 PXA_SERIAL
+       bool "PXA serial port support"
+       help
+         If you have a machine based on a Marvell XScale PXA2xx CPU you
+         can enable its onboard serial ports by enabling this option.
+
+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 && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_ZYNQMP_R5)
+       help
+         This driver supports the Cadence UART. It is found e.g. in Xilinx
+         Zynq/ZynqMP.
+
+config MPC8XX_CONS
+       bool "Console driver for MPC8XX"
+       depends on MPC8xx
+       default y
+
+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 0
+
 endmenu