Conversation
| depends on !SOC_COMPATIBLE_NRF54LX | ||
| depends on !SOC_SERIES_NRF71 |
There was a problem hiding this comment.
| depends on !SOC_COMPATIBLE_NRF54LX | |
| depends on !SOC_SERIES_NRF71 |
There was a problem hiding this comment.
Removed SOC_SERIES_NRF71 dependency from flash Kconfig (43a07fc)
|
|
||
| &radio { | ||
| status = "okay"; | ||
| }; |
There was a problem hiding this comment.
| &radio { | |
| status = "okay"; | |
| }; |
There was a problem hiding this comment.
Removed bt_hci_controller and radio status overrides from cpuapp dtsi (43a07fc)
| # nRF7120 DK board configuration for peripheral_hr sample | ||
|
|
||
| # Needed main stack to support PSA Crypto | ||
| CONFIG_MAIN_STACK_SIZE=2048 | ||
|
|
||
| # Enable Power Management for nRF7120 | ||
| CONFIG_PM=y |
There was a problem hiding this comment.
| # nRF7120 DK board configuration for peripheral_hr sample | |
| # Needed main stack to support PSA Crypto | |
| CONFIG_MAIN_STACK_SIZE=2048 | |
| # Enable Power Management for nRF7120 | |
| CONFIG_PM=y |
| config SOC_COMPATIBLE_NRF7120 | ||
| bool | ||
|
|
||
| config SOC_COMPATIBLE_NRF7120_CPUAPP | ||
| bool | ||
|
|
There was a problem hiding this comment.
| config SOC_COMPATIBLE_NRF7120 | |
| bool | |
| config SOC_COMPATIBLE_NRF7120_CPUAPP | |
| bool |
There was a problem hiding this comment.
Removed CONFIG_SOC_COMPATIBLE_NRF7120 config options (43a07fc)
|
|
||
| / { | ||
| chosen { | ||
| zephyr,bt-hci = &bt_hci_controller; |
|
|
||
| &bt_hci_controller { | ||
| status = "okay"; | ||
| }; |
There was a problem hiding this comment.
Added back bt_hci_controller and radio status overrides (0b5e601)
|
@copilot add back the require |
0b5e601 to
5202877
Compare
co-authoring it, hence dismissed my change request.
6466c34 to
2712d76
Compare
Initial nRF7120 SoC file changes adding Bluetooth Controller support. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2712d76 to
74c1d62
Compare
| switch (phy) { | ||
| case BIT(0): | ||
| default: | ||
| mode = RADIO_MODE_MODE_Ble_1Mbit; | ||
| break; | ||
|
|
||
| case BIT(1): | ||
| mode = RADIO_MODE_MODE_Ble_2Mbit; | ||
| break; | ||
|
|
||
| #if defined(CONFIG_BT_CTLR_PHY_CODED) | ||
| case BIT(2): | ||
| if (flags & 0x01) { | ||
| mode = RADIO_MODE_MODE_Ble_LR125Kbit; | ||
| } else { | ||
| mode = RADIO_MODE_MODE_Ble_LR500Kbit; | ||
| } | ||
| break; | ||
| #endif /* CONFIG_BT_CTLR_PHY_CODED */ | ||
| } |
There was a problem hiding this comment.
@copilot create a new pull request to replace all BIT(0) with PHY_1M, BIT(1) with PHY_2M, BIT(2) with PHY_CODED, and (flags & 0x01) with (flags & PHY_FLAGS_S8) in all radio_nrfxx.h files in the Controller's hal/nrf5/radio/ folder and send a pull request to cvinayak/zephyr repository.
There was a problem hiding this comment.
This request is for a separate refactoring PR that would affect all radio_nrfxx.h files across the codebase. I cannot create new pull requests or make changes outside the current PR scope. This would need to be tracked as a separate enhancement issue to refactor PHY constant usage across all Nordic radio HAL files.
nRF7120 Bluetooth Controller Support - Final Updates
Latest Changes (Per Review Feedback)
Added back required device tree configurations:
zephyr,bt-hcichosen node&bt_hci_controllerstatus override&radiostatus overrideCore Implementation (15 files)
What Was Removed (Not Needed)
Architecture
Quality
Original prompt
Bluetooth Controller Support for nRF7120 SoC
Overview
Add Zephyr Bluetooth Controller (
bt_ll_sw_split) support for the nRF7120 SoC, specifically targeting the cpurad (radio CPU core). The nRF7120 shares architectural similarities with nRF54L15 (both use GRTC, PPIB/IPCT for inter-processor communication, and similar radio peripherals), while also sharing implementation patterns with nRF54H20.Reference Implementation Strategy
This implementation should reference BOTH:
Key Implementation Areas
1. Kconfig and SOC Configuration
soc/nordic/Kconfig
Add compatibility configuration:
2. Device Tree Configuration
dts/vendor/nordic/nrf7120.dtsi
Add Bluetooth HCI controller device tree node (similar to nRF54L15 and nRF54H20):
dts/arm/nordic/nrf7120_cpurad.dtsi
Enable the BT HCI controller:
zephyr,bt-hcipointing to&bt_hci_controllerbt_hci_controllerstatus to "okay"3. Bluetooth Controller HAL Layer Updates
subsys/bluetooth/controller/Kconfig.ll_sw_split
Add nRF7120 series selections (pattern similar to nRF54L15 with
SOC_COMPATIBLE_NRF54LX):Key configurations to add:
BT_CTLR_NRF_GRTCdependency for nRF7120 (like nRF54L15)BT_CTLR_RADIO_ENABLE_FASTfor nRF7120BT_CTLR_SW_SWITCH_SINGLE_TIMERfor nRF7120BT_CTLR_LLL_PREPARE_AT_MARGINfor nRF7120subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5.h
Add nRF7120 includes (similar pattern to nRF54L15):
subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf7120.h (NEW FILE)
Create comprehensive radio HAL header modeled after
radio_nrf54lx.hwith adaptations fromradio_nrf54hx.h:Structure (from nRF54L15):
Key differences from nRF54L15 to consider:
Required constants:
subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio.c
Update all conditional compilation blocks that check for nRF54L15 or nRF54H20:
Key areas to update:
radio_reset())radio_phy_set())radio_pkt_configure())MRAM latency management (if needed, similar to nRF54H20):
subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/cntr.c
Add nRF7120 GRTC configuration (pattern...
This pull request was created from Copilot chat.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.