1# Serial driver configuration options 2 3# Copyright (c) 2014-2015 Wind River Systems, Inc. 4# SPDX-License-Identifier: Apache-2.0 5 6menuconfig SERIAL 7 bool "Serial drivers" 8 help 9 Enable options for serial drivers. 10 11if SERIAL 12 13comment "Capabilities" 14 15config SERIAL_HAS_DRIVER 16 bool 17 help 18 This is an option to be enabled by individual serial driver 19 to signal that there is a serial driver. This is being used 20 by other drivers which are dependent on serial. 21 22config SERIAL_SUPPORT_ASYNC 23 bool 24 help 25 This is an option to be enabled by individual serial driver 26 to signal that the driver and hardware supports async operation. 27 28config SERIAL_SUPPORT_INTERRUPT 29 bool 30 help 31 This is an option to be enabled by individual serial driver 32 to signal that the driver and hardware supports interrupts. 33 34config SERIAL_INIT_PRIORITY 35 int "Serial init priority" 36 default KERNEL_INIT_PRIORITY_DEVICE 37 help 38 Serial driver device initialization priority. 39 40module = UART 41module-str = uart 42source "subsys/logging/Kconfig.template.log_config" 43 44config SERIAL_SUPPORT_WIDE_DATA 45 bool 46 help 47 This is an option to be enabled by individual serial driver 48 to signal that the driver and hardware support data longer 49 than 8-bit. 50 51config UART_USE_RUNTIME_CONFIGURE 52 bool "Runtime configuration for UART controllers" 53 default y 54 help 55 Enable runtime configuration of UART controllers. 56 This allows applications to call uart_configure() to 57 configure the UART controllers at runtime, and calling 58 uart_config_get() to retrieve configuration. If this is 59 disabled, UART controllers rely on UART driver's 60 initialization function to properly configure 61 the controller. 62 63 Say y if unsure. Disable this to reduce footprint for 64 applications that do not require runtime UART configuration. 65 66config UART_ASYNC_API 67 bool "Asynchronous UART API" 68 depends on SERIAL_SUPPORT_ASYNC 69 help 70 This option enables asynchronous UART API. 71 72config UART_INTERRUPT_DRIVEN 73 bool "UART Interrupt support" 74 depends on SERIAL_SUPPORT_INTERRUPT 75 help 76 This option enables interrupt support for UART allowing console 77 input and other UART based drivers. 78 79config UART_EXCLUSIVE_API_CALLBACKS 80 bool "Use exclusive callbacks for multiple APIs" 81 depends on UART_ASYNC_API && UART_INTERRUPT_DRIVEN 82 default y 83 help 84 When multiple set of APIs support callbacks, enabling this 85 option will result in only the callbacks of one set of API 86 being active at a time. Setting a new callback to one set of 87 API will remove callbacks to other set of APIs. For example, 88 calling uart_callback_set() would disable the callback 89 previously set via uart_irq_callback_set(). 90 91 Says yes unless you are absolutely sure you know what you are 92 doing and promise not to file bug when things do not work out. 93 94config UART_LINE_CTRL 95 bool "Serial Line Control API" 96 help 97 This enables the API for apps to control the serial line, 98 such as baud rate, CTS and RTS. 99 100 Implementation is up to individual driver. 101 102 Says no if not sure. 103 104config UART_DRV_CMD 105 bool "Driver commands API" 106 help 107 This enables the API to send extra commands to drivers. 108 This allows drivers to expose hardware specific functions. 109 110 Says no if not sure. 111 112config UART_WIDE_DATA 113 bool "API to support data longer than 8-bit" 114 help 115 This enables the API to process data longer than 8-bit. 116 This is up to the driver to implement the necessary functions 117 to properly support this. 118 119config UART_PIPE 120 bool "Pipe UART driver" 121 select UART_INTERRUPT_DRIVEN 122 help 123 Enable pipe UART driver. This driver allows application to communicate 124 over UART with custom defined protocol. Driver doesn't inspect received 125 data (as contrary to console UART driver) and all aspects of received 126 protocol data are handled by application provided callback. 127 128comment "Serial Drivers" 129 130source "drivers/serial/Kconfig.b91" 131 132source "drivers/serial/Kconfig.ns16550" 133 134source "drivers/serial/Kconfig.mcux" 135 136source "drivers/serial/Kconfig.mcux_flexcomm" 137 138source "drivers/serial/Kconfig.mcux_iuart" 139 140source "drivers/serial/Kconfig.mcux_lpsci" 141 142source "drivers/serial/Kconfig.mcux_lpuart" 143 144source "drivers/serial/Kconfig.miv" 145 146source "drivers/serial/Kconfig.imx" 147 148source "drivers/serial/Kconfig.it8xxx2" 149 150source "drivers/serial/Kconfig.stellaris" 151 152source "drivers/serial/Kconfig.native_posix" 153 154source "drivers/serial/Kconfig.usart_sam" 155 156source "drivers/serial/Kconfig.uart_sam" 157 158source "drivers/serial/Kconfig.stm32" 159 160source "drivers/serial/Kconfig.nrfx" 161 162source "drivers/serial/Kconfig.altera_jtag" 163 164source "drivers/serial/Kconfig.cc13xx_cc26xx" 165 166source "drivers/serial/Kconfig.cc32xx" 167 168source "drivers/serial/Kconfig.cmsdk_apb" 169 170source "drivers/serial/Kconfig.sifive" 171 172source "drivers/serial/Kconfig.esp32" 173 174source "drivers/serial/Kconfig.gecko" 175 176source "drivers/serial/Kconfig.leuart_gecko" 177 178source "drivers/serial/Kconfig.msp432p4xx" 179 180source "drivers/serial/Kconfig.numicro" 181 182source "drivers/serial/Kconfig.sam0" 183 184source "drivers/serial/Kconfig.psoc6" 185 186source "drivers/serial/Kconfig.pl011" 187 188source "drivers/serial/Kconfig.ql_usbserialport_s3b" 189 190source "drivers/serial/Kconfig.rv32m1_lpuart" 191 192source "drivers/serial/Kconfig.rpi_pico" 193 194source "drivers/serial/Kconfig.litex" 195 196source "drivers/serial/Kconfig.rtt" 197 198source "drivers/serial/Kconfig.xlnx" 199 200source "drivers/serial/Kconfig.xmc4xxx" 201 202source "drivers/serial/Kconfig.lpc11u6x" 203 204source "drivers/serial/Kconfig.npcx" 205 206source "drivers/serial/Kconfig.apbuart" 207 208source "drivers/serial/Kconfig.rcar" 209 210source "drivers/serial/Kconfig.xec" 211 212source "drivers/serial/Kconfig.gd32" 213 214source "drivers/serial/Kconfig.test" 215 216source "drivers/serial/Kconfig.neorv32" 217 218source "drivers/serial/Kconfig.xen" 219 220source "drivers/serial/Kconfig.ifx_cat1" 221 222source "drivers/serial/Kconfig.smartbond" 223 224source "drivers/serial/Kconfig.nxp_s32" 225 226source "drivers/serial/Kconfig.cdns" 227 228source "drivers/serial/Kconfig.opentitan" 229 230source "drivers/serial/Kconfig.altera" 231 232source "drivers/serial/Kconfig.hostlink" 233 234source "drivers/serial/Kconfig.emul" 235 236source "drivers/serial/Kconfig.native_tty" 237 238source "drivers/serial/Kconfig.numaker" 239 240source "drivers/serial/Kconfig.efinix_sapphire" 241 242source "drivers/serial/Kconfig.sedi" 243 244source "drivers/serial/Kconfig.bcm2711" 245 246endif # SERIAL 247