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