Commit 2d49080c authored by Vinayak Kariappa Chettimada's avatar Vinayak Kariappa Chettimada Committed by Fabio Baltieri
Browse files

Bluetooth: Controller: Fix BT_CTLR_LE_ENC conditional compilation



Fix BT_CTLR_LE_ENC conditional compilation when feature is
disabled.

Signed-off-by: default avatarVinayak Kariappa Chettimada <vich@nordicsemi.no>
parent a66baa11
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -173,10 +173,6 @@ zephyr_library_sources_ifdef(
zephyr_library_include_directories(
  .
  include
  )

zephyr_library_include_directories_ifdef(
  CONFIG_BT_CTLR_CRYPTO
  ../crypto
  )

+6 −1
Original line number Diff line number Diff line
@@ -813,9 +813,14 @@ config BT_CTLR_SYNC_ISO

config BT_CTLR_BROADCAST_ISO
	bool
	select BT_CRYPTO if BT_LL_SW_SPLIT
	default BT_CTLR_ADV_ISO || BT_CTLR_SYNC_ISO

config BT_CTLR_BROADCAST_ISO_ENC
	bool
	depends on BT_CTLR_CRYPTO_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
+24 −3
Original line number Diff line number Diff line
@@ -1136,7 +1136,9 @@ void radio_tmr_status_reset(void)
{
	nrf_rtc_event_disable(NRF_RTC0, RTC_EVTENCLR_COMPARE2_Msk);

#if defined(CONFIG_BT_CTLR_LE_ENC) || defined(CONFIG_BT_CTLR_BROADCAST_ISO_ENC)
	hal_trigger_crypt_ppi_disable();
#endif /* CONFIG_BT_CTLR_LE_ENC || CONFIG_BT_CTLR_BROADCAST_ISO_ENC */

	hal_radio_nrf_ppi_channels_disable(
			BIT(HAL_RADIO_ENABLE_TX_ON_TICK_PPI) |
@@ -1163,14 +1165,19 @@ void radio_tmr_status_reset(void)
#if defined(CONFIG_BT_CTLR_DF_CONN_CTE_RX)
			BIT(HAL_TRIGGER_CRYPT_DELAY_PPI) |
#endif /* CONFIG_BT_CTLR_DF_CONN_CTE_RX */
			BIT(HAL_TRIGGER_CRYPT_PPI));
#if defined(CONFIG_BT_CTLR_LE_ENC) || defined(CONFIG_BT_CTLR_BROADCAST_ISO_ENC)
			BIT(HAL_TRIGGER_CRYPT_PPI) |
#endif /* CONFIG_BT_CTLR_LE_ENC || CONFIG_BT_CTLR_BROADCAST_ISO_ENC */
			0);
}

void radio_tmr_tx_status_reset(void)
{
	nrf_rtc_event_disable(NRF_RTC0, RTC_EVTENCLR_COMPARE2_Msk);

#if defined(CONFIG_BT_CTLR_LE_ENC) || defined(CONFIG_BT_CTLR_BROADCAST_ISO_ENC)
	hal_trigger_crypt_ppi_disable();
#endif /* CONFIG_BT_CTLR_LE_ENC || CONFIG_BT_CTLR_BROADCAST_ISO_ENC */

	hal_radio_nrf_ppi_channels_disable(
#if (HAL_RADIO_ENABLE_TX_ON_TICK_PPI != HAL_RADIO_ENABLE_RX_ON_TICK_PPI) && \
@@ -1201,14 +1208,19 @@ void radio_tmr_tx_status_reset(void)
#if defined(CONFIG_BT_CTLR_DF_CONN_CTE_RX)
			BIT(HAL_TRIGGER_CRYPT_DELAY_PPI) |
#endif /* CONFIG_BT_CTLR_DF_CONN_CTE_RX */
			BIT(HAL_TRIGGER_CRYPT_PPI));
#if defined(CONFIG_BT_CTLR_LE_ENC) || defined(CONFIG_BT_CTLR_BROADCAST_ISO_ENC)
			BIT(HAL_TRIGGER_CRYPT_PPI) |
#endif /* CONFIG_BT_CTLR_LE_ENC || CONFIG_BT_CTLR_BROADCAST_ISO_ENC */
			0);
}

