Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bluetooth: Controller: Latest local changes for NCS 2.4.1 #1304

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,966 changes: 1 addition & 2,965 deletions include/zephyr/bluetooth/hci.h

Large diffs are not rendered by default.

3,086 changes: 3,086 additions & 0 deletions include/zephyr/bluetooth/hci_types.h

Large diffs are not rendered by default.

179 changes: 78 additions & 101 deletions subsys/bluetooth/controller/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,7 @@ choice BT_LL_CHOICE
Select the Bluetooth Link Layer to compile.

config BT_LL_SW_SPLIT
bool "Software-based BLE Link Layer [EXPERIMENTAL]"
select EXPERIMENTAL
bool "Software-based BLE Link Layer"
select ENTROPY_GENERATOR
help
Use Zephyr software BLE Link Layer ULL LLL split implementation.
Expand Down Expand Up @@ -143,31 +142,10 @@ config BT_CTLR_HCI_VS_BUILD_INFO
character is required at the beginning to separate it from the
already included information.

config BT_CTLR_AD_DATA_BACKUP
bool "Legacy AD Data backup"
depends on BT_PERIPHERAL || BT_CTLR_ADV_EXT
default y
help
Backup Legacy Advertising Data when switching to Legacy Directed or
to Extended Advertising mode, and restore it when switching back to
Legacy Non-Directed Advertising mode.
Application can disable this feature if not using Directed
Advertising or switch between Legacy and Extended Advertising.

config BT_CTLR_HCI_ADV_HANDLE_MAPPING
bool "Advertising set handle mapping between HCI and LL"
depends on BT_CTLR_ADV_EXT
default y if BT_HCI_RAW
help
Enable mapping of advertising set handles between HCI and LL when
using external host since it can use arbitrary numbers as set handles
(as defined by Core specification) as opposed to LL which always uses
zero-based numbering. When using with Zephyr host this option can be
disabled to remove extra mapping logic.

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
Expand All @@ -176,32 +154,16 @@ config BT_CTLR_DUP_FILTER_LEN
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_MESH_SCAN_FILTERS
int "Number of Mesh scan filters"
depends on BT_HCI_MESH_EXT
default 1
range 1 15
help
Set the number of unique Mesh Scan Filters available as part of
the Intel Mesh Vendor Specific Extensions.

config BT_CTLR_MESH_SF_PATTERNS
int "Number of Mesh scan filter patterns"
depends on BT_HCI_MESH_EXT
default 15
range 1 15
help
Set the number of unique Mesh Scan Filter patterns available per
Scan Filter as part of the Intel Mesh Vendor Specific Extensions.

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
Expand Down Expand Up @@ -238,6 +200,7 @@ config BT_CTLR_ISO_TX_BUFFER_SIZE
int "Isochronous Tx buffer size"
depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO
range 1 4095
default BT_ISO_TX_MTU if BT_ISO
default 1
help
Size of the Isochronous Tx buffers and the value returned in HCI LE
Expand Down Expand Up @@ -324,14 +287,42 @@ config BT_CTLR_TX_PWR_PLUS_3

config BT_CTLR_TX_PWR_PLUS_2
bool "+2 dBm"
depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH
depends on HAS_HW_NRF_RADIO_TX_PWR_HIGH || SOC_SERIES_NRF53X

config BT_CTLR_TX_PWR_PLUS_1
bool "+1 dBm"
depends on SOC_SERIES_NRF53X

config BT_CTLR_TX_PWR_0
bool "0 dBm"

config BT_CTLR_TX_PWR_MINUS_1
bool "-1 dBm"
depends on SOC_SERIES_NRF53X

config BT_CTLR_TX_PWR_MINUS_2
bool "-2 dBm"
depends on SOC_SERIES_NRF53X

config BT_CTLR_TX_PWR_MINUS_3
bool "-3 dBm"
depends on SOC_SERIES_NRF53X

config BT_CTLR_TX_PWR_MINUS_4
bool "-4 dBm"

