mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-31 08:21:36 +01:00 
			
		
		
		
	Add support for early debug printf, before the availability of driver model and device tree support. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			711 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			711 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #
 | |
| # Serial device configuration
 | |
| #
 | |
| 
 | |
| 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
 | |
| 	# 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
 | |
| 	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.
 | |
| 
 | |
| # 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
 | |
| 	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_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
 | |
| 	  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_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
 | |
| 	  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_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
 | |
| 	  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_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
 | |
| 	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 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
 | |
| 	  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 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
 | |
| 	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_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 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
 |