Skip to content

Commit 190bf8b

Browse files
committed
[nrf noup] Bluetooth: Controller: nrf54h20 cpurad support
nrf54h20 cpurad bt_ll_sw_split support. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
1 parent 895dece commit 190bf8b

File tree

6 files changed

+867
-24
lines changed

6 files changed

+867
-24
lines changed

drivers/flash/Kconfig.nrf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ choice SOC_FLASH_NRF_RADIO_SYNC_CHOICE
4141

4242
config SOC_FLASH_NRF_RADIO_SYNC_TICKER
4343
bool "Nordic nRFx flash driver synchronized with radio"
44-
depends on BT_LL_SW_SPLIT
44+
depends on BT_LL_SW_SPLIT && !SOC_SERIES_NRF54HX
4545
help
4646
Enable synchronization between flash memory driver and radio using
4747
Bluetooth LE LL controller ticker API.

drivers/flash/Kconfig.nrf_rram

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ choice SOC_FLASH_NRF_RADIO_SYNC_CHOICE
4747

4848
config SOC_FLASH_NRF_RADIO_SYNC_TICKER
4949
bool "Nordic nRFx flash driver synchronized with radio"
50-
depends on BT_LL_SW_SPLIT
50+
depends on BT_LL_SW_SPLIT && !SOC_SERIES_NRF54HX
5151
help
5252
Enable synchronization between flash memory driver and radio using
5353
Bluetooth LE LL controller ticker API.