config BT_CTLR_TX_PWR_MINUS_5
bool "-5 dBm"
depends on SOC_SERIES_NRF53X

config BT_CTLR_TX_PWR_MINUS_6
bool "-6 dBm"
depends on SOC_SERIES_NRF53X

config BT_CTLR_TX_PWR_MINUS_7
bool "-7 dBm"
depends on SOC_SERIES_NRF53X

config BT_CTLR_TX_PWR_MINUS_8
bool "-8 dBm"

Expand All @@ -354,6 +345,31 @@ config BT_CTLR_TX_PWR_MINUS_40

endchoice

config BT_CTLR_TX_PWR_DBM
int
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 -12 if BT_CTLR_TX_PWR_MINUS_12
default -16 if BT_CTLR_TX_PWR_MINUS_16
default -20 if BT_CTLR_TX_PWR_MINUS_20
default -30 if BT_CTLR_TX_PWR_MINUS_30
default -40 if BT_CTLR_TX_PWR_MINUS_40

config BT_CTLR_TX_PWR_ANTENNA
int "Set TX power (dBm)"
range -127 127
Expand Down Expand Up @@ -439,6 +455,7 @@ config BT_CTLR_DATA_LENGTH
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
Expand Down Expand Up @@ -476,10 +493,6 @@ config BT_CTLR_CONN_RSSI
help
Enable connection RSSI measurement.

config BT_CTLR_CHECK_SAME_PEER_CONN
bool
default BT_MAX_CONN > 1 && !BT_CTLR_ALLOW_SAME_PEER_CONN

endif # BT_CONN

config BT_CTLR_FILTER_ACCEPT_LIST
Expand Down Expand Up @@ -555,7 +568,6 @@ config BT_CTLR_ADV_EXT
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
select BT_TICKER_EXT if BT_LL_SW_SPLIT
default y if BT_EXT_ADV
help
Enable support for Bluetooth 5.0 LE Advertising Extensions in the
Expand Down Expand Up @@ -591,22 +603,6 @@ config BT_CTLR_ADV_DATA_LEN_MAX
help
Maximum Extended Advertising Data Length.

config BT_CTLR_ADV_EXT_RX_PDU_LEN_MAX
int "Maximum Advertising Extensions Receive PDU Length"
depends on BT_OBSERVER
range 255 255 if BT_HCI_RAW
range 31 255
default 255
help
Maximum Advertising Extensions Receive PDU Length.

config BT_CTLR_SCAN_DATA_LEN_MAX
int "Maximum Extended Scanning Data Length"
depends on BT_OBSERVER
range 31 1650
help
Maximum Extended Scanning Data Length.

config BT_CTLR_ADV_PERIODIC
bool "LE Periodic Advertising in Advertising State"
depends on BT_BROADCASTER && BT_CTLR_ADV_PERIODIC_SUPPORT
Expand Down Expand Up @@ -695,11 +691,6 @@ config BT_CTLR_SYNC_PERIODIC_CTE_TYPE_FILTERING
Enable filtering of periodic advertisements depending on type of
Constant Tone Extension.

config BT_CTLR_CHECK_SAME_PEER_SYNC
# Hidden Kconfig to add same peer synchronization check
bool
default BT_PER_ADV_SYNC_MAX > 1

config BT_CTLR_SYNC_TRANSFER_RECEIVER
bool "Periodic Advertising Sync Transfer receiver"
depends on BT_CTLR_SYNC_TRANSFER_RECEIVER_SUPPORT
Expand All @@ -725,6 +716,7 @@ config BT_CTLR_ADV_ISO
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.
Expand All @@ -738,6 +730,7 @@ config BT_CTLR_SYNC_ISO
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.
Expand Down Expand Up @@ -781,6 +774,14 @@ config BT_CTLR_ADV_ISO_PDU_LEN_MAX
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 1
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
Expand Down Expand Up @@ -817,6 +818,7 @@ config BT_CTLR_SET_HOST_FEATURE
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.
Expand All @@ -829,6 +831,7 @@ config BT_CTLR_CENTRAL_ISO
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.
Expand Down Expand Up @@ -866,13 +869,6 @@ config BT_CTLR_CONN_ISO_STREAMS_PER_GROUP
help
Maximum supported CISes per CIG.

