1# Zephyr Bluetooth Controller configuration options 2 3# Copyright (c) 2016-2017 Nordic Semiconductor ASA 4# SPDX-License-Identifier: Apache-2.0 5 6if BT_LL_SW_SPLIT 7 8config BT_LLL_VENDOR_NORDIC 9 bool "Use Nordic LLL" 10 depends on SOC_COMPATIBLE_NRF 11 depends on !$(dt_nodelabel_enabled,timer0) 12 depends on !$(dt_nodelabel_enabled,rtc0) 13 14 select ENTROPY_NRF5_RNG 15 select ENTROPY_NRF5_BIAS_CORRECTION 16 17 select BT_HAS_HCI_VS 18 select BT_CTLR_LE_ENC_SUPPORT if !BT_CTLR_DATA_LENGTH_CLEAR && \ 19 !BT_CTLR_PHY_2M_NRF 20 select BT_CTLR_CONN_PARAM_REQ_SUPPORT 21 select BT_CTLR_EXT_REJ_IND_SUPPORT 22 select BT_CTLR_PER_INIT_FEAT_XCHG_SUPPORT 23 select BT_CTLR_DATA_LEN_UPDATE_SUPPORT if HAS_HW_NRF_CCM_LFLEN_8BIT || \ 24 BT_CTLR_DATA_LENGTH_CLEAR 25 select BT_CTLR_PRIVACY_SUPPORT if !SOC_SERIES_NRF51X 26 select BT_CTLR_EXT_SCAN_FP_SUPPORT 27 select BT_CTLR_PHY_2M_SUPPORT if HAS_HW_NRF_RADIO_BLE_2M || \ 28 BT_CTLR_PHY_2M_NRF 29 select BT_CTLR_PHY_CODED_SUPPORT if HAS_HW_NRF_RADIO_BLE_CODED 30 select BT_CTLR_PHY_UPDATE_SUPPORT if BT_CTLR_PHY_2M_SUPPORT || \ 31 BT_CTLR_PHY_CODED_SUPPORT 32 select BT_CTLR_ADV_EXT_SUPPORT 33 select BT_CTLR_ADV_PERIODIC_SUPPORT 34 select BT_CTLR_SYNC_PERIODIC_SUPPORT 35 select BT_CTLR_ADV_ISO_SUPPORT 36 select BT_CTLR_SYNC_ISO_SUPPORT 37 select BT_CTLR_CENTRAL_ISO_SUPPORT 38 select BT_CTLR_PERIPHERAL_ISO_SUPPORT 39 select BT_CTLR_DF_SUPPORT if HAS_HW_NRF_RADIO_DFE 40 select BT_CTLR_CTEINLINE_SUPPORT if HAS_HW_NRF_RADIO_DFE 41 select BT_CTLR_CHAN_SEL_2_SUPPORT 42 select BT_CTLR_MIN_USED_CHAN_SUPPORT 43 select BT_CTLR_SCA_UPDATE_SUPPORT 44 select BT_CTLR_DTM_HCI_SUPPORT 45 select BT_CTLR_CONN_RSSI_SUPPORT 46 47 select BT_CTLR_XTAL_ADVANCED_SUPPORT 48 select BT_CTLR_SCHED_ADVANCED_SUPPORT 49 select BT_CTLR_TIFS_HW_SUPPORT 50 select BT_CTLR_ULL_LLL_PRIO_SUPPORT 51 52 select BT_TICKER_UPDATE if BT_BROADCASTER || BT_CONN || \ 53 (BT_OBSERVER && BT_CTLR_ADV_EXT) 54 select BT_TICKER_REMAINDER if BT_CTLR_CENTRAL_ISO 55 select BT_TICKER_REMAINDER_GET if BT_BROADCASTER && BT_CTLR_ADV_EXT 56 select BT_TICKER_LAZY_GET if BT_CTLR_ADV_PERIODIC || BT_CTLR_CENTRAL_ISO 57 58 select BT_TICKER_PREFER_START_BEFORE_STOP if BT_TICKER_SLOT_AGNOSTIC 59 60 default y 61 help 62 Use Nordic Lower Link Layer implementation. 63 64config BT_LLL_VENDOR_OPENISA 65 bool "Use OpenISA LLL" 66 depends on SOC_OPENISA_RV32M1_RISCV32 67 select BT_CTLR_PHY_UPDATE_SUPPORT 68 select BT_CTLR_EXT_REJ_IND_SUPPORT 69 select BT_HAS_HCI_VS 70 select BT_CTLR_LE_ENC_SUPPORT if !BT_CTLR_DATA_LENGTH_CLEAR 71 select BT_CTLR_PRIVACY_SUPPORT 72 73 select BT_TICKER_UPDATE if BT_BROADCASTER || BT_CONN 74 75 default y 76 help 77 Use OpenISA Lower Link Layer implementation. 78 79# BT_CTLR_DF_SUPPORT is a wrapper for all DF features. Here we select features that are supported by 80# Zephyr's BLE Controller. 81config BT_CTLR_DF_SUPPORT 82 depends on BT_LL_SW_SPLIT && !BT_CTLR_TIFS_HW 83 select BT_CTLR_DF_CTE_TX_SUPPORT 84 select BT_CTLR_DF_ANT_SWITCH_2US_SUPPORT 85 select BT_CTLR_DF_ANT_SWITCH_1US_SUPPORT 86 select BT_CTLR_DF_CTE_RX_SUPPORT 87 select BT_CTLR_DF_CTE_RX_SAMPLE_1US_SUPPORT 88 89config BT_CTLR_XTAL_ADVANCED_SUPPORT 90 bool 91 92config BT_CTLR_SCHED_ADVANCED_SUPPORT 93 bool 94 95config BT_CTLR_TIFS_HW_SUPPORT 96 bool 97 98config BT_CTLR_ULL_LLL_PRIO_SUPPORT 99 bool 100 101config BT_CTLR_RX_PRIO_STACK_SIZE 102 # Controller's Co-Operative high priority Rx thread stack size. 103 int "High priority Rx thread stack size" 104 default 448 105 106config BT_CTLR_SETTINGS 107 bool "Settings System" 108 depends on SETTINGS 109 help 110 Enable use of settings system in controller. 111 112config BT_CTLR_VERSION_SETTINGS 113 bool "Version Settings" 114 depends on BT_CTLR_SETTINGS 115 help 116 Make the controller's Company Id and Subversion Number configurable 117 through settings system. 118 119config BT_CTLR_COMPANY_ID 120 hex "Controller Company Id" 121 default BT_COMPANY_ID 122 range 0x0000 0xFFFF 123 help 124 Set the Bluetooth Company Identifier that will be used in 125 the VERSION_IND PDU. Uses BT_COMPANY_ID by default, although 126 silicon vendors and hardware manufacturers can set their own 127 Company Identifier for the controller. The full list of Bluetooth 128 Company Identifiers can be found here: 129 https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers 130 131config BT_CTLR_SUBVERSION_NUMBER 132 hex "Subversion Number" 133 default 0xFFFF 134 range 0x0000 0xFFFF 135 help 136 Set the Subversion Number that will be used in VERSION_IND PDU. 137 138config BT_CTLR_AD_DATA_BACKUP 139 bool "Legacy AD Data backup" 140 depends on BT_PERIPHERAL || BT_CTLR_ADV_EXT 141 default y 142 help 143 Backup Legacy Advertising Data when switching to Legacy Directed or 144 to Extended Advertising mode, and restore it when switching back to 145 Legacy Non-Directed Advertising mode. 146 Application can disable this feature if not using Directed 147 Advertising or switch between Legacy and Extended Advertising. 148 149config BT_CTLR_HCI_ADV_HANDLE_MAPPING 150 bool "Advertising set handle mapping between HCI and LL" 151 depends on BT_CTLR_ADV_EXT 152 default y if BT_HCI_RAW 153 help 154 Enable mapping of advertising set handles between HCI and LL when 155 using external host since it can use arbitrary numbers as set handles 156 (as defined by Core specification) as opposed to LL which always uses 157 zero-based numbering. When using with Zephyr host this option can be 158 disabled to remove extra mapping logic. 159 160config BT_CTLR_MESH_SCAN_FILTERS 161 int "Number of Mesh scan filters" 162 depends on BT_HCI_MESH_EXT 163 default 1 164 range 1 15 165 help 166 Set the number of unique Mesh Scan Filters available as part of 167 the Intel Mesh Vendor Specific Extensions. 168 169config BT_CTLR_MESH_SF_PATTERNS 170 int "Number of Mesh scan filter patterns" 171 depends on BT_HCI_MESH_EXT 172 default 15 173 range 1 15 174 help 175 Set the number of unique Mesh Scan Filter patterns available per 176 Scan Filter as part of the Intel Mesh Vendor Specific Extensions. 177 178config BT_CTLR_CHECK_SAME_PEER_CONN 179 bool 180 depends on BT_CONN 181 default BT_MAX_CONN > 1 && !BT_CTLR_ALLOW_SAME_PEER_CONN 182 183if BT_CTLR_ADV_EXT 184 185config BT_CTLR_ADV_EXT_RX_PDU_LEN_MAX 186 int "Maximum Advertising Extensions Receive PDU Length" 187 depends on BT_OBSERVER 188 range 255 255 if BT_HCI_RAW 189 range 31 255 190 default 255 191 help 192 Maximum Advertising Extensions Receive PDU Length. 193 194config BT_CTLR_SCAN_DATA_LEN_MAX 195 int "Maximum Extended Scanning Data Length" 196 depends on BT_OBSERVER 197 range 31 1650 198 help 199 Maximum Extended Scanning Data Length. 200 201config BT_CTLR_CHECK_SAME_PEER_SYNC 202 # Hidden Kconfig to add same peer synchronization check 203 bool 204 depends on BT_CTLR_SYNC_PERIODIC 205 default BT_PER_ADV_SYNC_MAX > 1 206 207endif # BT_CTLR_ADV_EXT 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_ISO_TX_SEG_PLAYLOAD_MIN 217 int "Minimum number of playload data bytes in a new segment" 218 depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO 219 default 1 220 range 1 64 221 help 222 Minimum number of payload bytes that would make inserting a new 223 segment into a PDU worthwhile. 224 225config BT_CTLR_CONN_ISO_HCI_DATAPATH_SKIP_INVALID_DATA 226 bool "Do not pass invalid SDUs on HCI datapath" 227 depends on BT_CTLR_CONN_ISO 228 help 229 This allows for applications to decide whether to 230 forward invalid SDUs through HCI upwards. 231 232config BT_CTLR_CONN_ISO_AVOID_SEGMENTATION 233 bool "Avoid SDU fragmentation for framed mode" 234 depends on BT_CTLR_CENTRAL_ISO 235 help 236 When creating a CIG, the Max_PDU size is calculated according to BT 237 Core 5.4 Vol 6, Part G, Section 2.2. However, HAP specifies a need for 238 avoiding segmentation by forcing the Max_PDU to the appropriate value. 239 Since there is no way to control the Max_PDU using the non-test 240 interface, the config provides a way to force the Max_PDU to Max_SDU + 241 5 (header + offset). 242 243choice 244 prompt "CIS Creation Policy Selection" 245 default BT_CTLR_CONN_ISO_RELIABILITY_POLICY 246 247config BT_CTLR_CONN_ISO_RELIABILITY_POLICY 248 bool "CIS creation policy for reliability" 249 depends on BT_CTLR_CENTRAL_ISO 250 help 251 Select this option to use reliability policy for CIS creation. This 252 favors a CIS layout/configuration which utilizes the full range of the 253 Max_Transmission_Latency for maximum retransmission and payload 254 recovery. 255 256config BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY 257 bool "CIS creation policy for low latency" 258 depends on BT_CTLR_CENTRAL_ISO 259 help 260 Select this option to use low latency policy for CIS creation. This 261 favors a CIS layout/configuration which compacts payload transmission 262 for lowest possible latency. 263endchoice 264 265config BT_CTLR_TEST 266 bool "Run in-system unit tests" 267 help 268 Run in-system unit tests 269 270config BT_CTLR_ADVANCED_FEATURES 271 bool "Show advanced features" 272 help 273 Makes advanced features visible to controller developers. 274 275menu "Advanced features" 276 visible if BT_CTLR_ADVANCED_FEATURES 277 278config BT_CTLR_SW_DEFERRED_PRIVACY 279 bool "LE Controller-based Software Privacy" 280 depends on BT_CTLR_PRIVACY 281 help 282 Enable support for software based deferred privacy calculations. 283 284config BT_CTLR_RPA_CACHE_SIZE 285 int "LE Controller-based Software Privacy Resolving List size" 286 depends on BT_CTLR_SW_DEFERRED_PRIVACY 287 default 8 288 range 1 64 289 help 290 Set the size of the Known Unknown Resolving List for LE 291 Controller-based Software deferred Privacy. 292 293config BT_CTLR_TRPA_CACHE_SIZE 294 int "LE Controller-based Software Privacy target RPA cache size" 295 depends on BT_CTLR_SW_DEFERRED_PRIVACY 296 default 4 297 range 1 64 298 help 299 Set the size of the Known Unknown Target RPA Resolving List for LE 300 Controller-based Software deferred Privacy. 301 302config BT_CTLR_DATA_LENGTH_CLEAR 303 bool "Data Length Support (Cleartext only)" 304 depends on SOC_SERIES_NRF51X 305 help 306 Enable support for Bluetooth v4.2 LE Data Length Update procedure, up to 307 251 byte cleartext payloads in the Controller. Encrypted connections 308 are not supported. 309 310 311config BT_CTLR_PHY_2M_NRF 312 bool "2Mbps Nordic Semiconductor PHY Support (Cleartext only)" 313 depends on SOC_SERIES_NRF51X 314 select BT_CTLR_PHY_2M 315 help 316 Enable support for Nordic Semiconductor proprietary 2Mbps PHY in the 317 Controller. Encrypted connections are not supported. 318 319config BT_CTLR_ADV_AUX_SET 320 int "LE Extended Advertising Auxiliary Sets" 321 depends on BT_BROADCASTER && BT_CTLR_ADV_EXT 322 range 0 BT_CTLR_ADV_SET 323 default BT_CTLR_ADV_SET 324 help 325 Maximum supported advertising auxiliary channel sets. 326 327config BT_CTLR_ADV_SYNC_SET 328 int "LE Periodic Advertising Sets" 329 depends on BT_CTLR_ADV_PERIODIC 330 range 1 BT_CTLR_ADV_AUX_SET 331 default 1 332 help 333 Maximum supported periodic advertising sets. 334 335config BT_CTLR_ADV_DATA_CHAIN 336 bool "Advertising Data chaining [EXPERIMENTAL]" 337 select EXPERIMENTAL 338 help 339 Enable support for Advertising Data chaining in Extended and 340 Periodic Advertising. This will allow to have Advertising Data Length 341 upto 1650 bytes. 342 343 This is experimental and work in progress, does not implement 344 recombining the AD Data and could return BT_HCI_ERR_PACKET_TOO_LONG 345 when a chain PDU needs its AD data overflow into a new chain PDU. 346 I.e. AD data in the last PDU could overflow due to the need to add 347 Aux Pointer field, and if this overflow bytes plus the next AD data 348 fragment length could be over 255 bytes needing additional chain PDU. 349 This is not implemented. 350 351config BT_CTLR_ADV_PDU_LINK 352 # Enables extra space in each advertising PDU to allow linking PDUs. 353 # This is required to enable advertising data trains (i.e. transmission 354 # of AUX_CHAIN_IND). 355 bool 356 357config BT_CTLR_ADV_AUX_PDU_LINK 358 # Enable chaining in Extended Advertising 359 bool 360 select BT_CTLR_ADV_PDU_LINK 361 362config BT_CTLR_ADV_AUX_PDU_BACK2BACK 363 bool "Back-to-back transmission of extended advertising trains" 364 depends on BT_BROADCASTER && BT_CTLR_ADV_EXT 365 select BT_CTLR_ADV_AUX_PDU_LINK 366 default y if BT_CTLR_ADV_DATA_LEN_MAX > 191 367 help 368 Enables transmission of AUX_CHAIN_IND in extended advertising train by 369 sending each AUX_CHAIN_IND one after another back-to-back. 370 371config BT_CTLR_ADV_AUX_PDU_BACK2BACK_AFS 372 int "AUX Frame Space for back-to-back transmission of extended advertising trains" 373 depends on BT_CTLR_ADV_AUX_PDU_BACK2BACK 374 range 300 1000 375 default 300 376 help 377 Specific AUX Frame Space to be used for back-to-back transmission of 378 extended advertising trains. Time specified in microseconds. 379 380config BT_CTLR_ADV_SYNC_PDU_LINK 381 bool 382 depends on BT_CTLR_ADV_PERIODIC 383 select BT_CTLR_ADV_PDU_LINK 384 385config BT_CTLR_ADV_SYNC_PDU_BACK2BACK 386 bool "Back-to-back transmission of periodic advertising trains" 387 depends on BT_CTLR_ADV_PERIODIC 388 select BT_CTLR_ADV_SYNC_PDU_LINK 389 help 390 Enables transmission of AUX_CHAIN_IND in periodic advertising train by 391 sending each AUX_CHAIN_IND one after another back-to-back. 392 Note, consecutive AUX_CHAIN_IND packets are not scheduled but sent at 393 a constant offset on a best effort basis. This means advertising train can 394 be preempted by other event at any time. 395 396config BT_CTLR_ADV_SYNC_PDU_BACK2BACK_AFS 397 int "AUX Frame Space for back-to-back transmission of periodic advertising trains" 398 depends on BT_CTLR_ADV_SYNC_PDU_BACK2BACK 399 range 300 1000 400 default 300 401 help 402 Specific AUX Frame Space to be used for back-to-back transmission of 403 periodic advertising trains. Time specified in microseconds. 404 405config BT_CTLR_ADV_RESERVE_MAX 406 bool "Use maximum Advertising PDU size time reservation" 407 depends on BT_BROADCASTER && BT_CTLR_ADV_EXT 408 default y 409 help 410 Use the maximum advertising PDU size time reservation considering the 411 Advertising Data could be updated from zero to maximum support size. 412 If maximum time reservation is disabled then time reservation 413 corresponding to the Advertising Data present at the time of the 414 start/enable of Advertising is used. 415 416config BT_CTLR_ADV_ISO_RESERVE_MAX 417 bool "Use maximum Broadcast ISO event time reservation" 418 depends on BT_CTLR_ADV_ISO 419 default y 420 help 421 Use maximum Broadcast ISO event time reservation. If disabled, then 422 time reservation does not include the pre-transmissions of the last 423 BIS and any Control subevents. This will allow extended or periodic 424 advertising events to preempt the BIG events but allow higher radio 425 utilizations by allowing larger BIG events when not overlapping with 426 extended or periodic advertising. 427 428config BT_CTLR_ADV_AUX_SYNC_OFFSET 429 int "Pre-defined offset between AUX_ADV_IND and AUX_SYNC_IND" 430 depends on BT_CTLR_ADV_PERIODIC 431 range 0 4000000 432 default 0 433 help 434 Define an offset between AUX_ADV_IND and AUX_SYNC_IND when using 435 Advertising Interval for the Extended Advertising and Periodic 436 Advertising that are same or multiple of each other, respectively. 437 Note, to get advertising intervals that are same or multiple, 438 the Periodic Advertising Interval shall be 10 millisecond more than 439 the Extended Advertising Interval; this is because the AUX_ADV_IND 440 PDUs are scheduled as periodic events of Extended Advertising 441 Interval plus 10 milliseconds (Advertising Random Delay) as the 442 periodic interval. 443 The offset is in microseconds, limited to an experimental maximum 444 value of 4 seconds. 445 446config BT_CTLR_ADV_DATA_BUF_MAX 447 int "Advertising Data Maximum Buffers" 448 depends on BT_BROADCASTER 449 range 1 64 if BT_CTLR_ADV_EXT 450 range 1 1 if !BT_CTLR_ADV_EXT 451 default 1 452 help 453 Maximum number of buffered Advertising Data payload across enabled 454 advertising sets. 455 456config BT_CTLR_ADV_EXT_PDU_EXTRA_DATA_MEMORY 457 bool 458 depends on BT_CTLR_ADV_EXT 459 help 460 Add additional memory to advertising PDU storage. The memory is a 461 general purpose storage for data that should be send from ULL to LLL. 462 The data stored in the memory are in synchronization with content 463 of PDU memory. 464 465 For example, the extra data memory is used for storage for parameters 466 to configure Radio peripheral to transmit CTE. The configuration data 467 must be synchronized with CTEInfo field in extended advertising header 468 that is part of PDU data. 469 470config BT_CTRL_ADV_ADI_IN_SCAN_RSP 471 bool "Include ADI in AUX_SCAN_RSP PDU" 472 depends on BT_BROADCASTER && BT_CTLR_ADV_EXT 473 help 474 Enable ADI field in AUX_SCAN_RSP PDU 475 476config BT_CTLR_SCAN_AUX_SET 477 int "LE Extended Scanning Auxiliary Sets" 478 depends on BT_OBSERVER && BT_CTLR_ADV_EXT 479 range 1 64 480 default 1 481 help 482 Maximum supported auxiliary channel scan sets. 483 484config BT_CTLR_SCAN_AUX_SYNC_RESERVE_MIN 485 bool "Use minimal Scan Auxiliary and Periodic Sync PDU time reservation" 486 depends on (BT_OBSERVER && BT_CTLR_ADV_EXT) || BT_CTLR_SYNC_PERIODIC 487 default y 488 help 489 Use minimal time reservation for Auxiliary and Periodic Sync PDU 490 reception. A peer device could scheduling multiple advertising sets 491 in a short duration with small PDUs hence using the minimal time 492 reservation would avoid skipping closely scheduled reception of 493 multiple Auxiliary or Periodic Sync PDUs. 494 495config BT_CTLR_SYNC_PERIODIC_SKIP_ON_SCAN_AUX 496 bool "Skip Periodic Sync event on overlap with Extended Scan Event" 497 depends on BT_CTLR_SYNC_PERIODIC 498 help 499 When AUX_ADV_IND or AUX_CHAIN_IND auxiliary channel PDU scan radio 500 event overlaps Periodic Sync radio event in unreserved time space, 501 let the Periodic Sync radio event be aborted so that the auxiliary 502 channel PDU can be received to generate Extended Advertising Reports. 503 504 By default we want Periodic Advertising Sync Events to take priority 505 over any overlapping Extended Advertising Primary and Auxiliary 506 channel PDU reception in order to not skip Periodic Advertising Report 507 generation. 508 509 But under simultaneous multiple Periodic Advertising Sync support with 510 small Periodic Advertising Intervals where there will be a lot of 511 overlapping Periodic Advertising Sync events, it is desirable to 512 permit Extended Advertising auxiliary PDU reception be allowed in a 513 round robin scheduling to skip the overlapping Periodic Advertising 514 Sync event. This permits new Periodic Advertising peers be discovered. 515 516config BT_CTLR_SYNC_ISO_RESERVE_MAX 517 bool "Use maximum ISO Synchronized Receiver event time reservation" 518 depends on BT_CTLR_SYNC_ISO 519 default y 520 help 521 Use maximum ISO Synchronized Receiver event time reservation. If 522 disabled, then time reservation does not include the pre-transmissions 523 and any Control subevents. 524 525config BT_CTLR_ADV_ENABLE_STRICT 526 bool "Enforce Strict Advertising Enable/Disable" 527 depends on BT_BROADCASTER 528 help 529 Enforce returning HCI Error Command Disallowed on enabling/disabling 530 already enabled/disabled advertising. 531 532config BT_CTLR_SCAN_ENABLE_STRICT 533 bool "Enforce Strict Scan Enable/Disable" 534 depends on BT_OBSERVER 535 help 536 Enforce returning HCI Error Command Disallowed on enabling/disabling 537 already enabled/disabled scanning. 538 539config BT_CTLR_ISOAL_SN_STRICT 540 bool "Enforce Strict Tx ISO Data Sequence Number use" 541 depends on !BT_CTLR_ISOAL_PSN_IGNORE && (BT_CTLR_ADV_ISO || \ 542 BT_CTLR_CONN_ISO) 543 default y 544 help 545 Enforce strict sequencing of released payloads based on the TX SDU's 546 packet sequence number. This will be effective when fragmenting an 547 SDU into unframed PDUs. 548 549 When enabled, this could result in an SDU being fragmented into 550 payload numbers that are expired (will be dropped), if the TX SDU 551 packet sequence numbers do not increment according to the SDU interval 552 and delivery of SDUs to the ISO-AL do not strictly follow the SDU 553 interval. 554 555 When disabled, TX SDUs could be shifted from their stream aligned 556 position and fragmented into payloads that are less likely to be 557 dropped. This will result in better delivery of data to the receiver 558 but at the cost of creating skews in the received stream of SDUs. 559 560config BT_CTLR_ISOAL_PSN_IGNORE 561 bool "Ignore Tx ISO Data Packet Sequence Number use" 562 depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO 563 help 564 Ignore the use of Tx ISO Data Packet Sequence Number. 565 566config BT_CTLR_ZLI 567 bool "Use Zero Latency IRQs" 568 depends on ZERO_LATENCY_IRQS 569 default y 570 help 571 Enable support for use of Zero Latency IRQ feature. Note, applications 572 shall not use Zero Latency IRQ themselves when this option is selected, 573 else will impact controller stability. 574 575config BT_CTLR_DYNAMIC_INTERRUPTS 576 bool "Use Dynamic Interrupts allocation only" 577 depends on DYNAMIC_INTERRUPTS 578 help 579 Allocate all Controller required interrupts dynamically. This makes 580 sure that interrupts are properly connected when the Controller is 581 initialized and not only during the system startup. Thanks to that 582 application is able to enable Controller and its ISR at runtime, and 583 permit use of SoC's peripheral for custom use when Bluetooth is not 584 enabled. 585 586config BT_CTLR_OPTIMIZE_FOR_SPEED 587 prompt "Optimize for Speed" if !(SOC_SERIES_NRF51X && BT_CTLR_LE_ENC) 588 bool 589 default y if BT_CTLR_LE_ENC 590 help 591 Optimize compilation of controller for execution speed. 592 593config BT_CTLR_XTAL_ADVANCED 594 bool "Advanced event preparation" 595 depends on BT_CTLR_XTAL_ADVANCED_SUPPORT 596 default y 597 help 598 Enables advanced event preparation offset ahead of radio tx/rx, taking 599 into account predictive processing time requirements in preparation to 600 the event, like control procedure handling and CPU execution speeds. 601 Crystal oscillator is retained between closely spaced consecutive 602 radio events to reduce the overall number of crystal settling current 603 consumptions. 604 605 This feature maximizes radio utilization in an average role event 606 timeslice when they are closely spaced by using a reduced offset 607 between preparation and radio event. 608 609 By disabling this feature, the controller will use a constant offset 610 between the preparation and radio event. The controller will toggle 611 crystal oscillator between two closely spaced radio events leading to 612 higher average current due to increased number of crystal settling 613 current consumptions. 614 615config BT_CTLR_XTAL_THRESHOLD 616 int "Crystal shutdown threshold in uS" 617 depends on BT_CTLR_XTAL_ADVANCED 618 default 1500 619 help 620 Configure the optimal delta in micro seconds between two consecutive 621 radio events, event done to next preparation, below which (active 622 clock) crystal will be retained. This value is board dependent. 623 624config BT_CTLR_SCHED_ADVANCED 625 bool "Advanced scheduling" 626 depends on BT_CTLR_SCHED_ADVANCED_SUPPORT && \ 627 (BT_CONN || \ 628 (BT_CTLR_ADV_EXT && (BT_CTLR_ADV_AUX_SET > 0)) || \ 629 BT_CTLR_ADV_ISO) 630 select BT_TICKER_NEXT_SLOT_GET 631 default y if BT_CENTRAL || (BT_BROADCASTER && BT_CTLR_ADV_EXT) || BT_CTLR_ADV_ISO 632 help 633 Enable non-overlapping placement of observer, initiator and central 634 roles in timespace. Uses window offset in connection updates and uses 635 connection parameter request in peripheral role to negotiate 636 non-overlapping placement with active central roles to avoid peripheral 637 roles drifting into active central roles in the local controller. 638 639 This feature maximizes the average data transmission amongst active 640 concurrent central and peripheral connections while other observer, 641 initiator, central or peripheral roles are active in the local controller. 642 643 Disabling this feature will lead to overlapping role in timespace 644 leading to skipped events amongst active roles. 645 646config BT_CTLR_ASSERT_OVERHEAD_START 647 bool "Assert on Prepare Latency" 648 default y 649 help 650 Assert on increased Radio Event Prepare callback latencies due to 651 CPU usage overheads in the Controller implementation. 652 653 Disabling this option permits the Controller to gracefully skip radio 654 events that are delayed due to CPU usage latencies; as long as the 655 radio event skips are not for every consecutive radio event interval, 656 otherwise leading to remote supervision timeout and possible missing 657 local disconnect events. 658 659config BT_CTLR_CENTRAL_SPACING 660 int "Central Connection Spacing" 661 depends on BT_CTLR_SCHED_ADVANCED 662 default 0 663 range 0 65535 664 help 665 The preferred connection spacing between multiple simultaneous central 666 roles in microseconds. The Controller will calculate the required time 667 reservation using the data length and PHY currently in use. The 668 greater of the preferred spacing and the calculated time reservation 669 will be used. 670 The precision is determined by the resolution of the platform 671 dependent ticker clock. 672 The upper range is a ceil value permitting any tuning of Controller's 673 radio handling overheads and to allow Coded PHY S8 coding scheme PDU 674 time, i.e. radio event overheads + 17040 (PDU Tx) + 150 (tIFS) + 4 675 (active clock jitter) + 17040 (PDU rx) = (radio event overheads + 676 34234) microseconds. 677 678config BT_CTLR_CENTRAL_RESERVE_MAX 679 bool "Use maximum data PDU size time reservation for Central" 680 depends on BT_CENTRAL 681 default y 682 help 683 Use the maximum data PDU size time reservation considering the Data 684 length could be updated from default 27 bytes to maximum support size. 685 If maximum time reservation is disabled then time reservation 686 corresponding to the default data length at the time of the 687 start/enable of Central role is used. 688 689 Note, currently this value is only used to space multiple central 690 connections and not for actual ticker time reservations. 691 692config BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX 693 bool "Reserve maximum event overhead in time reservations" 694 default y 695 help 696 Use radio event scheduling CPU time overhead in calculations of event 697 time reservations. 698 699 If this option is disabled, then Peripheral ACL and Peripheral ISO 700 role will not include CPU time overhead. Other role will continue to 701 use CPU overheads in their event time reservations. 702 703config BT_CTLR_SLOT_RESERVATION_UPDATE 704 bool "Update event length reservation after PHY or DLE update" 705 depends on (BT_CTLR_DATA_LENGTH || BT_CTLR_PHY) 706 default y 707 help 708 Updates the event length reservation after a completed Data Length Update 709 and/or PHY Update procedure to avoid overlap of radio events 710 711config BT_CTLR_LLL_PRIO 712 int "Lower Link Layer (Radio) IRQ priority" if (BT_CTLR_ULL_LLL_PRIO_SUPPORT && !BT_CTLR_ZLI) 713 range 0 3 if SOC_SERIES_NRF51X 714 range 0 6 if (SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X) 715 default 0 716 help 717 The interrupt priority for event preparation and radio IRQ. 718 719config BT_CTLR_ULL_HIGH_PRIO 720 int "Upper Link Layer High IRQ priority" if BT_CTLR_ULL_LLL_PRIO_SUPPORT 721 range BT_CTLR_LLL_PRIO 3 if SOC_SERIES_NRF51X 722 range BT_CTLR_LLL_PRIO 6 if (SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X) 723 default BT_CTLR_LLL_PRIO if (!BT_CTLR_ULL_LLL_PRIO_SUPPORT || BT_CTLR_ZLI || BT_CTLR_LOW_LAT) 724 default 1 725 help 726 The interrupt priority for Ticker's Worker IRQ and Upper Link Layer 727 higher priority functions. 728 729config BT_CTLR_ULL_LOW_PRIO 730 int "Upper Link Layer Low IRQ priority" if BT_CTLR_ULL_LLL_PRIO_SUPPORT 731 range BT_CTLR_ULL_HIGH_PRIO 3 if SOC_SERIES_NRF51X 732 range BT_CTLR_ULL_HIGH_PRIO 6 if (SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X) 733 default BT_CTLR_ULL_HIGH_PRIO 734 help 735 The interrupt priority for Ticker's Job IRQ and Upper Link Layer 736 lower priority functions. 737 738config BT_CTLR_LOW_LAT 739 bool "Low latency non-negotiating event preemption" 740 select BT_CTLR_LOW_LAT_ULL_DONE 741 default y if SOC_SERIES_NRF51X 742 help 743 Use low latency non-negotiating event preemption. This reduces 744 Radio ISR latencies by the controller event scheduling framework. 745 Consequently, this reduces on-air radio utilization due to redundant 746 radio state switches. 747 748config BT_CTLR_LOW_LAT_ULL 749 prompt "Low latency ULL" 750 bool 751 depends on BT_CTLR_LOW_LAT 752 default y 753 help 754 Low latency ULL implementation that uses tailchaining instead of while 755 loop to demux rx messages from LLL. 756 757config BT_CTLR_LOW_LAT_ULL_DONE 758 prompt "Low latency ULL prepare dequeue" 759 bool 760 help 761 Done events be processed and dequeued in ULL context. 762 763config BT_CTLR_CONN_META 764 prompt "Connection meta data extension" 765 bool 766 help 767 Enables vendor specific per-connection meta data as part of the 768 LLL connection object. 769 770config BT_CTLR_RX_PDU_META 771 prompt "RX pdu meta data" 772 bool 773 774config BT_CTLR_RADIO_ENABLE_FAST 775 bool "Use tTXEN/RXEN,FAST ramp-up" 776 depends on SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X 777 default y 778 help 779 Enable use of fast radio ramp-up mode. 780 781config BT_CTLR_TIFS_HW 782 bool "H/w Accelerated tIFS Trx switching" 783 depends on !BT_CTLR_RADIO_ENABLE_FAST && BT_CTLR_TIFS_HW_SUPPORT 784 default y 785 help 786 Enable use of hardware accelerated tIFS Trx switching. 787 788config BT_CTLR_SW_SWITCH_SINGLE_TIMER 789 bool "Single TIMER tIFS Trx SW switching" 790 depends on (!BT_CTLR_TIFS_HW) && (SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X) 791 help 792 Implement the tIFS Trx SW switch with the same TIMER 793 instance, as the one used for BLE event timing. Requires 794 SW switching be enabled. Using a single TIMER: 795 (+) frees up one TIMER instance 796 (+) removes jitter for HCTO implementation 797 (-) introduces drifting to the absolute time inside BLE 798 events, that increases linearly with the number of 799 packets exchanged in the event 800 (-) makes it impossible to use most of the pre-programmed 801 PPI channels for the controller, resulting in 4 channels 802 less left for other uses 803 804config BT_CTLR_PARAM_CHECK 805 bool "HCI Command Parameter checking" 806 default y if BT_HCI_RAW 807 help 808 Enable code checking HCI Command Parameters. This is not needed in 809 combined host plus controller builds, saving some code space. 810 811if BT_CONN 812 813config BT_CTLR_LLCP_CONN 814 int "Number of connections with worst-case overlapping procedures" 815 default BT_MAX_CONN 816 range 1 BT_MAX_CONN 817 help 818 Set the number connections for which worst-case buffer requirements 819 for LLCP procedures must be met. Executing LLCP procedures on 820 more than this number of connections simultaneously may cause 821 instabilities. 822 823config BT_CTLR_LLCP_TX_PER_CONN_TX_CTRL_BUF_NUM_MAX 824 int 825 default 4 826 help 827 The theoretical maximum number of tx ctrl buffers needed for any connection, is 4. 828 two for active encryption procedure plus one for rejecting a remote request 829 and one for a local terminate 830 831config BT_CTLR_LLCP_PER_CONN_TX_CTRL_BUF_NUM 832 int "Number of tx control buffers to be reserved per connection" 833 default BT_CTLR_LLCP_TX_PER_CONN_TX_CTRL_BUF_NUM_MAX 834 range 0 BT_CTLR_LLCP_TX_PER_CONN_TX_CTRL_BUF_NUM_MAX 835 help 836 Set the number control buffers that is to be pre allocated per connection 837 This defines the minimum number of buffers available for any connection 838 Setting this to non zero will ensure a connection will always have access 839 to buffer(s) for control procedure TX 840 841config BT_CTLR_LLCP_COMMON_TX_CTRL_BUF_NUM 842 int "Number of tx control buffers to be available across all connections" 843 default 0 844 range 0 255 845 help 846 Set the number control buffers that is to be available for tx. 847 This defines the size of the pool of tx buffers available 848 for control procedure tx. This pool is shared across all 849 procedures/connections with allocation through a fifo queue. 850 Configure between 0 and (4 - BT_CTLR_LLCP_PER_CONN_TX_CTRL_BUF_NUM) * BT_CTLR_LLCP_CONN 851 852config BT_CTLR_LLCP_LOCAL_PROC_CTX_BUF_NUM 853 int "Number of local control procedure contexts to be available across all connections" 854 default 6 if (BT_AUTO_PHY_UPDATE=y || BT_AUTO_DATA_LEN_UPDATE=y) && BT_CTLR_LLCP_CONN < 4 855 default 2 if BT_CTLR_LLCP_CONN = 1 856 default BT_CTLR_LLCP_CONN if BT_CTLR_LLCP_CONN > 1 857 range 2 255 858 help 859 Set the number control procedure contexts that is to be available. 860 This defines the size of the pool of control procedure contexts available 861 for handling local initiated control procedures. 862 This pool is shared across all connections, with allocation through a queue. 863 864config BT_CTLR_LLCP_REMOTE_PROC_CTX_BUF_NUM 865 int "Number of remote control procedure contexts to be available across all connections" 866 default BT_CTLR_LLCP_CONN 867 range 1 255 868 help 869 Set the number control procedure contexts that is to be available. 870 This defines the size of the pool of control procedure contexts available 871 for handling remote initiated control procedures. 872 This pool is shared across all connections, with allocation through a queue. 873 874config BT_CTLR_LLID_DATA_START_EMPTY 875 bool "Handle zero length L2CAP start frame" 876 default y if BT_HCI_RAW 877 help 878 Handle zero length L2CAP start frame. 879 880config BT_CTLR_TX_RETRY_DISABLE 881 bool "Disable Tx Retry" 882 help 883 Avoid retransmission of a PDU if peer device Nack-ed a transmission 884 in the current connection event, close the connection event so as to 885 save current consumption on retries (in case peer has no buffers to 886 receive new PDUs). 887 888 Enabling this will lower power consumption, but increase transmission 889 latencies by one connection interval as the next attempt to send a PDU 890 would happen in the next connection event instead of repeated retries 891 in the current connection event. 892 893config BT_CTLR_THROUGHPUT 894 bool "Measure incoming Tx throughput" 895 help 896 Measure incoming Tx throughput and log the results. 897 898config BT_CTLR_FORCE_MD_COUNT 899 int "Forced MD bit count" if !BT_CTLR_FORCE_MD_AUTO 900 depends on !BT_CTLR_LOW_LAT_ULL 901 range 0 255 902 default 1 if BT_CTLR_FORCE_MD_AUTO 903 default 0 904 help 905 No. of times to force MD bit to be set in Tx PDU after a successful 906 transmission of non-empty PDU. 907 908 This will prolong the connection event to from being closed in cases 909 where applications want to send data in same connection event but are 910 slow in providing new Tx data. 911 912config BT_CTLR_FORCE_MD_AUTO 913 bool "Forced MD bit automatic calculation" 914 depends on !BT_CTLR_LOW_LAT_ULL 915 select BT_CTLR_THROUGHPUT 916 default y if BT_HCI_RAW 917 help 918 Force MD bit in transmitted PDU based on runtime incoming transmit 919 data throughput. 920 921config BT_CTLR_CONN_RANDOM_FORCE 922 bool "Random forced scheduling for peripheral on missed anchor point" 923 depends on BT_PERIPHERAL 924 default y 925 help 926 When enabled, controller will have legacy behavior and randomly force 927 priority at next ticker scheduling for peripheral role, if anchor point is 928 missed. 929 Two or more connections with similar interval on a device connected 930 to a peer device having two or more connections at its end with same 931 interval could lock to a round robin pattern where in neither of the central 932 nor peripheral event would be in sync at either end. Randomness allows 933 to break this locked round robin pattern permitting an anchor point sync. 934 935config BT_CTLR_CONN_RSSI_EVENT 936 bool "Connection RSSI event" 937 depends on BT_CTLR_CONN_RSSI 938 help 939 Generate events for connection RSSI measurement. 940 941config BT_CTLR_ALLOW_SAME_PEER_CONN 942 bool "Allow connection requests from same peer" 943 depends on BT_MAX_CONN > 1 944 help 945 Allow connection requests from the same peer. While the 946 Bluetooth specification does not allow multiple connections 947 with the same peer, allowing such connections is useful 948 while debugging multiple connections. 949 950 WARNING: This option enables behavior that violates the Bluetooth 951 specification. 952 953endif # BT_CONN 954 955config BT_CTLR_ADV_INDICATION 956 bool "Advertisement indications" 957 depends on BT_BROADCASTER 958 help 959 Generate events indicating on air advertisement events. 960 961config BT_CTLR_SCAN_REQ_NOTIFY 962 bool "Scan Request Notifications" 963 depends on BT_BROADCASTER 964 help 965 Generate events notifying the on air scan requests received. 966 967config BT_CTLR_SCAN_REQ_RSSI 968 bool "Measure Scan Request RSSI" 969 depends on BT_CTLR_SCAN_REQ_NOTIFY 970 help 971 Measure RSSI of the on air scan requests received. 972 973config BT_CTLR_SCAN_INDICATION 974 bool "Scanner indications" 975 depends on BT_OBSERVER 976 help 977 Generate events indicating on air scanner events. 978 979config BT_CTLR_SCAN_UNRESERVED 980 bool "Unreserved scan window" 981 depends on BT_OBSERVER && !BT_CTLR_LOW_LAT 982 default y if BT_MESH 983 help 984 Scanner will not use time space reservation for scan window when in 985 continuous scan mode. 986 987config BT_CTLR_EARLY_ABORT_PREVIOUS_PREPARE 988 bool "Early abort previous prepare" 989 default y 990 help 991 Early abort previous prepare present before a short prepare is 992 enqueued in the prepare pipeline. 993 994config BT_MAYFLY_YIELD_AFTER_CALL 995 bool "Yield from mayfly thread after first call" 996 default y 997 help 998 Only process one mayfly callback per invocation (legacy behavior). 999 If set to 'n', all pending mayflies for callee are executed before 1000 yielding 1001 1002config BT_TICKER_LOW_LAT 1003 bool "Ticker low latency mode" 1004 default y if SOC_SERIES_NRF51X 1005 help 1006 This option enables legacy ticker scheduling which defers overlapping 1007 ticker node timeouts and thereby prevents ticker interrupts during 1008 radio RX/TX. Enabling this option disables the ticker priority- and 1009 'must expire' features. 1010 1011config BT_TICKER_UPDATE 1012 bool "Ticker Update" 1013 help 1014 This option enables Ticker Update interface. 1015 1016config BT_TICKER_REMAINDER 1017 bool "Ticker Remainder" 1018 help 1019 This option enables Ticker Start interface remainder parameter for 1020 first expire timeout. 1021 1022config BT_TICKER_JOB_IDLE_GET 1023 bool "Ticker Job Idle Get" 1024 default y if BT_TICKER_LOW_LAT 1025 help 1026 This option enables the ticker interface to query the idle state of 1027 the Ticker Job execution context. This interface is used to disable 1028 Ticker Job execution once in idle state, no operations pending for the 1029 Ticker Job to process. 1030 1031config BT_TICKER_NEXT_SLOT_GET 1032 bool "Ticker Next Slot Get" 1033 help 1034 This option enables ticker interface to iterate through active 1035 ticker nodes, returning tick to expire. 1036 1037config BT_TICKER_REMAINDER_GET 1038 bool "Ticker Next Slot Get with Remainder" 1039 select BT_TICKER_NEXT_SLOT_GET 1040 select BT_TICKER_NEXT_SLOT_GET_MATCH 1041 default y 1042 help 1043 This option enables ticker interface to iterate through active 1044 ticker nodes, returning tick to expire and remainder from a reference 1045 tick. 1046 1047config BT_TICKER_LAZY_GET 1048 bool "Ticker Next Slot Get with Lazy" 1049 select BT_TICKER_NEXT_SLOT_GET 1050 select BT_TICKER_NEXT_SLOT_GET_MATCH 1051 help 1052 This option enables ticker interface to iterate through active 1053 ticker nodes, returning tick to expire and lazy count from a reference 1054 tick. 1055 1056config BT_TICKER_NEXT_SLOT_GET_MATCH 1057 bool "Ticker Next Slot Get with match callback" 1058 depends on BT_TICKER_NEXT_SLOT_GET 1059 default y if BT_TICKER_SLOT_AGNOSTIC 1060 help 1061 This option enables ticker interface to iterate through active 1062 ticker nodes with a callback for every found ticker node. When 1063 returning true in the callback, iteration will stop and the normal 1064 operation callback invoked. 1065 1066config BT_TICKER_EXT 1067 bool "Ticker extensions" 1068 depends on !BT_TICKER_LOW_LAT 1069 default y if BT_BROADCASTER 1070 help 1071 This option enables ticker extensions such as re-scheduling of 1072 ticker nodes with slot_window set to non-zero. Ticker extensions 1073 are invoked by using available '_ext' versions of ticker interface 1074 functions. 1075 1076config BT_TICKER_EXT_SLOT_WINDOW_YIELD 1077 bool "Tickers with slot window always yields" 1078 depends on BT_TICKER_EXT 1079 default y if BT_CTLR_ADV_ISO 1080 help 1081 This options forces tickers with slot window extensions to yield to 1082 normal tickers and be placed at the end of their slot window. 1083 1084config BT_TICKER_EXT_EXPIRE_INFO 1085 bool "Ticker timeout with other ticker's expire information" 1086 select BT_TICKER_EXT 1087 help 1088 This option enables ticker to return expiration info. The extended 1089 ticker interface) is used to ask for expiration information for 1090 another ticker id to be returned in the ticker callback. This utilises 1091 the extended ticker interface and a callback function with a different 1092 context to keep the current ticker interface as unchanged as possible. 1093 1094config BT_TICKER_PRIORITY_SET 1095 bool "Tickers with priority based collision resolution" 1096 depends on BT_TICKER_EXT 1097 help 1098 This option provide tickers with persistent priority value that will 1099 be used in resolving collisions. 1100 1101 The priority feature if enabled then a custom ULL is needed by vendors 1102 to avoid repeated skipping of overlapping events as next_has_priority 1103 check uses lazy value that would be always lazy_next > lazy_current as 1104 currently skipped event becomes the next event with lazy value 1105 incremented by 1. This repeated skip happens when all the time 1106 between the event intervals are occupied continuously by overlapping 1107 tickers. 1108 1109config BT_TICKER_SLOT_AGNOSTIC 1110 bool "Slot agnostic ticker mode" 1111 help 1112 This option enables slot agnostic ticker mode, which ignores slot 1113 reservations and collision handling, and operates as a simple 1114 multi-instance programmable timer. 1115 1116config BT_TICKER_PREFER_START_BEFORE_STOP 1117 bool "Ticker prefer start before stop request" 1118 help 1119 Under race conditions wherein for a given ticker node if a number of 1120 start and stop operations are enqueued towards ticker_job by a said 1121 user execution context, then start operations is preferred to be 1122 processed before stop operations. 1123 1124 Without this option, the default behavior is to defer all start 1125 requests after all stop requests enqueued by all user context having 1126 been processed. The rationale for default behavior being that under 1127 race conditions, start followed by stop requests, or start before stop 1128 requests, the said ticker node is always scheduled and at timeout the 1129 execution context can take decision based on its execution state. 1130 1131config BT_CTLR_JIT_SCHEDULING 1132 bool "Just-in-Time Scheduling" 1133 select BT_TICKER_SLOT_AGNOSTIC 1134 help 1135 This option enables the experimental 'Next Generation' scheduling 1136 feature, which eliminates priorities and collision resolving in the 1137 ticker, and instead relies on just-in-time ("lazy") resolution in 1138 the link layer. 1139 1140config BT_CTLR_PERIPHERAL_ISO_EARLY_CIG_START 1141 bool "Early start of peripheral CIG event" 1142 depends on BT_CTLR_PERIPHERAL_ISO 1143 help 1144 Start scheduling the Peripheral ISO CIG events one event in advance 1145 and hence adjust CIG offset and reference point ahead one interval. 1146 1147config BT_CTLR_USER_EXT 1148 prompt "Proprietary extensions in Controller" 1149 bool 1150 help 1151 Catch-all for enabling proprietary event types in Controller behavior. 1152 1153config BT_CTLR_USER_EVT_RANGE 1154 int "Range of event constants reserved for proprietary event types" 1155 depends on BT_CTLR_USER_EXT 1156 default 5 1157 range 0 10 1158 help 1159 Number of event types reserved for proprietary use. The range 1160 is typically used when BT_CTLR_USER_EXT is in use. 1161 1162config BT_CTLR_USER_TICKER_ID_RANGE 1163 int "Range of ticker id constants reserved for proprietary ticker nodes" 1164 depends on BT_CTLR_USER_EXT 1165 default 0 1166 range 0 10 1167 help 1168 Number of ticker ids reserved for proprietary use. The range 1169 is typically used when BT_CTLR_USER_EXT is in use. 1170 1171config BT_RX_USER_PDU_LEN 1172 int "Maximum supported proprietary PDU buffer length" 1173 depends on BT_CTLR_USER_EXT 1174 default 2 1175 range 2 255 1176 help 1177 Maximum data size for each proprietary PDU. This size includes link layer 1178 header and payload. It does not account for HCI event headers as these 1179 PDUs are assumed to not go across HCI. 1180 1181config BT_CTLR_USER_CPR_INTERVAL_MIN 1182 bool "Proprietary Connection Parameter Request minimum interval" 1183 depends on BT_CTLR_USER_EXT 1184 help 1185 When enabled, controller will accept Connection Parameter Request 1186 intervals down to a proprietary minimum value. 1187 1188config BT_CTLR_USER_CPR_ANCHOR_POINT_MOVE 1189 bool "Proprietary handling of anchor point movement" 1190 depends on BT_CTLR_USER_EXT && BT_CTLR_CONN_PARAM_REQ && BT_PERIPHERAL 1191 help 1192 When enabled, defer accept/reject of Connection Parameter Request with only 1193 anchor point movement to proprietary logic. 1194 Only applicable for peripheral. 1195 1196endmenu 1197 1198source "subsys/bluetooth/controller/coex/Kconfig" 1199 1200comment "BLE Controller debug configuration" 1201 1202config BT_CTLR_PROFILE_ISR 1203 bool "Profile radio ISR" 1204 help 1205 Turn on measurement of radio ISR latency, CPU usage and generation of 1206 controller event with these profiling data. The controller event 1207 contains current, minimum and maximum ISR entry latencies; and 1208 current, minimum and maximum ISR CPU use in micro-seconds. 1209 1210config BT_CTLR_DEBUG_PINS 1211 bool "Bluetooth Controller Debug Pins" 1212 depends on BOARD_NRF51DK_NRF51422 || BOARD_NRF52DK_NRF52832 || BOARD_NRF52DK_NRF52810 || BOARD_NRF52840DK_NRF52840 || BOARD_NRF52833DK_NRF52833 || BOARD_NRF5340DK_NRF5340_CPUNET || BOARD_RV32M1_VEGA 1213 help 1214 Turn on debug GPIO toggling for the BLE Controller. This is useful 1215 when debugging with a logic analyzer or profiling certain sections of 1216 the code. 1217 1218endif # BT_LL_SW_SPLIT 1219