dts/vendor/nordic/nrf54h20.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@
136136
min-residency-us = <700>;
137137
exit-latency-us = <5>;
138138
};
139+
139140
idle_cache_disabled: idle_cache_disabled {
140141
compatible = "zephyr,power-state";
141142
power-state-name = "suspend-to-idle";
@@ -500,6 +501,7 @@
500501
compatible = "nordic,bt-hci-sdc";
501502
status = "disabled";
502503
};
504+
503505
bt_hci_controller: bt_hci_controller {
504506
compatible = "zephyr,bt-hci-ll-sw-split";
505507
status = "disabled";

subsys/bluetooth/controller/Kconfig.ll_sw_split

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Zephyr Bluetooth Controller configuration options
22

3-
# Copyright (c) 2016-2017 Nordic Semiconductor ASA
3+
# Copyright (c) 2016-2025 Nordic Semiconductor ASA
44
# SPDX-License-Identifier: Apache-2.0
55

66
if BT_LL_SW_SPLIT
@@ -10,14 +10,15 @@ config BT_LLL_VENDOR_NORDIC
1010
depends on SOC_COMPATIBLE_NRF
1111
depends on !$(dt_nodelabel_enabled,timer0)
1212
depends on !$(dt_nodelabel_enabled,rtc0)
13-
14-
select BT_CTLR_ENTROPY_SUPPORT
15-
select ENTROPY_NRF5_RNG if BT_CTLR_ENTROPY && !SOC_COMPATIBLE_NRF54LX
13+
select CLOCK_CONTROL
14+
select ENTROPY_NRF5_RNG if BT_CTLR_ENTROPY && \
15+
!SOC_COMPATIBLE_NRF54LX && \
16+
!SOC_SERIES_NRF54HX
1617
select ENTROPY_NRF5_BIAS_CORRECTION if ENTROPY_NRF5_RNG
1718
select EXPERIMENTAL if !ENTROPY_HAS_DRIVER
18-
1919
select BT_HAS_HCI_VS
2020
select BT_HCI_VS_FATAL_ERROR_SUPPORT
21+
select BT_CTLR_ENTROPY_SUPPORT
2122
select BT_CTLR_CRYPTO_SUPPORT
2223
select BT_CTLR_LE_ENC_SUPPORT if BT_CTLR_CRYPTO_SUPPORT && \
2324
!BT_CTLR_DATA_LENGTH_CLEAR && \
@@ -30,6 +31,7 @@ config BT_LLL_VENDOR_NORDIC
3031
select BT_CTLR_DATA_LEN_UPDATE_SUPPORT if !BT_CTLR_LE_ENC_SUPPORT || \
3132
HAS_HW_NRF_CCM_LFLEN_8BIT || \
3233
SOC_COMPATIBLE_NRF54LX || \
34+
SOC_SERIES_NRF54HX || \
3335
BT_CTLR_DATA_LENGTH_CLEAR
3436
select BT_CTLR_EXT_SCAN_FP_SUPPORT
3537
select BT_CTLR_PHY_2M_SUPPORT if HAS_HW_NRF_RADIO_BLE_2M || \
@@ -54,32 +56,28 @@ config BT_LLL_VENDOR_NORDIC
5456
select BT_CTLR_SYNC_TRANSFER_SENDER_SUPPORT
5557
select BT_CTLR_DTM_HCI_SUPPORT
5658
select BT_CTLR_CONN_RSSI_SUPPORT
57-
5859
select BT_CTLR_XTAL_ADVANCED_SUPPORT
5960
select BT_CTLR_SCHED_ADVANCED_SUPPORT
6061
select BT_CTLR_TIFS_HW_SUPPORT
6162
select BT_CTLR_ULL_LLL_PRIO_SUPPORT
62-
63-
select BT_TICKER_REMAINDER_SUPPORT if !SOC_COMPATIBLE_NRF54LX
63+
select BT_CTLR_ASSERT_OPTIMIZE_FOR_SIZE_SUPPORT if CPU_CORTEX_M
6464
select BT_TICKER_UPDATE if BT_BROADCASTER || BT_CONN || \
6565
(BT_OBSERVER && BT_CTLR_ADV_EXT)
66-
select BT_TICKER_START_REMAINDER if BT_TICKER_REMAINDER_SUPPORT && BT_CTLR_CENTRAL_ISO
66+
select BT_TICKER_REMAINDER_SUPPORT if !BT_CTLR_NRF_GRTC
67+
select BT_TICKER_START_REMAINDER if BT_TICKER_REMAINDER_SUPPORT && \
68+
BT_CTLR_CENTRAL_ISO
6769
select BT_TICKER_REMAINDER_GET if BT_TICKER_REMAINDER_SUPPORT && \
6870
(BT_BROADCASTER && BT_CTLR_ADV_EXT)
69-
select BT_TICKER_LAZY_GET if BT_CTLR_ADV_PERIODIC || BT_CTLR_CONN_ISO || BT_CTLR_SYNC_TRANSFER_SENDER
70-
71+
select BT_TICKER_LAZY_GET if BT_CTLR_ADV_PERIODIC || BT_CTLR_CONN_ISO || \
72+
BT_CTLR_SYNC_TRANSFER_SENDER
7173
select BT_TICKER_PREFER_START_BEFORE_STOP if BT_TICKER_SLOT_AGNOSTIC
72-
73-
select BT_CTLR_ASSERT_OPTIMIZE_FOR_SIZE_SUPPORT if CPU_CORTEX_M
74-
7574
default y
7675
help
7776
Use Nordic Lower Link Layer implementation.
7877

7978
config BT_LLL_VENDOR_OPENISA
8079
bool "Use OpenISA LLL"
8180
depends on SOC_OPENISA_RV32M1
82-
8381
select BT_HAS_HCI_VS
8482
select BT_CTLR_ENTROPY_SUPPORT
8583
select BT_CTLR_CRYPTO_SUPPORT
@@ -88,10 +86,8 @@ config BT_LLL_VENDOR_OPENISA
8886
select BT_CTLR_PRIVACY_SUPPORT if BT_CTLR_CRYPTO_SUPPORT
8987
select BT_CTLR_PHY_UPDATE_SUPPORT
9088
select BT_CTLR_EXT_REJ_IND_SUPPORT
91-
9289
select BT_TICKER_REMAINDER_SUPPORT
9390
select BT_TICKER_UPDATE if BT_BROADCASTER || BT_CONN
94-
9591
default y
9692
help
9793
Use OpenISA Lower Link Layer implementation.
@@ -942,7 +938,7 @@ config BT_CTLR_RX_PDU_META
942938

943939
config BT_CTLR_NRF_GRTC
944940
bool "Use nRF GRTC peripheral"
945-
depends on SOC_COMPATIBLE_NRF54LX
941+
depends on SOC_COMPATIBLE_NRF54LX || SOC_SERIES_NRF54HX
946942
select BT_TICKER_CNTR_FREE_RUNNING
947943
default y
948944
help
@@ -974,8 +970,12 @@ config BT_CTLR_NRF_GRTC_AUTOEN_DEFAULT
974970

975971
config BT_CTLR_RADIO_ENABLE_FAST
976972
bool "Use tTXEN/RXEN,FAST ramp-up"
977-
depends on SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X || SOC_COMPATIBLE_NRF54LX
978-
select BT_CTLR_SW_SWITCH_SINGLE_TIMER if SOC_COMPATIBLE_NRF54LX
973+
depends on SOC_COMPATIBLE_NRF52X || \
974+
SOC_COMPATIBLE_NRF53X || \
975+
SOC_COMPATIBLE_NRF54LX || \
976+
SOC_SERIES_NRF54HX
977+
select BT_CTLR_SW_SWITCH_SINGLE_TIMER if SOC_COMPATIBLE_NRF54LX || \
978+
SOC_SERIES_NRF54HX
979979
default y
980980
help
981981
Enable use of fast radio ramp-up mode.
@@ -996,8 +996,10 @@ config BT_CTLR_TIFS_HW
996996

997997
config BT_CTLR_SW_SWITCH_SINGLE_TIMER
998998
bool "Single TIMER tIFS Trx SW switching"
999-
depends on (!BT_CTLR_TIFS_HW) && (SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X || \
1000-
SOC_COMPATIBLE_NRF54LX)
999+
depends on (!BT_CTLR_TIFS_HW) && (SOC_COMPATIBLE_NRF52X || \
1000+
SOC_COMPATIBLE_NRF53X || \
1001+
SOC_COMPATIBLE_NRF54LX || \
1002+
SOC_SERIES_NRF54HX)
10011003
help
10021004
Implement the tIFS Trx SW switch with the same TIMER
10031005
instance, as the one used for Bluetooth event timing. Requires

subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@
4242
#elif defined(CONFIG_SOC_SERIES_NRF54LX)
4343
#include <hal/nrf_ppib.h>
4444
#include "radio_nrf54lx.h"
45+
#elif defined(CONFIG_SOC_SERIES_NRF54HX)
46+
#include <hal/nrf_lrcconf.h>
47+
#include "radio_nrf54hx.h"
4548
#elif defined(CONFIG_BOARD_NRF52_BSIM)
4649
#include "radio_sim_nrf52.h"
4750
#elif defined(CONFIG_BOARD_NRF5340BSIM_NRF5340_CPUNET)

0 commit comments

Comments
 (0)