config BT_CTLR_CONN_ISO_HCI_DATAPATH_SKIP_INVALID_DATA
bool "Do not pass invalid SDUs on HCI datapath"
depends on BT_CTLR_CONN_ISO
help
This allows for applications to decide whether to
forward invalid SDUs through HCI upwards.

config BT_CTLR_CONN_ISO_PDU_LEN_MAX
int "Maximum Connected Isochronous Channel PDU Length"
depends on BT_CTLR_CONN_ISO
Expand All @@ -898,27 +894,13 @@ config BT_CTLR_CONN_ISO_STREAMS_MAX_NSE
help
Maximum number of CIS subevents.

choice
prompt "CIS Creation Policy Selection"
default BT_CTLR_CONN_ISO_RELIABILITY_POLICY

config BT_CTLR_CONN_ISO_RELIABILITY_POLICY
bool "CIS creation policy for reliability"
depends on BT_CTLR_CENTRAL_ISO
help
Select this option to use reliability policy for CIS creation. This
favors a CIS layout/configuration which utilizes the full range of the
Max_Transmission_Latency for maximum retransmission and payload
recovery.

config BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY
bool "CIS creation policy for low latency"
depends on BT_CTLR_CENTRAL_ISO
config BT_CTLR_CONN_ISO_STREAMS_MAX_FT
int "LE Connected Isochronous Streams max flush timeout"
depends on BT_CTLR_CONN_ISO
range 1 255
default 255
help
Select this option to use low latency policy for CIS creation. This
favors a CIS layout/configuration which compacts payload transmission
for lowest possible latency.
endchoice
Maximum number of CIS flush timeout events.

config BT_CTLR_ISO
bool
Expand Down Expand Up @@ -968,11 +950,6 @@ config BT_CTLR_ASSERT_HANDLER
and will be invoked whenever the controller code encounters
an unrecoverable error.

config BT_CTLR_TEST
bool "Run in-system unit tests"
help
Run in-system unit tests

endif # BT_CTLR

config BT_CTLR_DEBUG_PINS_CPUAPP
Expand Down
17 changes: 8 additions & 9 deletions subsys/bluetooth/controller/Kconfig.df
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,14 @@
# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

# BT_CTLR_DF_SUPPORT is a wrapper for all DF features.
# If only certain DF features are supported, those should be selected
# individually.
# BT_CTLR_DF_SUPPORT is a wrapper for all DF features. It is referenced by Host
# to enable its DF related Kconfigs when build together with the Controller.
# It is required to enable it when Controller supports any DF related feature
# but particular features are selected individually.
config BT_CTLR_DF_SUPPORT
bool
depends on BT_LL_SW_SPLIT && !BT_CTLR_TIFS_HW
select BT_CTLR_DF_CTE_TX_SUPPORT
select BT_CTLR_DF_ANT_SWITCH_2US_SUPPORT
select BT_CTLR_DF_ANT_SWITCH_1US_SUPPORT
select BT_CTLR_DF_CTE_RX_SUPPORT
select BT_CTLR_DF_CTE_RX_SAMPLE_1US_SUPPORT

if BT_CTLR_DF_SUPPORT

config BT_CTLR_DF_CTE_TX_SUPPORT
bool
Expand All @@ -33,6 +30,8 @@ config BT_CTLR_DF_ANT_SWITCH_1US_SUPPORT
config BT_CTLR_CTEINLINE_SUPPORT
bool

endif # BT_CTLR_DF_SUPPORT

menuconfig BT_CTLR_DF
bool "LE Direction Finding"
depends on BT_CTLR_DF_CTE_TX_SUPPORT || BT_CTLR_DF_CTE_RX_SUPPORT
Expand Down
Loading
Loading