Browse Source
Refactor the controller init to use the new init routines the controller now provides. Instead of using a hardcoded set of features, the features are now initialized based on Kconfig values that the application selects. Add config files under modules/hal_silabs, used by the controller init routines in the external module hal_silabs to determine which features to enable based on Kconfig options. This brings the controller feature configurability to roughly parity with the Simplicity SDK. Signed-off-by: Jori Rintahaka <jori.rintahaka@silabs.com> Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>pull/89798/head
20 changed files with 688 additions and 155 deletions
@ -0,0 +1,15 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init |
||||||
|
* functions. It is provided for compatibility only. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef SL_BLUETOOTH_H |
||||||
|
#define SL_BLUETOOTH_H |
||||||
|
|
||||||
|
/* This is a dummy file for compatibility */ |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,15 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init |
||||||
|
* functions. It is used to configure generic advertiser settings. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef SL_BT_ADVERTISER_CONFIG_H |
||||||
|
#define SL_BT_ADVERTISER_CONFIG_H |
||||||
|
|
||||||
|
#define SL_BT_CONFIG_USER_ADVERTISERS CONFIG_BT_SILABS_EFR32_USER_ADVERTISERS |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,15 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init |
||||||
|
* functions. It is used to configure connection options. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef SL_BT_CONNECTION_CONFIG_H |
||||||
|
#define SL_BT_CONNECTION_CONFIG_H |
||||||
|
|
||||||
|
#define SL_BT_CONFIG_MAX_CONNECTIONS CONFIG_BT_MAX_CONN |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,18 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init |
||||||
|
* functions. It is used to configure Channel Sounding options. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef SL_BT_CS_CONFIG_H |
||||||
|
#define SL_BT_CS_CONFIG_H |
||||||
|
|
||||||
|
#define SL_BT_CONFIG_MAX_CS_CONFIGS_PER_CONNECTION \ |
||||||
|
CONFIG_BT_SILABS_EFR32_MAX_CS_CONFIGS_PER_CONNECTION |
||||||
|
|
||||||
|
#define SL_BT_CONFIG_MAX_CS_PROCEDURES CONFIG_BT_SILABS_EFR32_MAX_CS_PROCEDURES |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,15 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init |
||||||
|
* functions. It is used to configure Periodic Advertising Synchronizer options. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef SL_BT_PERIODIC_SYNC_CONFIG_H |
||||||
|
#define SL_BT_PERIODIC_SYNC_CONFIG_H |
||||||
|
|
||||||
|
#define SL_BT_CONFIG_MAX_PERIODIC_ADVERTISING_SYNC CONFIG_BT_PER_ADV_SYNC_MAX |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,15 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init |
||||||
|
* functions. It is used to configure Accept List options. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef SL_BT_ACCEPT_LIST_CONFIG_H |
||||||
|
#define SL_BT_ACCEPT_LIST_CONFIG_H |
||||||
|
|
||||||
|
#define SL_BT_CONFIG_ACCEPT_LIST_SIZE CONFIG_BT_SILABS_EFR32_ACCEPT_LIST_SIZE |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,22 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init |
||||||
|
* functions. It is used to configure Periodic Advertising With Response options. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef SL_BT_PAWR_ADVERTISER_CONFIG_H |
||||||
|
#define SL_BT_PAWR_ADVERTISER_CONFIG_H |
||||||
|
|
||||||
|
#define SL_BT_CONFIG_MAX_PAWR_ADVERTISERS CONFIG_BT_SILABS_EFR32_MAX_PAWR_ADVERTISERS |
||||||
|
|
||||||
|
#define SL_BT_CONFIG_MAX_PAWR_ADVERTISED_DATA_LENGTH_HINT \ |
||||||
|
CONFIG_BT_SILABS_EFR32_MAX_PAWR_ADVERTISED_DATA_LENGTH_HINT |
||||||
|
|
||||||
|
#define SL_BT_CONFIG_PAWR_PACKET_REQUEST_COUNT CONFIG_BT_SILABS_EFR32_PAWR_PACKET_REQUEST_COUNT |
||||||
|
|
||||||
|
#define SL_BT_CONFIG_PAWR_PACKET_REQUEST_ADVANCE CONFIG_BT_SILABS_EFR32_PAWR_PACKET_REQUEST_ADVANCE |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,15 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init functions. |
||||||
|
* It is used to configure Periodic Advertising With Response Synchronizer options. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef SL_BT_PAWR_SYNC_CONFIG_H |
||||||
|
#define SL_BT_PAWR_SYNC_CONFIG_H |
||||||
|
|
||||||
|
#define SL_BT_CONFIG_MAX_PAWR_SYNCHRONIZERS CONFIG_BT_SILABS_EFR32_MAX_PAWR_SYNCHRONIZERS |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,15 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init functions. |
||||||
|
* It is used to configure Periodic Advertising Sender options. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef SL_BT_PERIODIC_ADVERTISER_CONFIG_H |
||||||
|
#define SL_BT_PERIODIC_ADVERTISER_CONFIG_H |
||||||
|
|
||||||
|
#define SL_BT_CONFIG_MAX_PERIODIC_ADVERTISERS CONFIG_BT_SILABS_EFR32_MAX_PERIODIC_ADVERTISERS |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,36 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init functions. |
||||||
|
* It is used to configure LE Power Control options. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef SL_BT_POWER_CONTROL_CONFIG_H |
||||||
|
#define SL_BT_POWER_CONTROL_CONFIG_H |
||||||
|
|
||||||
|
#define SL_BT_ACTIVATE_POWER_CONTROL CONFIG_BT_SILABS_EFR32_ACTIVATE_POWER_CONTROL |
||||||
|
|
||||||
|
#define SL_BT_GOLDEN_RSSI_MIN_1M CONFIG_BT_SILABS_EFR32_GOLDEN_RSSI_MIN_1M |
||||||
|
|
||||||
|
#define SL_BT_GOLDEN_RSSI_MAX_1M CONFIG_BT_SILABS_EFR32_GOLDEN_RSSI_MAX_1M |
||||||
|
|
||||||
|
#define SL_BT_GOLDEN_RSSI_MIN_2M CONFIG_BT_SILABS_EFR32_GOLDEN_RSSI_MIN_2M |
||||||
|
|
||||||
|
#define SL_BT_GOLDEN_RSSI_MAX_2M CONFIG_BT_SILABS_EFR32_GOLDEN_RSSI_MAX_2M |
||||||
|
|
||||||
|
#define SL_BT_GOLDEN_RSSI_MIN_CODED_S8 CONFIG_BT_SILABS_EFR32_GOLDEN_RSSI_MIN_CODED_S8 |
||||||
|
|
||||||
|
#define SL_BT_GOLDEN_RSSI_MAX_CODED_S8 CONFIG_BT_SILABS_EFR32_GOLDEN_RSSI_MAX_CODED_S8 |
||||||
|
|
||||||
|
#define SL_BT_GOLDEN_RSSI_MIN_CODED_S2 CONFIG_BT_SILABS_EFR32_GOLDEN_RSSI_MIN_CODED_S2 |
||||||
|
|
||||||
|
#define SL_BT_GOLDEN_RSSI_MAX_CODED_S2 CONFIG_BT_SILABS_EFR32_GOLDEN_RSSI_MAX_CODED_S2 |
||||||
|
|
||||||
|
/* TODO: make these configurable in a sensible way, preferably based on HW limits */ |
||||||
|
#define SL_BT_DEFAULT_MAX_POWER_LEVEL SL_BT_USE_MAX_POWER_LEVEL_SUPPORTED_BY_RADIO |
||||||
|
|
||||||
|
#define SL_BT_DEFAULT_MIN_POWER_LEVEL SL_BT_USE_MIN_POWER_LEVEL_SUPPORTED_BY_RADIO |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,15 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init functions. |
||||||
|
* It is used to configure Resolving List options. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef SL_BTCTRL_RESOLVING_LIST_CONFIG_H |
||||||
|
#define SL_BTCTRL_RESOLVING_LIST_CONFIG_H |
||||||
|
|
||||||
|
#define SL_BT_CONFIG_RESOLVING_LIST_SIZE CONFIG_BT_CTLR_RL_SIZE |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,166 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init |
||||||
|
* functions. Kconfig options are converted to config macros expected by the Controller. |
||||||
|
*/ |
||||||
|
#ifndef SL_BTCTRL_CONFIG_H |
||||||
|
#define SL_BTCTRL_CONFIG_H |
||||||
|
|
||||||
|
/* The following section maps common Zephyr Bluetooth host Kconfig options
|
||||||
|
* to SL_CATALOG items. Note that the feature dependencies are handled |
||||||
|
* indirectly via Kconfig dependency resolution. |
||||||
|
*/ |
||||||
|
#ifdef CONFIG_BT_FILTER_ACCEPT_LIST |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_ACCEPT_LIST_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_PER_ADV_SYNC_TRANSFER_SENDER |
||||||
|
#ifdef CONFIG_BT_PER_ADV |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_ADVERTISER_PAST_PRESENT |
||||||
|
#endif |
||||||
|
#ifdef CONFIG_BT_PER_ADV_SYNC |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_SYNC_PAST_PRESENT |
||||||
|
#endif |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_BROADCASTER |
||||||
|
/* Both the legacy and extended advertiser require the base advertiser. */ |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_ADVERTISER_PRESENT |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_LEGACY_ADVERTISER_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_ISO |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_CIS_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_CONN |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_CONNECTION_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_SUBRATING |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_CONNECTION_SUBRATING_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_PHY_UPDATE |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_CONNECTION_PHY_UPDATE_PRESENT |
||||||
|
#else |
||||||
|
#define SL_CATALOG_BLUETOOTH_CONNECTION_PHY_UPDATE_INCOMPATIBLE_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_CHANNEL_SOUNDING |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_CS_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_CHANNEL_SOUNDING_TEST |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_CS_TEST_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_EXT_ADV |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_EXTENDED_ADVERTISER_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_PER_ADV_SYNC_TRANSFER_RECEIVER |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_PAST_RECEIVER_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_PER_ADV_RSP |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_PAWR_ADVERTISER_PRESENT |
||||||
|
#ifdef CONFIG_BT_CONN |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_CONNECTION_PAWR_SCHEDULING_PRESENT |
||||||
|
#endif |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_PER_ADV_SYNC_RSP |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_PAWR_SYNC_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_PER_ADV |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_PERIODIC_ADVERTISER_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_EXT_ADV_CODING_SELECTION |
||||||
|
/* This does not have any corresponding SL_CATALOG feature, as the coding selection
|
||||||
|
* is implicitly supported depending on the 2M / Coded PHY support, when extended |
||||||
|
* advertising is enabled. |
||||||
|
*/ |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_TRANSMIT_POWER_CONTROL |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_POWER_CONTROL_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_CTLR_PRIVACY |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_RESOLVING_LIST_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_OBSERVER |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_SCANNER_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_PER_ADV_SYNC |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_SYNC_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_CTLR_DTM_HCI |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_HCI_TEST_COMMANDS_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_PHY_SUPPORT_CONFIG_PRESENT |
||||||
|
|
||||||
|
/* The following maps vendor-specific features to SL_CATALOG items */ |
||||||
|
#ifdef CONFIG_BT_SILABS_EFR32_HIGH_POWER |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_HIGH_POWER_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef CONFIG_BT_SILABS_EFR32_HIGH_POWER_AFH |
||||||
|
#define SL_CATALOG_BLUETOOTH_FEATURE_AFH_PRESENT |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifndef CONFIG_BT_SILABS_EFR32_HCI_VS |
||||||
|
#define SL_BLUETOOTH_NO_VS_HCI_COMMANDS |
||||||
|
#endif |
||||||
|
|
||||||
|
#define SL_CATALOG_BLUETOOTH_RCP_PRESENT |
||||||
|
|
||||||
|
/* The following features are not currently supported with Zephyr */ |
||||||
|
#undef SL_CATALOG_BLUETOOTH_FEATURE_AOA_RECEIVER_PRESENT |
||||||
|
#undef SL_CATALOG_BLUETOOTH_FEATURE_AOA_TRANSMITTER_PRESENT |
||||||
|
#undef SL_CATALOG_BLUETOOTH_FEATURE_AOD_RECEIVER_PRESENT |
||||||
|
#undef SL_CATALOG_BLUETOOTH_FEATURE_AOD_TRANSMITTER_PRESENT |
||||||
|
#undef SL_CATALOG_BLUETOOTH_FEATURE_CONNECTION_ANALYZER_PRESENT |
||||||
|
#undef SL_CATALOG_BLUETOOTH_FEATURE_CONNECTION_STATISTICS_PRESENT |
||||||
|
#undef SL_CATALOG_BLUETOOTH_FEATURE_EVEN_SCHEDULING_PRESENT |
||||||
|
#undef SL_CATALOG_BLUETOOTH_FEATURE_HCI_DEBUG_PRESENT |
||||||
|
#undef SL_CATALOG_BLUETOOTH_FEATURE_RADIO_WATCHDOG_PRESENT |
||||||
|
#undef SL_CATALOG_BLUETOOTH_FEATURE_USER_POWER_CONTROL_PRESENT |
||||||
|
#undef SL_CATALOG_KERNEL_PRESENT /* Only relevant in the SiSDK RTOS adaptation */ |
||||||
|
#undef SL_CATALOG_RAIL_UTIL_COEX_PRESENT |
||||||
|
#undef SL_RAIL_LIB_MULTIPROTOCOL_SUPPORT |
||||||
|
|
||||||
|
/* Maps the controller configuration options from Kconfig to Silabs defines */ |
||||||
|
#define SL_BT_CONTROLLER_BUFFER_MEMORY CONFIG_BT_SILABS_EFR32_BUFFER_MEMORY |
||||||
|
#define SL_BT_CONTROLLER_LE_BUFFER_SIZE_MAX CONFIG_BT_BUF_ACL_TX_COUNT |
||||||
|
#define SL_BT_CONTROLLER_USER_ADVERTISERS CONFIG_BT_SILABS_EFR32_USER_ADVERTISERS |
||||||
|
#define SL_BT_CONTROLLER_COMPLETED_PACKETS_THRESHOLD \ |
||||||
|
CONFIG_BT_SILABS_EFR32_COMPLETED_PACKETS_THRESHOLD |
||||||
|
#define SL_BT_CONTROLLER_COMPLETED_PACKETS_EVENTS_TIMEOUT \ |
||||||
|
CONFIG_BT_SILABS_EFR32_COMPLETED_PACKETS_TIMEOUT |
||||||
|
#define SL_BT_CONFIG_MAX_QUEUED_ADV_REPORTS CONFIG_BT_SILABS_EFR32_MAX_QUEUED_ADV_REPORTS |
||||||
|
|
||||||
|
/* Default interrupt priorities. These get overwritten later as part of HCI driver init. */ |
||||||
|
#define SL_BT_CONTROLLER_LINKLAYER_IRQ_PRIORITY 5 |
||||||
|
#define SL_BT_CONTROLLER_RADIO_IRQ_PRIORITY 4 |
||||||
|
|
||||||
|
/* Power level configuration override is not exposed in Zephyr, use RAIL PA config instead. */ |
||||||
|
#define SL_BT_CONTROLLER_MIN_POWER_LEVEL_OVERRIDE 0 |
||||||
|
#define SL_BT_CONTROLLER_MAX_POWER_LEVEL_OVERRIDE 0 |
||||||
|
|
||||||
|
#define SL_BT_CONTROLLER_SCANNER_RECEPTION_EARLY_ABORT 0 |
||||||
|
#define SL_BT_CONTROLLER_CONN_EVENT_LENGTH_MIN 3 |
||||||
|
#define SL_BT_CONTROLLER_CONN_EVENT_LENGTH_EXTENSION 0 |
||||||
|
#define SL_BT_CONTROLLER_USE_LEGACY_VENDOR_SPECIFIC_EVENT_CODE 0 |
||||||
|
|
||||||
|
#endif /* SL_BTCTRL_CONFIG_H */ |
@ -0,0 +1,25 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init functions. |
||||||
|
* It is used to configure PHY support options. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef SL_BTCTRL_PHY_SUPPORT_CONFIG_H |
||||||
|
#define SL_BTCTRL_PHY_SUPPORT_CONFIG_H |
||||||
|
|
||||||
|
#if defined(CONFIG_BT_CTLR_PHY_2M) |
||||||
|
#define SL_BT_CONTROLLER_2M_PHY_SUPPORT 1 |
||||||
|
#else |
||||||
|
#define SL_BT_CONTROLLER_2M_PHY_SUPPORT 0 |
||||||
|
#endif |
||||||
|
|
||||||
|
#if defined(CONFIG_BT_CTLR_PHY_CODED) |
||||||
|
#define SL_BT_CONTROLLER_CODED_PHY_SUPPORT 1 |
||||||
|
#else |
||||||
|
#define SL_BT_CONTROLLER_CODED_PHY_SUPPORT 0 |
||||||
|
#endif |
||||||
|
|
||||||
|
#endif /* SL_BTCTRL_PHY_SUPPORT_CONFIG_H */ |
@ -0,0 +1,57 @@ |
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Silicon Laboratories Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
* |
||||||
|
* This configuration header is used by the Silicon Labs Bluetooth Controller init functions. |
||||||
|
* It is used to configure scheduler priority options. |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef SL_BTCTRL_SCHEDULER_PRIORITY_CONFIG_H |
||||||
|
#define SL_BTCTRL_SCHEDULER_PRIORITY_CONFIG_H |
||||||
|
#include "sl_btctrl_linklayer_defs.h" |
||||||
|
|
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_SCAN_MIN 191 |
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_SCAN_MAX 143 |
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_SCAN_STEP 4 |
||||||
|
|
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_ADV_MIN 175 |
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_ADV_MAX 127 |
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_ADV_STEP 4 |
||||||
|
|
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_CONN_MIN 135 |
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_CONN_MAX 0 |
||||||
|
|
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_INIT_MIN 55 |
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_INIT_MAX 15 |
||||||
|
|
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_RAIL_WINDOW_MIN 16 |
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_RAIL_WINDOW_MAX 32 |
||||||
|
|
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_PAWR_TX_MIN 15 |
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_PAWR_TX_MAX 5 |
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_PAWR_RX_MIN 20 |
||||||
|
#define SL_BT_CONTROLLER_SCHEDULER_PRI_PAWR_RX_MAX 10 |
||||||
|
|
||||||
|
/* Default priority configuration */ |
||||||
|
#define SL_BTCTRL_SCHEDULER_PRIORITIES \ |
||||||
|
{.scan_min = SL_BT_CONTROLLER_SCHEDULER_PRI_SCAN_MIN, \ |
||||||
|
.scan_max = SL_BT_CONTROLLER_SCHEDULER_PRI_SCAN_MAX, \ |
||||||
|
.adv_min = SL_BT_CONTROLLER_SCHEDULER_PRI_ADV_MIN, \ |
||||||
|
.adv_max = SL_BT_CONTROLLER_SCHEDULER_PRI_ADV_MAX, \ |
||||||
|
.conn_min = SL_BT_CONTROLLER_SCHEDULER_PRI_CONN_MIN, \ |
||||||
|
.conn_max = SL_BT_CONTROLLER_SCHEDULER_PRI_CONN_MAX, \ |
||||||
|
.init_min = SL_BT_CONTROLLER_SCHEDULER_PRI_INIT_MIN, \ |
||||||
|
.init_max = SL_BT_CONTROLLER_SCHEDULER_PRI_INIT_MAX, \ |
||||||
|
.rail_mapping_offset = SL_BT_CONTROLLER_SCHEDULER_PRI_RAIL_WINDOW_MIN, \ |
||||||
|
.rail_mapping_range = (SL_BT_CONTROLLER_SCHEDULER_PRI_RAIL_WINDOW_MAX - \ |
||||||
|
SL_BT_CONTROLLER_SCHEDULER_PRI_RAIL_WINDOW_MIN), \ |
||||||
|
0, \ |
||||||
|
.adv_step = SL_BT_CONTROLLER_SCHEDULER_PRI_ADV_STEP, \ |
||||||
|
.scan_step = SL_BT_CONTROLLER_SCHEDULER_PRI_SCAN_STEP, \ |
||||||
|
.pawr_tx_min = SL_BT_CONTROLLER_SCHEDULER_PRI_PAWR_TX_MIN, \ |
||||||
|
.pawr_tx_max = SL_BT_CONTROLLER_SCHEDULER_PRI_PAWR_TX_MAX, \ |
||||||
|
.pawr_rx_min = SL_BT_CONTROLLER_SCHEDULER_PRI_PAWR_RX_MIN, \ |
||||||
|
.pawr_rx_max = SL_BT_CONTROLLER_SCHEDULER_PRI_PAWR_RX_MAX} |
||||||
|
|
||||||
|
#endif /* SL_BTCTRL_SCHEDULER_PRIORITY_CONFIG_H */ |
Loading…
Reference in new issue