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