mirror of
https://github.com/seL4/seL4.git
synced 2026-04-04 22:39:54 +00:00
Add Quartz64 support
This adds support for the Pine64 Quartz64 and other devices based on the Rockchip RK3566. The platform support is adapted from the Rockpro64 code, except that the RK356x has A55 cores, and adjusting for the fact that the ARM Generic Timer is the only on-chip timer available. Signed-off-by: Peter S. Housel <housel@acm.org>
This commit is contained in:
committed by
Gerwin Klein
parent
bbafa62d30
commit
8ca4a87c9a
10
libsel4/sel4_plat_include/quartz64/sel4/plat/api/constants.h
Normal file
10
libsel4/sel4_plat_include/quartz64/sel4/plat/api/constants.h
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <autoconf.h>
|
||||
#include <sel4/arch/constants_cortex_a55.h>
|
||||
33
src/plat/quartz64/config.cmake
Normal file
33
src/plat/quartz64/config.cmake
Normal file
@@ -0,0 +1,33 @@
|
||||
#
|
||||
# Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
|
||||
cmake_minimum_required(VERSION 3.7.2)
|
||||
|
||||
declare_platform(quartz64 KernelPlatformQuartz64 PLAT_QUARTZ64 KernelSel4ArchAarch64)
|
||||
|
||||
if(KernelPlatformQuartz64)
|
||||
|
||||
declare_seL4_arch(aarch64)
|
||||
set(KernelArmCortexA55 ON)
|
||||
set(KernelArchArmV8a ON)
|
||||
set(KernelArmGicV3 ON)
|
||||
config_set(KernelARMPlatform ARM_PLAT "quartz64")
|
||||
list(APPEND KernelDTSList "tools/dts/quartz64.dts")
|
||||
list(APPEND KernelDTSList "src/plat/quartz64/overlay-quartz64.dts")
|
||||
declare_default_headers(
|
||||
TIMER_FREQUENCY 24000000
|
||||
MAX_IRQ 231
|
||||
NUM_PPI 32
|
||||
KERNEL_WCET 10u
|
||||
TIMER drivers/timer/arm_generic.h
|
||||
INTERRUPT_CONTROLLER arch/machine/gic_v3.h
|
||||
)
|
||||
endif()
|
||||
|
||||
add_sources(
|
||||
DEP "KernelPlatformQuartz64"
|
||||
CFILES src/arch/arm/machine/gic_v3.c src/arch/arm/machine/l2c_nop.c
|
||||
)
|
||||
17
src/plat/quartz64/overlay-quartz64.dts
Normal file
17
src/plat/quartz64/overlay-quartz64.dts
Normal file
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
* Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-only
|
||||
*/
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
seL4,elfloader-devices =
|
||||
"serial2",
|
||||
&{/psci};
|
||||
seL4,kernel-devices =
|
||||
"serial2",
|
||||
&{/interrupt-controller@fd400000},
|
||||
&{/timer};
|
||||
};
|
||||
};
|
||||
2925
tools/dts/quartz64.dts
Normal file
2925
tools/dts/quartz64.dts
Normal file
File diff suppressed because it is too large
Load Diff
@@ -61,6 +61,7 @@ xilinx/zynqmp-zcu102-rev1.0=zynqmp
|
||||
freescale/fsl-imx8mq-evk=imx8mq-evk
|
||||
freescale/fsl-imx8mm-evk=imx8mm-evk
|
||||
rockchip/rk3399-rockpro64=rockpro64
|
||||
rockchip/rk3566-quartz64-a=quartz64
|
||||
broadcom/bcm2711-rpi-4-b=rpi4
|
||||
avnet/maaxboard=maaxboard
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user