Kconfig 27 KB

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