@@ -63,11 +63,20 @@ config BT_LLL_VENDOR_NORDIC
6363 select BT_TICKER_REMAINDER_SUPPORT if !SOC_COMPATIBLE_NRF54LX
6464 select BT_TICKER_UPDATE if BT_BROADCASTER || BT_CONN || \
6565 (BT_OBSERVER && BT_CTLR_ADV_EXT)
66- select BT_TICKER_START_REMAINDER if BT_TICKER_REMAINDER_SUPPORT && BT_CTLR_CENTRAL_ISO
66+ select BT_TICKER_START_REMAINDER if BT_TICKER_REMAINDER_SUPPORT && \
67+ BT_CTLR_CENTRAL_ISO
6768 select BT_TICKER_REMAINDER_GET if BT_TICKER_REMAINDER_SUPPORT && \
6869 (BT_BROADCASTER && BT_CTLR_ADV_EXT)
69- select BT_TICKER_LAZY_GET if BT_CTLR_ADV_PERIODIC || BT_CTLR_CONN_ISO || BT_CTLR_SYNC_TRANSFER_SENDER
70-
70+ select BT_TICKER_LAZY_GET if BT_CTLR_ADV_PERIODIC || \
71+ BT_CTLR_CONN_ISO || \
72+ BT_CTLR_SYNC_TRANSFER_SENDER
73+ select BT_TICKER_NEXT_SLOT_GET if (BT_BROADCASTER && \
74+ BT_CTLR_ADV_EXT) || \
75+ BT_CENTRAL || BT_CTLR_CONN_ISO
76+ select BT_TICKER_NEXT_SLOT_GET_MATCH if (BT_BROADCASTER && \
77+ BT_CTLR_ADV_EXT) || \
78+ BT_CENTRAL || BT_CTLR_CONN_ISO
79+ select BT_TICKER_CNTR_FREE_RUNNING if SOC_COMPATIBLE_NRF54LX
7180 select BT_TICKER_PREFER_START_BEFORE_STOP if BT_TICKER_SLOT_AGNOSTIC
7281
7382 select BT_CTLR_ASSERT_OPTIMIZE_FOR_SIZE_SUPPORT if CPU_CORTEX_M
@@ -286,7 +295,7 @@ config BT_CTLR_CONN_ISO_AVOID_SEGMENTATION
286295 interface, the config provides a way to force the Max_PDU to Max_SDU +
287296 5 (header + offset).
288297
289- choice
298+ choice BT_CTLR_CONN_ISO_POLICY_CHOICE
290299 prompt "CIS Creation Policy Selection"
291300 default BT_CTLR_CONN_ISO_RELIABILITY_POLICY
292301
@@ -357,7 +366,6 @@ config BT_CTLR_DATA_LENGTH_CLEAR
357366config BT_CTLR_PHY_2M_NRF
358367 bool "2Mbps Nordic Semiconductor PHY Support (Cleartext only)"
359368 depends on SOC_SERIES_NRF51X
360- select BT_CTLR_PHY_2M
361369 help
362370 Enable support for Nordic Semiconductor proprietary 2Mbps PHY in the
363371 Controller. Encrypted connections are not supported.
@@ -398,6 +406,7 @@ config BT_CTLR_ADV_PDU_LINK
398406 # Enables extra space in each advertising PDU to allow linking PDUs.
399407 # This is required to enable advertising data trains (i.e. transmission
400408 # of AUX_CHAIN_IND).
409+ depends on BT_CTLR_ADV_EXT && BT_BROADCASTER
401410 bool
402411
403412config BT_CTLR_ADV_AUX_PDU_LINK
@@ -407,9 +416,8 @@ config BT_CTLR_ADV_AUX_PDU_LINK
407416
408417config BT_CTLR_ADV_AUX_PDU_BACK2BACK
409418 bool "Back-to-back transmission of extended advertising trains"
410- depends on BT_BROADCASTER && BT_CTLR_ADV_EXT
411419 select BT_CTLR_ADV_AUX_PDU_LINK
412- default y if BT_CTLR_ADV_DATA_LEN_MAX > 191
420+ default y if BT_CTLR_ADV_DATA_CHAIN
413421 help
414422 Enables transmission of AUX_CHAIN_IND in extended advertising train by
415423 sending each AUX_CHAIN_IND one after another back-to-back.
@@ -430,8 +438,8 @@ config BT_CTLR_ADV_SYNC_PDU_LINK
430438
431439config BT_CTLR_ADV_SYNC_PDU_BACK2BACK
432440 bool "Back-to-back transmission of periodic advertising trains"
433- depends on BT_CTLR_ADV_PERIODIC
434441 select BT_CTLR_ADV_SYNC_PDU_LINK
442+ default y if BT_CTLR_ADV_PERIODIC && BT_CTLR_ADV_DATA_CHAIN
435443 help
436444 Enables transmission of AUX_CHAIN_IND in periodic advertising train by
437445 sending each AUX_CHAIN_IND one after another back-to-back.
@@ -698,7 +706,7 @@ config BT_CTLR_DYNAMIC_INTERRUPTS
698706 permit use of SoC's peripheral for custom use when Bluetooth is not
699707 enabled.
700708
701- choice BT_CTLR_OPTIMIZE
709+ choice BT_CTLR_OPTIMIZE_CHOICE
702710 prompt "Optimization options"
703711 depends on !LTO
704712 default BT_CTLR_OPTIMIZE_FOR_SPEED
@@ -763,8 +771,8 @@ config BT_CTLR_SCHED_ADVANCED
763771 depends on BT_CTLR_SCHED_ADVANCED_SUPPORT && \
764772 (BT_CONN || \
765773 (BT_CTLR_ADV_EXT && (BT_CTLR_ADV_AUX_SET > 0)) || \
766- BT_CTLR_ADV_ISO)
767- select BT_TICKER_NEXT_SLOT_GET
774+ BT_CTLR_ADV_ISO) && \
775+ BT_TICKER_NEXT_SLOT_GET
768776 default y if BT_CENTRAL || (BT_BROADCASTER && BT_CTLR_ADV_EXT) || BT_CTLR_ADV_ISO
769777 help
770778 Enable non-overlapping placement of observer, initiator and central
@@ -908,7 +916,7 @@ config BT_CTLR_ULL_LOW_PRIO
908916
909917config BT_CTLR_LOW_LAT
910918 bool "Low latency non-negotiating event preemption"
911- select BT_CTLR_LOW_LAT_ULL_DONE
919+ depends on BT_CTLR_LOW_LAT_ULL && BT_CTLR_LOW_LAT_ULL_DONE
912920 default y if SOC_SERIES_NRF51X
913921 help
914922 Use low latency non-negotiating event preemption. This reduces
@@ -917,33 +925,32 @@ config BT_CTLR_LOW_LAT
917925 radio state switches.
918926
919927config BT_CTLR_LOW_LAT_ULL
920- prompt "Low latency ULL"
921- bool
928+ bool "Low latency ULL"
929+ default y if SOC_SERIES_NRF51X
922930 help
923931 Low latency ULL implementation that uses tailchaining instead of while
924932 loop to demux rx messages from LLL.
925933
926934config BT_CTLR_LOW_LAT_ULL_DONE
927- prompt "Low latency ULL prepare dequeue"
928- bool
935+ bool "Low latency ULL prepare dequeue"
936+ default y if SOC_SERIES_NRF51X
929937 help
930938 Done events be processed and dequeued in ULL context.
931939
932940config BT_CTLR_CONN_META
933- prompt "Connection meta data extension"
934- bool
941+ bool "Connection meta data extension"
935942 help
936943 Enables vendor specific per-connection meta data as part of the
937944 LLL connection object.
938945
939946config BT_CTLR_RX_PDU_META
940- prompt "RX pdu meta data"
941- bool
947+ bool "RX pdu meta data"
948+ help
949+ Enables vendor specific Rx PDU meta data as part of the Rx object.
942950
943951config BT_CTLR_NRF_GRTC
944952 bool "Use nRF GRTC peripheral"
945- depends on SOC_COMPATIBLE_NRF54LX
946- select BT_TICKER_CNTR_FREE_RUNNING
953+ depends on BT_TICKER_CNTR_FREE_RUNNING && SOC_COMPATIBLE_NRF54LX
947954 default y
948955 help
949956 Enable use of nRF54Lx NRF_GRTC peripheral.
@@ -974,8 +981,9 @@ config BT_CTLR_NRF_GRTC_AUTOEN_DEFAULT
974981
975982config BT_CTLR_RADIO_ENABLE_FAST
976983 bool "Use tTXEN/RXEN,FAST ramp-up"
977- depends on SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX
978- select BT_CTLR_SW_SWITCH_SINGLE_TIMER if SOC_COMPATIBLE_NRF54LX
984+ depends on SOC_COMPATIBLE_NRF52X || \
985+ SOC_COMPATIBLE_NRF53X || \
986+ SOC_COMPATIBLE_NRF54LX
979987 default y
980988 help
981989 Enable use of fast radio ramp-up mode.
@@ -989,15 +997,18 @@ config BT_CTLR_RADIO_TIMER_ISR
989997
990998config BT_CTLR_TIFS_HW
991999 bool "H/w Accelerated tIFS Trx switching"
992- depends on !BT_CTLR_RADIO_ENABLE_FAST && BT_CTLR_TIFS_HW_SUPPORT
1000+ depends on BT_CTLR_TIFS_HW_SUPPORT && !BT_CTLR_RADIO_ENABLE_FAST
9931001 default y
9941002 help
9951003 Enable use of hardware accelerated tIFS Trx switching.
9961004
9971005config BT_CTLR_SW_SWITCH_SINGLE_TIMER
9981006 bool "Single TIMER tIFS Trx SW switching"
999- depends on (!BT_CTLR_TIFS_HW) && (SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X || \
1000- SOC_COMPATIBLE_NRF54LX)
1007+ depends on BT_CTLR_RADIO_ENABLE_FAST && \
1008+ (SOC_COMPATIBLE_NRF52X || \
1009+ SOC_COMPATIBLE_NRF53X || \
1010+ SOC_COMPATIBLE_NRF54LX)
1011+ default y if SOC_COMPATIBLE_NRF54LX
10011012 help
10021013 Implement the tIFS Trx SW switch with the same TIMER
10031014 instance, as the one used for Bluetooth event timing. Requires
@@ -1102,14 +1113,15 @@ config BT_CTLR_TX_RETRY_DISABLE
11021113
11031114config BT_CTLR_TX_DEFER
11041115 bool "Deferred ACL Tx packet transmission setup"
1105- select BT_CTLR_RADIO_TIMER_ISR
1116+ depends on BT_CTLR_RADIO_TIMER_ISR
11061117 help
11071118 Enable deferred ACL Tx packet transmission setup by radio, so that an
11081119 enqueued ACL Data packet by the upper layer can be transmitted with
11091120 the shortest latency.
11101121
11111122config BT_CTLR_THROUGHPUT
11121123 bool "Measure incoming Tx throughput"
1124+ default y if BT_HCI_RAW
11131125 help
11141126 Measure incoming Tx throughput and log the results.
11151127
@@ -1129,9 +1141,8 @@ config BT_CTLR_FORCE_MD_COUNT
11291141
11301142config BT_CTLR_FORCE_MD_AUTO
11311143 bool "Forced MD bit automatic calculation"
1132- depends on !BT_CTLR_LOW_LAT
1133- select BT_CTLR_THROUGHPUT
1134- default y if BT_HCI_RAW
1144+ depends on BT_CTLR_THROUGHPUT && !BT_CTLR_LOW_LAT
1145+ default y
11351146 help
11361147 Force MD bit in transmitted PDU based on runtime incoming transmit
11371148 data throughput.
@@ -1268,18 +1279,16 @@ config BT_TICKER_NEXT_SLOT_GET
12681279
12691280config BT_TICKER_REMAINDER_GET
12701281 bool "Ticker Next Slot Get with Remainder"
1271- depends on BT_TICKER_REMAINDER_SUPPORT
1272- select BT_TICKER_NEXT_SLOT_GET
1273- select BT_TICKER_NEXT_SLOT_GET_MATCH
1282+ depends on BT_TICKER_REMAINDER_SUPPORT && BT_TICKER_NEXT_SLOT_GET && \
1283+ BT_TICKER_NEXT_SLOT_GET_MATCH
12741284 help
12751285 This option enables ticker interface to iterate through active
12761286 ticker nodes, returning tick to expire and remainder from a reference
12771287 tick.
12781288
12791289config BT_TICKER_LAZY_GET
12801290 bool "Ticker Next Slot Get with Lazy"
1281- select BT_TICKER_NEXT_SLOT_GET
1282- select BT_TICKER_NEXT_SLOT_GET_MATCH
1291+ depends on BT_TICKER_NEXT_SLOT_GET && BT_TICKER_NEXT_SLOT_GET_MATCH
12831292 help
12841293 This option enables ticker interface to iterate through active
12851294 ticker nodes, returning tick to expire and lazy count from a reference
@@ -1315,7 +1324,7 @@ config BT_TICKER_EXT_SLOT_WINDOW_YIELD
13151324
13161325config BT_TICKER_EXT_EXPIRE_INFO
13171326 bool "Ticker timeout with other ticker's expire information"
1318- select BT_TICKER_EXT
1327+ depends on BT_TICKER_EXT
13191328 help
13201329 This option enables ticker to return expiration info. The extended
13211330 ticker interface) is used to ask for expiration information for
@@ -1362,7 +1371,7 @@ config BT_TICKER_PREFER_START_BEFORE_STOP
13621371
13631372config BT_CTLR_JIT_SCHEDULING
13641373 bool "Just-in-Time Scheduling"
1365- select BT_TICKER_SLOT_AGNOSTIC
1374+ depends on BT_TICKER_SLOT_AGNOSTIC
13661375 help
13671376 This option enables the experimental 'Next Generation' scheduling
13681377 feature, which eliminates priorities and collision resolving in the
@@ -1377,8 +1386,7 @@ config BT_CTLR_PERIPHERAL_ISO_EARLY_CIG_START
13771386 and hence adjust CIG offset and reference point ahead one interval.
13781387
13791388config BT_CTLR_USER_EXT
1380- prompt "Proprietary extensions in Controller"
1381- bool
1389+ bool "Proprietary extensions in Controller"
13821390 help
13831391 Catch-all for enabling proprietary event types in Controller behavior.
13841392
@@ -1428,7 +1436,7 @@ config BT_CTLR_USER_CPR_ANCHOR_POINT_MOVE
14281436endmenu
14291437
14301438# Workaround to be able to have default for "choice" in hidden "menu" above
1431- choice BT_CTLR_OPTIMIZE
1439+ choice BT_CTLR_OPTIMIZE_CHOICE
14321440 prompt "Optimization options"
14331441 depends on !LTO
14341442
0 commit comments