@@ -62,11 +62,20 @@ config BT_LLL_VENDOR_NORDIC
6262 select BT_TICKER_REMAINDER_SUPPORT if !SOC_COMPATIBLE_NRF54LX
6363 select BT_TICKER_UPDATE if BT_BROADCASTER || BT_CONN || \
6464 (BT_OBSERVER && BT_CTLR_ADV_EXT)
65- select BT_TICKER_START_REMAINDER if BT_TICKER_REMAINDER_SUPPORT && BT_CTLR_CENTRAL_ISO
65+ select BT_TICKER_START_REMAINDER if BT_TICKER_REMAINDER_SUPPORT && \
66+ BT_CTLR_CENTRAL_ISO
6667 select BT_TICKER_REMAINDER_GET if BT_TICKER_REMAINDER_SUPPORT && \
6768 (BT_BROADCASTER && BT_CTLR_ADV_EXT)
68- select BT_TICKER_LAZY_GET if BT_CTLR_ADV_PERIODIC || BT_CTLR_CONN_ISO || BT_CTLR_SYNC_TRANSFER_SENDER
69-
69+ select BT_TICKER_LAZY_GET if BT_CTLR_ADV_PERIODIC || \
70+ BT_CTLR_CONN_ISO || \
71+ BT_CTLR_SYNC_TRANSFER_SENDER
72+ select BT_TICKER_NEXT_SLOT_GET if (BT_BROADCASTER && \
73+ BT_CTLR_ADV_EXT) || \
74+ BT_CENTRAL || BT_CTLR_CONN_ISO
75+ select BT_TICKER_NEXT_SLOT_GET_MATCH if (BT_BROADCASTER && \
76+ BT_CTLR_ADV_EXT) || \
77+ BT_CENTRAL || BT_CTLR_CONN_ISO
78+ select BT_TICKER_CNTR_FREE_RUNNING if SOC_COMPATIBLE_NRF54LX
7079 select BT_TICKER_PREFER_START_BEFORE_STOP if BT_TICKER_SLOT_AGNOSTIC
7180
7281 select BT_CTLR_ASSERT_OPTIMIZE_FOR_SIZE_SUPPORT if CPU_CORTEX_M
@@ -285,7 +294,7 @@ config BT_CTLR_CONN_ISO_AVOID_SEGMENTATION
285294 interface, the config provides a way to force the Max_PDU to Max_SDU +
286295 5 (header + offset).
287296
288- choice
297+ choice BT_CTLR_CONN_ISO_POLICY_CHOICE
289298 prompt "CIS Creation Policy Selection"
290299 default BT_CTLR_CONN_ISO_RELIABILITY_POLICY
291300
@@ -356,7 +365,6 @@ config BT_CTLR_DATA_LENGTH_CLEAR
356365config BT_CTLR_PHY_2M_NRF
357366 bool "2Mbps Nordic Semiconductor PHY Support (Cleartext only)"
358367 depends on SOC_SERIES_NRF51X
359- select BT_CTLR_PHY_2M
360368 help
361369 Enable support for Nordic Semiconductor proprietary 2Mbps PHY in the
362370 Controller. Encrypted connections are not supported.
@@ -397,6 +405,7 @@ config BT_CTLR_ADV_PDU_LINK
397405 # Enables extra space in each advertising PDU to allow linking PDUs.
398406 # This is required to enable advertising data trains (i.e. transmission
399407 # of AUX_CHAIN_IND).
408+ depends on BT_CTLR_ADV_EXT && BT_BROADCASTER
400409 bool
401410
402411config BT_CTLR_ADV_AUX_PDU_LINK
@@ -406,9 +415,8 @@ config BT_CTLR_ADV_AUX_PDU_LINK
406415
407416config BT_CTLR_ADV_AUX_PDU_BACK2BACK
408417 bool "Back-to-back transmission of extended advertising trains"
409- depends on BT_BROADCASTER && BT_CTLR_ADV_EXT
410418 select BT_CTLR_ADV_AUX_PDU_LINK
411- default y if BT_CTLR_ADV_DATA_LEN_MAX > 191
419+ default y if BT_CTLR_ADV_DATA_CHAIN
412420 help
413421 Enables transmission of AUX_CHAIN_IND in extended advertising train by
414422 sending each AUX_CHAIN_IND one after another back-to-back.
@@ -429,8 +437,8 @@ config BT_CTLR_ADV_SYNC_PDU_LINK
429437
430438config BT_CTLR_ADV_SYNC_PDU_BACK2BACK
431439 bool "Back-to-back transmission of periodic advertising trains"
432- depends on BT_CTLR_ADV_PERIODIC
433440 select BT_CTLR_ADV_SYNC_PDU_LINK
441+ default y if BT_CTLR_ADV_PERIODIC && BT_CTLR_ADV_DATA_CHAIN
434442 help
435443 Enables transmission of AUX_CHAIN_IND in periodic advertising train by
436444 sending each AUX_CHAIN_IND one after another back-to-back.
@@ -697,7 +705,7 @@ config BT_CTLR_DYNAMIC_INTERRUPTS
697705 permit use of SoC's peripheral for custom use when Bluetooth is not
698706 enabled.
699707
700- choice BT_CTLR_OPTIMIZE
708+ choice BT_CTLR_OPTIMIZE_CHOICE
701709 prompt "Optimization options"
702710 depends on !LTO
703711 default BT_CTLR_OPTIMIZE_FOR_SPEED
@@ -762,8 +770,8 @@ config BT_CTLR_SCHED_ADVANCED
762770 depends on BT_CTLR_SCHED_ADVANCED_SUPPORT && \
763771 (BT_CONN || \
764772 (BT_CTLR_ADV_EXT && (BT_CTLR_ADV_AUX_SET > 0)) || \
765- BT_CTLR_ADV_ISO)
766- select BT_TICKER_NEXT_SLOT_GET
773+ BT_CTLR_ADV_ISO) && \
774+ BT_TICKER_NEXT_SLOT_GET
767775 default y if BT_CENTRAL || (BT_BROADCASTER && BT_CTLR_ADV_EXT) || BT_CTLR_ADV_ISO
768776 help
769777 Enable non-overlapping placement of observer, initiator and central
@@ -907,7 +915,7 @@ config BT_CTLR_ULL_LOW_PRIO
907915
908916config BT_CTLR_LOW_LAT
909917 bool "Low latency non-negotiating event preemption"
910- select BT_CTLR_LOW_LAT_ULL_DONE
918+ depends on BT_CTLR_LOW_LAT_ULL && BT_CTLR_LOW_LAT_ULL_DONE
911919 default y if SOC_SERIES_NRF51X
912920 help
913921 Use low latency non-negotiating event preemption. This reduces
@@ -916,33 +924,32 @@ config BT_CTLR_LOW_LAT
916924 radio state switches.
917925
918926config BT_CTLR_LOW_LAT_ULL
919- prompt "Low latency ULL"
920- bool
927+ bool "Low latency ULL"
928+ default y if SOC_SERIES_NRF51X
921929 help
922930 Low latency ULL implementation that uses tailchaining instead of while
923931 loop to demux rx messages from LLL.
924932
925933config BT_CTLR_LOW_LAT_ULL_DONE
926- prompt "Low latency ULL prepare dequeue"
927- bool
934+ bool "Low latency ULL prepare dequeue"
935+ default y if SOC_SERIES_NRF51X
928936 help
929937 Done events be processed and dequeued in ULL context.
930938
931939config BT_CTLR_CONN_META
932- prompt "Connection meta data extension"
933- bool
940+ bool "Connection meta data extension"
934941 help
935942 Enables vendor specific per-connection meta data as part of the
936943 LLL connection object.
937944
938945config BT_CTLR_RX_PDU_META
939- prompt "RX pdu meta data"
940- bool
946+ bool "RX pdu meta data"
947+ help
948+ Enables vendor specific Rx PDU meta data as part of the Rx object.
941949
942950config BT_CTLR_NRF_GRTC
943951 bool "Use nRF GRTC peripheral"
944- depends on SOC_COMPATIBLE_NRF54LX
945- select BT_TICKER_CNTR_FREE_RUNNING
952+ depends on BT_TICKER_CNTR_FREE_RUNNING && SOC_COMPATIBLE_NRF54LX
946953 default y
947954 help
948955 Enable use of nRF54Lx NRF_GRTC peripheral.
@@ -973,8 +980,9 @@ config BT_CTLR_NRF_GRTC_AUTOEN_DEFAULT
973980
974981config BT_CTLR_RADIO_ENABLE_FAST
975982 bool "Use tTXEN/RXEN,FAST ramp-up"
976- depends on SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX
977- select BT_CTLR_SW_SWITCH_SINGLE_TIMER if SOC_COMPATIBLE_NRF54LX
983+ depends on SOC_COMPATIBLE_NRF52X || \
984+ SOC_COMPATIBLE_NRF53X || \
985+ SOC_COMPATIBLE_NRF54LX
978986 default y
979987 help
980988 Enable use of fast radio ramp-up mode.
@@ -988,15 +996,18 @@ config BT_CTLR_RADIO_TIMER_ISR
988996
989997config BT_CTLR_TIFS_HW
990998 bool "H/w Accelerated tIFS Trx switching"
991- depends on !BT_CTLR_RADIO_ENABLE_FAST && BT_CTLR_TIFS_HW_SUPPORT
999+ depends on BT_CTLR_TIFS_HW_SUPPORT && !BT_CTLR_RADIO_ENABLE_FAST
9921000 default y
9931001 help
9941002 Enable use of hardware accelerated tIFS Trx switching.
9951003
9961004config BT_CTLR_SW_SWITCH_SINGLE_TIMER
9971005 bool "Single TIMER tIFS Trx SW switching"
998- depends on (!BT_CTLR_TIFS_HW) && (SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X || \
999- SOC_COMPATIBLE_NRF54LX)
1006+ depends on BT_CTLR_RADIO_ENABLE_FAST && \
1007+ (SOC_COMPATIBLE_NRF52X || \
1008+ SOC_COMPATIBLE_NRF53X || \
1009+ SOC_COMPATIBLE_NRF54LX)
1010+ default y if SOC_COMPATIBLE_NRF54LX
10001011 help
10011012 Implement the tIFS Trx SW switch with the same TIMER
10021013 instance, as the one used for Bluetooth event timing. Requires
@@ -1101,14 +1112,15 @@ config BT_CTLR_TX_RETRY_DISABLE
11011112
11021113config BT_CTLR_TX_DEFER
11031114 bool "Deferred ACL Tx packet transmission setup"
1104- select BT_CTLR_RADIO_TIMER_ISR
1115+ depends on BT_CTLR_RADIO_TIMER_ISR
11051116 help
11061117 Enable deferred ACL Tx packet transmission setup by radio, so that an
11071118 enqueued ACL Data packet by the upper layer can be transmitted with
11081119 the shortest latency.
11091120
11101121config BT_CTLR_THROUGHPUT
11111122 bool "Measure incoming Tx throughput"
1123+ default y if BT_HCI_RAW
11121124 help
11131125 Measure incoming Tx throughput and log the results.
11141126
@@ -1128,9 +1140,8 @@ config BT_CTLR_FORCE_MD_COUNT
11281140
11291141config BT_CTLR_FORCE_MD_AUTO
11301142 bool "Forced MD bit automatic calculation"
1131- depends on !BT_CTLR_LOW_LAT
1132- select BT_CTLR_THROUGHPUT
1133- default y if BT_HCI_RAW
1143+ depends on BT_CTLR_THROUGHPUT && !BT_CTLR_LOW_LAT
1144+ default y
11341145 help
11351146 Force MD bit in transmitted PDU based on runtime incoming transmit
11361147 data throughput.
@@ -1267,18 +1278,16 @@ config BT_TICKER_NEXT_SLOT_GET
12671278
12681279config BT_TICKER_REMAINDER_GET
12691280 bool "Ticker Next Slot Get with Remainder"
1270- depends on BT_TICKER_REMAINDER_SUPPORT
1271- select BT_TICKER_NEXT_SLOT_GET
1272- select BT_TICKER_NEXT_SLOT_GET_MATCH
1281+ depends on BT_TICKER_REMAINDER_SUPPORT && BT_TICKER_NEXT_SLOT_GET && \
1282+ BT_TICKER_NEXT_SLOT_GET_MATCH
12731283 help
12741284 This option enables ticker interface to iterate through active
12751285 ticker nodes, returning tick to expire and remainder from a reference
12761286 tick.
12771287
12781288config BT_TICKER_LAZY_GET
12791289 bool "Ticker Next Slot Get with Lazy"
1280- select BT_TICKER_NEXT_SLOT_GET
1281- select BT_TICKER_NEXT_SLOT_GET_MATCH
1290+ depends on BT_TICKER_NEXT_SLOT_GET && BT_TICKER_NEXT_SLOT_GET_MATCH
12821291 help
12831292 This option enables ticker interface to iterate through active
12841293 ticker nodes, returning tick to expire and lazy count from a reference
@@ -1314,7 +1323,7 @@ config BT_TICKER_EXT_SLOT_WINDOW_YIELD
13141323
13151324config BT_TICKER_EXT_EXPIRE_INFO
13161325 bool "Ticker timeout with other ticker's expire information"
1317- select BT_TICKER_EXT
1326+ depends on BT_TICKER_EXT
13181327 help
13191328 This option enables ticker to return expiration info. The extended
13201329 ticker interface) is used to ask for expiration information for
@@ -1361,7 +1370,7 @@ config BT_TICKER_PREFER_START_BEFORE_STOP
13611370
13621371config BT_CTLR_JIT_SCHEDULING
13631372 bool "Just-in-Time Scheduling"
1364- select BT_TICKER_SLOT_AGNOSTIC
1373+ depends on BT_TICKER_SLOT_AGNOSTIC
13651374 help
13661375 This option enables the experimental 'Next Generation' scheduling
13671376 feature, which eliminates priorities and collision resolving in the
@@ -1376,8 +1385,7 @@ config BT_CTLR_PERIPHERAL_ISO_EARLY_CIG_START
13761385 and hence adjust CIG offset and reference point ahead one interval.
13771386
13781387config BT_CTLR_USER_EXT
1379- prompt "Proprietary extensions in Controller"
1380- bool
1388+ bool "Proprietary extensions in Controller"
13811389 help
13821390 Catch-all for enabling proprietary event types in Controller behavior.
13831391
@@ -1427,7 +1435,7 @@ config BT_CTLR_USER_CPR_ANCHOR_POINT_MOVE
14271435endmenu
14281436
14291437# Workaround to be able to have default for "choice" in hidden "menu" above
1430- choice BT_CTLR_OPTIMIZE
1438+ choice BT_CTLR_OPTIMIZE_CHOICE
14311439 prompt "Optimization options"
14321440 depends on !LTO
14331441
0 commit comments