zephyr/soc/xlnx/versalnet/arm_mpu_regions.c
Appana Durga Kedareswara rao 76aa4f07d6 soc: amd: Add support for AMD Versal NET RPU
Add support for the RPU, real-time processing unit on Versal NET SoC.
It is based on Cortext-R52 processor.

The patch contains initial wiring and configuration for generic board
with OCM(1MB) and DDR(2G) memories, cpu, interrupt controller, global
timer and UART.

versalnet.dtsi contains common peripherals integrated into Versal NET
SoC, and versalnet_r52.dtsi has peripherals which are private to
Cortex-R52 processor.

Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
Signed-off-by: Mubin Sayyed <mubin.sayyed@amd.com>
2025-03-28 08:34:38 +01:00

39 lines
1 KiB
C

/*
* Copyright (c) 2025 Advanced Micro Devices, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/kernel.h>
#include <zephyr/linker/linker-defs.h>
#include <zephyr/arch/arm/mpu/arm_mpu.h>
#define DEVICE_REGION_START 0xE2000000U
#define DEVICE_REGION_END 0xF8000000U
static const struct arm_mpu_region mpu_regions[] = {
MPU_REGION_ENTRY("vector",
(uintptr_t)_vector_start,
REGION_RAM_TEXT_ATTR((uintptr_t)_vector_end)),
MPU_REGION_ENTRY("SRAM_TEXT",
(uintptr_t)__text_region_start,
REGION_RAM_TEXT_ATTR((uintptr_t)__rodata_region_start)),
MPU_REGION_ENTRY("SRAM_RODATA",
(uintptr_t)__rodata_region_start,
REGION_RAM_RO_ATTR((uintptr_t)__rodata_region_end)),
MPU_REGION_ENTRY("SRAM_DATA",
(uintptr_t)__rom_region_end,
REGION_RAM_ATTR((uintptr_t)__kernel_ram_end)),
MPU_REGION_ENTRY("DEVICE",
DEVICE_REGION_START,
REGION_DEVICE_ATTR(DEVICE_REGION_END)),
};
const struct arm_mpu_config mpu_config = {
.num_regions = ARRAY_SIZE(mpu_regions),
.mpu_regions = mpu_regions,
};