1# 2# Serial device configuration 3# 4 5menu "Serial drivers" 6 7config REQUIRE_SERIAL_CONSOLE 8 bool "Require a serial port for console" 9 # Running without a serial console is not supported by the 10 # non-dm serial code 11 depends on DM_SERIAL 12 default y 13 help 14 Require a serial port for the console, and panic if none is found 15 during serial port initialization (default y). Set this to n on 16 boards which have no debug serial port whatsoever. 17 18config DM_SERIAL 19 bool "Enable Driver Model for serial drivers" 20 depends on DM 21 help 22 Enable driver model for serial. This replaces 23 drivers/serial/serial.c with the serial uclass, which 24 implements serial_putc() etc. The uclass interface is 25 defined in include/serial.h. 26 27config DEBUG_UART 28 bool "Enable an early debug UART for debugging" 29 help 30 The debug UART is intended for use very early in U-Boot to debug 31 problems when an ICE or other debug mechanism is not available. 32 33 To use it you should: 34 - Make sure your UART supports this interface 35 - Enable CONFIG_DEBUG_UART 36 - Enable the CONFIG for your UART to tell it to provide this interface 37 (e.g. CONFIG_DEBUG_UART_NS16550) 38 - Define the required settings as needed (see below) 39 - Call debug_uart_init() before use 40 - Call debug_uart_putc() to output a character 41 42 Depending on your platform it may be possible to use this UART before 43 a stack is available. 44 45 If your UART does not support this interface you can probably add 46 support quite easily. Remember that you cannot use driver model and 47 it is preferred to use no stack. 48 49 You must not use this UART once driver model is working and the 50 serial drivers are up and running (done in serial_init()). Otherwise 51 the drivers may conflict and you will get strange output. 52 53choice 54 prompt "Select which UART will provide the debug UART" 55 depends on DEBUG_UART 56 default DEBUG_UART_NS16550 57 58config DEBUG_UART_ALTERA_JTAGUART 59 bool "Altera JTAG UART" 60 help 61 Select this to enable a debug UART using the altera_jtag_uart driver. 62 You will need to provide parameters to make this work. The driver will 63 be available until the real driver model serial is running. 64 65config DEBUG_UART_ALTERA_UART 66 bool "Altera UART" 67 help 68 Select this to enable a debug UART using the altera_uart driver. 69 You will need to provide parameters to make this work. The driver will 70 be available until the real driver model serial is running. 71 72config DEBUG_UART_NS16550 73 bool "ns16550" 74 help 75 Select this to enable a debug UART using the ns16550 driver. You 76 will need to provide parameters to make this work. The driver will 77 be available until the real driver model serial is running. 78 79config DEBUG_EFI_CONSOLE 80 bool "EFI" 81 depends on EFI_APP 82 help 83 Select this to enable a debug console which calls back to EFI to 84 output to the console. This can be useful for early debugging of 85 U-Boot when running on top of EFI (Extensive Firmware Interface). 86 This is a type of BIOS used by PCs. 87 88config DEBUG_UART_S5P 89 bool "Samsung S5P" 90 help 91 Select this to enable a debug UART using the serial_s5p driver. You 92 will need to provide parameters to make this work. The driver will 93 be available until the real driver-model serial is running. 94 95config DEBUG_UART_ZYNQ 96 bool "Xilinx Zynq" 97 help 98 Select this to enable a debug UART using the serial_zynq driver. You 99 will need to provide parameters to make this work. The driver will 100 be available until the real driver-model serial is running. 101 102config DEBUG_UART_APBUART 103 depends on LEON3 104 bool "Gaisler APBUART" 105 help 106 Select this to enable a debug UART using the serial_leon3 driver. You 107 will need to provide parameters to make this work. The driver will 108 be available until the real driver model serial is running. 109 110endchoice 111 112config DEBUG_UART_BASE 113 hex "Base address of UART" 114 depends on DEBUG_UART 115 help 116 This is the base address of your UART for memory-mapped UARTs. 117 118 A default should be provided by your board, but if not you will need 119 to use the correct value here. 120 121config DEBUG_UART_CLOCK 122 int "UART input clock" 123 depends on DEBUG_UART 124 help 125 The UART input clock determines the speed of the internal UART 126 circuitry. The baud rate is derived from this by dividing the input 127 clock down. 128 129 A default should be provided by your board, but if not you will need 130 to use the correct value here. 131 132config DEBUG_UART_SHIFT 133 int "UART register shift" 134 depends on DEBUG_UART 135 default 0 if DEBUG_UART 136 help 137 Some UARTs (notably ns16550) support different register layouts 138 where the registers are spaced either as bytes, words or some other 139 value. Use this value to specify the shift to use, where 0=byte 140 registers, 2=32-bit word registers, etc. 141 142config DEBUG_UART_BOARD_INIT 143 bool "Enable board-specific debug UART init" 144 depends on DEBUG_UART 145 help 146 Some boards need to set things up before the debug UART can be used. 147 On these boards a call to debug_uart_init() is insufficient. When 148 this option is enabled, the function board_debug_uart_init() will 149 be called when debug_uart_init() is called. You can put any code 150 here that is needed to set up the UART ready for use, such as set 151 pin multiplexing or enable clocks. 152 153config DEBUG_UART_ANNOUNCE 154 bool "Show a message when the debug UART starts up" 155 depends on DEBUG_UART 156 help 157 Enable this option to show a message when the debug UART is ready 158 for use. You will see a message like "<debug_uart> " as soon as 159 U-Boot has the UART ready for use (i.e. your code calls 160 debug_uart_init()). This can be useful just as a check that 161 everything is working. 162 163config ALTERA_JTAG_UART 164 bool "Altera JTAG UART support" 165 depends on DM_SERIAL 166 help 167 Select this to enable an JTAG UART for Altera devices.The JTAG UART 168 core implements a method to communicate serial character streams 169 between a host PC and a Qsys system on an Altera FPGA. Please find 170 details on the "Embedded Peripherals IP User Guide" of Altera. 171 172config ALTERA_JTAG_UART_BYPASS 173 bool "Bypass output when no connection" 174 depends on ALTERA_JTAG_UART 175 help 176 Bypass console output and keep going even if there is no JTAG 177 terminal connection with the host. The console output will resume 178 once the JTAG terminal is connected. Without the bypass, the console 179 output will wait forever until a JTAG terminal is connected. If you 180 not are sure, say Y. 181 182config ALTERA_UART 183 bool "Altera UART support" 184 depends on DM_SERIAL 185 help 186 Select this to enable an UART for Altera devices. Please find 187 details on the "Embedded Peripherals IP User Guide" of Altera. 188 189config SYS_NS16550 190 bool "NS16550 UART or compatible" 191 help 192 Support NS16550 UART or compatible. This can be enabled in the 193 device tree with the correct input clock frequency. If the input 194 clock frequency is not defined in the device tree, the macro 195 CONFIG_SYS_NS16550_CLK defined in a legacy board header file will 196 be used. It can be a constant or a function to get clock, eg, 197 get_serial_clock(). 198 199config SANDBOX_SERIAL 200 bool "Sandbox UART support" 201 depends on SANDBOX 202 help 203 Select this to enable a seral UART for sandbox. This is required to 204 operate correctly, otherwise you will see no serial output from 205 sandbox. The emulated UART will display to the console and console 206 input will be fed into the UART. This allows you to interact with 207 U-Boot. 208 209 The operation of the console is controlled by the -t command-line 210 flag. In raw mode, U-Boot sees all characters from the terminal 211 before they are processed, including Ctrl-C. In cooked mode, Ctrl-C 212 is processed by the terminal, and terminates U-Boot. Valid options 213 are: 214 215 -t raw-with-sigs Raw mode, Ctrl-C will terminate U-Boot 216 -t raw Raw mode, Ctrl-C is processed by U-Boot 217 -t cooked Cooked mode, Ctrl-C terminates 218 219config UNIPHIER_SERIAL 220 bool "Support for UniPhier on-chip UART" 221 depends on ARCH_UNIPHIER 222 help 223 If you have a UniPhier based board and want to use the on-chip 224 serial ports, say Y to this option. If unsure, say N. 225 226endmenu 227