feat(fvp-a-aarch32): add missing and unify fvp-a-aarch32 configs

This commit is contained in:
Jose Martins 2023-04-30 16:48:48 +01:00
parent e4afeb2555
commit bcf5980bf2
6 changed files with 187 additions and 2 deletions

View File

@ -22,7 +22,7 @@ struct config config = {
.entry = 0xa0000000,
.platform = {
.cpu_num = 3,
.cpu_num = 2,
.region_num = 1,
.regions = (struct vm_mem_region[]) {

View File

@ -0,0 +1,127 @@
#include <config.h>
VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin));
VM_IMAGE(baremetal_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/baremetal.bin));
struct config config = {
.shmemlist_size = 1,
.shmemlist = (struct shmem[]) {
[0] = { .size = 0x00010000, }
},
.vmlist_size = 2,
.vmlist = {
{
.image = {
.base_addr = 0x20000000,
.load_addr = VM_IMAGE_OFFSET(zephyr_image),
.size = VM_IMAGE_SIZE(zephyr_image)
},
.entry = 0x20000000,
.platform = {
.cpu_num = 1,
.region_num = 1,
.regions = (struct vm_mem_region[]) {
{
.base = 0x20000000,
.size = 0x8000000
}
},
.ipc_num = 1,
.ipcs = (struct ipc[]) {
{
.base = 0x70000000,
.size = 0x00010000,
.shmem_id = 0,
.interrupt_num = 1,
.interrupts = (irqid_t[]) {52}
}
},
.dev_num = 2,
.devs = (struct vm_dev_region[]) {
{
/* UART2, PL011 */
.pa = 0x1c0b0000,
.va = 0x9c0b0000,
.size = 0x10000,
.interrupt_num = 1,
.interrupts = (irqid_t[]) {39}
},
{
.interrupt_num = 1,
.interrupts = (irqid_t[]) {27}
}
},
.arch = {
.gic = {
.gicd_addr = 0xaf000000,
.gicr_addr = 0xaf100000,
}
}
},
},
{
.image = {
.base_addr = 0x0,
.load_addr = VM_IMAGE_OFFSET(baremetal_image),
.size = VM_IMAGE_SIZE(baremetal_image)
},
.entry = 0x0,
.platform = {
.cpu_num = 2,
.region_num = 1,
.regions = (struct vm_mem_region[]) {
{
.base = 0x0,
.size = 0x8000000,
}
},
.ipc_num = 1,
.ipcs = (struct ipc[]) {
{
.base = 0x70000000,
.size = 0x00010000,
.shmem_id = 0,
.interrupt_num = 1,
.interrupts = (irqid_t[]) {52}
}
},
.dev_num = 2,
.devs = (struct vm_dev_region[]) {
{
/* UART2, PL011 */
.pa = 0x1c090000,
.va = 0xff000000,
.size = 0x10000,
.interrupt_num = 1,
.interrupts = (irqid_t[]) {37}
},
{
.interrupt_num = 1,
.interrupts = (irqid_t[]) {27}
}
},
.arch = {
.gic = {
.gicd_addr = 0xf9010000,
.gicr_addr = 0xf9020000,
}
}
},
},
},
};

View File

@ -0,0 +1,7 @@
# Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved.
# Copyright (c) 2022 IoT.bzh
# SPDX-License-Identifier: Apache-2.0
config BOARD_FVP_BASER_AEMV8R_AARCH32
bool "Bao VM for FVP BaseR AEMv8R AArch32 simulation board"
depends on SOC_FVP_AEMV8R_AARCH32

View File

@ -0,0 +1,13 @@
# Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved.
# Copyright (c) 2022 IoT.bzh
# SPDX-License-Identifier: Apache-2.0
if BOARD_FVP_BASER_AEMV8R_AARCH32
config BUILD_OUTPUT_BIN
default y
config BOARD
default "baovm_fvp-r-aarch32"
endif # BOARD_FVP_BASER_AEMV8R_AARCH32

View File

@ -0,0 +1,39 @@
/*
* Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <arm64/fvp/fvp-aemv8r.dtsi>
/ {
model = "Bao VM for FVP BaseR AEMv8R AArch32";
chosen {
/*
* The SRAM node is actually located in the
* DRAM region of the FVP BaseR AEMv8R.
*/
zephyr,sram = &dram0;
zephyr,console = &uart2;
zephyr,shell-uart = &uart2;
};
psci {
compatible = "arm,psci-0.2";
method = "hvc";
};
soc {
dram0: memory@20000000 {
compatible = "mmio-dram";
reg = <0x20000000 DT_SIZE_M(128)>;
};
};
};
&uart2 {
status = "okay";
current-speed = <115200>;
};

View File

@ -5,7 +5,6 @@
CONFIG_SOC_SERIES_FVP_AEMV8R_AARCH32=y
CONFIG_SOC_FVP_AEMV8R_AARCH32=y
CONFIG_BOARD_FVP_BASER_AEMV8R_AARCH32=y
CONFIG_ARM_MPU=y
CONFIG_ISR_STACK_SIZE=1024
CONFIG_THREAD_STACK_INFO=y