Merge branch 'master' of git://git.denx.de/u-boot-sh
[platform/kernel/u-boot.git] / drivers / serial / Kconfig
index 3d5b2bf..8a447fd 100644 (file)
@@ -53,6 +53,16 @@ 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.
 
          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
+       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.
+
 # 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
 # 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
@@ -197,6 +207,15 @@ config DEBUG_UART_AR933X
          driver will be available until the real driver model serial is
          running.
 
          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
 config DEBUG_UART_ATMEL
        bool "Atmel USART"
        help
@@ -315,6 +334,31 @@ config DEBUG_UART_MXC
          will need to provide parameters to make this work. The driver will
          be available until the real driver model serial is running.
 
          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_SIFIVE
+       bool "SiFive UART"
+       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
 config DEBUG_UART_UNIPHIER
        bool "UniPhier on-chip UART"
        depends on ARCH_UNIPHIER
@@ -331,11 +375,22 @@ config DEBUG_UART_OMAP
          You will need to provide parameters to make this work. The driver
          will be available until the real driver model serial is running.
 
          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.
+
 endchoice
 
 config DEBUG_UART_BASE
        hex "Base address of UART"
        depends on DEBUG_UART
 endchoice
 
 config DEBUG_UART_BASE
        hex "Base address of UART"
        depends on DEBUG_UART
+       default 0 if DEBUG_UART_SANDBOX
        help
          This is the base address of your UART for memory-mapped UARTs.
 
        help
          This is the base address of your UART for memory-mapped UARTs.
 
@@ -345,6 +400,7 @@ config DEBUG_UART_BASE
 config DEBUG_UART_CLOCK
        int "UART input clock"
        depends on DEBUG_UART
 config DEBUG_UART_CLOCK
        int "UART input clock"
        depends on DEBUG_UART
+       default 0 if DEBUG_UART_SANDBOX
        help
          The UART input clock determines the speed of the internal UART
          circuitry. The baud rate is derived from this by dividing the input
        help
          The UART input clock determines the speed of the internal UART
          circuitry. The baud rate is derived from this by dividing the input
@@ -386,10 +442,23 @@ config DEBUG_UART_ANNOUNCE
 
 config DEBUG_UART_SKIP_INIT
        bool "Skip UART initialization"
 
 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.
 
        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
 config ALTERA_JTAG_UART
        bool "Altera JTAG UART support"
        depends on DM_SERIAL
@@ -425,6 +494,13 @@ config AR933X_UART
          tree binding to operate, please refer to the document at
          doc/device-tree-bindings/serial/qca,ar9330-uart.txt.
 
          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
 config ATMEL_USART
        bool "Atmel USART support"
        help
@@ -432,6 +508,15 @@ config ATMEL_USART
          configured in the device tree, and input clock frequency can
          be got from the clk node.
 
          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
 config BCM283X_MU_SERIAL
        bool "Support for BCM283x Mini-UART"
        depends on DM_SERIAL && ARCH_BCM283X
@@ -450,10 +535,17 @@ config BCM283X_PL011_SERIAL
 
 config BCM6345_SERIAL
        bool "Support for BCM6345 UART"
 
 config BCM6345_SERIAL
        bool "Support for BCM6345 UART"
-       depends on DM_SERIAL && ARCH_BMIPS
+       depends on DM_SERIAL
        help
          Select this to enable UART on BCM6345 SoCs.
 
        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
 config FSL_LPUART
        bool "Freescale LPUART support"
        help
@@ -467,6 +559,14 @@ config MVEBU_A3700_UART
          Choose this option to add support for UART driver on the Marvell
          Armada 3700 SoC. The base address is configured via DT.
 
          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 MX5 || MX6
 config MXC_UART
        bool "IMX serial port support"
        depends on MX5 || MX6
@@ -593,12 +693,35 @@ config MSM_SERIAL
          for example APQ8016 and MSM8916.
          Single baudrate is supported in current implementation (115200).
 
          for example APQ8016 and MSM8916.
          Single baudrate is supported in current implementation (115200).
 
+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 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 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 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
 config STI_ASC_SERIAL
        bool "STMicroelectronics on-chip UART"
        depends on DM_SERIAL && ARCH_STI
@@ -617,11 +740,21 @@ config STM32_SERIAL
 
 config ZYNQ_SERIAL
        bool "Cadence (Xilinx Zynq) UART support"
 
 config ZYNQ_SERIAL
        bool "Cadence (Xilinx Zynq) UART support"
-       depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
+       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.
 
        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 MPC8XX_CONS
        bool "Console driver for MPC8XX"
        depends on MPC8xx
 config MPC8XX_CONS
        bool "Console driver for MPC8XX"
        depends on MPC8xx