void radio_tmr_rx_status_reset(void)
{
	nrf_rtc_event_disable(NRF_RTC0, RTC_EVTENCLR_COMPARE2_Msk);

#if defined(CONFIG_BT_CTLR_LE_ENC) || defined(CONFIG_BT_CTLR_BROADCAST_ISO_ENC)
	hal_trigger_crypt_ppi_disable();
#endif /* CONFIG_BT_CTLR_LE_ENC || CONFIG_BT_CTLR_BROADCAST_ISO_ENC */

	hal_radio_nrf_ppi_channels_disable(
#if (HAL_RADIO_ENABLE_TX_ON_TICK_PPI != HAL_RADIO_ENABLE_RX_ON_TICK_PPI) && \
@@ -1239,7 +1251,10 @@ void radio_tmr_rx_status_reset(void)
#if defined(CONFIG_BT_CTLR_DF_CONN_CTE_RX)
			BIT(HAL_TRIGGER_CRYPT_DELAY_PPI) |
#endif /* CONFIG_BT_CTLR_DF_CONN_CTE_RX */
			BIT(HAL_TRIGGER_CRYPT_PPI));
#if defined(CONFIG_BT_CTLR_LE_ENC) || defined(CONFIG_BT_CTLR_BROADCAST_ISO_ENC)
			BIT(HAL_TRIGGER_CRYPT_PPI) |
#endif /* CONFIG_BT_CTLR_LE_ENC || CONFIG_BT_CTLR_BROADCAST_ISO_ENC */
			0);
}

void radio_tmr_tx_enable(void)
@@ -1739,8 +1754,10 @@ void radio_gpio_pa_lna_disable(void)
}
#endif /* HAL_RADIO_GPIO_HAVE_PA_PIN || HAL_RADIO_GPIO_HAVE_LNA_PIN */

#if defined(CONFIG_BT_CTLR_LE_ENC) || defined(CONFIG_BT_CTLR_BROADCAST_ISO_ENC)
static uint8_t MALIGN(4) _ccm_scratch[(HAL_RADIO_PDU_LEN_MAX - 4) + 16];

