Skip to content

Commit ac2957c

Browse files
ananglcarlescufi
authored andcommitted
[nrf fromtree] 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]> (cherry picked from commit 4dded19)
1 parent b3adea5 commit ac2957c

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)