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