Kconfig 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. #
  2. # Serial device configuration
  3. #
  4. menu "Serial drivers"
  5. config REQUIRE_SERIAL_CONSOLE
  6. bool "Require a serial port for console"
  7. # Running without a serial console is not supported by the
  8. # non-dm serial code
  9. depends on DM_SERIAL
  10. default y
  11. help
  12. Require a serial port for the console, and panic if none is found
  13. during serial port initialization (default y). Set this to n on
  14. boards which have no debug serial port whatsoever.
  15. config SERIAL_PRESENT
  16. bool "Provide a serial driver"
  17. depends on DM_SERIAL
  18. default y
  19. help
  20. In very space-constrained devices even the full UART driver is too
  21. large. In this case the debug UART can still be used in some cases.
  22. This option enables the full UART in U-Boot, so if is it disabled,
  23. the full UART driver will be omitted, thus saving space.
  24. config SPL_SERIAL_PRESENT
  25. bool "Provide a serial driver in SPL"
  26. depends on DM_SERIAL
  27. default y
  28. help
  29. In very space-constrained devices even the full UART driver is too
  30. large. In this case the debug UART can still be used in some cases.
  31. This option enables the full UART in SPL, so if is it disabled,
  32. the full UART driver will be omitted, thus saving space.
  33. config DM_SERIAL
  34. bool "Enable Driver Model for serial drivers"
  35. depends on DM
  36. help
  37. Enable driver model for serial. This replaces
  38. drivers/serial/serial.c with the serial uclass, which
  39. implements serial_putc() etc. The uclass interface is
  40. defined in include/serial.h.
  41. config DEBUG_UART
  42. bool "Enable an early debug UART for debugging"
  43. help
  44. The debug UART is intended for use very early in U-Boot to debug
  45. problems when an ICE or other debug mechanism is not available.
  46. To use it you should:
  47. - Make sure your UART supports this interface
  48. - Enable CONFIG_DEBUG_UART
  49. - Enable the CONFIG for your UART to tell it to provide this interface
  50. (e.g. CONFIG_DEBUG_UART_NS16550)
  51. - Define the required settings as needed (see below)
  52. - Call debug_uart_init() before use
  53. - Call debug_uart_putc() to output a character
  54. Depending on your platform it may be possible to use this UART before
  55. a stack is available.
  56. If your UART does not support this interface you can probably add
  57. support quite easily. Remember that you cannot use driver model and
  58. it is preferred to use no stack.
  59. You must not use this UART once driver model is working and the
  60. serial drivers are up and running (done in serial_init()). Otherwise
  61. the drivers may conflict and you will get strange output.
  62. choice
  63. prompt "Select which UART will provide the debug UART"
  64. depends on DEBUG_UART
  65. default DEBUG_UART_NS16550
  66. config DEBUG_UART_ALTERA_JTAGUART
  67. bool "Altera JTAG UART"
  68. help
  69. Select this to enable a debug UART using the altera_jtag_uart driver.
  70. You will need to provide parameters to make this work. The driver will
  71. be available until the real driver model serial is running.
  72. config DEBUG_UART_ALTERA_UART
  73. bool "Altera UART"
  74. help
  75. Select this to enable a debug UART using the altera_uart driver.
  76. You will need to provide parameters to make this work. The driver will
  77. be available until the real driver model serial is running.
  78. config DEBUG_UART_AR933X
  79. bool "QCA/Atheros ar933x"
  80. depends on AR933X_UART
  81. help
  82. Select this to enable a debug UART using the ar933x uart driver.
  83. You will need to provide parameters to make this work. The
  84. driver will be available until the real driver model serial is
  85. running.
  86. config DEBUG_UART_ATMEL
  87. bool "Atmel USART"
  88. help
  89. Select this to enable a debug UART using the atmel usart driver. You
  90. will need to provide parameters to make this work. The driver will
  91. be available until the real driver-model serial is running.
  92. config DEBUG_UART_NS16550
  93. bool "ns16550"
  94. help
  95. Select this to enable a debug UART using the ns16550 driver. You
  96. will need to provide parameters to make this work. The driver will
  97. be available until the real driver model serial is running.
  98. config DEBUG_EFI_CONSOLE
  99. bool "EFI"
  100. depends on EFI_APP
  101. help
  102. Select this to enable a debug console which calls back to EFI to
  103. output to the console. This can be useful for early debugging of
  104. U-Boot when running on top of EFI (Extensive Firmware Interface).
  105. This is a type of BIOS used by PCs.
  106. config DEBUG_UART_S5P
  107. bool "Samsung S5P"
  108. help
  109. Select this to enable a debug UART using the serial_s5p driver. You
  110. will need to provide parameters to make this work. The driver will
  111. be available until the real driver-model serial is running.
  112. config DEBUG_UART_MESON
  113. bool "Amlogic Meson"
  114. depends on MESON_SERIAL
  115. help
  116. Select this to enable a debug UART using the serial_meson driver. You
  117. will need to provide parameters to make this work. The driver will
  118. be available until the real driver-model serial is running.
  119. config DEBUG_UART_UARTLITE
  120. bool "Xilinx Uartlite"
  121. help
  122. Select this to enable a debug UART using the serial_uartlite driver.
  123. You will need to provide parameters to make this work. The driver will
  124. be available until the real driver-model serial is running.
  125. config DEBUG_UART_ARM_DCC
  126. bool "ARM DCC"
  127. help
  128. Select this to enable a debug UART using the ARM JTAG DCC port.
  129. The DCC port can be used for very early debugging and doesn't require
  130. any additional setting like address/baudrate/clock. On systems without
  131. any serial interface this is the easiest way how to get console.
  132. Every ARM core has own DCC port which is the part of debug interface.
  133. This port is available at least on ARMv6, ARMv7, ARMv8 and XScale
  134. architectures.
  135. config DEBUG_MVEBU_A3700_UART
  136. bool "Marvell Armada 3700"
  137. help
  138. Select this to enable a debug UART using the serial_mvebu driver. You
  139. will need to provide parameters to make this work. The driver will
  140. be available until the real driver-model serial is running.
  141. config DEBUG_UART_ZYNQ
  142. bool "Xilinx Zynq"
  143. help
  144. Select this to enable a debug UART using the serial_zynq driver. You
  145. will need to provide parameters to make this work. The driver will
  146. be available until the real driver-model serial is running.
  147. config DEBUG_UART_APBUART
  148. depends on LEON3
  149. bool "Gaisler APBUART"
  150. help
  151. Select this to enable a debug UART using the serial_leon3 driver. You
  152. will need to provide parameters to make this work. The driver will
  153. be available until the real driver model serial is running.
  154. config DEBUG_UART_PL010
  155. bool "pl010"
  156. help
  157. Select this to enable a debug UART using the pl01x driver with the
  158. PL010 UART type. You will need to provide parameters to make this
  159. work. The driver will be available until the real driver model
  160. serial is running.
  161. config DEBUG_UART_PL011
  162. bool "pl011"
  163. help
  164. Select this to enable a debug UART using the pl01x driver with the
  165. PL011 UART type. You will need to provide parameters to make this
  166. work. The driver will be available until the real driver model
  167. serial is running.
  168. config DEBUG_UART_PIC32
  169. bool "Microchip PIC32"
  170. depends on PIC32_SERIAL
  171. help
  172. Select this to enable a debug UART using the serial_pic32 driver. You
  173. will need to provide parameters to make this work. The driver will
  174. be available until the real driver model serial is running.
  175. config DEBUG_UART_UNIPHIER
  176. bool "UniPhier on-chip UART"
  177. depends on ARCH_UNIPHIER
  178. help
  179. Select this to enable a debug UART using the UniPhier on-chip UART.
  180. You will need to provide DEBUG_UART_BASE to make this work. The
  181. driver will be available until the real driver-model serial is
  182. running.
  183. endchoice
  184. config DEBUG_UART_BASE
  185. hex "Base address of UART"
  186. depends on DEBUG_UART
  187. help
  188. This is the base address of your UART for memory-mapped UARTs.
  189. A default should be provided by your board, but if not you will need
  190. to use the correct value here.
  191. config DEBUG_UART_CLOCK
  192. int "UART input clock"
  193. depends on DEBUG_UART
  194. help
  195. The UART input clock determines the speed of the internal UART
  196. circuitry. The baud rate is derived from this by dividing the input
  197. clock down.
  198. A default should be provided by your board, but if not you will need
  199. to use the correct value here.
  200. config DEBUG_UART_SHIFT
  201. int "UART register shift"
  202. depends on DEBUG_UART
  203. default 0 if DEBUG_UART
  204. help
  205. Some UARTs (notably ns16550) support different register layouts
  206. where the registers are spaced either as bytes, words or some other
  207. value. Use this value to specify the shift to use, where 0=byte
  208. registers, 2=32-bit word registers, etc.
  209. config DEBUG_UART_BOARD_INIT
  210. bool "Enable board-specific debug UART init"
  211. depends on DEBUG_UART
  212. help
  213. Some boards need to set things up before the debug UART can be used.
  214. On these boards a call to debug_uart_init() is insufficient. When
  215. this option is enabled, the function board_debug_uart_init() will
  216. be called when debug_uart_init() is called. You can put any code
  217. here that is needed to set up the UART ready for use, such as set
  218. pin multiplexing or enable clocks.
  219. config DEBUG_UART_ANNOUNCE
  220. bool "Show a message when the debug UART starts up"
  221. depends on DEBUG_UART
  222. help
  223. Enable this option to show a message when the debug UART is ready
  224. for use. You will see a message like "<debug_uart> " as soon as
  225. U-Boot has the UART ready for use (i.e. your code calls
  226. debug_uart_init()). This can be useful just as a check that
  227. everything is working.
  228. config DEBUG_UART_SKIP_INIT
  229. bool "Skip UART initialization"
  230. help
  231. Select this if the UART you want to use for debug output is already
  232. initialized by the time U-Boot starts its execution.
  233. config ALTERA_JTAG_UART
  234. bool "Altera JTAG UART support"
  235. depends on DM_SERIAL
  236. help
  237. Select this to enable an JTAG UART for Altera devices.The JTAG UART
  238. core implements a method to communicate serial character streams
  239. between a host PC and a Qsys system on an Altera FPGA. Please find
  240. details on the "Embedded Peripherals IP User Guide" of Altera.
  241. config ALTERA_JTAG_UART_BYPASS
  242. bool "Bypass output when no connection"
  243. depends on ALTERA_JTAG_UART
  244. help
  245. Bypass console output and keep going even if there is no JTAG
  246. terminal connection with the host. The console output will resume
  247. once the JTAG terminal is connected. Without the bypass, the console
  248. output will wait forever until a JTAG terminal is connected. If you
  249. not are sure, say Y.
  250. config ALTERA_UART
  251. bool "Altera UART support"
  252. depends on DM_SERIAL
  253. help
  254. Select this to enable an UART for Altera devices. Please find
  255. details on the "Embedded Peripherals IP User Guide" of Altera.
  256. config AR933X_UART
  257. bool "QCA/Atheros ar933x UART support"
  258. depends on DM_SERIAL && SOC_AR933X
  259. help
  260. Select this to enable UART support for QCA/Atheros ar933x
  261. devices. This driver uses driver model and requires a device
  262. tree binding to operate, please refer to the document at
  263. doc/device-tree-bindings/serial/qca,ar9330-uart.txt.
  264. config ATMEL_USART
  265. bool "Atmel USART support"
  266. help
  267. Select this to enable USART support for Atmel SoCs. It can be
  268. configured in the device tree, and input clock frequency can
  269. be got from the clk node.
  270. config FSL_LPUART
  271. bool "Freescale LPUART support"
  272. help
  273. Select this to enable a Low Power UART for Freescale VF610 and
  274. QorIQ Layerscape devices.
  275. config MVEBU_A3700_UART
  276. bool "UART support for Armada 3700"
  277. default n
  278. help
  279. Choose this option to add support for UART driver on the Marvell
  280. Armada 3700 SoC. The base address is configured via DT.
  281. config MXC_UART
  282. bool "IMX serial port support"
  283. depends on MX5 || MX6
  284. help
  285. If you have a machine based on a Motorola IMX CPU you
  286. can enable its onboard serial port by enabling this option.
  287. config PIC32_SERIAL
  288. bool "Support for Microchip PIC32 on-chip UART"
  289. depends on DM_SERIAL && MACH_PIC32
  290. default y
  291. help
  292. Support for the UART found on Microchip PIC32 SoC's.
  293. config SYS_NS16550
  294. bool "NS16550 UART or compatible"
  295. help
  296. Support NS16550 UART or compatible. This can be enabled in the
  297. device tree with the correct input clock frequency. If the input
  298. clock frequency is not defined in the device tree, the macro
  299. CONFIG_SYS_NS16550_CLK defined in a legacy board header file will
  300. be used. It can be a constant or a function to get clock, eg,
  301. get_serial_clock().
  302. config ROCKCHIP_SERIAL
  303. bool "Rockchip on-chip UART support"
  304. depends on DM_SERIAL && SPL_OF_PLATDATA
  305. help
  306. Select this to enable a debug UART for Rockchip devices when using
  307. CONFIG_OF_PLATDATA (i.e. a compiled-in device tree replacemenmt).
  308. This uses the ns16550 driver, converting the platdata from of-platdata
  309. to the ns16550 format.
  310. config SANDBOX_SERIAL
  311. bool "Sandbox UART support"
  312. depends on SANDBOX
  313. help
  314. Select this to enable a seral UART for sandbox. This is required to
  315. operate correctly, otherwise you will see no serial output from
  316. sandbox. The emulated UART will display to the console and console
  317. input will be fed into the UART. This allows you to interact with
  318. U-Boot.
  319. The operation of the console is controlled by the -t command-line
  320. flag. In raw mode, U-Boot sees all characters from the terminal
  321. before they are processed, including Ctrl-C. In cooked mode, Ctrl-C
  322. is processed by the terminal, and terminates U-Boot. Valid options
  323. are:
  324. -t raw-with-sigs Raw mode, Ctrl-C will terminate U-Boot
  325. -t raw Raw mode, Ctrl-C is processed by U-Boot
  326. -t cooked Cooked mode, Ctrl-C terminates
  327. config UNIPHIER_SERIAL
  328. bool "Support for UniPhier on-chip UART"
  329. depends on ARCH_UNIPHIER
  330. default y
  331. help
  332. If you have a UniPhier based board and want to use the on-chip
  333. serial ports, say Y to this option. If unsure, say N.
  334. config XILINX_UARTLITE
  335. bool "Xilinx Uarlite support"
  336. depends on DM_SERIAL && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP || 4xx)
  337. help
  338. If you have a Xilinx based board and want to use the uartlite
  339. serial ports, say Y to this option. If unsure, say N.
  340. config MESON_SERIAL
  341. bool "Support for Amlogic Meson UART"
  342. depends on DM_SERIAL && ARCH_MESON
  343. help
  344. If you have an Amlogic Meson based board and want to use the on-chip
  345. serial ports, say Y to this option. If unsure, say N.
  346. config MSM_SERIAL
  347. bool "Qualcomm on-chip UART"
  348. depends on DM_SERIAL
  349. help
  350. Support Data Mover UART used on Qualcomm Snapdragon SoCs.
  351. It should support all Qualcomm devices with UARTDM version 1.4,
  352. for example APQ8016 and MSM8916.
  353. Single baudrate is supported in current implementation (115200).
  354. config PXA_SERIAL
  355. bool "PXA serial port support"
  356. help
  357. If you have a machine based on a Marvell XScale PXA2xx CPU you
  358. can enable its onboard serial ports by enabling this option.
  359. endmenu