Kconfig 28 KB

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