diff --git a/boards/posix/nrf52_bsim/Kconfig.board b/boards/posix/nrf52_bsim/Kconfig.board index 1c298a2ed7a..10074c709fe 100644 --- a/boards/posix/nrf52_bsim/Kconfig.board +++ b/boards/posix/nrf52_bsim/Kconfig.board @@ -14,6 +14,11 @@ config BOARD_NRF52_BSIM # of it), so that the corresponding driver becomes available (see # dependencies of the ENTROPY_NRF5_RNG option). select HAS_HW_NRF_RNG + # Indicate that CCM supports 8 bit length field, to support full + # length LL PDUs. + select HAS_HW_NRF_CCM_LFLEN_8BIT + # Indicate 2M support so that Phy procedure can be enabled. + select HAS_HW_NRF_RADIO_BLE_2M # Do the same for the CLOCK and POWER peripherals, so that the nrfx # drivers for them can be used. select HAS_HW_NRF_CLOCK diff --git a/soc/arm/nordic_nrf/Kconfig.peripherals b/soc/arm/nordic_nrf/Kconfig.peripherals index b29bd097fdd..d85639b71dc 100644 --- a/soc/arm/nordic_nrf/Kconfig.peripherals +++ b/soc/arm/nordic_nrf/Kconfig.peripherals @@ -21,6 +21,9 @@ config HAS_HW_NRF_CC312 config HAS_HW_NRF_CCM bool +config HAS_HW_NRF_CCM_LFLEN_8BIT + bool + config HAS_HW_NRF_CLOCK bool @@ -109,6 +112,9 @@ config HAS_HW_NRF_QDEC config HAS_HW_NRF_QSPI bool +config HAS_HW_NRF_RADIO_BLE_2M + bool + config HAS_HW_NRF_RADIO_BLE_CODED bool diff --git a/soc/arm/nordic_nrf/nrf52/Kconfig.soc b/soc/arm/nordic_nrf/nrf52/Kconfig.soc index 6d75b575e4b..905b0f7eea7 100644 --- a/soc/arm/nordic_nrf/nrf52/Kconfig.soc +++ b/soc/arm/nordic_nrf/nrf52/Kconfig.soc @@ -8,6 +8,7 @@ config SOC_NRF52805 bool select HAS_HW_NRF_BPROT select HAS_HW_NRF_CCM + select HAS_HW_NRF_CCM_LFLEN_8BIT select HAS_HW_NRF_CLOCK select HAS_HW_NRF_ECB select HAS_HW_NRF_EGU0 @@ -18,6 +19,7 @@ config SOC_NRF52805 select HAS_HW_NRF_POWER select HAS_HW_NRF_PPI select HAS_HW_NRF_QDEC + select HAS_HW_NRF_RADIO_BLE_2M select HAS_HW_NRF_RNG select HAS_HW_NRF_RTC0 select HAS_HW_NRF_RTC1 @@ -47,6 +49,7 @@ config SOC_NRF52810 bool select HAS_HW_NRF_BPROT select HAS_HW_NRF_CCM + select HAS_HW_NRF_CCM_LFLEN_8BIT select HAS_HW_NRF_CLOCK select HAS_HW_NRF_COMP select HAS_HW_NRF_ECB @@ -60,6 +63,7 @@ config SOC_NRF52810 select HAS_HW_NRF_PPI select HAS_HW_NRF_PWM0 select HAS_HW_NRF_QDEC + select HAS_HW_NRF_RADIO_BLE_2M select HAS_HW_NRF_RNG select HAS_HW_NRF_RTC0 select HAS_HW_NRF_RTC1 @@ -89,6 +93,7 @@ config SOC_NRF52811 bool select HAS_HW_NRF_BPROT select HAS_HW_NRF_CCM + select HAS_HW_NRF_CCM_LFLEN_8BIT select HAS_HW_NRF_CLOCK select HAS_HW_NRF_COMP select HAS_HW_NRF_ECB @@ -102,6 +107,7 @@ config SOC_NRF52811 select HAS_HW_NRF_PPI select HAS_HW_NRF_PWM0 select HAS_HW_NRF_QDEC + select HAS_HW_NRF_RADIO_BLE_2M select HAS_HW_NRF_RADIO_BLE_CODED select HAS_HW_NRF_RADIO_IEEE802154 select HAS_HW_NRF_RNG @@ -136,6 +142,7 @@ config SOC_NRF52820 bool select HAS_HW_NRF_ACL select HAS_HW_NRF_CCM + select HAS_HW_NRF_CCM_LFLEN_8BIT select HAS_HW_NRF_CLOCK select HAS_HW_NRF_COMP select HAS_HW_NRF_ECB @@ -150,6 +157,7 @@ config SOC_NRF52820 select HAS_HW_NRF_POWER select HAS_HW_NRF_PPI select HAS_HW_NRF_QDEC + select HAS_HW_NRF_RADIO_BLE_2M select HAS_HW_NRF_RADIO_BLE_CODED select HAS_HW_NRF_RNG select HAS_HW_NRF_RTC0 @@ -189,6 +197,7 @@ config SOC_NRF52832 select CPU_HAS_FPU select HAS_HW_NRF_BPROT select HAS_HW_NRF_CCM + select HAS_HW_NRF_CCM_LFLEN_8BIT select HAS_HW_NRF_CLOCK select HAS_HW_NRF_COMP select HAS_HW_NRF_ECB @@ -211,6 +220,7 @@ config SOC_NRF52832 select HAS_HW_NRF_PWM1 select HAS_HW_NRF_PWM2 select HAS_HW_NRF_QDEC + select HAS_HW_NRF_RADIO_BLE_2M select HAS_HW_NRF_RNG select HAS_HW_NRF_RTC0 select HAS_HW_NRF_RTC1 @@ -254,6 +264,7 @@ config SOC_NRF52833 select CPU_HAS_FPU select HAS_HW_NRF_ACL select HAS_HW_NRF_CCM + select HAS_HW_NRF_CCM_LFLEN_8BIT select HAS_HW_NRF_CLOCK select HAS_HW_NRF_COMP select HAS_HW_NRF_ECB @@ -279,6 +290,7 @@ config SOC_NRF52833 select HAS_HW_NRF_PWM2 select HAS_HW_NRF_PWM3 select HAS_HW_NRF_QDEC + select HAS_HW_NRF_RADIO_BLE_2M select HAS_HW_NRF_RADIO_BLE_CODED select HAS_HW_NRF_RADIO_IEEE802154 select HAS_HW_NRF_RNG @@ -328,6 +340,7 @@ config SOC_NRF52840 select HAS_HW_NRF_ACL select HAS_HW_NRF_CC310 select HAS_HW_NRF_CCM + select HAS_HW_NRF_CCM_LFLEN_8BIT select HAS_HW_NRF_CLOCK select HAS_HW_NRF_COMP select HAS_HW_NRF_ECB @@ -354,6 +367,7 @@ config SOC_NRF52840 select HAS_HW_NRF_PWM3 select HAS_HW_NRF_QDEC select HAS_HW_NRF_QSPI + select HAS_HW_NRF_RADIO_BLE_2M select HAS_HW_NRF_RADIO_BLE_CODED select HAS_HW_NRF_RADIO_IEEE802154 select HAS_HW_NRF_RNG diff --git a/soc/arm/nordic_nrf/nrf53/Kconfig.soc b/soc/arm/nordic_nrf/nrf53/Kconfig.soc index 6817d17b7a6..cba29b95e90 100644 --- a/soc/arm/nordic_nrf/nrf53/Kconfig.soc +++ b/soc/arm/nordic_nrf/nrf53/Kconfig.soc @@ -70,6 +70,8 @@ config SOC_NRF5340_CPUNET bool select HAS_HW_NRF_ACL select HAS_HW_NRF_CLOCK + select HAS_HW_NRF_CCM + select HAS_HW_NRF_CCM_LFLEN_8BIT select HAS_HW_NRF_DPPIC select HAS_HW_NRF_EGU0 select HAS_HW_NRF_GPIO0 @@ -78,6 +80,7 @@ config SOC_NRF5340_CPUNET select HAS_HW_NRF_IPC select HAS_HW_NRF_NVMC_PE select HAS_HW_NRF_POWER + select HAS_HW_NRF_RADIO_BLE_2M select HAS_HW_NRF_RADIO_BLE_CODED select HAS_HW_NRF_RADIO_IEEE802154 select HAS_HW_NRF_RNG diff --git a/subsys/bluetooth/controller/Kconfig b/subsys/bluetooth/controller/Kconfig index 41f983bfc40..c22b8c5f9e7 100644 --- a/subsys/bluetooth/controller/Kconfig +++ b/subsys/bluetooth/controller/Kconfig @@ -32,6 +32,12 @@ config BT_CTLR_EXT_SCAN_FP_SUPPORT 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 @@ -334,14 +340,14 @@ config BT_CTLR_PHY config BT_CTLR_PHY_2M bool "2Mbps PHY Support" - depends on BT_CTLR_PHY && (!SOC_SERIES_NRF51X || BT_CTLR_PHY_2M_NRF) + depends on BT_CTLR_PHY && 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 && HAS_HW_NRF_RADIO_BLE_CODED + depends on BT_CTLR_PHY && BT_CTLR_PHY_CODED_SUPPORT default y help Enable support for Bluetooth 5.0 Coded PHY in the Controller. diff --git a/subsys/bluetooth/controller/Kconfig.ll_sw_split b/subsys/bluetooth/controller/Kconfig.ll_sw_split index 523e7ccaa7a..9fbf1ebbb56 100644 --- a/subsys/bluetooth/controller/Kconfig.ll_sw_split +++ b/subsys/bluetooth/controller/Kconfig.ll_sw_split @@ -16,12 +16,16 @@ config BT_LLL_VENDOR_NORDIC select BT_CTLR_CONN_PARAM_REQ_SUPPORT select BT_CTLR_EXT_REJ_IND_SUPPORT select BT_CTLR_SLAVE_FEAT_REQ_SUPPORT - select BT_CTLR_DATA_LEN_UPDATE_SUPPORT if !SOC_SERIES_NRF51X || \ + select BT_CTLR_DATA_LEN_UPDATE_SUPPORT if HAS_HW_NRF_CCM_LFLEN_8BIT || \ BT_CTLR_DATA_LENGTH_CLEAR select BT_CTLR_PRIVACY_SUPPORT if !SOC_SERIES_NRF51X select BT_CTLR_EXT_SCAN_FP_SUPPORT - select BT_CTLR_PHY_UPDATE_SUPPORT if !SOC_SERIES_NRF51X || \ - BT_CTLR_PHY_2M_NRF + + select BT_CTLR_PHY_2M_SUPPORT if HAS_HW_NRF_RADIO_BLE_2M || \ + BT_CTLR_PHY_2M_NRF + select BT_CTLR_PHY_CODED_SUPPORT if HAS_HW_NRF_RADIO_BLE_CODED + select BT_CTLR_PHY_UPDATE_SUPPORT if BT_CTLR_PHY_2M_SUPPORT || \ + BT_CTLR_PHY_CODED_SUPPORT select BT_CTLR_ADV_EXT_SUPPORT select BT_CTLR_ADV_PERIODIC_SUPPORT select BT_CTLR_CHAN_SEL_2_SUPPORT