1# Bluetooth Controller configuration options 2 3# Copyright (c) 2016-2017 Nordic Semiconductor ASA 4# SPDX-License-Identifier: Apache-2.0 5 6# The following symbols are enabled depending if the controller actually 7# supports the respective features. 8 9config BT_CTLR_CRYPTO_SUPPORT 10 bool 11 12config BT_CTLR_LE_ENC_SUPPORT 13 bool 14 15config BT_CTLR_CONN_PARAM_REQ_SUPPORT 16 bool 17 18config BT_CTLR_EXT_REJ_IND_SUPPORT 19 bool 20 21config BT_CTLR_PER_INIT_FEAT_XCHG_SUPPORT 22 bool 23 24config BT_CTLR_DATA_LEN_UPDATE_SUPPORT 25 bool 26 27config BT_CTLR_PRIVACY_SUPPORT 28 bool 29 30config BT_CTLR_EXT_SCAN_FP_SUPPORT 31 bool 32 33config BT_CTLR_PHY_UPDATE_SUPPORT 34 bool 35 36config BT_CTLR_PHY_2M_SUPPORT 37 bool 38 39config BT_CTLR_PHY_CODED_SUPPORT 40 bool 41 42config BT_CTLR_ADV_EXT_SUPPORT 43 bool 44 45config BT_CTLR_ADV_PERIODIC_SUPPORT 46 depends on BT_CTLR_ADV_EXT_SUPPORT 47 bool 48 49config BT_CTLR_ADV_PERIODIC_RSP_SUPPORT 50 depends on BT_CTLR_ADV_PERIODIC_SUPPORT 51 bool 52 53config BT_CTLR_SYNC_PERIODIC_SUPPORT 54 depends on BT_CTLR_ADV_EXT_SUPPORT 55 bool 56 57config BT_CTLR_SYNC_PERIODIC_RSP_SUPPORT 58 depends on BT_CTLR_SYNC_PERIODIC_SUPPORT 59 bool 60 61config BT_CTLR_SYNC_TRANSFER_SENDER_SUPPORT 62 depends on BT_CTLR_SYNC_PERIODIC_SUPPORT || BT_CTLR_ADV_PERIODIC_SUPPORT 63 bool 64 65config BT_CTLR_SYNC_TRANSFER_RECEIVER_SUPPORT 66 depends on BT_CTLR_SYNC_PERIODIC_SUPPORT 67 bool 68 69config BT_CTLR_ADV_ISO_SUPPORT 70 depends on BT_CTLR_ADV_PERIODIC_SUPPORT 71 bool 72 73config BT_CTLR_SYNC_ISO_SUPPORT 74 depends on BT_CTLR_SYNC_PERIODIC_SUPPORT 75 bool 76 77config BT_CTLR_CENTRAL_ISO_SUPPORT 78 bool 79 80config BT_CTLR_PERIPHERAL_ISO_SUPPORT 81 bool 82 83config BT_CTLR_CHAN_SEL_2_SUPPORT 84 bool 85 86config BT_CTLR_MIN_USED_CHAN_SUPPORT 87 bool 88 89config BT_CTLR_SMI_SUPPORT 90 bool 91 92config BT_CTLR_SCA_UPDATE_SUPPORT 93 bool 94 95config BT_CTLR_CONN_RSSI_SUPPORT 96 bool 97 98config BT_CTLR_ECDH_SUPPORT 99 bool 100 101config BT_CTLR_READ_ISO_LINK_QUALITY_SUPPORT 102 depends on BT_CTLR_SYNC_ISO_SUPPORT || \ 103 BT_CTLR_CENTRAL_ISO_SUPPORT || \ 104 BT_CTLR_PERIPHERAL_ISO_SUPPORT 105 bool 106 107config BT_CTLR_LE_POWER_CONTROL_SUPPORT 108 bool 109 110config BT_CTLR_LE_PATH_LOSS_MONITORING_SUPPORT 111 depends on BT_CTLR_LE_POWER_CONTROL_SUPPORT 112 bool 113 114config BT_CTLR_SUBRATING_SUPPORT 115 bool 116 117config BT_CTLR 118 bool "Bluetooth Controller" 119 help 120 Enables support for SoC native controller implementations. 121 122if BT_CTLR 123 124choice BT_LL_CHOICE 125 prompt "Bluetooth Link Layer Selection" 126 help 127 Select the Bluetooth Link Layer to compile. 128 The link layer choice list can be extended out of tree. 129 In the nRF Connect SDK, the SoftDevice Controller is selected 130 and set as the default Bluetooth Controller. 131 132config BT_LL_SW_SPLIT 133 bool "Software-based BLE Link Layer" 134 help 135 Use Zephyr software BLE Link Layer ULL LLL split implementation. 136 137endchoice 138 139config BT_CTLR_HCI 140 bool "Host Controller Interface (HCI)" 141 default y 142 depends on DT_HAS_ZEPHYR_BT_HCI_LL_SW_SPLIT_ENABLED 143 help 144 Enable the Host Controller interface (HCI) in the Controller. 145 This should almost always be enabled, except in a few special 146 cases, like for unit testing. 147 148comment "BLE Controller configuration" 149 150config BT_CTLR_CRYPTO 151 bool "Crypto functions in Controller" 152 depends on BT_CTLR_CRYPTO_SUPPORT 153 select ENTROPY_GENERATOR 154 default y 155 help 156 Use random number generation and AES encryption support functions 157 provided by the controller. 158 159config BT_CTLR_HCI_VS_BUILD_INFO 160 string "Zephyr HCI VS Build Info string" 161 default "" 162 depends on BT_CTLR_HCI && BT_HCI_VS 163 help 164 User-defined string that will be returned by the Zephyr VS Read Build 165 Information command after the Zephyr version and build time. When 166 setting this to a value different from an empty string, a space 167 character is required at the beginning to separate it from the 168 already included information. 169 170config BT_CTLR_DUP_FILTER_LEN 171 int "Number of addresses in the scan duplicate filter" 172 depends on BT_OBSERVER 173 depends on BT_LL_SW_SPLIT 174 default 16 175 help 176 Set the number of unique BLE addresses that can be filtered as 177 duplicates while scanning. 178 179config BT_CTLR_DUP_FILTER_ADV_SET_MAX 180 int "Number of Extended Advertising Sets in the scan duplicate filter" 181 depends on BT_OBSERVER && BT_CTLR_ADV_EXT && (BT_CTLR_DUP_FILTER_LEN > 0) 182 depends on BT_LL_SW_SPLIT 183 range 1 16 184 default 1 185 help 186 Set the number of unique Advertising Set ID per Bluetooth Low Energy 187 addresses that can be filtered as duplicates while Extended Scanning. 188 189config BT_CTLR_RX_BUFFERS 190 int "Number of Rx buffers" 191 depends on BT_LL_SW_SPLIT 192 default 6 if BT_HCI_RAW 193 default 1 194 range 1 18 195 help 196 Set the number of Rx PDUs to be buffered in the controller. In a 7.5ms 197 connection interval and 2M PHY, maximum 18 packets with L2CAP payload 198 size of 1 byte can be received. 199 200config BT_CTLR_ISO_RX_BUFFERS 201 int "Number of Isochronous Rx buffers" 202 depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO 203 default 8 204 range 1 30 205 help 206 Set the number of Isochronous Rx PDUs to be buffered in the 207 controller. Number of required RX buffers would worst-case be 208 the number of RX nodes prepared in one ISO event for each 209 active ISO group. This depends on the number of bursts in an 210 ISO group and number of groups, and may need to be set lower 211 that the theoretical maximum. Default of 8 is for supporting 212 two groups of 4 payloads, e.g. 2 CIGs with 2 CISes of BN=2. 213 214config BT_CTLR_ISO_TX_BUFFERS 215 int "Number of Isochronous Tx buffers" 216 depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO 217 range 1 $(UINT8_MAX) 218 default BT_ISO_TX_BUF_COUNT if BT_ISO 219 default 3 220 help 221 Set the number of Isochronous Tx PDUs to be queued for transmission 222 in the controller. 223 224config BT_CTLR_ISO_TX_BUFFER_SIZE 225 int "Isochronous Tx buffer size" 226 depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO 227 range 9 4103 if BT_LL_SW_SPLIT 228 range 1 $(UINT16_MAX) 229 default 9 if BT_LL_SW_SPLIT 230 default 1 231 help 232 Size of the Isochronous Tx buffers and the value returned in HCI LE 233 Read Buffer Size V2 command response. This is the data portion of the 234 HCI ISO Data packet, corresponding to the Data_Total_Length field. 235 236 Currently the maximum SDU length is 4095 bytes, hence add HCI ISO 237 Data packet overhead (the Packet_Sequence_Number, ISO_SDU_Length, 238 Packet_Status_Flag fields; and the optional Time_Stamp field, if 239 supplied) of 8 bytes. 240 241config BT_CTLR_ISOAL_SOURCES 242 int "Number of Isochronous Adaptation Layer sources" 243 depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO 244 range 1 64 245 default 1 246 help 247 Set the number of concurrently active sources supported by the 248 ISO AL. 249 250config BT_CTLR_ISOAL_SINKS 251 int "Number of Isochronous Adaptation Layer sinks" 252 depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO 253 range 1 64 254 default 1 255 help 256 Set the number of concurrently active sinks supported by the 257 ISO AL. 258 259config BT_CTLR_ISO_RX_SDU_BUFFERS 260 int "Number of SDU fragments that the ISO-AL can buffer" 261 depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO 262 default 0 263 range 0 64 264 help 265 Set the number of Isochronous Rx SDU fragments to be buffered in the 266 ISO-AL per sink. Buffering is required to compute the size and status 267 of the received SDU across all the fragments before each is released. 268 The number of buffers and maximum SDU fragment size will limit the 269 maximum size of an SDU that can be accurately declared in the HCI ISO 270 Data header. 271 272config BT_CTLR_ISO_VENDOR_DATA_PATH 273 bool "Vendor-specific ISO data path" 274 depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO 275 select BT_CTLR_HCI_CODEC_AND_DELAY_INFO 276 277choice BT_CTLR_TX_PWR 278 prompt "Tx Power" 279 default BT_CTLR_TX_PWR_0 280 depends on BT_CTLR_TX_PWR_ANTENNA = 0 || BT_LL_SW_SPLIT 281 help 282 Select a supported BLE Radio transmit power level in dBm. 283 Only values supported natively by the SoC are available. 284 The value set here represents the actual default power level fed 285 to the antenna. 286 287config BT_CTLR_TX_PWR_PLUS_10 288 bool "+10 dBm" 289 depends on SOC_SERIES_NRF54HX 290 291config BT_CTLR_TX_PWR_PLUS_9 292 bool "+9 dBm" 293 depends on SOC_SERIES_NRF54HX 294 295config BT_CTLR_TX_PWR_PLUS_8 296 bool "+8 dBm" 297 depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX 298 299config BT_CTLR_TX_PWR_PLUS_7 300 bool "+7 dBm" 301 depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX 302 303config BT_CTLR_TX_PWR_PLUS_6 304 bool "+6 dBm" 305 depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX 306 307config BT_CTLR_TX_PWR_PLUS_5 308 bool "+5 dBm" 309 depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX 310 311config BT_CTLR_TX_PWR_PLUS_4 312 bool "+4 dBm" 313 depends on SOC_SERIES_NRF51X || SOC_COMPATIBLE_NRF52X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX 314 315config BT_CTLR_TX_PWR_PLUS_3 316 bool "+3 dBm" 317 depends on SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX 318 319config BT_CTLR_TX_PWR_PLUS_2 320 bool "+2 dBm" 321 depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX 322 323config BT_CTLR_TX_PWR_PLUS_1 324 bool "+1 dBm" 325 depends on SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX 326 327config BT_CTLR_TX_PWR_0 328 bool "0 dBm" 329 330config BT_CTLR_TX_PWR_MINUS_1 331 bool "-1 dBm" 332 depends on SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX 333 334config BT_CTLR_TX_PWR_MINUS_2 335 bool "-2 dBm" 336 depends on SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX 337 338config BT_CTLR_TX_PWR_MINUS_3 339 bool "-3 dBm" 340 depends on SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX 341 342config BT_CTLR_TX_PWR_MINUS_4 343 bool "-4 dBm" 344 345config BT_CTLR_TX_PWR_MINUS_5 346 bool "-5 dBm" 347 depends on SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX 348 349config BT_CTLR_TX_PWR_MINUS_6 350 bool "-6 dBm" 351 depends on SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX 352 353config BT_CTLR_TX_PWR_MINUS_7 354 bool "-7 dBm" 355 depends on SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX 356 357config BT_CTLR_TX_PWR_MINUS_8 358 bool "-8 dBm" 359 360config BT_CTLR_TX_PWR_MINUS_9 361 bool "-9 dBm" 362 depends on SOC_COMPATIBLE_NRF54LX 363 364config BT_CTLR_TX_PWR_MINUS_10 365 bool "-10 dBm" 366 depends on SOC_COMPATIBLE_NRF54LX 367 368config BT_CTLR_TX_PWR_MINUS_12 369 bool "-12 dBm" 370 371config BT_CTLR_TX_PWR_MINUS_14 372 bool "-14 dBm" 373 depends on SOC_COMPATIBLE_NRF54LX 374 375config BT_CTLR_TX_PWR_MINUS_16 376 bool "-16 dBm" 377 378config BT_CTLR_TX_PWR_MINUS_20 379 bool "-20 dBm" 380 381config BT_CTLR_TX_PWR_MINUS_26 382 bool "-26 dBm" 383 depends on SOC_COMPATIBLE_NRF54LX 384 385config BT_CTLR_TX_PWR_MINUS_30 386 bool "-30 dBm" 387 depends on SOC_SERIES_NRF51X || SOC_SERIES_NRF54HX 388 389config BT_CTLR_TX_PWR_MINUS_40 390 bool "-40 dBm" 391 depends on SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX 392 393config BT_CTLR_TX_PWR_MINUS_46 394 bool "-46 dBm" 395 depends on SOC_COMPATIBLE_NRF54LX 396 397config BT_CTLR_TX_PWR_MINUS_70 398 bool "-70 dBm" 399 depends on SOC_SERIES_NRF54HX 400 401endchoice 402 403config BT_CTLR_TX_PWR_DBM 404 int 405 default 10 if BT_CTLR_TX_PWR_PLUS_10 406 default 9 if BT_CTLR_TX_PWR_PLUS_9 407 default 8 if BT_CTLR_TX_PWR_PLUS_8 408 default 7 if BT_CTLR_TX_PWR_PLUS_7 409 default 6 if BT_CTLR_TX_PWR_PLUS_6 410 default 5 if BT_CTLR_TX_PWR_PLUS_5 411 default 4 if BT_CTLR_TX_PWR_PLUS_4 412 default 3 if BT_CTLR_TX_PWR_PLUS_3 413 default 2 if BT_CTLR_TX_PWR_PLUS_2 414 default 1 if BT_CTLR_TX_PWR_PLUS_1 415 default 0 if BT_CTLR_TX_PWR_0 416 default -1 if BT_CTLR_TX_PWR_MINUS_1 417 default -2 if BT_CTLR_TX_PWR_MINUS_2 418 default -3 if BT_CTLR_TX_PWR_MINUS_3 419 default -4 if BT_CTLR_TX_PWR_MINUS_4 420 default -5 if BT_CTLR_TX_PWR_MINUS_5 421 default -6 if BT_CTLR_TX_PWR_MINUS_6 422 default -7 if BT_CTLR_TX_PWR_MINUS_7 423 default -8 if BT_CTLR_TX_PWR_MINUS_8 424 default -9 if BT_CTLR_TX_PWR_MINUS_9 425 default -10 if BT_CTLR_TX_PWR_MINUS_10 426 default -12 if BT_CTLR_TX_PWR_MINUS_12 427 default -14 if BT_CTLR_TX_PWR_MINUS_14 428 default -16 if BT_CTLR_TX_PWR_MINUS_16 429 default -20 if BT_CTLR_TX_PWR_MINUS_20 430 default -26 if BT_CTLR_TX_PWR_MINUS_26 431 default -30 if BT_CTLR_TX_PWR_MINUS_30 432 default -40 if BT_CTLR_TX_PWR_MINUS_40 433 default -46 if BT_CTLR_TX_PWR_MINUS_46 434 default -70 if BT_CTLR_TX_PWR_MINUS_70 435 436config BT_CTLR_TX_PWR_ANTENNA 437 int "Set TX power (dBm)" 438 range -127 127 439 default 0 440 depends on !BT_LL_SW_SPLIT 441 help 442 Request a TX power in dBm. The power level set will be equal to or 443 less than the one requested, based on the values supported by the 444 hardware used. Values outside the supported range will be set to the 445 nearest supported value. 446 The value set here represents the actual power level fed to the 447 antenna. When a Front-End Module is used, gain values for the SoC and 448 FEM are calculated automatically to guarantee the closest possible 449 match to the value requested by the user at the RF output. 450 451config BT_CTLR_TX_PWR_DYNAMIC_CONTROL 452 bool "Tx Power Dynamic Control" 453 depends on BT_HCI_VS 454 help 455 Enable dynamic control of Tx power per role/connection. 456 Provides HCI VS commands to set and get the current Tx 457 power on an individual role/connection basis. 458 459comment "BLE Controller features" 460 461if BT_CONN 462 463config BT_CTLR_LE_ENC 464 bool "LE Encryption" 465 depends on BT_CTLR_LE_ENC_SUPPORT 466 default y 467 help 468 Enable support for Bluetooth v4.0 LE Encryption feature in the 469 Controller. 470 471config BT_CTLR_ECDH 472 bool "Elliptic Curve Diffie-Hellman (ECDH)" 473 depends on BT_CTLR_ECDH_SUPPORT 474 default y 475 help 476 Enable support for Bluetooth v4.2 Elliptic Curve Diffie-Hellman 477 feature in the controller. 478 479config BT_CTLR_CONN_PARAM_REQ 480 bool "Connection Parameter Request" 481 depends on BT_CTLR_CONN_PARAM_REQ_SUPPORT 482 select BT_CTLR_EXT_REJ_IND 483 default y 484 help 485 Enable support for Bluetooth v4.1 Connection Parameter Request feature 486 in the Controller. 487 488config BT_CTLR_EXT_REJ_IND 489 bool "Extended Reject Indication" 490 depends on BT_CTLR_EXT_REJ_IND_SUPPORT 491 default y 492 help 493 Enable support for Bluetooth v4.1 Extended Reject Indication feature 494 in the Controller. 495 496config BT_CTLR_PER_INIT_FEAT_XCHG 497 bool "Peripheral-initiated Features Exchange" 498 depends on BT_CTLR_PER_INIT_FEAT_XCHG_SUPPORT 499 default y 500 help 501 Enable support for Bluetooth v4.1 Peripheral-initiated Features Exchange 502 feature in the Controller. 503 504config BT_CTLR_LE_PING 505 bool "LE Ping" 506 depends on BT_CTLR_LE_ENC 507 default y 508 help 509 Enable support for Bluetooth v4.1 LE Ping feature in the Controller. 510 511config BT_CTLR_DATA_LENGTH 512 # Hidden option to enable support for Bluetooth v4.2 LE Data Length 513 # Update procedure in the Controller. 514 bool 515 depends on BT_DATA_LEN_UPDATE && BT_CTLR_DATA_LEN_UPDATE_SUPPORT 516 default y 517 518config BT_CTLR_DATA_LENGTH_MAX 519 int "Maximum data length supported" 520 depends on BT_CTLR_DATA_LENGTH 521 default BT_BUF_ACL_RX_SIZE if BT_BUF_ACL_RX_SIZE < 251 522 default 27 523 range 27 BT_BUF_ACL_RX_SIZE if BT_BUF_ACL_RX_SIZE < 251 524 range 27 251 525 help 526 Set the maximum data length of PDU supported in the Controller. 527 528config BT_CTLR_PHY 529 # Hidden option to enable support for Bluetooth 5.0 PHY Update 530 # Procedure in the Controller. 531 bool 532 depends on BT_PHY_UPDATE && BT_CTLR_PHY_UPDATE_SUPPORT 533 select BT_CTLR_EXT_REJ_IND 534 default y 535 536config BT_CTLR_MIN_USED_CHAN 537 bool "Minimum Number of Used Channels" 538 depends on BT_CTLR_MIN_USED_CHAN_SUPPORT 539 default y 540 help 541 Enable support for Bluetooth 5.0 Minimum Number of Used Channels 542 Procedure in the Controller. 543 544config BT_CTLR_SCA_UPDATE 545 bool "Sleep Clock Accuracy Update procedure" 546 depends on BT_SCA_UPDATE && BT_CTLR_SCA_UPDATE_SUPPORT 547 default y if BT_CTLR_CONN_ISO 548 help 549 Enable support for Bluetooth 5.1 Sleep Clock Accuracy 550 Update procedure in the Controller. 551 552config BT_CTLR_CONN_RSSI 553 bool "Connection RSSI" 554 depends on BT_CTLR_CONN_RSSI_SUPPORT 555 default y if BT_HCI_RAW 556 help 557 Enable connection RSSI measurement. 558 559config BT_CTLR_LE_POWER_CONTROL 560 bool "LE Power Control Request Feature" 561 depends on BT_CTLR_LE_POWER_CONTROL_SUPPORT 562 default y if BT_TRANSMIT_POWER_CONTROL 563 help 564 Enable support for LE Power Control Request feature that is defined in the 565 Bluetooth Core specification, Version 5.4 | Vol 6, Part B, Section 4.6.31. 566 567config BT_CTLR_LE_PATH_LOSS_MONITORING 568 bool "LE Path Loss Monitoring Feature" 569 depends on BT_CTLR_LE_PATH_LOSS_MONITORING_SUPPORT 570 default y if BT_PATH_LOSS_MONITORING 571 help 572 Enable support for LE Path Loss Monitoring feature that is defined in the 573 Bluetooth Core specification, Version 5.4 | Vol 6, Part B, Section 4.6.32. 574 575endif # BT_CONN 576 577config BT_CTLR_FILTER_ACCEPT_LIST 578 bool "Filter Accept List Support" 579 default y if BT_HCI_RAW || BT_FILTER_ACCEPT_LIST 580 help 581 Enable support for controller Filter Accept List feature 582 583config BT_CTLR_PRIVACY 584 bool "LE Controller-based Privacy" 585 depends on BT_CTLR_PRIVACY_SUPPORT 586 select BT_CTLR_FILTER_ACCEPT_LIST if BT_LL_SW_SPLIT 587 select BT_RPA 588 default y if BT_HCI_RAW || BT_SMP 589 help 590 Enable support for Bluetooth v4.2 LE Controller-based Privacy feature 591 in the Controller. 592 593config BT_CTLR_FAL_SIZE 594 int "LE Controller-based Privacy White List size" 595 depends on BT_CTLR_FILTER_ACCEPT_LIST 596 default 8 597 range 1 8 if (SOC_COMPATIBLE_NRF || SOC_OPENISA_RV32M1) 598 range 1 16 if !(SOC_COMPATIBLE_NRF || SOC_OPENISA_RV32M1) 599 help 600 Set the size of the Filter Accept List for LE Controller-based Privacy. 601 On nRF5x-based controllers, the hardware imposes a limit of 8 devices. 602 On OpenISA-based controllers, the hardware imposes a limit of 8 devices. 603 604config BT_CTLR_RL_SIZE 605 int "LE Controller-based Privacy Resolving List size" 606 depends on BT_CTLR_PRIVACY 607 default 8 608 range 1 8 if SOC_COMPATIBLE_NRF 609 range 1 8 if SOC_OPENISA_RV32M1 610 help 611 Set the size of the Resolving List for LE Controller-based Privacy. 612 On nRF5x-based controllers, the hardware imposes a limit of 8 devices. 613 On OpenISA-based controllers, the hardware imposes a limit of 8 devices. 614 615config BT_CTLR_EXT_SCAN_FP 616 bool "LE Extended Scanner Filter Policies" 617 depends on BT_OBSERVER && BT_CTLR_EXT_SCAN_FP_SUPPORT 618 default y 619 help 620 Enable support for Bluetooth v4.2 LE Extended Scanner Filter Policies 621 in the Controller. 622 623config BT_CTLR_PHY_2M 624 bool "2Mbps PHY Support" 625 depends on (BT_CTLR_PHY || BT_CTLR_ADV_EXT) && BT_CTLR_PHY_2M_SUPPORT 626 default y 627 help 628 Enable support for Bluetooth 5.0 2Mbps PHY in the Controller. 629 630config BT_CTLR_PHY_CODED 631 bool "Coded PHY Support" 632 depends on (BT_CTLR_PHY || BT_CTLR_ADV_EXT) && BT_CTLR_PHY_CODED_SUPPORT 633 default y if BT_HCI_RAW 634 help 635 Enable support for Bluetooth 5.0 Coded PHY in the Controller. 636 637config BT_CTLR_CHAN_SEL_2 638 bool "Channel Selection Algorithm #2" 639 depends on (BT_CONN || (BT_BROADCASTER && BT_CTLR_ADV_EXT) || BT_CTLR_ADV_PERIODIC || BT_CTLR_SYNC_PERIODIC) && BT_CTLR_CHAN_SEL_2_SUPPORT 640 default y 641 help 642 Enable support for Bluetooth 5.0 LE Channel Selection Algorithm #2 in 643 the Controller. 644 645config BT_CTLR_ADV_EXT 646 bool "LE Advertising Extensions" 647 depends on BT_CTLR_ADV_EXT_SUPPORT 648 select BT_CTLR_CHAN_SEL_2 if BT_LL_SW_SPLIT && BT_BROADCASTER 649 select BT_CTLR_SCAN_REQ_NOTIFY if BT_LL_SW_SPLIT && BT_BROADCASTER 650 default y if BT_EXT_ADV 651 help 652 Enable support for Bluetooth 5.0 LE Advertising Extensions in the 653 Controller. 654 655if BT_CTLR_ADV_EXT 656 657config BT_CTLR_ADV_SET 658 int "LE Advertising Extensions Sets" 659 depends on BT_BROADCASTER 660 range 1 64 661 default BT_EXT_ADV_MAX_ADV_SET if BT_EXT_ADV 662 help 663 Maximum supported advertising sets. 664 665config BT_CTLR_ADV_INTERVAL_MAX 666 hex "Primary Advertising Interval Maximum" 667 depends on BT_BROADCASTER 668 range 0x000020 0x004000 if BT_LL_SW_SPLIT 669 range 0x000020 0xFFFFFF 670 default 0x004000 if BT_LL_SW_SPLIT 671 default 0xFFFFFF 672 help 673 Supported Primary Advertising Interval Maximum value. 674 Bluetooth Core Specification v5.3 permitted range is 0x000020 to 675 0xFFFFFF in 0.625 ms units. 676 677config BT_CTLR_ADV_DATA_LEN_MAX 678 int "Maximum Advertising Data Length" 679 depends on BT_BROADCASTER 680 range 31 191 if BT_LL_SW_SPLIT && !BT_CTLR_ADV_DATA_CHAIN 681 range 31 1650 682 help 683 Maximum Extended Advertising Data Length. 684 685config BT_CTLR_ADV_PERIODIC 686 bool "LE Periodic Advertising in Advertising State" 687 depends on BT_BROADCASTER && BT_CTLR_ADV_PERIODIC_SUPPORT 688 select BT_CTLR_CHAN_SEL_2 689 default y if BT_PER_ADV 690 help 691 Enable support for Bluetooth 5.0 LE Periodic Advertising in the 692 Controller. 693 694config BT_CTLR_ADV_PERIODIC_RSP 695 bool "LE Periodic Advertising with Responses in Advertising State" 696 depends on BT_BROADCASTER && BT_CTLR_ADV_PERIODIC_RSP_SUPPORT 697 select BT_CTLR_CHAN_SEL_2 698 default y if BT_PER_ADV_RSP 699 help 700 Enable support for Bluetooth 5.4 LE Periodic Advertising with 701 Responses in the Controller. 702 703if BT_CTLR_ADV_PERIODIC 704 705config BT_CTLR_ADV_PERIODIC_ADI_SUPPORT 706 bool "Periodic Advertising ADI support" 707 default y 708 help 709 Enable support for adding AdvDataInfo in Periodic Advertising PDUs. 710 711config BT_CTLR_ADV_PERIODIC_INTERVAL_MAX 712 hex "Periodic Advertising Interval Maximum" 713 range 0x0006 0x2000 if BT_LL_SW_SPLIT 714 range 0x0006 0xFFFF 715 default 0x2000 if BT_LL_SW_SPLIT 716 default 0xFFFF 717 help 718 Supported Periodic Advertising Interval Maximum value. 719 Bluetooth Core Specification v5.3 permitted range is 0x0006 to 720 0xFFFF in 1.25 ms units. 721 722endif # BT_CTLR_ADV_PERIODIC 723 724config BT_CTLR_SYNC_PERIODIC 725 bool "LE Periodic Advertising in Synchronization State" 726 depends on BT_OBSERVER && BT_CTLR_SYNC_PERIODIC_SUPPORT 727 select BT_CTLR_CHAN_SEL_2 728 default y if BT_PER_ADV_SYNC 729 help 730 Enable support for Bluetooth 5.0 LE Periodic Advertising in 731 Synchronization state in the Controller. 732 733config BT_CTLR_SYNC_PERIODIC_RSP 734 bool "LE Periodic Advertising with Responses in Synchronization State" 735 depends on BT_OBSERVER && BT_CTLR_SYNC_PERIODIC_RSP_SUPPORT 736 select BT_CTLR_CHAN_SEL_2 737 default y if BT_PER_ADV_SYNC_RSP 738 help 739 Enable support for Bluetooth 5.4 LE Periodic Advertising with 740 Responses in Synchronization state in the Controller. 741 742if BT_CTLR_SYNC_PERIODIC 743 744config BT_CTLR_SYNC_PERIODIC_ADV_LIST 745 bool "LE Periodic Advertiser List support" 746 default y 747 help 748 Enable support for LE Periodic Advertiser List support. 749 750config BT_CTLR_SYNC_PERIODIC_ADV_LIST_SIZE 751 int "LE Periodic Advertiser List size" 752 depends on BT_CTLR_SYNC_PERIODIC_ADV_LIST 753 range 1 $(UINT8_MAX) 754 default 8 755 help 756 Set Periodic Advertiser List size, this will be return in the HCI LE 757 Read Periodic Advertiser List Command. 758 759config BT_CTLR_SYNC_PERIODIC_ADI_SUPPORT 760 bool "Periodic Advertising Sync with ADI support (duplicate filtering)" 761 default y 762 help 763 Enable support for duplicate filtering using AdvDataInfo present in 764 Periodic Advertising PDUs. 765 766config BT_CTLR_SYNC_PERIODIC_CTE_TYPE_FILTERING 767 bool "LE Periodic Advertiser filtering by CTE type" 768 default y 769 help 770 Enable filtering of periodic advertisements depending on type of 771 Constant Tone Extension. 772 773config BT_CTLR_SYNC_TRANSFER_RECEIVER 774 bool "Periodic Advertising Sync Transfer receiver" 775 depends on BT_CTLR_SYNC_TRANSFER_RECEIVER_SUPPORT 776 default BT_PER_ADV_SYNC_TRANSFER_RECEIVER 777 help 778 Enable support for the Periodic Advertising Sync Transfer control procedure 779 as a receiver of the LL_PERIODIC_SYNC_IND. See Core_v5.3, Vol 6, Part B, 780 Section 5.1.13 781 782endif # BT_CTLR_SYNC_PERIODIC 783 784config BT_CTLR_SYNC_TRANSFER_SENDER 785 bool "Periodic Advertising Sync Transfer sender" 786 depends on BT_CTLR_SYNC_TRANSFER_SENDER_SUPPORT 787 default BT_PER_ADV_SYNC_TRANSFER_SENDER 788 help 789 Enable support for the Periodic Advertising Sync Transfer control procedure 790 as a transmitter of the LL_PERIODIC_SYNC_IND. See Core_v5.3, Vol 6, Part B, 791 Section 5.1.13 792 793config BT_CTLR_ADV_ISO 794 bool "LE Broadcast Isochronous Channel advertising" if !BT_LL_SW_SPLIT 795 depends on BT_BROADCASTER && BT_CTLR_ADV_ISO_SUPPORT 796 select BT_CTLR_ADV_PERIODIC 797 select BT_CTLR_SET_HOST_FEATURE 798 default y if BT_ISO_BROADCASTER 799 help 800 Enable support for Bluetooth 5.2 LE Isochronous Advertising in the 801 Controller. 802 803config BT_CTLR_ADV_ISO 804 bool "LE Broadcast Isochronous Channel advertising (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT 805 select EXPERIMENTAL if BT_LL_SW_SPLIT 806 807config BT_CTLR_SYNC_ISO 808 bool "LE Broadcast Isochronous Channel advertising sync" if !BT_LL_SW_SPLIT 809 depends on BT_OBSERVER && BT_CTLR_SYNC_ISO_SUPPORT 810 select BT_CTLR_SYNC_PERIODIC 811 select BT_CTLR_SET_HOST_FEATURE 812 default y if BT_ISO_SYNC_RECEIVER 813 help 814 Enable support for Bluetooth 5.2 LE Isochronous Advertising sync in 815 the Controller. 816 817config BT_CTLR_SYNC_ISO 818 bool "LE Broadcast Isochronous Channel advertising sync (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT 819 select EXPERIMENTAL if BT_LL_SW_SPLIT 820 821config BT_CTLR_BROADCAST_ISO 822 bool 823 default BT_CTLR_ADV_ISO || BT_CTLR_SYNC_ISO 824 825config BT_CTLR_BROADCAST_ISO_ENC 826 bool 827 depends on BT_CTLR_CRYPTO_SUPPORT && BT_CTLR_BROADCAST_ISO 828 select BT_CRYPTO if BT_LL_SW_SPLIT 829 default y 830 831config BT_CTLR_ADV_ISO_SET 832 int "LE Isochronous Channel advertising sets" 833 depends on BT_CTLR_ADV_ISO 834 range 1 32 835 default BT_ISO_MAX_BIG 836 help 837 Maximum supported advertising sets. 838 839config BT_CTLR_ADV_ISO_STREAM_MAX 840 int "Maximum supported Broadcast ISO Streams per Broadcast ISO group" 841 depends on BT_CTLR_ADV_ISO 842 range 1 31 843 help 844 Maximum supported Broadcast ISO Streams per Broadcast ISO group. 845 846config BT_CTLR_ADV_ISO_STREAM_COUNT 847 int "Maximum Broadcast ISO Streams" 848 depends on BT_CTLR_ADV_ISO 849 range BT_CTLR_ADV_ISO_STREAM_MAX 64 850 default BT_ISO_MAX_CHAN 851 help 852 Maximum Broadcast ISO Streams supported in the Controller across 853 all Broadcast ISO groups. 854 855config BT_CTLR_ADV_ISO_PDU_LEN_MAX 856 int "Maximum Broadcast Isochronous Channel PDU Length" 857 depends on BT_CTLR_ADV_ISO 858 range 1 251 859 default 251 860 help 861 Maximum Broadcast Isochronous Channel PDU Length. 862 863config BT_CTLR_SCAN_SYNC_ISO_SET 864 int "LE ISO Broadcast Isochronous Groups Sync Sets" 865 depends on BT_CTLR_SYNC_ISO 866 range 1 64 867 default BT_ISO_MAX_BIG 868 help 869 Maximum supported broadcast isochronous groups (BIGs) sync sets. 870 871config BT_CTLR_SYNC_ISO_STREAM_MAX 872 int "Maximum supported ISO Synchronized Receiver Streams per Broadcast ISO group" 873 depends on BT_CTLR_SYNC_ISO 874 range 1 31 875 help 876 Maximum supported ISO Synchronized Receiver Streams per Broadcast ISO 877 group. 878 879config BT_CTLR_SYNC_ISO_STREAM_COUNT 880 int "Maximum ISO Synchronized Receiver Streams" 881 depends on BT_CTLR_SYNC_ISO 882 range BT_CTLR_SYNC_ISO_STREAM_MAX 64 883 default BT_ISO_MAX_CHAN 884 help 885 Maximum ISO Synchronized Receiver Streams supported in the 886 Controller across all Broadcast ISO groups. 887 888config BT_CTLR_SYNC_ISO_PDU_LEN_MAX 889 int "Maximum Synchronized Isochronous Channel PDU Length" 890 depends on BT_CTLR_SYNC_ISO 891 range 251 251 if BT_HCI_RAW 892 range 1 251 893 default 251 894 help 895 Maximum Synchronized Receiver Isochronous Channel PDU Length. 896 897endif # BT_CTLR_ADV_EXT 898 899config BT_CTLR_SET_HOST_FEATURE 900 bool "LE Set Host Feature Command" if !BT_LL_SW_SPLIT 901 help 902 Enables optional LE Set Host Feature Command 903 904config BT_CTLR_SET_HOST_FEATURE 905 bool "LE Set Host Feature Command (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT 906 select EXPERIMENTAL if BT_LL_SW_SPLIT 907 908config BT_CTLR_CENTRAL_ISO 909 bool "LE Connected Isochronous Stream Central" if !BT_LL_SW_SPLIT 910 depends on BT_CTLR_CENTRAL_ISO_SUPPORT && BT_CENTRAL 911 default y if BT_ISO_CENTRAL 912 help 913 Enable support for Bluetooth 5.2 LE Connected Isochronous Stream 914 Central role in the Controller. 915 916config BT_CTLR_CENTRAL_ISO 917 bool "LE Connected Isochronous Stream Central (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT 918 select BT_CTLR_SET_HOST_FEATURE 919 select EXPERIMENTAL if BT_LL_SW_SPLIT 920 921config BT_CTLR_PERIPHERAL_ISO 922 bool "LE Connected Isochronous Stream Peripheral" if !BT_LL_SW_SPLIT 923 depends on BT_CTLR_PERIPHERAL_ISO_SUPPORT && BT_PERIPHERAL 924 default y if BT_ISO_PERIPHERAL 925 help 926 Enable support for Bluetooth 5.2 LE Connected Isochronous Stream 927 Peripheral role in the Controller. 928 929config BT_CTLR_PERIPHERAL_ISO 930 bool "LE Connected Isochronous Stream Peripheral (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT 931 select BT_CTLR_SET_HOST_FEATURE 932 select EXPERIMENTAL if BT_LL_SW_SPLIT 933 934config BT_CTLR_CONN_ISO 935 bool 936 default BT_CTLR_CENTRAL_ISO || BT_CTLR_PERIPHERAL_ISO 937 938config BT_CTLR_CONN_ISO_STREAMS 939 int "LE Connected Isochronous Streams" 940 depends on BT_CTLR_CONN_ISO 941 range 1 64 942 default BT_ISO_MAX_CHAN 943 help 944 Maximum supported total number of CISes. 945 946config BT_CTLR_CONN_ISO_GROUPS 947 int "LE Connected Isochronous Groups" 948 depends on BT_CTLR_CONN_ISO 949 range 1 240 950 default BT_ISO_MAX_CIG 951 help 952 Maximum supported CIGs. 953 954config BT_CTLR_CONN_ISO_STREAMS_PER_GROUP 955 int "LE Connected Isochronous Streams per Group" 956 depends on BT_CTLR_CONN_ISO 957 range 1 31 958 default 2 959 help 960 Maximum supported CISes per CIG. 961 962config BT_CTLR_CONN_ISO_PDU_LEN_MAX 963 int "Maximum Connected Isochronous Channel PDU Length" 964 depends on BT_CTLR_CONN_ISO 965 range 251 251 if BT_HCI_RAW 966 range 1 251 967 default 251 968 help 969 Maximum Connected Isochronous Channel PDU Length. 970 971config BT_CTLR_CONN_ISO_SDU_LEN_MAX 972 int "Maximum Connected Isochronous Channel SDU Length" 973 depends on BT_CTLR_CONN_ISO 974 range 1 4095 975 default 251 976 help 977 Maximum Connected Isochronous Channel SDU Length. 978 979config BT_CTLR_CONN_ISO_STREAMS_MAX_NSE 980 int "LE Connected Isochronous Streams max number of subevents" 981 depends on BT_CTLR_CONN_ISO 982 range 1 31 983 default 31 984 help 985 Maximum number of CIS subevents. 986 987config BT_CTLR_CONN_ISO_STREAMS_MAX_FT 988 int "LE Connected Isochronous Streams max flush timeout" 989 depends on BT_CTLR_CONN_ISO 990 range 1 $(UINT8_MAX) 991 default $(UINT8_MAX) 992 help 993 Maximum number of CIS flush timeout events. 994 995config BT_CTLR_ISO 996 bool 997 default BT_CTLR_BROADCAST_ISO || BT_CTLR_CONN_ISO 998 999config BT_CTLR_READ_ISO_LINK_QUALITY 1000 bool "LE Read ISO Link Quality" 1001 depends on BT_CTLR_READ_ISO_LINK_QUALITY_SUPPORT 1002 depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO 1003 help 1004 Enable support for LE Read ISO Link Quality command. 1005 1006config BT_CTLR_SMI_RX 1007 bool "Stable modulation index - Receiver" 1008 depends on BT_CTLR_SMI_SUPPORT 1009 help 1010 Enable support for Bluetooth 5.0 SMI RX in the Controller. 1011 1012config BT_CTLR_SMI_TX 1013 bool "Stable modulation index - Transmitter" 1014 depends on BT_CTLR_SMI_SUPPORT 1015 help 1016 Enable support for Bluetooth 5.0 SMI TX in the Controller. 1017 1018config BT_CTLR_SMI_TX_SETTING 1019 bool "Stable modulation index - Transmitter as setting" 1020 depends on BT_CTLR_SMI_TX && BT_CTLR_SETTINGS 1021 help 1022 Enable support for Bluetooth 5.0 SMI TX through a system setting. 1023 1024config BT_CTLR_HCI_CODEC_AND_DELAY_INFO 1025 bool "Codecs and controller delay information commands" 1026 depends on BT_CTLR_HCI 1027 help 1028 Enable HCI commands to read information about supported 1029 codecs, codec capabilities, and controller delay. 1030 1031config BT_CTLR_SUBRATING 1032 bool "LE Connection Subrating" 1033 depends on BT_CTLR_SUBRATING_SUPPORT 1034 select BT_CTLR_SET_HOST_FEATURE 1035 help 1036 Enable support for Bluetooth v5.3 LE Connection Subrating 1037 in the Controller. 1038 1039rsource "Kconfig.df" 1040rsource "Kconfig.ll_sw_split" 1041rsource "Kconfig.dtm" 1042 1043config BT_CTLR_ASSERT_HANDLER 1044 bool "Application Defined Assertion Handler" 1045 help 1046 This option enables an application-defined sink for the 1047 controller assertion mechanism. This must be defined in 1048 application code as void \"bt_ctlr_assert_handle(char \*, int)\" 1049 and will be invoked whenever the controller code encounters 1050 an unrecoverable error. 1051 1052config BT_CTLR_VS_SCAN_REQ_RX 1053 bool "Use scan request reporting" 1054 depends on BT_HCI_VS && !BT_CTLR_ADV_EXT 1055 select BT_CTLR_SCAN_REQ_NOTIFY 1056 help 1057 Enables usage of VS Scan Request Reports Command and Scan Request Received Event 1058 1059endif # BT_CTLR 1060 1061config BT_CTLR_DEBUG_PINS_CPUAPP 1062 bool "Bluetooth Controller Debug Pins" 1063 depends on BOARD_NRF5340DK_NRF5340_CPUAPP 1064 help 1065 Route debug GPIO toggling for the BLE Controller. Enable this when 1066 using Bluetooth Controller Debug Pins in co-processor and the main 1067 processor needs to setup and/or route the signals. 1068