123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710 |
- #
- # 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
|