# Bluetooth Controller configuration options # Copyright (c) 2016-2017 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 # The following symbols are enabled depending if the controller actually # supports the respective features. config BT_CTLR_ENTROPY_SUPPORT bool config BT_CTLR_CRYPTO_SUPPORT bool config BT_CTLR_LE_ENC_SUPPORT bool config BT_CTLR_CONN_PARAM_REQ_SUPPORT bool config BT_CTLR_EXT_REJ_IND_SUPPORT bool config BT_CTLR_PER_INIT_FEAT_XCHG_SUPPORT bool config BT_CTLR_DATA_LEN_UPDATE_SUPPORT bool config BT_CTLR_PRIVACY_SUPPORT bool config BT_CTLR_EXT_SCAN_FP_SUPPORT bool config BT_CTLR_PHY_UPDATE_SUPPORT bool config BT_CTLR_PHY_2M_SUPPORT bool config BT_CTLR_PHY_CODED_SUPPORT bool config BT_CTLR_ADV_EXT_SUPPORT bool config BT_CTLR_ADV_PERIODIC_SUPPORT depends on BT_CTLR_ADV_EXT_SUPPORT bool config BT_CTLR_ADV_PERIODIC_RSP_SUPPORT depends on BT_CTLR_ADV_PERIODIC_SUPPORT bool config BT_CTLR_SYNC_PERIODIC_SUPPORT depends on BT_CTLR_ADV_EXT_SUPPORT bool config BT_CTLR_SYNC_PERIODIC_RSP_SUPPORT depends on BT_CTLR_SYNC_PERIODIC_SUPPORT bool config BT_CTLR_SYNC_TRANSFER_SENDER_SUPPORT depends on BT_CTLR_SYNC_PERIODIC_SUPPORT || BT_CTLR_ADV_PERIODIC_SUPPORT bool config BT_CTLR_SYNC_TRANSFER_RECEIVER_SUPPORT depends on BT_CTLR_SYNC_PERIODIC_SUPPORT bool config BT_CTLR_ADV_ISO_SUPPORT depends on BT_CTLR_ADV_PERIODIC_SUPPORT bool config BT_CTLR_SYNC_ISO_SUPPORT depends on BT_CTLR_SYNC_PERIODIC_SUPPORT bool config BT_CTLR_BROADCAST_ISO_ENC_SUPPORT depends on BT_CTLR_ADV_ISO_SUPPORT || BT_CTLR_SYNC_ISO_SUPPORT bool config BT_CTLR_CENTRAL_ISO_SUPPORT bool config BT_CTLR_PERIPHERAL_ISO_SUPPORT bool config BT_CTLR_CHAN_SEL_2_SUPPORT bool config BT_CTLR_MIN_USED_CHAN_SUPPORT bool config BT_CTLR_SMI_SUPPORT bool config BT_CTLR_SCA_UPDATE_SUPPORT bool config BT_CTLR_CONN_RSSI_SUPPORT bool config BT_CTLR_ECDH_SUPPORT bool config BT_CTLR_READ_ISO_LINK_QUALITY_SUPPORT depends on BT_CTLR_SYNC_ISO_SUPPORT || \ BT_CTLR_CENTRAL_ISO_SUPPORT || \ BT_CTLR_PERIPHERAL_ISO_SUPPORT bool config BT_CTLR_LE_POWER_CONTROL_SUPPORT bool config BT_CTLR_LE_PATH_LOSS_MONITORING_SUPPORT depends on BT_CTLR_LE_POWER_CONTROL_SUPPORT bool config BT_CTLR_SUBRATING_SUPPORT bool config BT_CTLR_CHANNEL_SOUNDING_SUPPORT bool # Virtual option that all local LL implemenations should select config HAS_BT_CTLR bool config BT_CTLR bool "Bluetooth Controller [DEPRECATED]" select HAS_BT_CTLR select DEPRECATED help Enables support for SoC native controller implementations. This option has been deprecated and should not be used anymore. Instead, the Kconfig options for specific Link Layer implementations should select the HAS_BT_CTLR option. config BT_LL_SW_SPLIT bool "Software-based BLE Link Layer" default y depends on DT_HAS_ZEPHYR_BT_HCI_LL_SW_SPLIT_ENABLED select HAS_BT_CTLR help Use Zephyr software BLE Link Layer ULL LLL split implementation. config BT_CTLR_HCI bool "Host Controller Interface (HCI)" default y depends on HAS_BT_CTLR help Enable the Host Controller interface (HCI) in the Controller. This should almost always be enabled, except in a few special cases, like for unit testing. if HAS_BT_CTLR comment "BLE Controller configuration" config BT_CTLR_ENTROPY bool "Random number generation in Controller" depends on BT_CTLR_ENTROPY_SUPPORT select ENTROPY_GENERATOR default y help Use random number generation selected by the Controller. Bluetooth Core Specification mandates a use of random number generator compliant with FIPS PUB 140-2. Deselecting this option allows for Controllers to use other entropy generators which may not be true random number generators, and hence would make the implementation experimental. A Controller implementation could also provide custom bare-metal random number generator implementation without any support in Zephyr driver, i.e. there is no ENTROPY_HAS_DRIVER enabled. config BT_CTLR_CRYPTO bool "Crypto functions in Controller" depends on BT_CTLR_CRYPTO_SUPPORT default y help Use random number generation and AES encryption support functions provided by the controller. Support for HCI LE Rand and HCI LE Encrypt commands is mandatory by Bluetooth Core Specification. In an Application/Host and Controller split (using a HCI transport) or combined builds for single CPU SoCs, applications can use their own FIPS-197 compliant cryptographic implementations. In this case the Controller cryptographic implementations can be disabled to save flash and RAM usage. config BT_CTLR_HCI_VS_BUILD_INFO string "Zephyr HCI VS Build Info string" default "" depends on BT_CTLR_HCI && BT_HCI_VS help User-defined string that will be returned by the Zephyr VS Read Build Information command after the Zephyr version and build time. When setting this to a value different from an empty string, a space character is required at the beginning to separate it from the already included information. config BT_CTLR_DUP_FILTER_LEN int "Number of addresses in the scan duplicate filter" depends on BT_OBSERVER depends on BT_LL_SW_SPLIT default 16 help Set the number of unique BLE addresses that can be filtered as duplicates while scanning. config BT_CTLR_DUP_FILTER_ADV_SET_MAX int "Number of Extended Advertising Sets in the scan duplicate filter" depends on BT_OBSERVER && BT_CTLR_ADV_EXT && (BT_CTLR_DUP_FILTER_LEN > 0) depends on BT_LL_SW_SPLIT range 1 16 default 1 help Set the number of unique Advertising Set ID per Bluetooth Low Energy addresses that can be filtered as duplicates while Extended Scanning. config BT_CTLR_RX_BUFFERS int "Number of Rx buffers" depends on BT_LL_SW_SPLIT default 6 if BT_HCI_RAW default 1 range 1 18 help Set the number of Rx PDUs to be buffered in the controller. In a 7.5ms connection interval and 2M PHY, maximum 18 packets with L2CAP payload size of 1 byte can be received. config BT_CTLR_ISO_RX_BUFFERS int "Number of Isochronous Rx buffers" depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO default 8 range 1 30 help Set the number of Isochronous Rx PDUs to be buffered in the controller. Number of required RX buffers would worst-case be the number of RX nodes prepared in one ISO event for each active ISO group. This depends on the number of bursts in an ISO group and number of groups, and may need to be set lower that the theoretical maximum. Default of 8 is for supporting two groups of 4 payloads, e.g. 2 CIGs with 2 CISes of BN=2. config BT_CTLR_ISO_TX_BUFFERS int "Number of Isochronous Tx buffers" depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO range 1 $(UINT8_MAX) default BT_ISO_TX_BUF_COUNT if BT_ISO default 3 help Set the number of Isochronous Tx PDUs to be queued for transmission in the controller. config BT_CTLR_ISO_TX_BUFFER_SIZE int "Isochronous Tx buffer size" depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO range 9 4103 if BT_LL_SW_SPLIT range 1 $(UINT16_MAX) default 9 if BT_LL_SW_SPLIT default 1 help Size of the Isochronous Tx buffers and the value returned in HCI LE Read Buffer Size V2 command response. This is the data portion of the HCI ISO Data packet, corresponding to the Data_Total_Length field. Currently the maximum SDU length is 4095 bytes, hence add HCI ISO Data packet overhead (the Packet_Sequence_Number, ISO_SDU_Length, Packet_Status_Flag fields; and the optional Time_Stamp field, if supplied) of 8 bytes. config BT_CTLR_ISOAL_SOURCES int "Number of Isochronous Adaptation Layer sources" depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO range 1 64 default 1 help Set the number of concurrently active sources supported by the ISO AL. config BT_CTLR_ISOAL_SINKS int "Number of Isochronous Adaptation Layer sinks" depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO range 1 64 default 1 help Set the number of concurrently active sinks supported by the ISO AL. config BT_CTLR_ISO_RX_SDU_BUFFERS int "Number of SDU fragments that the ISO-AL can buffer" depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO default 0 range 0 64 help Set the number of Isochronous Rx SDU fragments to be buffered in the ISO-AL per sink. Buffering is required to compute the size and status of the received SDU across all the fragments before each is released. The number of buffers and maximum SDU fragment size will limit the maximum size of an SDU that can be accurately declared in the HCI ISO Data header. config BT_CTLR_ISO_VENDOR_DATA_PATH bool "Vendor-specific ISO data path" depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO select BT_CTLR_HCI_CODEC_AND_DELAY_INFO choice BT_CTLR_TX_PWR prompt "Tx Power" default BT_CTLR_TX_PWR_0 depends on BT_CTLR_TX_PWR_ANTENNA = 0 || BT_LL_SW_SPLIT help Select a supported BLE Radio transmit power level in dBm. Only values supported natively by the SoC are available. The value set here represents the actual default power level fed to the antenna. config BT_CTLR_TX_PWR_PLUS_10 bool "+10 dBm" depends on SOC_SERIES_NRF54HX config BT_CTLR_TX_PWR_PLUS_9 bool "+9 dBm" depends on SOC_SERIES_NRF54HX config BT_CTLR_TX_PWR_PLUS_8 bool "+8 dBm" depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_PLUS_7 bool "+7 dBm" depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_PLUS_6 bool "+6 dBm" depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_PLUS_5 bool "+5 dBm" depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_PLUS_4 bool "+4 dBm" depends on SOC_SERIES_NRF51X || SOC_COMPATIBLE_NRF52X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_PLUS_3 bool "+3 dBm" depends on SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_PLUS_2 bool "+2 dBm" depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_PLUS_1 bool "+1 dBm" depends on SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_0 bool "0 dBm" config BT_CTLR_TX_PWR_MINUS_1 bool "-1 dBm" depends on SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_MINUS_2 bool "-2 dBm" depends on SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_MINUS_3 bool "-3 dBm" depends on SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_MINUS_4 bool "-4 dBm" config BT_CTLR_TX_PWR_MINUS_5 bool "-5 dBm" depends on SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_MINUS_6 bool "-6 dBm" depends on SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_MINUS_7 bool "-7 dBm" depends on SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_MINUS_8 bool "-8 dBm" config BT_CTLR_TX_PWR_MINUS_9 bool "-9 dBm" depends on SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_MINUS_10 bool "-10 dBm" depends on SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_MINUS_12 bool "-12 dBm" config BT_CTLR_TX_PWR_MINUS_14 bool "-14 dBm" depends on SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_MINUS_16 bool "-16 dBm" config BT_CTLR_TX_PWR_MINUS_20 bool "-20 dBm" config BT_CTLR_TX_PWR_MINUS_26 bool "-26 dBm" depends on SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_MINUS_30 bool "-30 dBm" depends on SOC_SERIES_NRF51X || SOC_SERIES_NRF54HX config BT_CTLR_TX_PWR_MINUS_40 bool "-40 dBm" depends on SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X || SOC_SERIES_NRF54HX || SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_MINUS_46 bool "-46 dBm" depends on SOC_COMPATIBLE_NRF54LX config BT_CTLR_TX_PWR_MINUS_70 bool "-70 dBm" depends on SOC_SERIES_NRF54HX endchoice config BT_CTLR_TX_PWR_DBM int default 10 if BT_CTLR_TX_PWR_PLUS_10 default 9 if BT_CTLR_TX_PWR_PLUS_9 default 8 if BT_CTLR_TX_PWR_PLUS_8 default 7 if BT_CTLR_TX_PWR_PLUS_7 default 6 if BT_CTLR_TX_PWR_PLUS_6 default 5 if BT_CTLR_TX_PWR_PLUS_5 default 4 if BT_CTLR_TX_PWR_PLUS_4 default 3 if BT_CTLR_TX_PWR_PLUS_3 default 2 if BT_CTLR_TX_PWR_PLUS_2 default 1 if BT_CTLR_TX_PWR_PLUS_1 default 0 if BT_CTLR_TX_PWR_0 default -1 if BT_CTLR_TX_PWR_MINUS_1 default -2 if BT_CTLR_TX_PWR_MINUS_2 default -3 if BT_CTLR_TX_PWR_MINUS_3 default -4 if BT_CTLR_TX_PWR_MINUS_4 default -5 if BT_CTLR_TX_PWR_MINUS_5 default -6 if BT_CTLR_TX_PWR_MINUS_6 default -7 if BT_CTLR_TX_PWR_MINUS_7 default -8 if BT_CTLR_TX_PWR_MINUS_8 default -9 if BT_CTLR_TX_PWR_MINUS_9 default -10 if BT_CTLR_TX_PWR_MINUS_10 default -12 if BT_CTLR_TX_PWR_MINUS_12 default -14 if BT_CTLR_TX_PWR_MINUS_14 default -16 if BT_CTLR_TX_PWR_MINUS_16 default -20 if BT_CTLR_TX_PWR_MINUS_20 default -26 if BT_CTLR_TX_PWR_MINUS_26 default -30 if BT_CTLR_TX_PWR_MINUS_30 default -40 if BT_CTLR_TX_PWR_MINUS_40 default -46 if BT_CTLR_TX_PWR_MINUS_46 default -70 if BT_CTLR_TX_PWR_MINUS_70 config BT_CTLR_TX_PWR_ANTENNA int "Set TX power (dBm)" range -127 127 default 0 depends on !BT_LL_SW_SPLIT help Request a TX power in dBm. The power level set will be equal to or less than the one requested, based on the values supported by the hardware used. Values outside the supported range will be set to the nearest supported value. The value set here represents the actual power level fed to the antenna. When a Front-End Module is used, gain values for the SoC and FEM are calculated automatically to guarantee the closest possible match to the value requested by the user at the RF output. config BT_CTLR_TX_PWR_DYNAMIC_CONTROL bool "Tx Power Dynamic Control" depends on BT_HCI_VS help Enable dynamic control of Tx power per role/connection. Provides HCI VS commands to set and get the current Tx power on an individual role/connection basis. comment "BLE Controller features" if BT_CONN config BT_CTLR_LE_ENC bool "LE Encryption" depends on BT_CTLR_LE_ENC_SUPPORT default y help Enable support for Bluetooth v4.0 LE Encryption feature in the Controller. config BT_CTLR_ECDH bool "Elliptic Curve Diffie-Hellman (ECDH)" depends on BT_CTLR_ECDH_SUPPORT default y help Enable support for Bluetooth v4.2 Elliptic Curve Diffie-Hellman feature in the controller. config BT_CTLR_CONN_PARAM_REQ bool "Connection Parameter Request" depends on BT_CTLR_CONN_PARAM_REQ_SUPPORT select BT_CTLR_EXT_REJ_IND default y help Enable support for Bluetooth v4.1 Connection Parameter Request feature in the Controller. config BT_CTLR_EXT_REJ_IND bool "Extended Reject Indication" depends on BT_CTLR_EXT_REJ_IND_SUPPORT default y help Enable support for Bluetooth v4.1 Extended Reject Indication feature in the Controller. config BT_CTLR_PER_INIT_FEAT_XCHG bool "Peripheral-initiated Features Exchange" depends on BT_CTLR_PER_INIT_FEAT_XCHG_SUPPORT default y help Enable support for Bluetooth v4.1 Peripheral-initiated Features Exchange feature in the Controller. config BT_CTLR_LE_PING bool "LE Ping" depends on BT_CTLR_LE_ENC default y help Enable support for Bluetooth v4.1 LE Ping feature in the Controller. config BT_CTLR_DATA_LENGTH # Hidden option to enable support for Bluetooth v4.2 LE Data Length # Update procedure in the Controller. bool depends on BT_DATA_LEN_UPDATE && BT_CTLR_DATA_LEN_UPDATE_SUPPORT default y config BT_CTLR_DATA_LENGTH_MAX int "Maximum data length supported" depends on BT_CTLR_DATA_LENGTH default BT_BUF_ACL_RX_SIZE if BT_BUF_ACL_RX_SIZE < 251 default 27 range 27 BT_BUF_ACL_RX_SIZE if BT_BUF_ACL_RX_SIZE < 251 range 27 251 help Set the maximum data length of PDU supported in the Controller. config BT_CTLR_PHY # Hidden option to enable support for Bluetooth 5.0 PHY Update # Procedure in the Controller. bool depends on BT_PHY_UPDATE && BT_CTLR_PHY_UPDATE_SUPPORT select BT_CTLR_EXT_REJ_IND default y config BT_CTLR_MIN_USED_CHAN bool "Minimum Number of Used Channels" depends on BT_CTLR_MIN_USED_CHAN_SUPPORT default y help Enable support for Bluetooth 5.0 Minimum Number of Used Channels Procedure in the Controller. config BT_CTLR_SCA_UPDATE bool "Sleep Clock Accuracy Update procedure" depends on BT_SCA_UPDATE && BT_CTLR_SCA_UPDATE_SUPPORT default y if BT_CTLR_CONN_ISO help Enable support for Bluetooth 5.1 Sleep Clock Accuracy Update procedure in the Controller. config BT_CTLR_CONN_RSSI bool "Connection RSSI" depends on BT_CTLR_CONN_RSSI_SUPPORT default y if BT_HCI_RAW help Enable connection RSSI measurement. config BT_CTLR_LE_POWER_CONTROL bool "LE Power Control Request Feature" depends on BT_CTLR_LE_POWER_CONTROL_SUPPORT default y if BT_TRANSMIT_POWER_CONTROL help Enable support for LE Power Control Request feature that is defined in the Bluetooth Core specification, Version 5.4 | Vol 6, Part B, Section 4.6.31. config BT_CTLR_LE_PATH_LOSS_MONITORING bool "LE Path Loss Monitoring Feature" depends on BT_CTLR_LE_PATH_LOSS_MONITORING_SUPPORT default y if BT_PATH_LOSS_MONITORING select BT_CTLR_LE_POWER_CONTROL help Enable support for LE Path Loss Monitoring feature that is defined in the Bluetooth Core specification, Version 5.4 | Vol 6, Part B, Section 4.6.32. endif # BT_CONN config BT_CTLR_FILTER_ACCEPT_LIST bool "Filter Accept List Support" default y if BT_HCI_RAW || BT_FILTER_ACCEPT_LIST help Enable support for controller Filter Accept List feature config BT_CTLR_PRIVACY bool "LE Controller-based Privacy" depends on BT_CTLR_PRIVACY_SUPPORT select BT_CTLR_FILTER_ACCEPT_LIST if BT_LL_SW_SPLIT select BT_RPA default y if BT_HCI_RAW || BT_SMP help Enable support for Bluetooth v4.2 LE Controller-based Privacy feature in the Controller. config BT_CTLR_FAL_SIZE int "LE Controller-based Privacy White List size" depends on BT_CTLR_FILTER_ACCEPT_LIST default 8 range 1 8 if (SOC_COMPATIBLE_NRF || SOC_OPENISA_RV32M1) range 1 16 if !(SOC_COMPATIBLE_NRF || SOC_OPENISA_RV32M1) help Set the size of the Filter Accept List for LE Controller-based Privacy. On nRF5x-based controllers, the hardware imposes a limit of 8 devices. On OpenISA-based controllers, the hardware imposes a limit of 8 devices. config BT_CTLR_RL_SIZE int "LE Controller-based Privacy Resolving List size" depends on BT_CTLR_PRIVACY default 8 range 1 8 if SOC_COMPATIBLE_NRF range 1 8 if SOC_OPENISA_RV32M1 help Set the size of the Resolving List for LE Controller-based Privacy. On nRF5x-based controllers, the hardware imposes a limit of 8 devices. On OpenISA-based controllers, the hardware imposes a limit of 8 devices. config BT_CTLR_EXT_SCAN_FP bool "LE Extended Scanner Filter Policies" depends on BT_OBSERVER && BT_CTLR_EXT_SCAN_FP_SUPPORT default y help Enable support for Bluetooth v4.2 LE Extended Scanner Filter Policies in the Controller. config BT_CTLR_PHY_2M bool "2Mbps PHY Support" depends on (BT_CTLR_PHY || BT_CTLR_ADV_EXT) && BT_CTLR_PHY_2M_SUPPORT default y help Enable support for Bluetooth 5.0 2Mbps PHY in the Controller. config BT_CTLR_PHY_CODED bool "Coded PHY Support" depends on (BT_CTLR_PHY || BT_CTLR_ADV_EXT) && BT_CTLR_PHY_CODED_SUPPORT default y if BT_HCI_RAW help Enable support for Bluetooth 5.0 Coded PHY in the Controller. config BT_CTLR_CHAN_SEL_2 bool "Channel Selection Algorithm #2" depends on (BT_CONN || (BT_BROADCASTER && BT_CTLR_ADV_EXT) || BT_CTLR_ADV_PERIODIC || BT_CTLR_SYNC_PERIODIC) && BT_CTLR_CHAN_SEL_2_SUPPORT default y help Enable support for Bluetooth 5.0 LE Channel Selection Algorithm #2 in the Controller. config BT_CTLR_ADV_EXT bool "LE Advertising Extensions" depends on BT_CTLR_ADV_EXT_SUPPORT select BT_CTLR_CHAN_SEL_2 if BT_LL_SW_SPLIT && BT_BROADCASTER select BT_CTLR_SCAN_REQ_NOTIFY if BT_LL_SW_SPLIT && BT_BROADCASTER default y if BT_EXT_ADV help Enable support for Bluetooth 5.0 LE Advertising Extensions in the Controller. if BT_CTLR_ADV_EXT config BT_CTLR_ADV_SET int "LE Advertising Extensions Sets" depends on BT_BROADCASTER range 1 64 default BT_EXT_ADV_MAX_ADV_SET if BT_EXT_ADV help Maximum supported advertising sets. config BT_CTLR_ADV_INTERVAL_MAX hex "Primary Advertising Interval Maximum" depends on BT_BROADCASTER range 0x000020 0x004000 if BT_LL_SW_SPLIT range 0x000020 0xFFFFFF default 0x004000 if BT_LL_SW_SPLIT default 0xFFFFFF help Supported Primary Advertising Interval Maximum value. Bluetooth Core Specification v5.3 permitted range is 0x000020 to 0xFFFFFF in 0.625 ms units. config BT_CTLR_ADV_DATA_LEN_MAX int "Maximum Advertising Data Length" depends on BT_BROADCASTER range 31 191 if BT_LL_SW_SPLIT && !BT_CTLR_ADV_DATA_CHAIN range 31 1650 help Maximum Extended Advertising Data Length. config BT_CTLR_ADV_PERIODIC bool "LE Periodic Advertising in Advertising State" depends on BT_BROADCASTER && BT_CTLR_ADV_PERIODIC_SUPPORT select BT_CTLR_CHAN_SEL_2 default y if BT_PER_ADV help Enable support for Bluetooth 5.0 LE Periodic Advertising in the Controller. config BT_CTLR_ADV_PERIODIC_RSP bool "LE Periodic Advertising with Responses in Advertising State" depends on BT_BROADCASTER && BT_CTLR_ADV_PERIODIC_RSP_SUPPORT select BT_CTLR_CHAN_SEL_2 default y if BT_PER_ADV_RSP help Enable support for Bluetooth 5.4 LE Periodic Advertising with Responses in the Controller. if BT_CTLR_ADV_PERIODIC config BT_CTLR_ADV_PERIODIC_ADI_SUPPORT bool "Periodic Advertising ADI support" default y help Enable support for adding AdvDataInfo in Periodic Advertising PDUs. config BT_CTLR_ADV_PERIODIC_INTERVAL_MAX hex "Periodic Advertising Interval Maximum" range 0x0006 0x2000 if BT_LL_SW_SPLIT range 0x0006 0xFFFF default 0x2000 if BT_LL_SW_SPLIT default 0xFFFF help Supported Periodic Advertising Interval Maximum value. Bluetooth Core Specification v5.3 permitted range is 0x0006 to 0xFFFF in 1.25 ms units. endif # BT_CTLR_ADV_PERIODIC config BT_CTLR_SYNC_PERIODIC bool "LE Periodic Advertising in Synchronization State" depends on BT_OBSERVER && BT_CTLR_SYNC_PERIODIC_SUPPORT select BT_CTLR_CHAN_SEL_2 default y if BT_PER_ADV_SYNC help Enable support for Bluetooth 5.0 LE Periodic Advertising in Synchronization state in the Controller. config BT_CTLR_SYNC_PERIODIC_RSP bool "LE Periodic Advertising with Responses in Synchronization State" depends on BT_OBSERVER && BT_CTLR_SYNC_PERIODIC_RSP_SUPPORT select BT_CTLR_CHAN_SEL_2 default y if BT_PER_ADV_SYNC_RSP help Enable support for Bluetooth 5.4 LE Periodic Advertising with Responses in Synchronization state in the Controller. if BT_CTLR_SYNC_PERIODIC config BT_CTLR_SYNC_PERIODIC_ADV_LIST bool "LE Periodic Advertiser List support" default y help Enable support for LE Periodic Advertiser List support. config BT_CTLR_SYNC_PERIODIC_ADV_LIST_SIZE int "LE Periodic Advertiser List size" depends on BT_CTLR_SYNC_PERIODIC_ADV_LIST range 1 $(UINT8_MAX) default 8 help Set Periodic Advertiser List size, this will be return in the HCI LE Read Periodic Advertiser List Command. config BT_CTLR_SYNC_PERIODIC_ADI_SUPPORT bool "Periodic Advertising Sync with ADI support (duplicate filtering)" default y help Enable support for duplicate filtering using AdvDataInfo present in Periodic Advertising PDUs. config BT_CTLR_SYNC_PERIODIC_CTE_TYPE_FILTERING bool "LE Periodic Advertiser filtering by CTE type" default y help Enable filtering of periodic advertisements depending on type of Constant Tone Extension. config BT_CTLR_SYNC_TRANSFER_RECEIVER bool "Periodic Advertising Sync Transfer receiver" depends on BT_CTLR_SYNC_TRANSFER_RECEIVER_SUPPORT default BT_PER_ADV_SYNC_TRANSFER_RECEIVER help Enable support for the Periodic Advertising Sync Transfer control procedure as a receiver of the LL_PERIODIC_SYNC_IND. See Core_v5.3, Vol 6, Part B, Section 5.1.13 endif # BT_CTLR_SYNC_PERIODIC config BT_CTLR_SYNC_TRANSFER_SENDER bool "Periodic Advertising Sync Transfer sender" depends on BT_CTLR_SYNC_TRANSFER_SENDER_SUPPORT default BT_PER_ADV_SYNC_TRANSFER_SENDER help Enable support for the Periodic Advertising Sync Transfer control procedure as a transmitter of the LL_PERIODIC_SYNC_IND. See Core_v5.3, Vol 6, Part B, Section 5.1.13 config BT_CTLR_ADV_ISO bool "LE Broadcast Isochronous Channel advertising" if !BT_LL_SW_SPLIT depends on BT_BROADCASTER && BT_CTLR_ADV_ISO_SUPPORT select BT_CTLR_ADV_PERIODIC select BT_CTLR_SET_HOST_FEATURE default y if BT_ISO_BROADCASTER help Enable support for Bluetooth 5.2 LE Isochronous Advertising in the Controller. config BT_CTLR_ADV_ISO bool "LE Broadcast Isochronous Channel advertising (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT select EXPERIMENTAL if BT_LL_SW_SPLIT config BT_CTLR_SYNC_ISO bool "LE Broadcast Isochronous Channel advertising sync" if !BT_LL_SW_SPLIT depends on BT_OBSERVER && BT_CTLR_SYNC_ISO_SUPPORT select BT_CTLR_SYNC_PERIODIC select BT_CTLR_SET_HOST_FEATURE default y if BT_ISO_SYNC_RECEIVER help Enable support for Bluetooth 5.2 LE Isochronous Advertising sync in the Controller. config BT_CTLR_SYNC_ISO bool "LE Broadcast Isochronous Channel advertising sync (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT select EXPERIMENTAL if BT_LL_SW_SPLIT config BT_CTLR_BROADCAST_ISO bool default BT_CTLR_ADV_ISO || BT_CTLR_SYNC_ISO config BT_CTLR_BROADCAST_ISO_ENC bool depends on BT_CTLR_BROADCAST_ISO_ENC_SUPPORT && BT_CTLR_BROADCAST_ISO select BT_CRYPTO if BT_LL_SW_SPLIT default y config BT_CTLR_ADV_ISO_SET int "LE Isochronous Channel advertising sets" depends on BT_CTLR_ADV_ISO range 1 32 default BT_ISO_MAX_BIG help Maximum supported advertising sets. config BT_CTLR_ADV_ISO_STREAM_MAX int "Maximum supported Broadcast ISO Streams per Broadcast ISO group" depends on BT_CTLR_ADV_ISO range 1 31 help Maximum supported Broadcast ISO Streams per Broadcast ISO group. config BT_CTLR_ADV_ISO_STREAM_COUNT int "Maximum Broadcast ISO Streams" depends on BT_CTLR_ADV_ISO range BT_CTLR_ADV_ISO_STREAM_MAX 64 default BT_ISO_MAX_CHAN help Maximum Broadcast ISO Streams supported in the Controller across all Broadcast ISO groups. config BT_CTLR_ADV_ISO_PDU_LEN_MAX int "Maximum Broadcast Isochronous Channel PDU Length" depends on BT_CTLR_ADV_ISO range 1 251 default 251 help Maximum Broadcast Isochronous Channel PDU Length. config BT_CTLR_SCAN_SYNC_ISO_SET int "LE ISO Broadcast Isochronous Groups Sync Sets" depends on BT_CTLR_SYNC_ISO range 1 64 default BT_ISO_MAX_BIG help Maximum supported broadcast isochronous groups (BIGs) sync sets. config BT_CTLR_SYNC_ISO_STREAM_MAX int "Maximum supported ISO Synchronized Receiver Streams per Broadcast ISO group" depends on BT_CTLR_SYNC_ISO range 1 31 help Maximum supported ISO Synchronized Receiver Streams per Broadcast ISO group. config BT_CTLR_SYNC_ISO_STREAM_COUNT int "Maximum ISO Synchronized Receiver Streams" depends on BT_CTLR_SYNC_ISO range BT_CTLR_SYNC_ISO_STREAM_MAX 64 default BT_ISO_MAX_CHAN help Maximum ISO Synchronized Receiver Streams supported in the Controller across all Broadcast ISO groups. config BT_CTLR_SYNC_ISO_PDU_LEN_MAX int "Maximum Synchronized Isochronous Channel PDU Length" depends on BT_CTLR_SYNC_ISO range 251 251 if BT_HCI_RAW range 1 251 default 251 help Maximum Synchronized Receiver Isochronous Channel PDU Length. endif # BT_CTLR_ADV_EXT config BT_CTLR_SET_HOST_FEATURE bool "LE Set Host Feature Command" if !BT_LL_SW_SPLIT help Enables optional LE Set Host Feature Command config BT_CTLR_SET_HOST_FEATURE bool "LE Set Host Feature Command (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT select EXPERIMENTAL if BT_LL_SW_SPLIT config BT_CTLR_CENTRAL_ISO bool "LE Connected Isochronous Stream Central" if !BT_LL_SW_SPLIT depends on BT_CTLR_CENTRAL_ISO_SUPPORT && BT_CENTRAL default y if BT_ISO_CENTRAL help Enable support for Bluetooth 5.2 LE Connected Isochronous Stream Central role in the Controller. config BT_CTLR_CENTRAL_ISO bool "LE Connected Isochronous Stream Central (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT select BT_CTLR_SET_HOST_FEATURE select EXPERIMENTAL if BT_LL_SW_SPLIT config BT_CTLR_PERIPHERAL_ISO bool "LE Connected Isochronous Stream Peripheral" if !BT_LL_SW_SPLIT depends on BT_CTLR_PERIPHERAL_ISO_SUPPORT && BT_PERIPHERAL default y if BT_ISO_PERIPHERAL help Enable support for Bluetooth 5.2 LE Connected Isochronous Stream Peripheral role in the Controller. config BT_CTLR_PERIPHERAL_ISO bool "LE Connected Isochronous Stream Peripheral (Split Link Layer) [EXPERIMENTAL]" if BT_LL_SW_SPLIT select BT_CTLR_SET_HOST_FEATURE select EXPERIMENTAL if BT_LL_SW_SPLIT config BT_CTLR_CONN_ISO bool default BT_CTLR_CENTRAL_ISO || BT_CTLR_PERIPHERAL_ISO config BT_CTLR_CONN_ISO_STREAMS int "LE Connected Isochronous Streams" depends on BT_CTLR_CONN_ISO range 1 64 default BT_ISO_MAX_CHAN help Maximum supported total number of CISes. config BT_CTLR_CONN_ISO_GROUPS int "LE Connected Isochronous Groups" depends on BT_CTLR_CONN_ISO range 1 240 default BT_ISO_MAX_CIG help Maximum supported CIGs. config BT_CTLR_CONN_ISO_STREAMS_PER_GROUP int "LE Connected Isochronous Streams per Group" depends on BT_CTLR_CONN_ISO range 1 31 default 2 help Maximum supported CISes per CIG. config BT_CTLR_CONN_ISO_PDU_LEN_MAX int "Maximum Connected Isochronous Channel PDU Length" depends on BT_CTLR_CONN_ISO range 251 251 if BT_HCI_RAW range 1 251 default 251 help Maximum Connected Isochronous Channel PDU Length. config BT_CTLR_CONN_ISO_SDU_LEN_MAX int "Maximum Connected Isochronous Channel SDU Length" depends on BT_CTLR_CONN_ISO range 1 4095 default 251 help Maximum Connected Isochronous Channel SDU Length. config BT_CTLR_CONN_ISO_STREAMS_MAX_NSE int "LE Connected Isochronous Streams max number of subevents" depends on BT_CTLR_CONN_ISO range 1 31 default 31 help Maximum number of CIS subevents. config BT_CTLR_CONN_ISO_STREAMS_MAX_FT int "LE Connected Isochronous Streams max flush timeout" depends on BT_CTLR_CONN_ISO range 1 $(UINT8_MAX) default $(UINT8_MAX) help Maximum number of CIS flush timeout events. config BT_CTLR_ISO bool default BT_CTLR_BROADCAST_ISO || BT_CTLR_CONN_ISO config BT_CTLR_READ_ISO_LINK_QUALITY bool "LE Read ISO Link Quality" depends on BT_CTLR_READ_ISO_LINK_QUALITY_SUPPORT depends on BT_CTLR_SYNC_ISO || BT_CTLR_CONN_ISO help Enable support for LE Read ISO Link Quality command. config BT_CTLR_SMI_RX bool "Stable modulation index - Receiver" depends on BT_CTLR_SMI_SUPPORT help Enable support for Bluetooth 5.0 SMI RX in the Controller. config BT_CTLR_SMI_TX bool "Stable modulation index - Transmitter" depends on BT_CTLR_SMI_SUPPORT help Enable support for Bluetooth 5.0 SMI TX in the Controller. config BT_CTLR_SMI_TX_SETTING bool "Stable modulation index - Transmitter as setting" depends on BT_CTLR_SMI_TX && BT_CTLR_SETTINGS help Enable support for Bluetooth 5.0 SMI TX through a system setting. config BT_CTLR_HCI_CODEC_AND_DELAY_INFO bool "Codecs and controller delay information commands" depends on BT_CTLR_HCI help Enable HCI commands to read information about supported codecs, codec capabilities, and controller delay. config BT_CTLR_SUBRATING bool "LE Connection Subrating" depends on BT_CTLR_SUBRATING_SUPPORT select BT_CTLR_SET_HOST_FEATURE default y if BT_SUBRATING help Enable support for Bluetooth v5.3 LE Connection Subrating in the Controller. config BT_CTLR_CHANNEL_SOUNDING bool "Channel Sounding support" depends on BT_CTLR_CHANNEL_SOUNDING_SUPPORT select BT_CTLR_SET_HOST_FEATURE default y if BT_CHANNEL_SOUNDING help Enable support for Bluetooth 6.0 Channel Sounding in the Controller. rsource "Kconfig.df" rsource "Kconfig.ll_sw_split" rsource "Kconfig.dtm" config BT_CTLR_ASSERT_HANDLER bool "Application Defined Assertion Handler" help This option enables an application-defined sink for the controller assertion mechanism. This must be defined in application code as void \"bt_ctlr_assert_handle(char \*, int)\" and will be invoked whenever the controller code encounters an unrecoverable error. config BT_CTLR_VS_SCAN_REQ_RX bool "Use scan request reporting" depends on BT_HCI_VS && !BT_CTLR_ADV_EXT select BT_CTLR_SCAN_REQ_NOTIFY help Enables usage of VS Scan Request Reports Command and Scan Request Received Event endif # HAS_BT_CTLR config BT_CTLR_DEBUG_PINS_CPUAPP bool "Bluetooth Controller Debug Pins" depends on BOARD_NRF5340DK_NRF5340_CPUAPP help Route debug GPIO toggling for the BLE Controller. Enable this when using Bluetooth Controller Debug Pins in co-processor and the main processor needs to setup and/or route the signals.