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