Add support for rock3b

Signed-off-by: Jakub Duchniewicz <j.duchniewicz@unsw.edu.au>
This commit is contained in:
Jakub Duchniewicz
2025-10-22 16:19:02 +11:00
committed by Gerwin Klein
parent 0fec79db4b
commit 51f571efce
5 changed files with 3686 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
/*
* Copyright 2025, UNSW
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <sel4/config.h>
#if defined(CONFIG_ARM_CORTEX_A55)
#include <sel4/arch/constants_cortex_a55.h>
#else
#error "unsupported core"
#endif

View File

@@ -0,0 +1,31 @@
#
# Copyright 2025, UNSW
#
# SPDX-License-Identifier: GPL-2.0-only
#
declare_platform(rk3568 KernelPlatformRock3b PLAT_rk3568 KernelArchARM)
if(KernelPlatformRock3b)
declare_seL4_arch(aarch64)
set(KernelArmCortexA55 ON)
set(KernelArchArmV8a ON)
set(KernelArmGicV3 ON)
config_set(KernelARMPlatform ARM_PLAT rock3b)
list(APPEND KernelDTSList "tools/dts/rock3b.dts")
list(APPEND KernelDTSList "src/plat/rk3568/overlay-rock3b.dts")
declare_default_headers(
TIMER_FREQUENCY 24000000
MAX_IRQ 283
NUM_PPI 32
TIMER drivers/timer/arm_generic.h
INTERRUPT_CONTROLLER arch/machine/gic_v3.h
KERNEL_WCET 10u
)
endif()
add_sources(
DEP "KernelPlatformRock3b"
CFILES src/arch/arm/machine/gic_v3.c src/arch/arm/machine/l2c_nop.c
)

View File

@@ -0,0 +1,24 @@
/*
* Copyright 2025, UNSW
*
* SPDX-License-Identifier: GPL-2.0-only
*/
/ {
chosen {
seL4,elfloader-devices =
"serial2",
&{/psci},
&{/timer};
seL4,kernel-devices =
"serial2",
&{/interrupt-controller@fd400000},
&{/timer};
};
memory@00000000 {
device_type = "memory";
reg = <0x00 0x200000 0x00 0xecc9c000>;
};
};

3614
tools/dts/rock3b.dts Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -62,6 +62,7 @@ freescale/fsl-imx8mq-evk=imx8mq-evk
freescale/fsl-imx8mm-evk=imx8mm-evk
rockchip/rk3399-rockpro64=rockpro64
rockchip/rk3566-quartz64-a=quartz64
rockchip/rk3568-rock3b=rock3b
broadcom/bcm2711-rpi-4-b=rpi4
avnet/maaxboard=maaxboard
"