Skip to content

Commit 4dded19

Browse files
ananglkartben
authored andcommitted
soc: nordic: Disable cache for soft peripheral RAM region in nRF54H/nRF92
Add an entry for the RAM region assigned to soft peripherals that will disable caching for that region. Without this, communication with the FLPR coprocessor cannot be performed correctly. Signed-off-by: Andrzej Głąbek <[email protected]>
1 parent de98c3c commit 4dded19

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

soc/nordic/common/nrf54hx_nrf92x_mpu_regions.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
#define CAN121_SIZE DT_REG_SIZE_BY_NAME(DT_NODELABEL(can121), message_ram) + \
1919
DT_REG_SIZE_BY_NAME(DT_NODELABEL(can121), m_can)
2020

21+
#define SOFTPERIPH_BASE DT_REG_ADDR(DT_NODELABEL(softperiph_ram))
22+
#define SOFTPERIPH_SIZE DT_REG_SIZE(DT_NODELABEL(softperiph_ram))
23+
2124
static struct arm_mpu_region mpu_regions[] = {
2225
MPU_REGION_ENTRY("FLASH_0",
2326
CONFIG_FLASH_BASE_ADDRESS,
@@ -40,6 +43,10 @@ static struct arm_mpu_region mpu_regions[] = {
4043
MPU_REGION_ENTRY("CAN121_MCAN", CAN121_BASE,
4144
REGION_RAM_NOCACHE_ATTR(CAN121_BASE, CAN121_SIZE)),
4245
#endif
46+
#if DT_NODE_EXISTS(DT_NODELABEL(softperiph_ram))
47+
MPU_REGION_ENTRY("SOFTPERIPH_RAM", SOFTPERIPH_BASE,
48+
REGION_RAM_NOCACHE_ATTR(SOFTPERIPH_BASE, SOFTPERIPH_SIZE)),
49+
#endif
4350
};
4451

4552
const struct arm_mpu_config mpu_config = {

0 commit comments

Comments
 (0)