#if defined(CONFIG_BT_CTLR_LE_ENC) || defined(CONFIG_BT_CTLR_SYNC_ISO)
static void *radio_ccm_ext_rx_pkt_set(struct ccm *cnf, uint8_t phy, uint8_t pdu_type, void *pkt)
{
	uint32_t mode;
@@ -1868,7 +1885,9 @@ void *radio_ccm_iso_rx_pkt_set(struct ccm *cnf, uint8_t phy, uint8_t pdu_type, v
{
	return radio_ccm_ext_rx_pkt_set(cnf, phy, pdu_type, pkt);
}
#endif /* CONFIG_BT_CTLR_LE_ENC || CONFIG_BT_CTLR_SYNC_ISO */

#if defined(CONFIG_BT_CTLR_LE_ENC) || defined(CONFIG_BT_CTLR_ADV_ISO)
static void *radio_ccm_ext_tx_pkt_set(struct ccm *cnf, uint8_t pdu_type, void *pkt)
{
	uint32_t mode;
@@ -1939,6 +1958,7 @@ void *radio_ccm_iso_tx_pkt_set(struct ccm *cnf, uint8_t pdu_type, void *pkt)
{
	return radio_ccm_ext_tx_pkt_set(cnf, pdu_type, pkt);
}
#endif /* CONFIG_BT_CTLR_LE_ENC || CONFIG_BT_CTLR_ADV_ISO */

uint32_t radio_ccm_is_done(void)
{
@@ -2086,6 +2106,7 @@ uint8_t radio_ar_resolve(const uint8_t *addr)

}
#endif /* CONFIG_BT_CTLR_PRIVACY */
#endif /* CONFIG_BT_CTLR_LE_ENC || CONFIG_BT_CTLR_BROADCAST_ISO_ENC */

#if defined(CONFIG_BT_CTLR_DF_SUPPORT) && !defined(CONFIG_ZTEST)
/* @brief Function configures CTE inline register to start sampling of CTE
+11 −4
Original line number Diff line number Diff line
@@ -5,6 +5,9 @@
 * SPDX-License-Identifier: Apache-2.0
 */

/* HAL header files for nRF5x SoCs.
 * These has to come before the radio_*.h include below.
 */
#include <hal/nrf_radio.h>

/* Common radio resources */
@@ -44,6 +47,14 @@
#error "Unsupported SoC."
#endif

#include <hal/nrf_rtc.h>
#include <hal/nrf_timer.h>

#if defined(CONFIG_BT_CTLR_LE_ENC) || defined(CONFIG_BT_CTLR_BROADCAST_ISO_ENC)
#include <hal/nrf_ccm.h>
#include <hal/nrf_aar.h>
#endif /* CONFIG_BT_CTLR_LE_ENC || CONFIG_BT_CTLR_BROADCAST_ISO_ENC */

/* Define to reset PPI registration.
 * This has to come before the ppi/dppi includes below.
 */
@@ -57,10 +68,6 @@
#include "radio_nrf5_ppi_resources.h"
#include "radio_nrf5_ppi.h"
#elif defined(DPPI_PRESENT)
#include <hal/nrf_timer.h>
#include <hal/nrf_rtc.h>
#include <hal/nrf_aar.h>
#include <hal/nrf_ccm.h>
#include <hal/nrf_dppi.h>
#include "radio_nrf5_dppi_resources.h"
#include "radio_nrf5_dppi.h"
+23 −21
Original line number Diff line number Diff line
@@ -113,6 +113,7 @@ static inline void hal_radio_ready_time_capture_ppi_config(void)
				NRF_TIMER_TASK_CAPTURE0, HAL_RADIO_READY_TIME_CAPTURE_PPI);
}

#if defined(CONFIG_BT_CTLR_LE_ENC) || defined(CONFIG_BT_CTLR_BROADCAST_ISO_ENC)
/*******************************************************************************
 * Trigger encryption task upon address reception:
 * wire the RADIO EVENTS_ADDRESS event to the CCM TASKS_CRYPT task.
@@ -135,6 +136,28 @@ static inline void hal_trigger_crypt_ppi_disable(void)
	nrf_ccm_subscribe_clear(NRF_CCM, NRF_CCM_TASK_CRYPT);
}

/*******************************************************************************
 * Trigger automatic address resolution on Bit counter match:
 * wire the RADIO EVENTS_BCMATCH event to the AAR TASKS_START task.
 */
static inline void hal_trigger_aar_ppi_config(void)
{
	nrf_radio_publish_set(NRF_RADIO, NRF_RADIO_EVENT_BCMATCH, HAL_TRIGGER_AAR_PPI);
	nrf_aar_subscribe_set(NRF_AAR, NRF_AAR_TASK_START, HAL_TRIGGER_AAR_PPI);
}

#if defined(CONFIG_BT_CTLR_PHY_CODED) && defined(CONFIG_HAS_HW_NRF_RADIO_BLE_CODED)
/*******************************************************************************
 * Trigger Radio Rate override upon Rateboost event.
 */
static inline void hal_trigger_rateoverride_ppi_config(void)
{
	nrf_radio_publish_set(NRF_RADIO, NRF_RADIO_EVENT_RATEBOOST, HAL_TRIGGER_RATEOVERRIDE_PPI);
	nrf_ccm_subscribe_set(NRF_CCM, NRF_CCM_TASK_RATEOVERRIDE, HAL_TRIGGER_RATEOVERRIDE_PPI);
}
#endif /* CONFIG_BT_CTLR_PHY_CODED && CONFIG_HAS_HW_NRF_RADIO_BLE_CODED */
#endif /* CONFIG_BT_CTLR_LE_ENC || CONFIG_BT_CTLR_BROADCAST_ISO_ENC */

#if defined(CONFIG_BT_CTLR_DF_CONN_CTE_RX)
/*******************************************************************************
 * Trigger encryption task on Bit counter match:
@@ -161,27 +184,6 @@ static inline void hal_trigger_crypt_by_bcmatch_ppi_config(void)
}
#endif /* CONFIG_BT_CTLR_DF_CONN_CTE_RX */

/*******************************************************************************
 * Trigger automatic address resolution on Bit counter match:
 * wire the RADIO EVENTS_BCMATCH event to the AAR TASKS_START task.
 */
static inline void hal_trigger_aar_ppi_config(void)
{
	nrf_radio_publish_set(NRF_RADIO, NRF_RADIO_EVENT_BCMATCH, HAL_TRIGGER_AAR_PPI);
	nrf_aar_subscribe_set(NRF_AAR, NRF_AAR_TASK_START, HAL_TRIGGER_AAR_PPI);
}

#if defined(CONFIG_BT_CTLR_PHY_CODED) && defined(CONFIG_HAS_HW_NRF_RADIO_BLE_CODED)
/*******************************************************************************
 * Trigger Radio Rate override upon Rateboost event.
 */
static inline void hal_trigger_rateoverride_ppi_config(void)
{
	nrf_radio_publish_set(NRF_RADIO, NRF_RADIO_EVENT_RATEBOOST, HAL_TRIGGER_RATEOVERRIDE_PPI);
	nrf_ccm_subscribe_set(NRF_CCM, NRF_CCM_TASK_RATEOVERRIDE, HAL_TRIGGER_RATEOVERRIDE_PPI);
}
#endif /* CONFIG_BT_CTLR_PHY_CODED && CONFIG_HAS_HW_NRF_RADIO_BLE_CODED */

/******************************************************************************/
#if !defined(CONFIG_BT_CTLR_TIFS_HW)

Loading