xref: /OK3568_Linux_fs/u-boot/drivers/serial/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#
2*4882a593Smuzhiyun# Serial device configuration
3*4882a593Smuzhiyun#
4*4882a593Smuzhiyun
5*4882a593Smuzhiyunmenu "Serial drivers"
6*4882a593Smuzhiyun
7*4882a593Smuzhiyunconfig BAUDRATE
8*4882a593Smuzhiyun	int "Default baudrate"
9*4882a593Smuzhiyun	default 115200
10*4882a593Smuzhiyun	help
11*4882a593Smuzhiyun	  Select a default baudrate, where "default" has a driver-specific
12*4882a593Smuzhiyun	  meaning of either setting the baudrate for the early debug UART
13*4882a593Smuzhiyun	  in the SPL stage (most drivers) or for choosing a default baudrate
14*4882a593Smuzhiyun	  in the absence of an environment setting (serial_mxc.c).
15*4882a593Smuzhiyun
16*4882a593Smuzhiyunconfig REQUIRE_SERIAL_CONSOLE
17*4882a593Smuzhiyun	bool "Require a serial port for console"
18*4882a593Smuzhiyun	# Running without a serial console is not supported by the
19*4882a593Smuzhiyun	# non-dm serial code
20*4882a593Smuzhiyun	depends on DM_SERIAL
21*4882a593Smuzhiyun	default y
22*4882a593Smuzhiyun	help
23*4882a593Smuzhiyun	  Require a serial port for the console, and panic if none is found
24*4882a593Smuzhiyun	  during serial port initialization (default y). Set this to n on
25*4882a593Smuzhiyun	  boards which have no debug serial port whatsoever.
26*4882a593Smuzhiyun
27*4882a593Smuzhiyunconfig SERIAL_PRESENT
28*4882a593Smuzhiyun	bool "Provide a serial driver"
29*4882a593Smuzhiyun	depends on DM_SERIAL
30*4882a593Smuzhiyun	default y
31*4882a593Smuzhiyun	help
32*4882a593Smuzhiyun	  In very space-constrained devices even the full UART driver is too
33*4882a593Smuzhiyun	  large. In this case the debug UART can still be used in some cases.
34*4882a593Smuzhiyun	  This option enables the full UART in U-Boot, so if is it disabled,
35*4882a593Smuzhiyun	  the full UART driver will be omitted, thus saving space.
36*4882a593Smuzhiyun
37*4882a593Smuzhiyunconfig SPL_SERIAL_PRESENT
38*4882a593Smuzhiyun	bool "Provide a serial driver in SPL"
39*4882a593Smuzhiyun	depends on SPL_DM_SERIAL
40*4882a593Smuzhiyun	default y
41*4882a593Smuzhiyun	help
42*4882a593Smuzhiyun	  In very space-constrained devices even the full UART driver is too
43*4882a593Smuzhiyun	  large. In this case the debug UART can still be used in some cases.
44*4882a593Smuzhiyun	  This option enables the full UART in SPL, so if is it disabled,
45*4882a593Smuzhiyun	  the full UART driver will be omitted, thus saving space.
46*4882a593Smuzhiyun
47*4882a593Smuzhiyunconfig CONS_INDEX
48*4882a593Smuzhiyun	int "UART used for console"
49*4882a593Smuzhiyun	depends on ARCH_SUNXI
50*4882a593Smuzhiyun	default 2 if MACH_SUN5I
51*4882a593Smuzhiyun	default 5 if MACH_SUN8I_A23 || MACH_SUN8I_A33
52*4882a593Smuzhiyun	default 1
53*4882a593Smuzhiyun	help
54*4882a593Smuzhiyun	  Configures the console index.
55*4882a593Smuzhiyun	  For Allwinner SoC., default values are 2 for SUN5I and 5 for A23/A33.
56*4882a593Smuzhiyun	  Otherwise, the index equals 1.
57*4882a593Smuzhiyun
58*4882a593Smuzhiyunconfig DM_SERIAL
59*4882a593Smuzhiyun	bool "Enable Driver Model for serial drivers"
60*4882a593Smuzhiyun	depends on DM
61*4882a593Smuzhiyun	help
62*4882a593Smuzhiyun	  Enable driver model for serial. This replaces
63*4882a593Smuzhiyun	  drivers/serial/serial.c with the serial uclass, which
64*4882a593Smuzhiyun	  implements serial_putc() etc. The uclass interface is
65*4882a593Smuzhiyun	  defined in include/serial.h.
66*4882a593Smuzhiyun
67*4882a593Smuzhiyunconfig SERIAL_RX_BUFFER
68*4882a593Smuzhiyun	bool "Enable RX buffer for serial input"
69*4882a593Smuzhiyun	depends on DM_SERIAL
70*4882a593Smuzhiyun	help
71*4882a593Smuzhiyun	  Enable RX buffer support for the serial driver. This enables
72*4882a593Smuzhiyun	  pasting longer strings, even when the RX FIFO of the UART is
73*4882a593Smuzhiyun	  not big enough (e.g. 16 bytes on the normal NS16550).
74*4882a593Smuzhiyun
75*4882a593Smuzhiyunconfig SERIAL_RX_BUFFER_SIZE
76*4882a593Smuzhiyun	int "RX buffer size"
77*4882a593Smuzhiyun	depends on SERIAL_RX_BUFFER
78*4882a593Smuzhiyun	default 256
79*4882a593Smuzhiyun	help
80*4882a593Smuzhiyun	  The size of the RX buffer (needs to be power of 2)
81*4882a593Smuzhiyun
82*4882a593Smuzhiyunconfig SPL_DM_SERIAL
83*4882a593Smuzhiyun	bool "Enable Driver Model for serial drivers in SPL"
84*4882a593Smuzhiyun	depends on DM_SERIAL && SPL
85*4882a593Smuzhiyun	default y
86*4882a593Smuzhiyun	help
87*4882a593Smuzhiyun	  Enable driver model for serial in SPL. This replaces
88*4882a593Smuzhiyun	  drivers/serial/serial.c with the serial uclass, which
89*4882a593Smuzhiyun	  implements serial_putc() etc. The uclass interface is
90*4882a593Smuzhiyun	  defined in include/serial.h.
91*4882a593Smuzhiyun
92*4882a593Smuzhiyunconfig TPL_DM_SERIAL
93*4882a593Smuzhiyun	bool "Enable Driver Model for serial drivers in TPL"
94*4882a593Smuzhiyun	depends on DM_SERIAL && TPL
95*4882a593Smuzhiyun	default y
96*4882a593Smuzhiyun	help
97*4882a593Smuzhiyun	  Enable driver model for serial in TPL. This replaces
98*4882a593Smuzhiyun	  drivers/serial/serial.c with the serial uclass, which
99*4882a593Smuzhiyun	  implements serial_putc() etc. The uclass interface is
100*4882a593Smuzhiyun	  defined in include/serial.h.
101*4882a593Smuzhiyun
102*4882a593Smuzhiyunconfig DEBUG_UART
103*4882a593Smuzhiyun	bool "Enable an early debug UART for debugging"
104*4882a593Smuzhiyun	help
105*4882a593Smuzhiyun	  The debug UART is intended for use very early in U-Boot to debug
106*4882a593Smuzhiyun	  problems when an ICE or other debug mechanism is not available.
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun	  To use it you should:
109*4882a593Smuzhiyun	  - Make sure your UART supports this interface
110*4882a593Smuzhiyun	  - Enable CONFIG_DEBUG_UART
111*4882a593Smuzhiyun	  - Enable the CONFIG for your UART to tell it to provide this interface
112*4882a593Smuzhiyun	        (e.g. CONFIG_DEBUG_UART_NS16550)
113*4882a593Smuzhiyun	  - Define the required settings as needed (see below)
114*4882a593Smuzhiyun	  - Call debug_uart_init() before use
115*4882a593Smuzhiyun	  - Call debug_uart_putc() to output a character
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun	  Depending on your platform it may be possible to use this UART before
118*4882a593Smuzhiyun	  a stack is available.
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun	  If your UART does not support this interface you can probably add
121*4882a593Smuzhiyun	  support quite easily. Remember that you cannot use driver model and
122*4882a593Smuzhiyun	  it is preferred to use no stack.
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun	  You must not use this UART once driver model is working and the
125*4882a593Smuzhiyun	  serial drivers are up and running (done in serial_init()). Otherwise
126*4882a593Smuzhiyun	  the drivers may conflict and you will get strange output.
127*4882a593Smuzhiyun
128*4882a593Smuzhiyunchoice
129*4882a593Smuzhiyun	prompt "Select which UART will provide the debug UART"
130*4882a593Smuzhiyun	depends on DEBUG_UART
131*4882a593Smuzhiyun	default DEBUG_UART_NS16550
132*4882a593Smuzhiyun
133*4882a593Smuzhiyunconfig DEBUG_UART_ALTERA_JTAGUART
134*4882a593Smuzhiyun	bool "Altera JTAG UART"
135*4882a593Smuzhiyun	help
136*4882a593Smuzhiyun	  Select this to enable a debug UART using the altera_jtag_uart driver.
137*4882a593Smuzhiyun	  You will need to provide parameters to make this work. The driver will
138*4882a593Smuzhiyun	  be available until the real driver model serial is running.
139*4882a593Smuzhiyun
140*4882a593Smuzhiyunconfig DEBUG_UART_ALTERA_UART
141*4882a593Smuzhiyun	bool "Altera UART"
142*4882a593Smuzhiyun	help
143*4882a593Smuzhiyun	  Select this to enable a debug UART using the altera_uart driver.
144*4882a593Smuzhiyun	  You will need to provide parameters to make this work. The driver will
145*4882a593Smuzhiyun	  be available until the real driver model serial is running.
146*4882a593Smuzhiyun
147*4882a593Smuzhiyunconfig DEBUG_UART_AR933X
148*4882a593Smuzhiyun	bool "QCA/Atheros ar933x"
149*4882a593Smuzhiyun	depends on AR933X_UART
150*4882a593Smuzhiyun	help
151*4882a593Smuzhiyun	  Select this to enable a debug UART using the ar933x uart driver.
152*4882a593Smuzhiyun	  You will need to provide parameters to make this work. The
153*4882a593Smuzhiyun	  driver will be available until the real driver model serial is
154*4882a593Smuzhiyun	  running.
155*4882a593Smuzhiyun
156*4882a593Smuzhiyunconfig DEBUG_UART_ATMEL
157*4882a593Smuzhiyun	bool "Atmel USART"
158*4882a593Smuzhiyun	help
159*4882a593Smuzhiyun	  Select this to enable a debug UART using the atmel usart driver. You
160*4882a593Smuzhiyun	  will need to provide parameters to make this work. The driver will
161*4882a593Smuzhiyun	  be available until the real driver-model serial is running.
162*4882a593Smuzhiyun
163*4882a593Smuzhiyunconfig DEBUG_UART_BCM6345
164*4882a593Smuzhiyun	bool "BCM6345 UART"
165*4882a593Smuzhiyun	depends on BCM6345_SERIAL
166*4882a593Smuzhiyun	help
167*4882a593Smuzhiyun	  Select this to enable a debug UART on BCM6345 SoCs. You
168*4882a593Smuzhiyun	  will need to provide parameters to make this work. The driver will
169*4882a593Smuzhiyun	  be available until the real driver model serial is running.
170*4882a593Smuzhiyun
171*4882a593Smuzhiyunconfig DEBUG_UART_NS16550
172*4882a593Smuzhiyun	bool "ns16550"
173*4882a593Smuzhiyun	help
174*4882a593Smuzhiyun	  Select this to enable a debug UART using the ns16550 driver. You
175*4882a593Smuzhiyun	  will need to provide parameters to make this work. The driver will
176*4882a593Smuzhiyun	  be available until the real driver model serial is running.
177*4882a593Smuzhiyun
178*4882a593Smuzhiyunconfig DEBUG_EFI_CONSOLE
179*4882a593Smuzhiyun	bool "EFI"
180*4882a593Smuzhiyun	depends on EFI_APP
181*4882a593Smuzhiyun	help
182*4882a593Smuzhiyun	  Select this to enable a debug console which calls back to EFI to
183*4882a593Smuzhiyun	  output to the console. This can be useful for early debugging of
184*4882a593Smuzhiyun	  U-Boot when running on top of EFI (Extensive Firmware Interface).
185*4882a593Smuzhiyun	  This is a type of BIOS used by PCs.
186*4882a593Smuzhiyun
187*4882a593Smuzhiyunconfig DEBUG_UART_S5P
188*4882a593Smuzhiyun	bool "Samsung S5P"
189*4882a593Smuzhiyun	help
190*4882a593Smuzhiyun	  Select this to enable a debug UART using the serial_s5p driver. You
191*4882a593Smuzhiyun	  will need to provide parameters to make this work. The driver will
192*4882a593Smuzhiyun	  be available until the real driver-model serial is running.
193*4882a593Smuzhiyun
194*4882a593Smuzhiyunconfig DEBUG_UART_MESON
195*4882a593Smuzhiyun	bool "Amlogic Meson"
196*4882a593Smuzhiyun	depends on MESON_SERIAL
197*4882a593Smuzhiyun	help
198*4882a593Smuzhiyun	  Select this to enable a debug UART using the serial_meson driver. You
199*4882a593Smuzhiyun	  will need to provide parameters to make this work. The driver will
200*4882a593Smuzhiyun	  be available until the real driver-model serial is running.
201*4882a593Smuzhiyun
202*4882a593Smuzhiyunconfig DEBUG_UART_UARTLITE
203*4882a593Smuzhiyun	bool "Xilinx Uartlite"
204*4882a593Smuzhiyun	help
205*4882a593Smuzhiyun	  Select this to enable a debug UART using the serial_uartlite driver.
206*4882a593Smuzhiyun	  You will need to provide parameters to make this work. The driver will
207*4882a593Smuzhiyun	  be available until the real driver-model serial is running.
208*4882a593Smuzhiyun
209*4882a593Smuzhiyunconfig DEBUG_UART_ARM_DCC
210*4882a593Smuzhiyun	bool "ARM DCC"
211*4882a593Smuzhiyun	help
212*4882a593Smuzhiyun	  Select this to enable a debug UART using the ARM JTAG DCC port.
213*4882a593Smuzhiyun	  The DCC port can be used for very early debugging and doesn't require
214*4882a593Smuzhiyun	  any additional setting like address/baudrate/clock. On systems without
215*4882a593Smuzhiyun	  any serial interface this is the easiest way how to get console.
216*4882a593Smuzhiyun	  Every ARM core has own DCC port which is the part of debug interface.
217*4882a593Smuzhiyun	  This port is available at least on ARMv6, ARMv7, ARMv8 and XScale
218*4882a593Smuzhiyun	  architectures.
219*4882a593Smuzhiyun
220*4882a593Smuzhiyunconfig DEBUG_MVEBU_A3700_UART
221*4882a593Smuzhiyun	bool "Marvell Armada 3700"
222*4882a593Smuzhiyun	help
223*4882a593Smuzhiyun	  Select this to enable a debug UART using the serial_mvebu driver. You
224*4882a593Smuzhiyun	  will need to provide parameters to make this work. The driver will
225*4882a593Smuzhiyun	  be available until the real driver-model serial is running.
226*4882a593Smuzhiyun
227*4882a593Smuzhiyunconfig DEBUG_UART_ZYNQ
228*4882a593Smuzhiyun	bool "Xilinx Zynq"
229*4882a593Smuzhiyun	help
230*4882a593Smuzhiyun	  Select this to enable a debug UART using the serial_zynq driver. You
231*4882a593Smuzhiyun	  will need to provide parameters to make this work. The driver will
232*4882a593Smuzhiyun	  be available until the real driver-model serial is running.
233*4882a593Smuzhiyun
234*4882a593Smuzhiyunconfig DEBUG_UART_APBUART
235*4882a593Smuzhiyun	depends on LEON3
236*4882a593Smuzhiyun	bool "Gaisler APBUART"
237*4882a593Smuzhiyun	help
238*4882a593Smuzhiyun	  Select this to enable a debug UART using the serial_leon3 driver. You
239*4882a593Smuzhiyun	  will need to provide parameters to make this work. The driver will
240*4882a593Smuzhiyun	  be available until the real driver model serial is running.
241*4882a593Smuzhiyun
242*4882a593Smuzhiyunconfig DEBUG_UART_PL010
243*4882a593Smuzhiyun	bool "pl010"
244*4882a593Smuzhiyun	help
245*4882a593Smuzhiyun	  Select this to enable a debug UART using the pl01x driver with the
246*4882a593Smuzhiyun	  PL010 UART type. You will need to provide parameters to make this
247*4882a593Smuzhiyun	  work. The driver will be available until the real driver model
248*4882a593Smuzhiyun	  serial is running.
249*4882a593Smuzhiyun
250*4882a593Smuzhiyunconfig DEBUG_UART_PL011
251*4882a593Smuzhiyun	bool "pl011"
252*4882a593Smuzhiyun	help
253*4882a593Smuzhiyun	  Select this to enable a debug UART using the pl01x driver with the
254*4882a593Smuzhiyun	  PL011 UART type. You will need to provide parameters to make this
255*4882a593Smuzhiyun	  work. The driver will be available until the real driver model
256*4882a593Smuzhiyun	  serial is running.
257*4882a593Smuzhiyun
258*4882a593Smuzhiyunconfig DEBUG_UART_PIC32
259*4882a593Smuzhiyun	bool "Microchip PIC32"
260*4882a593Smuzhiyun	depends on PIC32_SERIAL
261*4882a593Smuzhiyun	help
262*4882a593Smuzhiyun	  Select this to enable a debug UART using the serial_pic32 driver. You
263*4882a593Smuzhiyun	  will need to provide parameters to make this work. The driver will
264*4882a593Smuzhiyun	  be available until the real driver model serial is running.
265*4882a593Smuzhiyun
266*4882a593Smuzhiyunconfig DEBUG_UART_MXC
267*4882a593Smuzhiyun	bool "IMX Serial port"
268*4882a593Smuzhiyun	depends on MXC_UART
269*4882a593Smuzhiyun	help
270*4882a593Smuzhiyun	  Select this to enable a debug UART using the serial_mxc driver. You
271*4882a593Smuzhiyun	  will need to provide parameters to make this work. The driver will
272*4882a593Smuzhiyun	  be available until the real driver model serial is running.
273*4882a593Smuzhiyun
274*4882a593Smuzhiyunconfig DEBUG_UART_UNIPHIER
275*4882a593Smuzhiyun	bool "UniPhier on-chip UART"
276*4882a593Smuzhiyun	depends on ARCH_UNIPHIER
277*4882a593Smuzhiyun	help
278*4882a593Smuzhiyun	  Select this to enable a debug UART using the UniPhier on-chip UART.
279*4882a593Smuzhiyun	  You will need to provide DEBUG_UART_BASE to make this work.  The
280*4882a593Smuzhiyun	  driver will be available until the real driver-model serial is
281*4882a593Smuzhiyun	  running.
282*4882a593Smuzhiyun
283*4882a593Smuzhiyunconfig DEBUG_UART_OMAP
284*4882a593Smuzhiyun	bool "OMAP uart"
285*4882a593Smuzhiyun	help
286*4882a593Smuzhiyun	  Select this to enable a debug UART using the omap ns16550 driver.
287*4882a593Smuzhiyun	  You will need to provide parameters to make this work. The driver
288*4882a593Smuzhiyun	  will be available until the real driver model serial is running.
289*4882a593Smuzhiyun
290*4882a593Smuzhiyunendchoice
291*4882a593Smuzhiyun
292*4882a593Smuzhiyunconfig DEBUG_UART_BASE
293*4882a593Smuzhiyun	hex "Base address of UART"
294*4882a593Smuzhiyun	depends on DEBUG_UART
295*4882a593Smuzhiyun	help
296*4882a593Smuzhiyun	  This is the base address of your UART for memory-mapped UARTs.
297*4882a593Smuzhiyun
298*4882a593Smuzhiyun	  A default should be provided by your board, but if not you will need
299*4882a593Smuzhiyun	  to use the correct value here.
300*4882a593Smuzhiyun
301*4882a593Smuzhiyunconfig DEBUG_UART_CLOCK
302*4882a593Smuzhiyun	int "UART input clock"
303*4882a593Smuzhiyun	depends on DEBUG_UART
304*4882a593Smuzhiyun	help
305*4882a593Smuzhiyun	  The UART input clock determines the speed of the internal UART
306*4882a593Smuzhiyun	  circuitry. The baud rate is derived from this by dividing the input
307*4882a593Smuzhiyun	  clock down.
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun	  A default should be provided by your board, but if not you will need
310*4882a593Smuzhiyun	  to use the correct value here.
311*4882a593Smuzhiyun
312*4882a593Smuzhiyunconfig DEBUG_UART_SHIFT
313*4882a593Smuzhiyun	int "UART register shift"
314*4882a593Smuzhiyun	depends on DEBUG_UART
315*4882a593Smuzhiyun	default 0 if DEBUG_UART
316*4882a593Smuzhiyun	help
317*4882a593Smuzhiyun	  Some UARTs (notably ns16550) support different register layouts
318*4882a593Smuzhiyun	  where the registers are spaced either as bytes, words or some other
319*4882a593Smuzhiyun	  value. Use this value to specify the shift to use, where 0=byte
320*4882a593Smuzhiyun	  registers, 2=32-bit word registers, etc.
321*4882a593Smuzhiyun
322*4882a593Smuzhiyunconfig DEBUG_UART_BOARD_INIT
323*4882a593Smuzhiyun	bool "Enable board-specific debug UART init"
324*4882a593Smuzhiyun	depends on DEBUG_UART
325*4882a593Smuzhiyun	help
326*4882a593Smuzhiyun	  Some boards need to set things up before the debug UART can be used.
327*4882a593Smuzhiyun	  On these boards a call to debug_uart_init() is insufficient. When
328*4882a593Smuzhiyun	  this option is enabled, the function board_debug_uart_init() will
329*4882a593Smuzhiyun	  be called when debug_uart_init() is called. You can put any code
330*4882a593Smuzhiyun	  here that is needed to set up the UART ready for use, such as set
331*4882a593Smuzhiyun	  pin multiplexing or enable clocks.
332*4882a593Smuzhiyun
333*4882a593Smuzhiyunconfig DEBUG_UART_ANNOUNCE
334*4882a593Smuzhiyun	bool "Show a message when the debug UART starts up"
335*4882a593Smuzhiyun	depends on DEBUG_UART
336*4882a593Smuzhiyun	help
337*4882a593Smuzhiyun	  Enable this option to show a message when the debug UART is ready
338*4882a593Smuzhiyun	  for use. You will see a message like "<debug_uart> " as soon as
339*4882a593Smuzhiyun	  U-Boot has the UART ready for use (i.e. your code calls
340*4882a593Smuzhiyun	  debug_uart_init()). This can be useful just as a check that
341*4882a593Smuzhiyun	  everything is working.
342*4882a593Smuzhiyun
343*4882a593Smuzhiyunconfig DEBUG_UART_SKIP_INIT
344*4882a593Smuzhiyun	bool "Skip UART initialization"
345*4882a593Smuzhiyun	help
346*4882a593Smuzhiyun	  Select this if the UART you want to use for debug output is already
347*4882a593Smuzhiyun	  initialized by the time U-Boot starts its execution.
348*4882a593Smuzhiyun
349*4882a593Smuzhiyunconfig DEBUG_UART_ALWAYS
350*4882a593Smuzhiyun	bool "Always use debug UART mode"
351*4882a593Smuzhiyun	default y if !ROCKCHIP_PX5
352*4882a593Smuzhiyun	help
353*4882a593Smuzhiyun	  Say y to always use debug UART, skip complicated console UART register.
354*4882a593Smuzhiyun
355*4882a593Smuzhiyunconfig ALTERA_JTAG_UART
356*4882a593Smuzhiyun	bool "Altera JTAG UART support"
357*4882a593Smuzhiyun	depends on DM_SERIAL
358*4882a593Smuzhiyun	help
359*4882a593Smuzhiyun	  Select this to enable an JTAG UART for Altera devices.The JTAG UART
360*4882a593Smuzhiyun	  core implements a method to communicate serial character streams
361*4882a593Smuzhiyun	  between a host PC and a Qsys system on an Altera FPGA. Please find
362*4882a593Smuzhiyun	  details on the "Embedded Peripherals IP User Guide" of Altera.
363*4882a593Smuzhiyun
364*4882a593Smuzhiyunconfig ALTERA_JTAG_UART_BYPASS
365*4882a593Smuzhiyun	bool "Bypass output when no connection"
366*4882a593Smuzhiyun	depends on ALTERA_JTAG_UART
367*4882a593Smuzhiyun	help
368*4882a593Smuzhiyun	  Bypass console output and keep going even if there is no JTAG
369*4882a593Smuzhiyun	  terminal connection with the host. The console output will resume
370*4882a593Smuzhiyun	  once the JTAG terminal is connected. Without the bypass, the console
371*4882a593Smuzhiyun	  output will wait forever until a JTAG terminal is connected. If you
372*4882a593Smuzhiyun	  not are sure, say Y.
373*4882a593Smuzhiyun
374*4882a593Smuzhiyunconfig ALTERA_UART
375*4882a593Smuzhiyun	bool "Altera UART support"
376*4882a593Smuzhiyun	depends on DM_SERIAL
377*4882a593Smuzhiyun	help
378*4882a593Smuzhiyun	  Select this to enable an UART for Altera devices. Please find
379*4882a593Smuzhiyun	  details on the "Embedded Peripherals IP User Guide" of Altera.
380*4882a593Smuzhiyun
381*4882a593Smuzhiyunconfig AR933X_UART
382*4882a593Smuzhiyun	bool "QCA/Atheros ar933x UART support"
383*4882a593Smuzhiyun	depends on DM_SERIAL && SOC_AR933X
384*4882a593Smuzhiyun	help
385*4882a593Smuzhiyun	  Select this to enable UART support for QCA/Atheros ar933x
386*4882a593Smuzhiyun	  devices. This driver uses driver model and requires a device
387*4882a593Smuzhiyun	  tree binding to operate, please refer to the document at
388*4882a593Smuzhiyun	  doc/device-tree-bindings/serial/qca,ar9330-uart.txt.
389*4882a593Smuzhiyun
390*4882a593Smuzhiyunconfig ATMEL_USART
391*4882a593Smuzhiyun	bool "Atmel USART support"
392*4882a593Smuzhiyun	help
393*4882a593Smuzhiyun	  Select this to enable USART support for Atmel SoCs. It can be
394*4882a593Smuzhiyun	  configured in the device tree, and input clock frequency can
395*4882a593Smuzhiyun	  be got from the clk node.
396*4882a593Smuzhiyun
397*4882a593Smuzhiyunconfig BCM6345_SERIAL
398*4882a593Smuzhiyun	bool "Support for BCM6345 UART"
399*4882a593Smuzhiyun	depends on DM_SERIAL && ARCH_BMIPS
400*4882a593Smuzhiyun	help
401*4882a593Smuzhiyun	  Select this to enable UART on BCM6345 SoCs.
402*4882a593Smuzhiyun
403*4882a593Smuzhiyunconfig FSL_LPUART
404*4882a593Smuzhiyun	bool "Freescale LPUART support"
405*4882a593Smuzhiyun	help
406*4882a593Smuzhiyun	  Select this to enable a Low Power UART for Freescale VF610 and
407*4882a593Smuzhiyun	  QorIQ Layerscape devices.
408*4882a593Smuzhiyun
409*4882a593Smuzhiyunconfig MVEBU_A3700_UART
410*4882a593Smuzhiyun	bool "UART support for Armada 3700"
411*4882a593Smuzhiyun	default n
412*4882a593Smuzhiyun	help
413*4882a593Smuzhiyun	  Choose this option to add support for UART driver on the Marvell
414*4882a593Smuzhiyun	  Armada 3700 SoC. The base address is configured via DT.
415*4882a593Smuzhiyun
416*4882a593Smuzhiyunconfig MXC_UART
417*4882a593Smuzhiyun	bool "IMX serial port support"
418*4882a593Smuzhiyun	depends on MX5 || MX6
419*4882a593Smuzhiyun	help
420*4882a593Smuzhiyun	  If you have a machine based on a Motorola IMX CPU you
421*4882a593Smuzhiyun	  can enable its onboard serial port by enabling this option.
422*4882a593Smuzhiyun
423*4882a593Smuzhiyunconfig PIC32_SERIAL
424*4882a593Smuzhiyun	bool "Support for Microchip PIC32 on-chip UART"
425*4882a593Smuzhiyun	depends on DM_SERIAL && MACH_PIC32
426*4882a593Smuzhiyun	default y
427*4882a593Smuzhiyun	help
428*4882a593Smuzhiyun	  Support for the UART found on Microchip PIC32 SoC's.
429*4882a593Smuzhiyun
430*4882a593Smuzhiyunconfig SYS_NS16550
431*4882a593Smuzhiyun	bool "NS16550 UART or compatible"
432*4882a593Smuzhiyun	help
433*4882a593Smuzhiyun	  Support NS16550 UART or compatible. This can be enabled in the
434*4882a593Smuzhiyun	  device tree with the correct input clock frequency. If the input
435*4882a593Smuzhiyun	  clock frequency is not defined in the device tree, the macro
436*4882a593Smuzhiyun	  CONFIG_SYS_NS16550_CLK defined in a legacy board header file will
437*4882a593Smuzhiyun	  be used. It can be a constant or a function to get clock, eg,
438*4882a593Smuzhiyun	  get_serial_clock().
439*4882a593Smuzhiyun
440*4882a593Smuzhiyunconfig INTEL_MID_SERIAL
441*4882a593Smuzhiyun	bool "Intel MID platform UART support"
442*4882a593Smuzhiyun	depends on DM_SERIAL && OF_CONTROL
443*4882a593Smuzhiyun	depends on INTEL_MID
444*4882a593Smuzhiyun	select SYS_NS16550
445*4882a593Smuzhiyun	help
446*4882a593Smuzhiyun	  Select this to enable a UART for Intel MID platforms.
447*4882a593Smuzhiyun	  This uses the ns16550 driver as a library.
448*4882a593Smuzhiyun
449*4882a593Smuzhiyunconfig ROCKCHIP_SERIAL
450*4882a593Smuzhiyun	bool "Rockchip on-chip UART support"
451*4882a593Smuzhiyun	depends on DM_SERIAL && SPL_OF_PLATDATA
452*4882a593Smuzhiyun	help
453*4882a593Smuzhiyun	  Select this to enable a debug UART for Rockchip devices when using
454*4882a593Smuzhiyun	  CONFIG_SPL_OF_PLATDATA (i.e. a compiled-in device tree replacemenmt).
455*4882a593Smuzhiyun	  This uses the ns16550 driver, converting the platdata from of-platdata
456*4882a593Smuzhiyun	  to the ns16550 format.
457*4882a593Smuzhiyun
458*4882a593Smuzhiyunconfig SANDBOX_SERIAL
459*4882a593Smuzhiyun	bool "Sandbox UART support"
460*4882a593Smuzhiyun	depends on SANDBOX
461*4882a593Smuzhiyun	help
462*4882a593Smuzhiyun	  Select this to enable a seral UART for sandbox. This is required to
463*4882a593Smuzhiyun	  operate correctly, otherwise you will see no serial output from
464*4882a593Smuzhiyun	  sandbox. The emulated UART will display to the console and console
465*4882a593Smuzhiyun	  input will be fed into the UART. This allows you to interact with
466*4882a593Smuzhiyun	  U-Boot.
467*4882a593Smuzhiyun
468*4882a593Smuzhiyun	  The operation of the console is controlled by the -t command-line
469*4882a593Smuzhiyun	  flag. In raw mode, U-Boot sees all characters from the terminal
470*4882a593Smuzhiyun	  before they are processed, including Ctrl-C. In cooked mode, Ctrl-C
471*4882a593Smuzhiyun	  is processed by the terminal, and terminates U-Boot. Valid options
472*4882a593Smuzhiyun	  are:
473*4882a593Smuzhiyun
474*4882a593Smuzhiyun	     -t raw-with-sigs	Raw mode, Ctrl-C will terminate U-Boot
475*4882a593Smuzhiyun	     -t raw		Raw mode, Ctrl-C is processed by U-Boot
476*4882a593Smuzhiyun	     -t cooked		Cooked mode, Ctrl-C terminates
477*4882a593Smuzhiyun
478*4882a593Smuzhiyunconfig SCIF_CONSOLE
479*4882a593Smuzhiyun	bool "Renesas SCIF UART support"
480*4882a593Smuzhiyun	depends on SH || ARCH_RMOBILE
481*4882a593Smuzhiyun	help
482*4882a593Smuzhiyun	  Select this to enable Renesas SCIF UART. To operate serial ports
483*4882a593Smuzhiyun	  on systems with RCar or SH SoCs, say Y to this option. If unsure,
484*4882a593Smuzhiyun	  say N.
485*4882a593Smuzhiyun
486*4882a593Smuzhiyunconfig UNIPHIER_SERIAL
487*4882a593Smuzhiyun	bool "Support for UniPhier on-chip UART"
488*4882a593Smuzhiyun	depends on ARCH_UNIPHIER
489*4882a593Smuzhiyun	default y
490*4882a593Smuzhiyun	help
491*4882a593Smuzhiyun	  If you have a UniPhier based board and want to use the on-chip
492*4882a593Smuzhiyun	  serial ports, say Y to this option. If unsure, say N.
493*4882a593Smuzhiyun
494*4882a593Smuzhiyunconfig XILINX_UARTLITE
495*4882a593Smuzhiyun	bool "Xilinx Uarlite support"
496*4882a593Smuzhiyun	depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || 4xx)
497*4882a593Smuzhiyun	help
498*4882a593Smuzhiyun	  If you have a Xilinx based board and want to use the uartlite
499*4882a593Smuzhiyun	  serial ports, say Y to this option. If unsure, say N.
500*4882a593Smuzhiyun
501*4882a593Smuzhiyunconfig MESON_SERIAL
502*4882a593Smuzhiyun	bool "Support for Amlogic Meson UART"
503*4882a593Smuzhiyun	depends on DM_SERIAL && ARCH_MESON
504*4882a593Smuzhiyun	help
505*4882a593Smuzhiyun	  If you have an Amlogic Meson based board and want to use the on-chip
506*4882a593Smuzhiyun	  serial ports, say Y to this option. If unsure, say N.
507*4882a593Smuzhiyun
508*4882a593Smuzhiyunconfig MSM_SERIAL
509*4882a593Smuzhiyun	bool "Qualcomm on-chip UART"
510*4882a593Smuzhiyun	depends on DM_SERIAL
511*4882a593Smuzhiyun	help
512*4882a593Smuzhiyun	  Support Data Mover UART used on Qualcomm Snapdragon SoCs.
513*4882a593Smuzhiyun	  It should support all Qualcomm devices with UARTDM version 1.4,
514*4882a593Smuzhiyun	  for example APQ8016 and MSM8916.
515*4882a593Smuzhiyun	  Single baudrate is supported in current implementation (115200).
516*4882a593Smuzhiyun
517*4882a593Smuzhiyunconfig PXA_SERIAL
518*4882a593Smuzhiyun	bool "PXA serial port support"
519*4882a593Smuzhiyun	help
520*4882a593Smuzhiyun	  If you have a machine based on a Marvell XScale PXA2xx CPU you
521*4882a593Smuzhiyun	  can enable its onboard serial ports by enabling this option.
522*4882a593Smuzhiyun
523*4882a593Smuzhiyunconfig STI_ASC_SERIAL
524*4882a593Smuzhiyun	bool "STMicroelectronics on-chip UART"
525*4882a593Smuzhiyun	depends on DM_SERIAL && ARCH_STI
526*4882a593Smuzhiyun	help
527*4882a593Smuzhiyun	  Select this to enable Asynchronous Serial Controller available
528*4882a593Smuzhiyun	  on STiH410 SoC. This is a basic implementation,  it supports
529*4882a593Smuzhiyun	  following baudrate 9600, 19200, 38400, 57600 and 115200.
530*4882a593Smuzhiyun
531*4882a593Smuzhiyunconfig STM32X7_SERIAL
532*4882a593Smuzhiyun	bool "STMicroelectronics STM32 SoCs on-chip UART"
533*4882a593Smuzhiyun	depends on DM_SERIAL && STM32F7
534*4882a593Smuzhiyun	help
535*4882a593Smuzhiyun	  If you have a machine based on a STM32 F7 you can enable its
536*4882a593Smuzhiyun	  onboard serial ports, say Y to this option. If unsure, say N.
537*4882a593Smuzhiyun
538*4882a593Smuzhiyunconfig MPC8XX_CONS
539*4882a593Smuzhiyun	bool "Console driver for MPC8XX"
540*4882a593Smuzhiyun	depends on 8xx
541*4882a593Smuzhiyun	default y
542*4882a593Smuzhiyun
543*4882a593Smuzhiyunchoice
544*4882a593Smuzhiyun	prompt "Console port"
545*4882a593Smuzhiyun	default 8xx_CONS_SMC1
546*4882a593Smuzhiyun	depends on MPC8XX_CONS
547*4882a593Smuzhiyun	help
548*4882a593Smuzhiyun	  Depending on board, select one serial port
549*4882a593Smuzhiyun	  (CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2)
550*4882a593Smuzhiyun
551*4882a593Smuzhiyunconfig 8xx_CONS_SMC1
552*4882a593Smuzhiyun	bool "SMC1"
553*4882a593Smuzhiyun
554*4882a593Smuzhiyunconfig 8xx_CONS_SMC2
555*4882a593Smuzhiyun	bool "SMC2"
556*4882a593Smuzhiyun
557*4882a593Smuzhiyunendchoice
558*4882a593Smuzhiyun
559*4882a593Smuzhiyunconfig SYS_SMC_RXBUFLEN
560*4882a593Smuzhiyun	int "Console Rx buffer length"
561*4882a593Smuzhiyun	depends on MPC8XX_CONS
562*4882a593Smuzhiyun	default 1
563*4882a593Smuzhiyun	help
564*4882a593Smuzhiyun	  With CONFIG_SYS_SMC_RXBUFLEN it is possible to define
565*4882a593Smuzhiyun	  the maximum receive buffer length for the SMC.
566*4882a593Smuzhiyun	  This option is actual only for 8xx possible.
567*4882a593Smuzhiyun	  If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE
568*4882a593Smuzhiyun	  must be defined, to setup the maximum idle timeout for
569*4882a593Smuzhiyun	  the SMC.
570*4882a593Smuzhiyun
571*4882a593Smuzhiyunconfig SYS_MAXIDLE
572*4882a593Smuzhiyun	int "maximum idle timeout"
573*4882a593Smuzhiyun	depends on MPC8XX_CONS
574*4882a593Smuzhiyun	default 0
575*4882a593Smuzhiyun
576*4882a593Smuzhiyunconfig SYS_BRGCLK_PRESCALE
577*4882a593Smuzhiyun	int "BRG Clock Prescale"
578*4882a593Smuzhiyun	depends on MPC8XX_CONS
579*4882a593Smuzhiyun	default 1
580*4882a593Smuzhiyun
581*4882a593Smuzhiyunconfig SYS_SDSR
582*4882a593Smuzhiyun	hex "SDSR Value"
583*4882a593Smuzhiyun	depends on MPC8XX_CONS
584*4882a593Smuzhiyun	default 0x83
585*4882a593Smuzhiyun
586*4882a593Smuzhiyunconfig SYS_SDMR
587*4882a593Smuzhiyun	hex "SDMR Value"
588*4882a593Smuzhiyun	depends on MPC8XX_CONS
589*4882a593Smuzhiyun	default 0
590*4882a593Smuzhiyun
591*4882a593Smuzhiyunendmenu
592