Kconfig 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923
  1. #
  2. # Serial device configuration
  3. #
  4. menu "Serial drivers"
  5. config BAUDRATE
  6. int "Default baudrate"
  7. default 115200
  8. help
  9. Select a default baudrate, where "default" has a driver-specific
  10. meaning of either setting the baudrate for the early debug UART
  11. in the SPL stage (most drivers) or for choosing a default baudrate
  12. in the absence of an environment setting (serial_mxc.c).
  13. config REQUIRE_SERIAL_CONSOLE
  14. bool "Require a serial port for console"
  15. # Running without a serial console is not supported by the
  16. # non-dm serial code
  17. depends on DM_SERIAL
  18. default y
  19. help
  20. Require a serial port for the console, and panic if none is found
  21. during serial port initialization (default y). Set this to n on
  22. boards which have no debug serial port whatsoever.
  23. config SPECIFY_CONSOLE_INDEX
  24. bool "Specify the port number used for console"
  25. default y if !DM_SERIAL || (SPL && !SPL_DM_SERIAL) || \
  26. (TPL && !TPL_DM_SERIAL)
  27. help
  28. In various cases, we need to specify which of the UART devices that
  29. a board or SoC has available are to be used for the console device
  30. in U-Boot.
  31. config SERIAL_PRESENT
  32. bool "Provide a serial driver"
  33. depends on DM_SERIAL
  34. default y
  35. help
  36. In very space-constrained devices even the full UART driver is too
  37. large. In this case the debug UART can still be used in some cases.
  38. This option enables the full UART in U-Boot, so if is it disabled,
  39. the full UART driver will be omitted, thus saving space.
  40. config SPL_SERIAL_PRESENT
  41. bool "Provide a serial driver in SPL"
  42. depends on DM_SERIAL && SPL
  43. default y
  44. help
  45. In very space-constrained devices even the full UART driver is too
  46. large. In this case the debug UART can still be used in some cases.
  47. This option enables the full UART in SPL, so if is it disabled,
  48. the full UART driver will be omitted, thus saving space.
  49. config TPL_SERIAL_PRESENT
  50. bool "Provide a serial driver in TPL"
  51. depends on DM_SERIAL && TPL
  52. default y
  53. help
  54. In very space-constrained devices even the full UART driver is too
  55. large. In this case the debug UART can still be used in some cases.
  56. This option enables the full UART in TPL, so if is it disabled,
  57. the full UART driver will be omitted, thus saving space.
  58. # Logic to allow us to use the imply keyword to set what the default port
  59. # should be. The default is otherwise 1.
  60. config CONS_INDEX_0
  61. bool
  62. config CONS_INDEX_2
  63. bool
  64. config CONS_INDEX_3
  65. bool
  66. config CONS_INDEX_4
  67. bool
  68. config CONS_INDEX_5
  69. bool
  70. config CONS_INDEX_6
  71. bool
  72. config CONS_INDEX
  73. int "UART used for console"
  74. depends on SPECIFY_CONSOLE_INDEX
  75. range 0 6
  76. default 0 if CONS_INDEX_0
  77. default 2 if CONS_INDEX_2
  78. default 3 if CONS_INDEX_3
  79. default 4 if CONS_INDEX_4
  80. default 5 if CONS_INDEX_5
  81. default 6 if CONS_INDEX_6
  82. default 1
  83. help
  84. Set this to match the UART number of the serial console.
  85. config DM_SERIAL
  86. bool "Enable Driver Model for serial drivers"
  87. depends on DM
  88. select SYS_MALLOC_F
  89. help
  90. Enable driver model for serial. This replaces
  91. drivers/serial/serial.c with the serial uclass, which
  92. implements serial_putc() etc. The uclass interface is
  93. defined in include/serial.h.
  94. config SERIAL_RX_BUFFER
  95. bool "Enable RX buffer for serial input"
  96. depends on DM_SERIAL
  97. help
  98. Enable RX buffer support for the serial driver. This enables
  99. pasting longer strings, even when the RX FIFO of the UART is
  100. not big enough (e.g. 16 bytes on the normal NS16550).
  101. config SERIAL_RX_BUFFER_SIZE
  102. int "RX buffer size"
  103. depends on SERIAL_RX_BUFFER
  104. default 256
  105. help
  106. The size of the RX buffer (needs to be power of 2)
  107. config SERIAL_SEARCH_ALL
  108. bool "Search for serial devices after default one failed"
  109. depends on DM_SERIAL
  110. help
  111. The serial subsystem only searches for a single serial device
  112. that was instantiated, but does not check whether it was probed
  113. correctly. With this option set, we make successful probing
  114. mandatory and search for fallback serial devices if the default
  115. device does not work.
  116. If unsure, say N.
  117. config SERIAL_PROBE_ALL
  118. bool "Probe all available serial devices"
  119. depends on DM_SERIAL
  120. default n
  121. help
  122. The serial subsystem only probes for a single serial device,
  123. but does not probe for other remaining serial devices.
  124. With this option set, we make probing and searching for
  125. all available devices optional.
  126. Normally, U-Boot talks to one serial port at a time, but SBSA
  127. compliant UART devices like PL011 require initialization
  128. by firmware and to let the kernel use serial port for sending
  129. and receiving the characters.
  130. If unsure, say N.
  131. config SPL_DM_SERIAL
  132. bool "Enable Driver Model for serial drivers in SPL"
  133. depends on DM_SERIAL && SPL_DM
  134. select SYS_SPL_MALLOC_F
  135. default y
  136. help
  137. Enable driver model for serial in SPL. This replaces
  138. drivers/serial/serial.c with the serial uclass, which
  139. implements serial_putc() etc. The uclass interface is
  140. defined in include/serial.h.
  141. config TPL_DM_SERIAL
  142. bool "Enable Driver Model for serial drivers in TPL"
  143. depends on DM_SERIAL && TPL_DM
  144. select SYS_TPL_MALLOC_F
  145. default y if TPL && DM_SERIAL
  146. help
  147. Enable driver model for serial in TPL. This replaces
  148. drivers/serial/serial.c with the serial uclass, which
  149. implements serial_putc() etc. The uclass interface is
  150. defined in include/serial.h.
  151. config DEBUG_UART
  152. bool "Enable an early debug UART for debugging"
  153. help
  154. The debug UART is intended for use very early in U-Boot to debug
  155. problems when an ICE or other debug mechanism is not available.
  156. To use it you should:
  157. - Make sure your UART supports this interface
  158. - Enable CONFIG_DEBUG_UART
  159. - Enable the CONFIG for your UART to tell it to provide this interface
  160. (e.g. CONFIG_DEBUG_UART_NS16550)
  161. - Define the required settings as needed (see below)
  162. - Call debug_uart_init() before use
  163. - Call debug_uart_putc() to output a character
  164. Depending on your platform it may be possible to use this UART before
  165. a stack is available.
  166. If your UART does not support this interface you can probably add
  167. support quite easily. Remember that you cannot use driver model and
  168. it is preferred to use no stack.
  169. You must not use this UART once driver model is working and the
  170. serial drivers are up and running (done in serial_init()). Otherwise
  171. the drivers may conflict and you will get strange output.
  172. choice
  173. prompt "Select which UART will provide the debug UART"
  174. depends on DEBUG_UART
  175. default DEBUG_UART_NS16550
  176. config DEBUG_UART_ALTERA_JTAGUART
  177. bool "Altera JTAG UART"
  178. depends on ALTERA_JTAG_UART
  179. help
  180. Select this to enable a debug UART using the altera_jtag_uart driver.
  181. You will need to provide parameters to make this work. The driver will
  182. be available until the real driver model serial is running.
  183. config DEBUG_UART_ALTERA_UART
  184. bool "Altera UART"
  185. depends on ALTERA_UART
  186. help
  187. Select this to enable a debug UART using the altera_uart driver.
  188. You will need to provide parameters to make this work. The driver will
  189. be available until the real driver model serial is running.
  190. config DEBUG_UART_AR933X
  191. bool "QCA/Atheros ar933x"
  192. depends on AR933X_UART
  193. help
  194. Select this to enable a debug UART using the ar933x uart driver.
  195. You will need to provide parameters to make this work. The
  196. driver will be available until the real driver model serial is
  197. running.
  198. config DEBUG_ARC_SERIAL
  199. bool "ARC UART"
  200. depends on ARC_SERIAL
  201. help
  202. Select this to enable a debug UART using the ARC UART driver.
  203. You will need to provide parameters to make this work. The
  204. driver will be available until the real driver model serial is
  205. running.
  206. config DEBUG_UART_ATMEL
  207. bool "Atmel USART"
  208. depends on ATMEL_USART
  209. help
  210. Select this to enable a debug UART using the atmel usart driver. You
  211. will need to provide parameters to make this work. The driver will
  212. be available until the real driver-model serial is running.
  213. config DEBUG_UART_BCM6345
  214. bool "BCM6345 UART"
  215. depends on BCM6345_SERIAL
  216. help
  217. Select this to enable a debug UART on BCM6345 SoCs. You
  218. will need to provide parameters to make this work. The driver will
  219. be available until the real driver model serial is running.
  220. config DEBUG_UART_NS16550
  221. bool "ns16550"
  222. depends on SYS_NS16550
  223. help
  224. Select this to enable a debug UART using the ns16550 driver. You
  225. will need to provide parameters to make this work. The driver will
  226. be available until the real driver model serial is running.
  227. config DEBUG_EFI_CONSOLE
  228. bool "EFI"
  229. depends on EFI_APP
  230. help
  231. Select this to enable a debug console which calls back to EFI to
  232. output to the console. This can be useful for early debugging of
  233. U-Boot when running on top of EFI (Extensive Firmware Interface).
  234. This is a type of BIOS used by PCs.
  235. config DEBUG_UART_S5P
  236. bool "Samsung S5P"
  237. depends on ARCH_EXYNOS || ARCH_S5PC1XX
  238. help
  239. Select this to enable a debug UART using the serial_s5p driver. You
  240. will need to provide parameters to make this work. The driver will
  241. be available until the real driver-model serial is running.
  242. config DEBUG_UART_MESON
  243. bool "Amlogic Meson"
  244. depends on MESON_SERIAL
  245. help
  246. Select this to enable a debug UART using the serial_meson driver. You
  247. will need to provide parameters to make this work. The driver will
  248. be available until the real driver-model serial is running.
  249. config DEBUG_UART_UARTLITE
  250. bool "Xilinx Uartlite"
  251. depends on XILINX_UARTLITE
  252. help
  253. Select this to enable a debug UART using the serial_uartlite driver.
  254. You will need to provide parameters to make this work. The driver will
  255. be available until the real driver-model serial is running.
  256. config DEBUG_UART_ARM_DCC
  257. bool "ARM DCC"
  258. depends on ARM_DCC
  259. help
  260. Select this to enable a debug UART using the ARM JTAG DCC port.
  261. The DCC port can be used for very early debugging and doesn't require
  262. any additional setting like address/baudrate/clock. On systems without
  263. any serial interface this is the easiest way how to get console.
  264. Every ARM core has own DCC port which is the part of debug interface.
  265. This port is available at least on ARMv6, ARMv7, ARMv8 and XScale
  266. architectures.
  267. config DEBUG_MVEBU_A3700_UART
  268. bool "Marvell Armada 3700"
  269. depends on MVEBU_A3700_UART
  270. help
  271. Select this to enable a debug UART using the serial_mvebu driver. You
  272. will need to provide parameters to make this work. The driver will
  273. be available until the real driver-model serial is running.
  274. config DEBUG_UART_ZYNQ
  275. bool "Xilinx Zynq"
  276. depends on ZYNQ_SERIAL
  277. help
  278. Select this to enable a debug UART using the serial_zynq driver. You
  279. will need to provide parameters to make this work. The driver will
  280. be available until the real driver-model serial is running.
  281. config DEBUG_UART_APBUART
  282. depends on LEON3
  283. bool "Gaisler APBUART"
  284. help
  285. Select this to enable a debug UART using the serial_leon3 driver. You
  286. will need to provide parameters to make this work. The driver will
  287. be available until the real driver model serial is running.
  288. config DEBUG_UART_PL010
  289. bool "pl010"
  290. depends on PL01X_SERIAL
  291. help
  292. Select this to enable a debug UART using the pl01x driver with the
  293. PL010 UART type. You will need to provide parameters to make this
  294. work. The driver will be available until the real driver model
  295. serial is running.
  296. config DEBUG_UART_PL011
  297. bool "pl011"
  298. depends on PL011_SERIAL
  299. help
  300. Select this to enable a debug UART using the pl01x driver with the
  301. PL011 UART type. You will need to provide parameters to make this
  302. work. The driver will be available until the real driver model
  303. serial is running.
  304. config DEBUG_UART_PIC32
  305. bool "Microchip PIC32"
  306. depends on PIC32_SERIAL
  307. help
  308. Select this to enable a debug UART using the serial_pic32 driver. You
  309. will need to provide parameters to make this work. The driver will
  310. be available until the real driver model serial is running.
  311. config DEBUG_UART_MXC
  312. bool "IMX Serial port"
  313. depends on MXC_UART
  314. help
  315. Select this to enable a debug UART using the serial_mxc driver. You
  316. will need to provide parameters to make this work. The driver will
  317. be available until the real driver model serial is running.
  318. config DEBUG_UART_SANDBOX
  319. bool "sandbox"
  320. depends on SANDBOX_SERIAL
  321. help
  322. Select this to enable the debug UART using the sandbox driver. This
  323. provides basic serial output from the console without needing to
  324. start up driver model. The driver will be available until the real
  325. driver model serial is running.
  326. config DEBUG_UART_SIFIVE
  327. bool "SiFive UART"
  328. depends on SIFIVE_SERIAL
  329. help
  330. Select this to enable a debug UART using the serial_sifive driver. You
  331. will need to provide parameters to make this work. The driver will
  332. be available until the real driver-model serial is running.
  333. config DEBUG_UART_STM32
  334. bool "STMicroelectronics STM32"
  335. depends on STM32_SERIAL
  336. help
  337. Select this to enable a debug UART using the serial_stm32 driver
  338. You will need to provide parameters to make this work.
  339. The driver will be available until the real driver model
  340. serial is running.
  341. config DEBUG_UART_UNIPHIER
  342. bool "UniPhier on-chip UART"
  343. depends on ARCH_UNIPHIER
  344. help
  345. Select this to enable a debug UART using the UniPhier on-chip UART.
  346. You will need to provide DEBUG_UART_BASE to make this work. The
  347. driver will be available until the real driver-model serial is
  348. running.
  349. config DEBUG_UART_OMAP
  350. bool "OMAP uart"
  351. depends on OMAP_SERIAL
  352. help
  353. Select this to enable a debug UART using the omap ns16550 driver.
  354. You will need to provide parameters to make this work. The driver
  355. will be available until the real driver model serial is running.
  356. config DEBUG_UART_MTK
  357. bool "MediaTek High-speed UART"
  358. depends on MTK_SERIAL
  359. help
  360. Select this to enable a debug UART using the MediaTek High-speed
  361. UART driver.
  362. You will need to provide parameters to make this work. The
  363. driver will be available until the real driver model serial is
  364. running.
  365. config DEBUG_UART_MT7620
  366. bool "UART driver for MediaTek MT7620 and earlier SoCs"
  367. depends on MT7620_SERIAL
  368. help
  369. Select this to enable a debug UART using the UART driver for
  370. MediaTek MT7620 and earlier SoCs.
  371. You will need to provide parameters to make this work. The
  372. driver will be available until the real driver model serial is
  373. running.
  374. endchoice
  375. config DEBUG_UART_BASE
  376. hex "Base address of UART"
  377. depends on DEBUG_UART
  378. default 0 if DEBUG_UART_SANDBOX
  379. help
  380. This is the base address of your UART for memory-mapped UARTs.
  381. A default should be provided by your board, but if not you will need
  382. to use the correct value here.
  383. config DEBUG_UART_CLOCK
  384. int "UART input clock"
  385. depends on DEBUG_UART
  386. default 0 if DEBUG_UART_SANDBOX
  387. help
  388. The UART input clock determines the speed of the internal UART
  389. circuitry. The baud rate is derived from this by dividing the input
  390. clock down.
  391. A default should be provided by your board, but if not you will need
  392. to use the correct value here.
  393. config DEBUG_UART_SHIFT
  394. int "UART register shift"
  395. depends on DEBUG_UART
  396. default 0 if DEBUG_UART
  397. help
  398. Some UARTs (notably ns16550) support different register layouts
  399. where the registers are spaced either as bytes, words or some other
  400. value. Use this value to specify the shift to use, where 0=byte
  401. registers, 2=32-bit word registers, etc.
  402. config DEBUG_UART_BOARD_INIT
  403. bool "Enable board-specific debug UART init"
  404. depends on DEBUG_UART
  405. help
  406. Some boards need to set things up before the debug UART can be used.
  407. On these boards a call to debug_uart_init() is insufficient. When
  408. this option is enabled, the function board_debug_uart_init() will
  409. be called when debug_uart_init() is called. You can put any code
  410. here that is needed to set up the UART ready for use, such as set
  411. pin multiplexing or enable clocks.
  412. config DEBUG_UART_ANNOUNCE
  413. bool "Show a message when the debug UART starts up"
  414. depends on DEBUG_UART
  415. help
  416. Enable this option to show a message when the debug UART is ready
  417. for use. You will see a message like "<debug_uart> " as soon as
  418. U-Boot has the UART ready for use (i.e. your code calls
  419. debug_uart_init()). This can be useful just as a check that
  420. everything is working.
  421. config DEBUG_UART_SKIP_INIT
  422. bool "Skip UART initialization"
  423. depends on DEBUG_UART
  424. help
  425. Select this if the UART you want to use for debug output is already
  426. initialized by the time U-Boot starts its execution.
  427. config DEBUG_UART_NS16550_CHECK_ENABLED
  428. bool "Check if UART is enabled on output"
  429. depends on DEBUG_UART
  430. depends on DEBUG_UART_NS16550
  431. help
  432. Select this if puts()/putc() might be called before the debug UART
  433. has been initialized. If this is disabled, putc() might sit in a
  434. tight loop if it is called before debug_uart_init() has been called.
  435. Note that this does not work for every ns16550-compatible UART and
  436. so has to be enabled carefully or you might notice lost characters.
  437. config ALTERA_JTAG_UART
  438. bool "Altera JTAG UART support"
  439. depends on DM_SERIAL
  440. help
  441. Select this to enable an JTAG UART for Altera devices.The JTAG UART
  442. core implements a method to communicate serial character streams
  443. between a host PC and a Qsys system on an Altera FPGA. Please find
  444. details on the "Embedded Peripherals IP User Guide" of Altera.
  445. config ALTERA_JTAG_UART_BYPASS
  446. bool "Bypass output when no connection"
  447. depends on ALTERA_JTAG_UART
  448. help
  449. Bypass console output and keep going even if there is no JTAG
  450. terminal connection with the host. The console output will resume
  451. once the JTAG terminal is connected. Without the bypass, the console
  452. output will wait forever until a JTAG terminal is connected. If you
  453. not are sure, say Y.
  454. config ALTERA_UART
  455. bool "Altera UART support"
  456. depends on DM_SERIAL
  457. help
  458. Select this to enable an UART for Altera devices. Please find
  459. details on the "Embedded Peripherals IP User Guide" of Altera.
  460. config AR933X_UART
  461. bool "QCA/Atheros ar933x UART support"
  462. depends on DM_SERIAL && SOC_AR933X
  463. help
  464. Select this to enable UART support for QCA/Atheros ar933x
  465. devices. This driver uses driver model and requires a device
  466. tree binding to operate, please refer to the document at
  467. doc/device-tree-bindings/serial/qca,ar9330-uart.txt.
  468. config ARC_SERIAL
  469. bool "ARC UART support"
  470. depends on DM_SERIAL
  471. help
  472. Select this to enable support for ARC UART now typically
  473. only used in Synopsys DesignWare ARC simulators like nSIM.
  474. config ARM_DCC
  475. bool "ARM Debug Communication Channel (DCC) as UART support"
  476. depends on ARM
  477. help
  478. Select this to enable using the ARM DCC as a form of UART.
  479. config ATMEL_USART
  480. bool "Atmel USART support"
  481. help
  482. Select this to enable USART support for Atmel SoCs. It can be
  483. configured in the device tree, and input clock frequency can
  484. be got from the clk node.
  485. config SPL_UART_CLOCK
  486. int "SPL fixed UART input clock"
  487. depends on ATMEL_USART && SPL && !SPL_CLK
  488. default 132096000 if ARCH_AT91
  489. help
  490. Provide a fixed clock value as input to the UART controller. This
  491. might be needed on platforms which can't enable CONFIG_SPL_CLK
  492. because of SPL image size restrictions.
  493. config BCM283X_MU_SERIAL
  494. bool "Support for BCM283x Mini-UART"
  495. depends on DM_SERIAL && ARCH_BCM283X
  496. default y
  497. help
  498. Select this to enable Mini-UART support on BCM283X family of SoCs.
  499. config BCM283X_PL011_SERIAL
  500. bool "Support for BCM283x PL011 UART"
  501. depends on PL01X_SERIAL && ARCH_BCM283X
  502. default y
  503. help
  504. Select this to enable an overriding PL011 driver for BCM283X SoCs
  505. that supports automatic disable, so that it only gets used when
  506. the UART is actually muxed.
  507. config BCM6345_SERIAL
  508. bool "Support for BCM6345 UART"
  509. depends on DM_SERIAL
  510. help
  511. Select this to enable UART on BCM6345 SoCs.
  512. config COREBOOT_SERIAL
  513. bool "Coreboot UART support"
  514. depends on DM_SERIAL
  515. default y if SYS_COREBOOT
  516. select SYS_NS16550
  517. help
  518. Select this to enable a ns16550-style UART where the platform data
  519. comes from the coreboot 'sysinfo' tables. This allows U-Boot to have
  520. a serial console on any platform without needing to change the
  521. device tree, etc.
  522. config CORTINA_UART
  523. bool "Cortina UART support"
  524. depends on DM_SERIAL
  525. help
  526. Select this to enable UART support for Cortina-Access UART devices
  527. found on CAxxxx SoCs.
  528. config FSL_LINFLEXUART
  529. bool "Freescale Linflex UART support"
  530. depends on DM_SERIAL
  531. help
  532. Select this to enable the Linflex serial module found on some
  533. NXP SoCs like S32V234.
  534. config FSL_LPUART
  535. bool "Freescale LPUART support"
  536. help
  537. Select this to enable a Low Power UART for Freescale VF610 and
  538. QorIQ Layerscape devices.
  539. config MVEBU_A3700_UART
  540. bool "UART support for Armada 3700"
  541. default n
  542. help
  543. Choose this option to add support for UART driver on the Marvell
  544. Armada 3700 SoC. The base address is configured via DT.
  545. config MCFUART
  546. bool "Freescale ColdFire UART support"
  547. help
  548. Choose this option to add support for UART driver on the ColdFire
  549. SoC's family. The serial communication channel provides a full-duplex
  550. asynchronous/synchronous receiver and transmitter deriving an
  551. operating frequency from the internal bus clock or an external clock.
  552. config MXC_UART
  553. bool "IMX serial port support"
  554. depends on ARCH_MX25 || ARCH_MX31 || TARGET_FLEA3 \
  555. || MX5 || MX6 || MX7 || IMX8M
  556. help
  557. If you have a machine based on a Motorola IMX CPU you
  558. can enable its onboard serial port by enabling this option.
  559. config NULLDEV_SERIAL
  560. bool "Null serial device"
  561. help
  562. Select this to enable null serial device support. A null serial
  563. device merely acts as a placeholder for a serial device and does
  564. nothing for all it's operation.
  565. config PIC32_SERIAL
  566. bool "Support for Microchip PIC32 on-chip UART"
  567. depends on DM_SERIAL && MACH_PIC32
  568. default y
  569. help
  570. Support for the UART found on Microchip PIC32 SoC's.
  571. config SYS_NS16550
  572. bool "NS16550 UART or compatible"
  573. help
  574. Support NS16550 UART or compatible. This can be enabled in the
  575. device tree with the correct input clock frequency. If the input
  576. clock frequency is not defined in the device tree, the macro
  577. CONFIG_SYS_NS16550_CLK defined in a legacy board header file will
  578. be used. It can be a constant or a function to get clock, eg,
  579. get_serial_clock().
  580. config NS16550_DYNAMIC
  581. bool "Allow NS16550 to be configured at runtime"
  582. default y if SYS_COREBOOT || SYS_SLIMBOOTLOADER
  583. help
  584. Enable this option to allow device-tree control of the driver.
  585. Normally this driver is controlled by the following options:
  586. CONFIG_SYS_NS16550_PORT_MAPPED - indicates that port I/O is used for
  587. access. If not enabled, then the UART is memory-mapped.
  588. CONFIG_SYS_NS16550_MEM32 - if memory-mapped, indicates that 32-bit
  589. access should be used (instead of 8-bit)
  590. CONFIG_SYS_NS16550_REG_SIZE - indicates register width and also
  591. endianness. If positive, big-endian access is used. If negative,
  592. little-endian is used.
  593. It is not a good practice for a driver to be statically configured,
  594. since it prevents the same driver being used for different types of
  595. UARTs in a system. This option avoids this problem at the cost of a
  596. slightly increased code size.
  597. config INTEL_MID_SERIAL
  598. bool "Intel MID platform UART support"
  599. depends on DM_SERIAL && OF_CONTROL
  600. depends on INTEL_MID
  601. select SYS_NS16550
  602. help
  603. Select this to enable a UART for Intel MID platforms.
  604. This uses the ns16550 driver as a library.
  605. config PL010_SERIAL
  606. bool "ARM PL010 driver"
  607. depends on !DM_SERIAL
  608. help
  609. Select this to enable a UART for platforms using PL010.
  610. config PL011_SERIAL
  611. bool "ARM PL011 driver"
  612. depends on !DM_SERIAL
  613. help
  614. Select this to enable a UART for platforms using PL011.
  615. config PL01X_SERIAL
  616. bool "ARM PL010 and PL011 driver"
  617. depends on DM_SERIAL
  618. help
  619. Select this to enable a UART for platforms using PL010 or PL011.
  620. config ROCKCHIP_SERIAL
  621. bool "Rockchip on-chip UART support"
  622. depends on DM_SERIAL && SPL_OF_PLATDATA
  623. help
  624. Select this to enable a debug UART for Rockchip devices when using
  625. CONFIG_SPL_OF_PLATDATA (i.e. a compiled-in device tree replacemenmt).
  626. This uses the ns16550 driver, converting the platdata from of-platdata
  627. to the ns16550 format.
  628. config S5P_SERIAL
  629. bool "Support for Samsung S5P UART"
  630. depends on ARCH_EXYNOS || ARCH_S5PC1XX
  631. default y
  632. help
  633. Select this to enable Samsung S5P UART support.
  634. config SANDBOX_SERIAL
  635. bool "Sandbox UART support"
  636. depends on SANDBOX
  637. help
  638. Select this to enable a seral UART for sandbox. This is required to
  639. operate correctly, otherwise you will see no serial output from
  640. sandbox. The emulated UART will display to the console and console
  641. input will be fed into the UART. This allows you to interact with
  642. U-Boot.
  643. The operation of the console is controlled by the -t command-line
  644. flag. In raw mode, U-Boot sees all characters from the terminal
  645. before they are processed, including Ctrl-C. In cooked mode, Ctrl-C
  646. is processed by the terminal, and terminates U-Boot. Valid options
  647. are:
  648. -t raw-with-sigs Raw mode, Ctrl-C will terminate U-Boot
  649. -t raw Raw mode, Ctrl-C is processed by U-Boot
  650. -t cooked Cooked mode, Ctrl-C terminates
  651. config SCIF_CONSOLE
  652. bool "Renesas SCIF UART support"
  653. depends on SH || ARCH_RMOBILE
  654. help
  655. Select this to enable Renesas SCIF UART. To operate serial ports
  656. on systems with RCar or SH SoCs, say Y to this option. If unsure,
  657. say N.
  658. config UNIPHIER_SERIAL
  659. bool "Support for UniPhier on-chip UART"
  660. depends on ARCH_UNIPHIER
  661. default y
  662. help
  663. If you have a UniPhier based board and want to use the on-chip
  664. serial ports, say Y to this option. If unsure, say N.
  665. config XILINX_UARTLITE
  666. bool "Xilinx Uarlite support"
  667. depends on DM_SERIAL
  668. help
  669. If you have a Xilinx based board and want to use the uartlite
  670. serial ports, say Y to this option. If unsure, say N.
  671. config MESON_SERIAL
  672. bool "Support for Amlogic Meson UART"
  673. depends on DM_SERIAL && ARCH_MESON
  674. help
  675. If you have an Amlogic Meson based board and want to use the on-chip
  676. serial ports, say Y to this option. If unsure, say N.
  677. config MSM_SERIAL
  678. bool "Qualcomm on-chip UART"
  679. depends on DM_SERIAL
  680. help
  681. Support Data Mover UART used on Qualcomm Snapdragon SoCs.
  682. It should support all Qualcomm devices with UARTDM version 1.4,
  683. for example APQ8016 and MSM8916.
  684. Single baudrate is supported in current implementation (115200).
  685. config OMAP_SERIAL
  686. bool "Support for OMAP specific UART"
  687. depends on DM_SERIAL
  688. default y if (ARCH_OMAP2PLUS || ARCH_K3)
  689. select SYS_NS16550
  690. help
  691. If you have an TI based SoC and want to use the on-chip serial
  692. port, say Y to this option. If unsure say N.
  693. config OWL_SERIAL
  694. bool "Actions Semi OWL UART"
  695. depends on DM_SERIAL && ARCH_OWL
  696. help
  697. If you have a Actions Semi OWL based board and want to use the on-chip
  698. serial port, say Y to this option. If unsure, say N.
  699. Single baudrate is supported in current implementation (115200).
  700. config PXA_SERIAL
  701. bool "PXA serial port support"
  702. help
  703. If you have a machine based on a Marvell XScale PXA2xx CPU you
  704. can enable its onboard serial ports by enabling this option.
  705. config SIFIVE_SERIAL
  706. bool "SiFive UART support"
  707. depends on DM_SERIAL
  708. help
  709. This driver supports the SiFive UART. If unsure say N.
  710. config STI_ASC_SERIAL
  711. bool "STMicroelectronics on-chip UART"
  712. depends on DM_SERIAL && ARCH_STI
  713. help
  714. Select this to enable Asynchronous Serial Controller available
  715. on STiH410 SoC. This is a basic implementation, it supports
  716. following baudrate 9600, 19200, 38400, 57600 and 115200.
  717. config STM32_SERIAL
  718. bool "STMicroelectronics STM32 SoCs on-chip UART"
  719. depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7 || ARCH_STM32MP)
  720. help
  721. If you have a machine based on a STM32 F4, F7, H7 or MP1 SOC
  722. you can enable its onboard serial ports, say Y to this option.
  723. If unsure, say N.
  724. config ZYNQ_SERIAL
  725. bool "Cadence (Xilinx Zynq) UART support"
  726. depends on DM_SERIAL
  727. help
  728. This driver supports the Cadence UART. It is found e.g. in Xilinx
  729. Zynq/ZynqMP.
  730. config MTK_SERIAL
  731. bool "MediaTek High-speed UART support"
  732. depends on DM_SERIAL
  733. help
  734. Select this to enable UART support for MediaTek High-speed UART
  735. devices. This driver uses driver model and requires a device
  736. tree binding to operate.
  737. The High-speed UART is compatible with the ns16550a UART and have
  738. its own high-speed registers.
  739. config MT7620_SERIAL
  740. bool "UART driver for MediaTek MT7620 and earlier SoCs"
  741. depends on DM_SERIAL
  742. help
  743. Select this to enable UART support for MediaTek MT7620 and earlier
  744. SoCs. This driver uses driver model and requires a device tree
  745. binding to operate.
  746. The UART driver for MediaTek MT7620 and earlier SoCs is *NOT*
  747. compatible with the ns16550a UART.
  748. config MPC8XX_CONS
  749. bool "Console driver for MPC8XX"
  750. depends on MPC8xx
  751. default y
  752. config XEN_SERIAL
  753. bool "XEN serial support"
  754. depends on XEN
  755. help
  756. If built without DM support, then requires Xen
  757. to be built with CONFIG_VERBOSE_DEBUG.
  758. choice
  759. prompt "Console port"
  760. default 8xx_CONS_SMC1
  761. depends on MPC8XX_CONS
  762. help
  763. Depending on board, select one serial port
  764. (CONFIG_8xx_CONS_SMC1 or CONFIG_8xx_CONS_SMC2)
  765. config 8xx_CONS_SMC1
  766. bool "SMC1"
  767. config 8xx_CONS_SMC2
  768. bool "SMC2"
  769. endchoice
  770. config SYS_SMC_RXBUFLEN
  771. int "Console Rx buffer length"
  772. depends on MPC8XX_CONS
  773. default 1
  774. help
  775. With CONFIG_SYS_SMC_RXBUFLEN it is possible to define
  776. the maximum receive buffer length for the SMC.
  777. This option is actual only for 8xx possible.
  778. If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE
  779. must be defined, to setup the maximum idle timeout for
  780. the SMC.
  781. config SYS_MAXIDLE
  782. int "maximum idle timeout"
  783. depends on MPC8XX_CONS
  784. default 0
  785. config SYS_BRGCLK_PRESCALE
  786. int "BRG Clock Prescale"
  787. depends on MPC8XX_CONS
  788. default 1
  789. config SYS_SDSR
  790. hex "SDSR Value"
  791. depends on MPC8XX_CONS
  792. default 0x83
  793. config SYS_SDMR
  794. hex "SDMR Value"
  795. depends on MPC8XX_CONS
  796. default 0
  797. endmenu