summaryrefslogtreecommitdiff
path: root/drivers/serial/Kconfig
blob: 54e6f26d38d00a9a5b6781148f9fc1cd2d03b4b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
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 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

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.

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 UNIPHIER_SERIAL
	bool "UniPhier on-chip UART support"
	depends on ARCH_UNIPHIER && DM_SERIAL
	help
	  Support for the on-chip UARTs on the Panasonic UniPhier platform.