Kconfig.in 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  1. menu "HCI Config"
  2. choice BT_LE_HCI_INTERFACE
  3. prompt "Select HCI interface"
  4. default BT_LE_HCI_INTERFACE_USE_RAM
  5. config BT_LE_HCI_INTERFACE_USE_RAM
  6. bool "ram"
  7. help
  8. Use RAM as HCI interface
  9. config BT_LE_HCI_INTERFACE_USE_UART
  10. bool "uart"
  11. help
  12. Use UART as HCI interface
  13. endchoice
  14. config BT_LE_HCI_UART_PORT
  15. int "HCI UART port"
  16. depends on BT_LE_HCI_INTERFACE_USE_UART
  17. default 1
  18. help
  19. Set the port number of HCI UART
  20. config BT_LE_HCI_UART_FLOWCTRL
  21. bool "HCI uart Hardware Flow ctrl"
  22. depends on BT_LE_HCI_INTERFACE_USE_UART
  23. default n
  24. config BT_LE_HCI_UART_TX_PIN
  25. int "HCI uart Tx gpio"
  26. depends on BT_LE_HCI_INTERFACE_USE_UART
  27. default 19
  28. config BT_LE_HCI_UART_RX_PIN
  29. int "HCI uart Rx gpio"
  30. depends on BT_LE_HCI_INTERFACE_USE_UART
  31. default 10
  32. config BT_LE_HCI_UART_RTS_PIN
  33. int "HCI uart RTS gpio"
  34. depends on BT_LE_HCI_UART_FLOWCTRL
  35. default 4
  36. config BT_LE_HCI_UART_CTS_PIN
  37. int "HCI uart CTS gpio"
  38. depends on BT_LE_HCI_UART_FLOWCTRL
  39. default 5
  40. config BT_LE_HCI_UART_BAUD
  41. int "HCI uart baudrate"
  42. depends on BT_LE_HCI_INTERFACE_USE_UART
  43. default 921600
  44. help
  45. HCI uart baud rate 115200 ~ 1000000
  46. choice BT_LE_HCI_UART_PARITY
  47. prompt "select uart parity"
  48. depends on BT_LE_HCI_INTERFACE_USE_UART
  49. default BT_LE_HCI_UART_UART_PARITY_DISABLE
  50. config BT_LE_HCI_UART_UART_PARITY_DISABLE
  51. bool "PARITY_DISABLE"
  52. help
  53. UART_PARITY_DISABLE
  54. config BT_LE_HCI_UART_UART_PARITY_EVEN
  55. bool "PARITY_EVEN"
  56. help
  57. UART_PARITY_EVEN
  58. config BT_LE_HCI_UART_UART_PARITY_ODD
  59. bool "PARITY_ODD"
  60. help
  61. UART_PARITY_ODD
  62. endchoice
  63. config BT_LE_HCI_UART_TASK_STACK_SIZE
  64. int "HCI uart task stack size"
  65. depends on BT_LE_HCI_INTERFACE_USE_UART
  66. default 1000
  67. help
  68. Set the size of uart task stack
  69. endmenu
  70. config BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT
  71. bool
  72. default y
  73. help
  74. Enable NPL porting for controller.
  75. menuconfig BT_LE_50_FEATURE_SUPPORT
  76. bool "Enable BLE 5 feature"
  77. depends on !BT_NIMBLE_ENABLED
  78. default y
  79. help
  80. Enable BLE 5 feature
  81. config BT_LE_LL_CFG_FEAT_LE_2M_PHY
  82. bool "Enable 2M Phy"
  83. depends on BT_LE_50_FEATURE_SUPPORT
  84. default y
  85. help
  86. Enable 2M-PHY
  87. config BT_LE_LL_CFG_FEAT_LE_CODED_PHY
  88. bool "Enable coded Phy"
  89. depends on BT_LE_50_FEATURE_SUPPORT
  90. default y
  91. help
  92. Enable coded-PHY
  93. config BT_LE_EXT_ADV
  94. bool "Enable extended advertising"
  95. depends on BT_LE_50_FEATURE_SUPPORT
  96. default y
  97. help
  98. Enable this option to do extended advertising. Extended advertising
  99. will be supported from BLE 5.0 onwards.
  100. if BT_LE_EXT_ADV
  101. config BT_LE_MAX_EXT_ADV_INSTANCES
  102. int "Maximum number of extended advertising instances."
  103. range 0 4
  104. default 1
  105. depends on BT_LE_EXT_ADV
  106. help
  107. Change this option to set maximum number of extended advertising
  108. instances. Minimum there is always one instance of
  109. advertising. Enter how many more advertising instances you
  110. want.
  111. config BT_LE_EXT_ADV_MAX_SIZE
  112. int "Maximum length of the advertising data."
  113. range 0 1650
  114. default 1650
  115. depends on BT_LE_EXT_ADV
  116. help
  117. Defines the length of the extended adv data. The value should not
  118. exceed 1650.
  119. config BT_LE_ENABLE_PERIODIC_ADV
  120. bool "Enable periodic advertisement."
  121. default y
  122. depends on BT_LE_EXT_ADV
  123. help
  124. Enable this option to start periodic advertisement.
  125. config BT_LE_PERIODIC_ADV_SYNC_TRANSFER
  126. bool "Enable Transer Sync Events"
  127. depends on BT_LE_ENABLE_PERIODIC_ADV
  128. default y
  129. help
  130. This enables controller transfer periodic sync events to host
  131. endif
  132. config BT_LE_MAX_PERIODIC_SYNCS
  133. int "Maximum number of periodic advertising syncs"
  134. depends on BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED
  135. range 0 3
  136. default 1 if BT_LE_ENABLE_PERIODIC_ADV
  137. default 0
  138. help
  139. Set this option to set the upper limit for number of periodic sync
  140. connections. This should be less than maximum connections allowed by
  141. controller.
  142. config BT_LE_MAX_PERIODIC_ADVERTISER_LIST
  143. int "Maximum number of periodic advertiser list"
  144. depends on BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED
  145. range 1 5
  146. default 5
  147. help
  148. Set this option to set the upper limit for number of periodic advertiser list.
  149. menu "Memory Settings"
  150. depends on !BT_NIMBLE_ENABLED
  151. config BT_LE_MSYS_1_BLOCK_COUNT
  152. int "MSYS_1 Block Count"
  153. default 12
  154. help
  155. MSYS is a system level mbuf registry. For prepare write & prepare
  156. responses MBUFs are allocated out of msys_1 pool. For NIMBLE_MESH
  157. enabled cases, this block count is increased by 8 than user defined
  158. count.
  159. config BT_LE_MSYS_1_BLOCK_SIZE
  160. int "MSYS_1 Block Size"
  161. default 256
  162. help
  163. Dynamic memory size of block 1
  164. config BT_LE_MSYS_2_BLOCK_COUNT
  165. int "MSYS_2 Block Count"
  166. default 24
  167. help
  168. Dynamic memory count
  169. config BT_LE_MSYS_2_BLOCK_SIZE
  170. int "MSYS_2 Block Size"
  171. default 320
  172. help
  173. Dynamic memory size of block 2
  174. config BT_LE_ACL_BUF_COUNT
  175. int "ACL Buffer count"
  176. default 24
  177. help
  178. The number of ACL data buffers.
  179. config BT_LE_ACL_BUF_SIZE
  180. int "ACL Buffer size"
  181. default 255
  182. help
  183. This is the maximum size of the data portion of HCI ACL data packets.
  184. It does not include the HCI data header (of 4 bytes)
  185. config BT_LE_HCI_EVT_BUF_SIZE
  186. int "HCI Event Buffer size"
  187. default 257 if BT_LE_EXT_ADV
  188. default 70
  189. help
  190. This is the size of each HCI event buffer in bytes. In case of
  191. extended advertising, packets can be fragmented. 257 bytes is the
  192. maximum size of a packet.
  193. config BT_LE_HCI_EVT_HI_BUF_COUNT
  194. int "High Priority HCI Event Buffer count"
  195. default 30
  196. help
  197. This is the high priority HCI events' buffer size. High-priority
  198. event buffers are for everything except advertising reports. If there
  199. are no free high-priority event buffers then host will try to allocate a
  200. low-priority buffer instead
  201. config BT_LE_HCI_EVT_LO_BUF_COUNT
  202. int "Low Priority HCI Event Buffer count"
  203. default 8
  204. help
  205. This is the low priority HCI events' buffer size. Low-priority event
  206. buffers are only used for advertising reports. If there are no free
  207. low-priority event buffers, then an incoming advertising report will
  208. get dropped
  209. endmenu
  210. config BT_LE_CONTROLLER_TASK_STACK_SIZE
  211. int "Controller task stack size"
  212. default 5120 if BLE_MESH
  213. default 4096
  214. help
  215. This configures stack size of NimBLE controller task
  216. config BT_LE_LL_RESOLV_LIST_SIZE
  217. int "BLE LL Resolving list size"
  218. range 1 5
  219. default 4
  220. help
  221. Configure the size of resolving list used in link layer.
  222. menuconfig BT_LE_SECURITY_ENABLE
  223. bool "Enable BLE SM feature"
  224. depends on !BT_NIMBLE_ENABLED
  225. default y
  226. help
  227. Enable BLE sm feature
  228. config BT_LE_SM_LEGACY
  229. bool "Security manager legacy pairing"
  230. depends on BT_LE_SECURITY_ENABLE
  231. default y
  232. help
  233. Enable security manager legacy pairing
  234. config BT_LE_SM_SC
  235. bool "Security manager secure connections (4.2)"
  236. depends on BT_LE_SECURITY_ENABLE
  237. default y
  238. help
  239. Enable security manager secure connections
  240. config BT_LE_SM_SC_DEBUG_KEYS
  241. bool "Use predefined public-private key pair"
  242. default n
  243. depends on BT_LE_SECURITY_ENABLE && BT_LE_SM_SC
  244. help
  245. If this option is enabled, SM uses predefined DH key pair as described
  246. in Core Specification, Vol. 3, Part H, 2.3.5.6.1. This allows to
  247. decrypt air traffic easily and thus should only be used for debugging.
  248. config BT_LE_LL_CFG_FEAT_LE_ENCRYPTION
  249. bool "Enable LE encryption"
  250. depends on BT_LE_SECURITY_ENABLE
  251. default y
  252. help
  253. Enable encryption connection
  254. config BT_LE_CRYPTO_STACK_MBEDTLS
  255. bool "Override TinyCrypt with mbedTLS for crypto computations"
  256. default y
  257. depends on !BT_NIMBLE_ENABLED
  258. select MBEDTLS_ECP_RESTARTABLE
  259. select MBEDTLS_CMAC_C
  260. help
  261. Enable this option to choose mbedTLS instead of TinyCrypt for crypto
  262. computations.
  263. config BT_LE_WHITELIST_SIZE
  264. int "BLE white list size"
  265. range 1 15
  266. default 12
  267. depends on !BT_NIMBLE_ENABLED
  268. help
  269. BLE list size
  270. config BT_LE_LL_DUP_SCAN_LIST_COUNT
  271. int "BLE duplicate scan list count"
  272. range 1 100
  273. default 20
  274. help
  275. config the max count of duplicate scan list
  276. config BT_LE_LL_SCA
  277. int "BLE Sleep clock accuracy"
  278. range 0 500
  279. default 60
  280. help
  281. Sleep clock accuracy of our device (in ppm)
  282. config BT_LE_MAX_CONNECTIONS
  283. int "Maximum number of concurrent connections"
  284. depends on !BT_NIMBLE_ENABLED
  285. range 1 8
  286. default 3
  287. help
  288. Defines maximum number of concurrent BLE connections. For ESP32, user
  289. is expected to configure BTDM_CTRL_BLE_MAX_CONN from controller menu
  290. along with this option. Similarly for ESP32-C3 or ESP32-S3, user is expected to
  291. configure BT_CTRL_BLE_MAX_ACT from controller menu.
  292. choice BT_LE_COEX_PHY_CODED_TX_RX_TLIM
  293. prompt "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection"
  294. default BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS
  295. depends on !BT_NIMBLE_ENABLED
  296. help
  297. When using PHY-Coded in BLE connection, limitation on max tx/rx time can be applied to
  298. better avoid dramatic performance deterioration of Wi-Fi.
  299. config BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN
  300. bool "Force Enable"
  301. help
  302. Always enable the limitation on max tx/rx time for Coded-PHY connection
  303. config BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS
  304. bool "Force Disable"
  305. help
  306. Disable the limitation on max tx/rx time for Coded-PHY connection
  307. endchoice
  308. config BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF
  309. int
  310. depends on !BT_NIMBLE_ENABLED
  311. default 1 if BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN
  312. default 0 if BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS
  313. config BT_LE_SLEEP_ENABLE
  314. bool "Enable BLE sleep"
  315. default n
  316. help
  317. Enable BLE sleep
  318. choice BT_LE_WAKEUP_SOURCE
  319. prompt "BLE light sleep wakeup source"
  320. depends on BT_LE_SLEEP_ENABLE
  321. default BT_LE_WAKEUP_SOURCE_CPU_RTC_TIMER
  322. config BT_LE_WAKEUP_SOURCE_CPU_RTC_TIMER
  323. bool "Use ESP timer to wakeup CPU"
  324. help
  325. Use esp timer to wakeup CPU
  326. endchoice