Skip to content

Commit 7ea95b0

Browse files
aescolarcarlescufi
authored andcommitted
nrf5x_bsim: Add support for IPC/OpenAMP and split BT stack
For the 5340 simulated boards: * Now that the HW models include the IPC and MUTEX peripherals we can enable them in DT. * Also enable the DT mbox definition and allocate its shared memory * Set the default kconfiguration for the HEAD, IPC, MBOX and split BT stack as in the equivalent real targets. Signed-off-by: Alberto Escolar Piedras <[email protected]>
1 parent f8e8083 commit 7ea95b0

File tree

3 files changed

+35
-5
lines changed

3 files changed

+35
-5
lines changed

boards/posix/nrf_bsim/Kconfig.defconfig

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,29 @@ config BT_CTLR
4242
default y if BOARD_NRF52_BSIM || BOARD_NRF5340BSIM_NRF5340_CPUNET
4343
depends on BT
4444

45+
config HEAP_MEM_POOL_SIZE
46+
default 4096 if BT_RPMSG
47+
default 4096 if NRF_802154_SER_HOST && BOARD_NRF5340BSIM_NRF5340_CPUAPP
48+
default 4096 if NRF_802154_SER_RADIO && BOARD_NRF5340BSIM_NRF5340_CPUNET
49+
50+
if BOARD_NRF5340BSIM_NRF5340_CPUAPP || BOARD_NRF5340BSIM_NRF5340_CPUNET
51+
52+
config MBOX_NRFX_IPC
53+
default MBOX
54+
55+
endif # BOARD_NRF5340BSIM_NRF5340_CPUAPP || BOARD_NRF5340BSIM_NRF5340_CPUNET
56+
57+
if BOARD_NRF5340BSIM_NRF5340_CPUAPP
58+
59+
config IPC_SERVICE_BACKEND_RPMSG_SHMEM_RESET
60+
default y if IPC_SERVICE_BACKEND_RPMSG
61+
62+
choice BT_HCI_BUS_TYPE
63+
default BT_RPMSG
64+
endchoice
65+
66+
endif # BOARD_NRF5340BSIM_NRF5340_CPUAPP
67+
4568
# The 15.4 driver Tx encryption is currently not functional with this
4669
# simulated board => we disable it by default. With this Openthread will normally
4770
# default to encrypt packets on its own.

boards/posix/nrf_bsim/nrf5340bsim_nrf5340_cpuapp.dts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646

4747
chosen {
4848
zephyr,flash = &flash0;
49+
zephyr,bt-hci-rpmsg-ipc = &ipc0;
4950
};
5051

5152
soc {
@@ -78,10 +79,8 @@
7879
/delete-node/ pwm@24000;
7980
/delete-node/ pdm@26000;
8081
/delete-node/ i2s@28000;
81-
/delete-node/ mbox@2a000;
8282
/delete-node/ qspi@2b000;
8383
/delete-node/ nfct@2d000;
84-
/delete-node/ mutex@30000;
8584
/delete-node/ qdec@33000;
8685
/delete-node/ qdec@34000;
8786
/delete-node/ usbd@36000;
@@ -97,7 +96,6 @@
9796
};
9897

9998
/delete-node/ cpus;
100-
/delete-node/ ipc;
10199
/delete-node/ sw-pwm;
102100
};
103101

@@ -118,3 +116,8 @@
118116
};
119117
};
120118
};
119+
120+
/* We re-use the IPC shared buffer definition from the real HW. But note the start address of the
121+
* buffer won't be used.
122+
*/
123+
#include <../boards/arm/nrf5340dk_nrf5340/nrf5340_shared_sram_planning_conf.dtsi>

boards/posix/nrf_bsim/nrf5340bsim_nrf5340_cpunet.dts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
};
2828

2929
chosen {
30+
zephyr,bt-hci-rpmsg-ipc = &ipc0;
3031
zephyr,ieee802154 = &ieee802154;
3132
/delete-property/ zephyr,flash-controller;
3233
zephyr,flash = &flash1;
@@ -37,7 +38,6 @@
3738
/delete-node/ memory@21000000;
3839
/delete-node/ gpiote@4100a000;
3940
/delete-node/ watchdog@4100b000;
40-
/delete-node/ mbox@41012000;
4141
/delete-node/ i2c@41013000;
4242
/delete-node/ spi@41013000;
4343
/delete-node/ uart@41013000;
@@ -48,7 +48,6 @@
4848
};
4949

5050
/delete-node/ cpus;
51-
/delete-node/ ipc;
5251
/delete-node/ sw-pwm;
5352
};
5453

@@ -75,3 +74,8 @@
7574
};
7675
};
7776
};
77+
78+
/* We re-use the IPC shared buffer definition from the real HW. But note the start address of the
79+
* buffer won't be used.
80+
*/
81+
#include <../boards/arm/nrf5340dk_nrf5340/nrf5340_shared_sram_planning_conf.dtsi>

0 commit comments

Comments
 (0)