1
2menu "HCI Config"
3
4    choice BT_LE_HCI_INTERFACE
5        prompt "HCI mode"
6        default BT_LE_HCI_INTERFACE_USE_RAM
7
8        config BT_LE_HCI_INTERFACE_USE_RAM
9            bool "VHCI"
10            help
11                Use RAM as HCI interface
12        config BT_LE_HCI_INTERFACE_USE_UART
13            bool "UART(H4)"
14            help
15                Use UART as HCI interface
16    endchoice
17
18    choice BT_LE_UART_HCI_MODE_CHOICE
19        prompt "UART HCI mode"
20        depends on BT_LE_HCI_INTERFACE_USE_UART
21        default BT_LE_UART_HCI_NO_DMA_MODE
22        help
23            Specify UART HCI mode: DMA or No DMA
24
25        config BT_LE_UART_HCI_DMA_MODE
26            bool "UHCI(UART with DMA)(EXPERIMENTAL)"
27            help
28                UART HCI Mode with DMA functionality.
29
30        config BT_LE_UART_HCI_NO_DMA_MODE
31            bool "UART(NO DMA)"
32            help
33                UART HCI Mode without DMA functionality.
34    endchoice
35
36    config BT_LE_HCI_UART_PORT
37        int "HCI UART port"
38        depends on BT_LE_HCI_INTERFACE_USE_UART
39        default 1
40        help
41            Set the port number of HCI UART
42
43    config BT_LE_HCI_UART_FLOWCTRL
44        bool "HCI uart Hardware Flow ctrl"
45        depends on BT_LE_HCI_INTERFACE_USE_UART
46        default n
47
48    config BT_LE_HCI_UART_TX_PIN
49        int "HCI uart Tx gpio"
50        depends on BT_LE_HCI_INTERFACE_USE_UART
51        default 19
52
53    config BT_LE_HCI_UART_RX_PIN
54        int "HCI uart Rx gpio"
55        depends on BT_LE_HCI_INTERFACE_USE_UART
56        default 10
57
58    config BT_LE_HCI_UART_RTS_PIN
59        int "HCI uart RTS gpio"
60        depends on BT_LE_HCI_UART_FLOWCTRL
61        default 4
62
63    config BT_LE_HCI_UART_CTS_PIN
64        int "HCI uart CTS gpio"
65        depends on BT_LE_HCI_UART_FLOWCTRL
66        default 5
67
68    config BT_LE_HCI_UART_BAUD
69        int "HCI uart baudrate"
70        depends on BT_LE_HCI_INTERFACE_USE_UART
71        default 921600
72        help
73            HCI uart baud rate 115200 ~ 1000000
74
75    choice BT_LE_HCI_UART_PARITY
76        prompt "select uart parity"
77        depends on BT_LE_HCI_INTERFACE_USE_UART
78        default BT_LE_HCI_UART_UART_PARITY_DISABLE
79
80        config BT_LE_HCI_UART_UART_PARITY_DISABLE
81            bool "PARITY_DISABLE"
82            help
83                UART_PARITY_DISABLE
84        config BT_LE_HCI_UART_UART_PARITY_EVEN
85            bool "PARITY_EVEN"
86            help
87                UART_PARITY_EVEN
88        config BT_LE_HCI_UART_UART_PARITY_ODD
89            bool "PARITY_ODD"
90            help
91                UART_PARITY_ODD
92    endchoice
93
94    config BT_LE_HCI_UART_RX_BUFFER_SIZE
95        int "The size of rx ring buffer memory"
96        depends on BT_LE_UART_HCI_NO_DMA_MODE
97        default 512
98        help
99            The size of rx ring buffer memory
100
101    config BT_LE_HCI_UART_TX_BUFFER_SIZE
102        int "The size of tx ring buffer memory"
103        depends on BT_LE_UART_HCI_NO_DMA_MODE
104        default 256
105        help
106            The size of tx ring buffer memory
107
108    config BT_LE_HCI_TRANS_TASK_STACK_SIZE
109        int "HCI transport task stack size"
110        depends on !BT_LE_HCI_INTERFACE_USE_RAM
111        default 1024
112        help
113            This configures stack size of hci transport task
114
115    config BT_LE_HCI_TRANS_RX_MEM_NUM
116        int "The amount of rx memory received at the same time"
117        depends on BT_LE_UART_HCI_DMA_MODE
118        default 3
119        help
120            The amount of rx memory received at the same time
121
122    config BT_LE_HCI_LLDESCS_POOL_NUM
123        int "The amount of lldecs memory for driver dma mode"
124        depends on BT_LE_UART_HCI_DMA_MODE
125        default 20
126        help
127            The amount of lldecs memory for driver dma mode
128endmenu
129
130config BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT
131    bool
132    default y
133    help
134        Enable NPL porting for controller.
135
136
137menuconfig BT_LE_50_FEATURE_SUPPORT
138    bool "Enable BLE 5 feature"
139    depends on !BT_NIMBLE_ENABLED
140    default y
141    help
142        Enable BLE 5 feature
143
144config BT_LE_LL_CFG_FEAT_LE_2M_PHY
145    bool "Enable 2M Phy"
146    depends on BT_LE_50_FEATURE_SUPPORT
147    default y
148    help
149        Enable 2M-PHY
150
151config BT_LE_LL_CFG_FEAT_LE_CODED_PHY
152    bool "Enable coded Phy"
153    depends on BT_LE_50_FEATURE_SUPPORT
154    default y
155    help
156        Enable coded-PHY
157
158config BT_LE_EXT_ADV
159    bool "Enable extended advertising"
160    depends on BT_LE_50_FEATURE_SUPPORT
161    default y
162    help
163        Enable this option to do extended advertising. Extended advertising
164        will be supported from BLE 5.0 onwards.
165
166if BT_LE_EXT_ADV
167    config BT_LE_MAX_EXT_ADV_INSTANCES
168        int "Maximum number of extended advertising instances."
169        range 0 4
170        default 1
171        depends on BT_LE_EXT_ADV
172        help
173            Change this option to set maximum number of extended advertising
174            instances. Minimum there is always one instance of
175            advertising. Enter how many more advertising instances you
176            want.
177            Each extended advertising instance will take about 0.5k DRAM.
178
179    config BT_LE_EXT_ADV_MAX_SIZE
180        int "Maximum length of the advertising data."
181        range 0 1650
182        default 1650
183        depends on BT_LE_EXT_ADV
184        help
185            Defines the length of the extended adv data. The value should not
186            exceed 1650.
187
188    config BT_LE_ENABLE_PERIODIC_ADV
189        bool "Enable periodic advertisement."
190        default y
191        depends on BT_LE_EXT_ADV
192        help
193            Enable this option to start periodic advertisement.
194
195    config BT_LE_PERIODIC_ADV_SYNC_TRANSFER
196        bool "Enable Transfer Sync Events"
197        depends on BT_LE_ENABLE_PERIODIC_ADV
198        default y
199        help
200            This enables controller transfer periodic sync events to host
201
202endif
203
204config BT_LE_MAX_PERIODIC_SYNCS
205    int "Maximum number of periodic advertising syncs"
206    depends on BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED
207
208    range 0 8
209    default 1 if BT_LE_ENABLE_PERIODIC_ADV
210    default 0
211    help
212        Set this option to set the upper limit for number of periodic sync
213        connections. This should be less than maximum connections allowed by
214        controller.
215
216config BT_LE_MAX_PERIODIC_ADVERTISER_LIST
217    int "Maximum number of periodic advertiser list"
218    depends on BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED
219    range 1 5
220    default 5
221    help
222        Set this option to set the upper limit for number of periodic advertiser list.
223
224config BT_LE_POWER_CONTROL_ENABLED
225    bool "Enable controller support for BLE Power Control"
226    depends on BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED && IDF_TARGET_ESP32C6
227    default n
228    help
229        Set this option to enable the Power Control feature on controller
230
231menu "Memory Settings"
232    depends on !BT_NIMBLE_ENABLED
233
234    config BT_LE_MSYS_1_BLOCK_COUNT
235        int "MSYS_1 Block Count"
236        default 12
237        help
238            MSYS is a system level mbuf registry. For prepare write & prepare
239            responses MBUFs are allocated out of msys_1 pool. For NIMBLE_MESH
240            enabled cases, this block count is increased by 8 than user defined
241            count.
242
243    config BT_LE_MSYS_1_BLOCK_SIZE
244        int "MSYS_1 Block Size"
245        default 256
246        help
247            Dynamic memory size of block 1
248
249    config BT_LE_MSYS_2_BLOCK_COUNT
250        int "MSYS_2 Block Count"
251        default 24
252        help
253            Dynamic memory count
254
255    config BT_LE_MSYS_2_BLOCK_SIZE
256        int "MSYS_2 Block Size"
257        default 320
258        help
259            Dynamic memory size of block 2
260
261    config BT_LE_MSYS_BUF_FROM_HEAP
262        bool "Get Msys Mbuf from heap"
263        default y
264        depends on BT_LE_MSYS_INIT_IN_CONTROLLER
265        help
266            This option sets the source of the shared msys mbuf memory between
267            the Host and the Controller. Allocate the memory from the heap if
268            this option is sets, from the mempool otherwise.
269
270    config BT_LE_ACL_BUF_COUNT
271        int "ACL Buffer count"
272        default 10
273        help
274            The number of ACL data buffers.
275
276    config BT_LE_ACL_BUF_SIZE
277        int "ACL Buffer size"
278        default 517
279        help
280            This is the maximum size of the data portion of HCI ACL data packets.
281            It does not include the HCI data header (of 4 bytes)
282
283    config BT_LE_HCI_EVT_BUF_SIZE
284        int "HCI Event Buffer size"
285        default 257 if BT_LE_EXT_ADV
286        default 70
287        help
288            This is the size of each HCI event buffer in bytes. In case of
289            extended advertising, packets can be fragmented. 257 bytes is the
290            maximum size of a packet.
291
292    config BT_LE_HCI_EVT_HI_BUF_COUNT
293        int "High Priority HCI Event Buffer count"
294        default 30
295        help
296            This is the high priority HCI events' buffer size. High-priority
297            event buffers are for everything except advertising reports. If there
298            are no free high-priority event buffers then host will try to allocate a
299            low-priority buffer instead
300
301    config BT_LE_HCI_EVT_LO_BUF_COUNT
302        int "Low Priority HCI Event Buffer count"
303        default 8
304        help
305            This is the low priority HCI events' buffer size. Low-priority event
306            buffers are only used for advertising reports. If there are no free
307            low-priority event buffers, then an incoming advertising report will
308            get dropped
309endmenu
310
311config BT_LE_CONTROLLER_TASK_STACK_SIZE
312    int "Controller task stack size"
313    default 5120 if BLE_MESH
314    default 4096
315    help
316        This configures stack size of NimBLE controller task
317
318menuconfig BT_LE_CONTROLLER_LOG_ENABLED
319    bool "Controller log enable"
320    default n
321    help
322        Enable controller log
323
324config BT_LE_CONTROLLER_LOG_CTRL_ENABLED
325    bool "enable controller log module"
326    depends on BT_LE_CONTROLLER_LOG_ENABLED
327    default y
328    help
329            Enable controller log module
330
331config BT_LE_CONTROLLER_LOG_HCI_ENABLED
332    bool "enable HCI log module"
333    depends on BT_LE_CONTROLLER_LOG_ENABLED
334    default y
335    help
336            Enable hci log module
337
338config BT_LE_CONTROLLER_LOG_DUMP_ONLY
339    bool "Controller log dump mode only"
340    depends on BT_LE_CONTROLLER_LOG_ENABLED
341    default y
342    help
343            Only operate in dump mode
344
345config BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
346    bool "Store ble controller logs to flash(Experimental)"
347    depends on !BT_LE_CONTROLLER_LOG_DUMP_ONLY
348    depends on BT_LE_CONTROLLER_LOG_ENABLED
349    default n
350    help
351            Store ble controller logs to flash memory.
352
353config BT_LE_CONTROLLER_LOG_PARTITION_SIZE
354    int "size of ble controller log partition(Multiples of 4K)"
355    depends on BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
356    default 65536
357    help
358            The size of ble controller log partition shall be a multiples of 4K.
359            The name of log partition shall be "bt_ctrl_log".
360            The partition type shall be ESP_PARTITION_TYPE_DATA.
361            The partition sub_type shall be ESP_PARTITION_SUBTYPE_ANY.
362
363config BT_LE_LOG_CTRL_BUF1_SIZE
364    int "size of the first BLE controller LOG buffer"
365    depends on BT_LE_CONTROLLER_LOG_ENABLED
366    default 4096
367    help
368            Configure the size of the first BLE controller LOG buffer.
369
370config BT_LE_LOG_CTRL_BUF2_SIZE
371    int "size of the second BLE controller LOG buffer"
372    depends on BT_LE_CONTROLLER_LOG_ENABLED
373    default 1024
374    help
375            Configure the size of the second BLE controller LOG buffer.
376
377config BT_LE_LOG_HCI_BUF_SIZE
378    int "size of the BLE HCI LOG buffer"
379    depends on BT_LE_CONTROLLER_LOG_ENABLED
380    default 4096
381    help
382            Configure the size of the BLE HCI LOG buffer.
383
384config BT_LE_LL_RESOLV_LIST_SIZE
385    int "BLE LL Resolving list size"
386    range 1 5
387    default 4
388    help
389        Configure the size of resolving list used in link layer.
390
391menuconfig BT_LE_SECURITY_ENABLE
392    bool "Enable BLE SM feature"
393    depends on !BT_NIMBLE_ENABLED
394    default y
395    help
396        Enable BLE sm feature
397
398config BT_LE_SM_LEGACY
399    bool "Security manager legacy pairing"
400    depends on BT_LE_SECURITY_ENABLE
401    default y
402    help
403        Enable security manager legacy pairing
404
405config BT_LE_SM_SC
406    bool "Security manager secure connections (4.2)"
407    depends on BT_LE_SECURITY_ENABLE
408    default y
409    help
410        Enable security manager secure connections
411
412config BT_LE_SM_SC_DEBUG_KEYS
413    bool "Use predefined public-private key pair"
414    default n
415    depends on BT_LE_SECURITY_ENABLE && BT_LE_SM_SC
416    help
417        If this option is enabled, SM uses predefined DH key pair as described
418        in Core Specification, Vol. 3, Part H, 2.3.5.6.1. This allows to
419        decrypt air traffic easily and thus should only be used for debugging.
420
421config BT_LE_LL_CFG_FEAT_LE_ENCRYPTION
422    bool "Enable LE encryption"
423    depends on BT_LE_SECURITY_ENABLE
424    default y
425    help
426        Enable encryption connection
427
428config BT_LE_CRYPTO_STACK_MBEDTLS
429    bool "Override TinyCrypt with mbedTLS for crypto computations"
430    default y
431    depends on !BT_NIMBLE_ENABLED
432    select MBEDTLS_CMAC_C
433    help
434        Enable this option to choose mbedTLS instead of TinyCrypt for crypto
435        computations.
436
437config BT_LE_WHITELIST_SIZE
438    int "BLE white list size"
439    range 1 15
440    default 12
441    depends on !BT_NIMBLE_ENABLED
442
443    help
444        BLE list size
445
446config BT_LE_LL_DUP_SCAN_LIST_COUNT
447    int "BLE duplicate scan list count"
448    range 5 100
449    default 20
450    help
451        config the max count of duplicate scan list
452
453config BT_LE_LL_SCA
454    int "BLE Sleep clock accuracy"
455    range 0 500
456    default 60
457    help
458        Sleep clock accuracy of our device (in ppm)
459
460config BT_LE_MAX_CONNECTIONS
461    int "Maximum number of concurrent connections"
462    depends on !BT_NIMBLE_ENABLED
463    range 1 70
464    default 3
465    help
466        Defines maximum number of concurrent BLE connections. For ESP32, user
467        is expected to configure BTDM_CTRL_BLE_MAX_CONN from controller menu
468        along with this option. Similarly for ESP32-C3 or ESP32-S3, user is expected to
469        configure BT_CTRL_BLE_MAX_ACT from controller menu.
470        Each connection will take about 1k DRAM.
471
472choice BT_LE_COEX_PHY_CODED_TX_RX_TLIM
473    prompt "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection"
474    default BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS
475    depends on ESP_COEX_SW_COEXIST_ENABLE
476    help
477        When using PHY-Coded in BLE connection, limitation on max tx/rx time can be applied to
478        better avoid dramatic performance deterioration of Wi-Fi.
479
480    config BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN
481        bool "Force Enable"
482        help
483            Always enable the limitation on max tx/rx time for Coded-PHY connection
484
485    config BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS
486        bool "Force Disable"
487        help
488            Disable the limitation on max tx/rx time for Coded-PHY connection
489endchoice
490
491config BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF
492    int
493    default 0 if !ESP_COEX_SW_COEXIST_ENABLE
494    default 1 if BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN
495    default 0 if BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS
496
497config BT_LE_SLEEP_ENABLE
498    bool "Enable BLE sleep"
499    default n
500    help
501        Enable BLE sleep
502
503choice BT_LE_LP_CLK_SRC
504    prompt "BLE low power clock source"
505    default BT_LE_LP_CLK_SRC_MAIN_XTAL
506    config BT_LE_LP_CLK_SRC_MAIN_XTAL
507        bool "Use main XTAL as RTC clock source"
508        help
509            User main XTAL as RTC clock source.
510            This option is recommended if external 32.768k XTAL is not available.
511            Using the external 32.768 kHz XTAL will have lower current consumption
512            in light sleep compared to using the main XTAL.
513
514    config BT_LE_LP_CLK_SRC_DEFAULT
515        bool "Use system RTC slow clock source"
516        help
517            Use the same slow clock source as system RTC
518            Using any clock source other than external 32.768 kHz XTAL supports only
519            legacy ADV and SCAN due to low clock accuracy.
520
521endchoice
522
523config BT_LE_USE_ESP_TIMER
524    bool "Enable Esp Timer for Callout"
525    depends on !BT_NIMBLE_ENABLED
526    default y
527    help
528        Set this option to use Esp Timer which has higher priority timer
529        instead of FreeRTOS timer
530config BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
531    bool "BLE adv report flow control supported"
532    default y
533    help
534        The function is mainly used to enable flow control for advertising reports. When it is enabled,
535        advertising reports will be discarded by the controller if the number of unprocessed advertising
536        reports exceeds the size of BLE adv report flow control.
537
538config BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM
539    int "BLE adv report flow control number"
540    depends on BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
541    range 50 1000
542    default 100
543    help
544        The number of unprocessed advertising report that bluetooth host can save.If you set
545        `BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` to a small value, this may cause adv packets lost.
546        If you set `BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` to a large value, bluetooth host may cache a
547        lot of adv packets and this may cause system memory run out. For example, if you set
548        it to 50, the maximum memory consumed by host is 35 * 50 bytes. Please set
549        `BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` according to your system free memory and handle adv
550        packets as fast as possible, otherwise it will cause adv packets lost.
551
552config BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD
553    int "BLE adv lost event threshold value"
554    depends on BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
555    range 1 1000
556    default 20
557    help
558        When adv report flow control is enabled, The ADV lost event will be generated when the number
559        of ADV packets lost in the controller reaches this threshold. It is better to set a larger value.
560        If you set `BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD` to a small value or printf every adv lost event, it
561        may cause adv packets lost more.
562
563config BT_LE_SCAN_DUPL
564    bool "BLE Scan Duplicate Options"
565    default y
566    help
567        This select enables parameters setting of BLE scan duplicate.
568
569choice BT_LE_SCAN_DUPL_TYPE
570    prompt "Scan Duplicate Type"
571    default BT_LE_SCAN_DUPL_TYPE_DEVICE
572    depends on BT_LE_SCAN_DUPL
573    help
574        Scan duplicate have three ways. one is "Scan Duplicate By Device Address", This way is to use
575        advertiser address filtering. The adv packet of the same address is only allowed to be reported once.
576        Another way is "Scan Duplicate By Device Address And Advertising Data". This way is to use advertising
577        data and device address filtering. All different adv packets with the same address are allowed to be
578        reported. The last way is "Scan Duplicate By Advertising Data". This way is to use advertising data
579        filtering. All same advertising data only allow to be reported once even though they are from
580        different devices.
581
582    config BT_LE_SCAN_DUPL_TYPE_DEVICE
583        bool "Scan Duplicate By Device Address"
584        help
585            This way is to use advertiser address filtering. The adv packet of the same address is only
586            allowed to be reported once
587
588    config BT_LE_SCAN_DUPL_TYPE_DATA
589        bool "Scan Duplicate By Advertising Data"
590        help
591            This way is to use advertising data filtering. All same advertising data only allow to be reported
592            once even though they are from different devices.
593
594    config BT_LE_SCAN_DUPL_TYPE_DATA_DEVICE
595        bool "Scan Duplicate By Device Address And Advertising Data"
596        help
597            This way is to use advertising data and device address filtering. All different adv packets with
598            the same address are allowed to be reported.
599endchoice
600
601config BT_LE_SCAN_DUPL_TYPE
602    int
603    depends on BT_LE_SCAN_DUPL
604    default 0 if BT_LE_SCAN_DUPL_TYPE_DEVICE
605    default 1 if BT_LE_SCAN_DUPL_TYPE_DATA
606    default 2 if BT_LE_SCAN_DUPL_TYPE_DATA_DEVICE
607    default 0
608
609config BT_LE_SCAN_DUPL_CACHE_REFRESH_PERIOD
610    int "Duplicate scan list refresh period (seconds)"
611    depends on BT_LE_SCAN_DUPL
612    range 0 1000
613    default 0
614    help
615        If the period value is non-zero, the controller will periodically clear the device information
616        stored in the scan duuplicate filter. If it is 0, the scan duuplicate filter will not be cleared
617        until the scanning is disabled. Duplicate advertisements for this period should not be sent to the
618        Host in advertising report events.
619        There are two scenarios where the ADV packet will be repeatedly reported:
620        1. The duplicate scan cache is full, the controller will delete the oldest device information and
621        add new device information.
622        2. When the refresh period is up, the controller will clear all device information and start filtering
623        again.
624
625config BT_LE_MSYS_INIT_IN_CONTROLLER
626    bool "Msys Mbuf Init in Controller"
627    default y
628
629config BT_LE_TX_CCA_ENABLED
630    bool "Enable TX CCA feature"
631    default n
632    help
633        Enable CCA feature to cancel sending the packet if the signal power is stronger than CCA threshold.
634
635config BT_LE_CCA_RSSI_THRESH
636    int "CCA RSSI threshold value"
637    depends on BT_LE_TX_CCA_ENABLED
638    range 20 100
639    default 20
640    help
641        Power threshold of CCA in unit of -1 dBm.
642
643choice BT_LE_DFT_TX_POWER_LEVEL_DBM
644    prompt "BLE default Tx power level(dBm)"
645    default BT_LE_DFT_TX_POWER_LEVEL_P9
646    help
647        Specify default Tx power level(dBm).
648    config BT_LE_DFT_TX_POWER_LEVEL_N15
649        bool "-15dBm"
650    config BT_LE_DFT_TX_POWER_LEVEL_N12
651        bool "-12dBm"
652    config BT_LE_DFT_TX_POWER_LEVEL_N9
653        bool "-9dBm"
654    config BT_LE_DFT_TX_POWER_LEVEL_N6
655        bool "-6dBm"
656    config BT_LE_DFT_TX_POWER_LEVEL_N3
657        bool "-3dBm"
658    config BT_LE_DFT_TX_POWER_LEVEL_N0
659        bool "0dBm"
660    config BT_LE_DFT_TX_POWER_LEVEL_P3
661        bool "+3dBm"
662    config BT_LE_DFT_TX_POWER_LEVEL_P6
663        bool "+6dBm"
664    config BT_LE_DFT_TX_POWER_LEVEL_P9
665        bool "+9dBm"
666    config BT_LE_DFT_TX_POWER_LEVEL_P12
667        bool "+12dBm"
668    config BT_LE_DFT_TX_POWER_LEVEL_P15
669        bool "+15dBm"
670    config BT_LE_DFT_TX_POWER_LEVEL_P18
671        bool "+18dBm"
672    config BT_LE_DFT_TX_POWER_LEVEL_P20
673        bool "+20dBm"
674endchoice
675
676config BT_LE_DFT_TX_POWER_LEVEL_DBM_EFF
677    int
678    default -15 if BT_LE_DFT_TX_POWER_LEVEL_N15
679    default -12 if BT_LE_DFT_TX_POWER_LEVEL_N12
680    default -9 if BT_LE_DFT_TX_POWER_LEVEL_N9
681    default -6 if BT_LE_DFT_TX_POWER_LEVEL_N6
682    default -3 if BT_LE_DFT_TX_POWER_LEVEL_N3
683    default 0 if BT_LE_DFT_TX_POWER_LEVEL_N0
684    default 3 if BT_LE_DFT_TX_POWER_LEVEL_P3
685    default 6 if BT_LE_DFT_TX_POWER_LEVEL_P6
686    default 9 if BT_LE_DFT_TX_POWER_LEVEL_P9
687    default 12 if BT_LE_DFT_TX_POWER_LEVEL_P12
688    default 15 if BT_LE_DFT_TX_POWER_LEVEL_P15
689    default 18 if BT_LE_DFT_TX_POWER_LEVEL_P18
690    default 20 if BT_LE_DFT_TX_POWER_LEVEL_P20
691    default 0
692
693config BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS
694    bool "Enable enhanced Access Address check in CONNECT_IND"
695    default n
696    help
697        Enabling this option will add stricter verification of the Access Address in the CONNECT_IND PDU.
698        This improves security by ensuring that only connection requests with valid Access Addresses are accepted.
699        If disabled, only basic checks are applied, improving compatibility.
700