[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 20/24] hw/arm/mps2-tz: Add new mps3-an524 board
From: |
Peter Maydell |
Subject: |
Re: [PATCH 20/24] hw/arm/mps2-tz: Add new mps3-an524 board |
Date: |
Fri, 12 Feb 2021 14:51:57 +0000 |
On Fri, 5 Feb 2021 at 17:00, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> Add support for the mps3-an524 board; this is an SSE-200 based FPGA
> image, like the existing mps2-an521. It has a usefully larger amount
> of RAM, and a PL031 RTC, as well as some more minor differences.
>
> In real hardware this image runs on a newer generation of the FPGA
> board, the MPS3 rather than the older MPS2. Architecturally the two
> boards are similar, so we implement the MPS3 boards in the mps2-tz.c
> file as variations of the existing MPS2 boards.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> +static void mps3tz_an524_class_init(ObjectClass *oc, void *data)
> +{
> + MachineClass *mc = MACHINE_CLASS(oc);
> + MPS2TZMachineClass *mmc = MPS2TZ_MACHINE_CLASS(oc);
> +
> + mc->desc = "ARM MPS3 with AN524 FPGA image for dual Cortex-M33";
> + mc->default_cpus = 2;
> + mc->min_cpus = mc->default_cpus;
> + mc->max_cpus = mc->default_cpus;
> + mmc->fpga_type = FPGA_AN524;
> + mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-m33");
> + mmc->scc_id = 0x41045240;
> + mmc->sysclk_frq = 32 * 1000 * 1000; /* 32MHz */
> + mmc->oscclk = an524_oscclk;
> + mmc->len_oscclk = ARRAY_SIZE(an524_oscclk);
> + mmc->numirq = 95;
> + mmc->raminfo = an524_raminfo;
> + mmc->armsse_type = TYPE_SSE200;
> + mps2tz_set_default_ram_info(mmc);
> +}
Oops, this is missing a couple of initialisations for
the FPGAIO config:
--- a/hw/arm/mps2-tz.c
+++ b/hw/arm/mps2-tz.c
@@ -1016,6 +1016,8 @@ static void mps3tz_an524_class_init(ObjectClass
*oc, void *data)
mmc->sysclk_frq = 32 * 1000 * 1000; /* 32MHz */
mmc->oscclk = an524_oscclk;
mmc->len_oscclk = ARRAY_SIZE(an524_oscclk);
+ mmc->fpgaio_num_leds = 10;
+ mmc->fpgaio_has_switches = true;
mmc->numirq = 95;
mmc->raminfo = an524_raminfo;
mmc->armsse_type = TYPE_SSE200;
thanks
-- PMM
- [PATCH 09/24] hw/arm/mps2-tz: Make number of IRQs board-specific, (continued)
- [PATCH 09/24] hw/arm/mps2-tz: Make number of IRQs board-specific, Peter Maydell, 2021/02/05
- [PATCH 08/24] hw/arm/mps2-tz: Condition IRQ splitting on number of CPUs, not board type, Peter Maydell, 2021/02/05
- [PATCH 11/24] hw/arm/mps2-tz: Correct wrong interrupt numbers for DMA and SPI, Peter Maydell, 2021/02/05
- [PATCH 19/24] hw/arm/mps2-tz: Get armv7m_load_kernel() size argument from RAMInfo, Peter Maydell, 2021/02/05
- [PATCH 13/24] hw/arm/mps2-tz: Move device IRQ info to data structures, Peter Maydell, 2021/02/05
- [PATCH 20/24] hw/arm/mps2-tz: Add new mps3-an524 board, Peter Maydell, 2021/02/05
- [PATCH 22/24] hw/arm/mps2-tz: Provide PL031 RTC on mps3-an524, Peter Maydell, 2021/02/05
- [PATCH 23/24] docs/system/arm/mps2.rst: Document the new mps3-an524 board, Peter Maydell, 2021/02/05
- [PATCH 18/24] hw/arm/mps2-tz: Support ROMs as well as RAMs, Peter Maydell, 2021/02/05
- [PATCH 15/24] hw/arm/mps2-tz: Allow boards to have different PPCInfo data, Peter Maydell, 2021/02/05
- [PATCH 24/24] hw/arm/mps2: Update old infocenter.arm.com URLs, Peter Maydell, 2021/02/05
- [PATCH 16/24] hw/arm/mps2-tz: Make RAM arrangement board-specific, Peter Maydell, 2021/02/05
- [PATCH 21/24] hw/arm/mps2-tz: Stub out USB controller for mps3-an524, Peter Maydell, 2021/02/05