Add i.MX93 SoC support

Signed-off-by: Indan Zupancic <indan@nul.nu>
This commit is contained in:
Indan Zupancic
2024-11-23 13:52:56 +00:00
committed by Gerwin Klein
parent 635d74639e
commit b7ce213654
4 changed files with 1412 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
/*
* Copyright 2024, Indan Zupancic
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <sel4/config.h>
#include <sel4/arch/constants_cortex_a55.h>

View File

@@ -0,0 +1,33 @@
#
# Copyright 2024, Indan Zupancic
#
# SPDX-License-Identifier: GPL-2.0-only
#
cmake_minimum_required(VERSION 3.7.2)
declare_platform(imx93 KernelPlatformIMX93 PLAT_IMX93 KernelArchARM)
if(KernelPlatformIMX93)
declare_seL4_arch(aarch64)
set(KernelArmCortexA55 ON)
set(KernelArchArmV8a ON)
set(KernelArmGicV3 ON)
config_set(KernelARMPlatform ARM_PLAT ${KernelPlatform})
list(APPEND KernelDTSList "tools/dts/${KernelPlatform}.dts")
list(APPEND KernelDTSList "src/plat/imx93/overlay-${KernelPlatform}.dts")
declare_default_headers(
TIMER_FREQUENCY 24000000
TIMER drivers/timer/arm_generic.h
TIMER_OVERHEAD_TICKS 1
NUM_PPI 32
MAX_IRQ 254
INTERRUPT_CONTROLLER arch/machine/gic_v3.h
KERNEL_WCET 10u
)
endif()
add_sources(
DEP "KernelPlatformIMX93"
CFILES src/arch/arm/machine/gic_v3.c src/arch/arm/machine/l2c_nop.c
)

View File

@@ -0,0 +1,36 @@
/*
* SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
* Copyright 2024 Indan Zupancic
*/
/ {
chosen {
seL4,elfloader-devices =
&lpuart1,
&{/psci},
&{/timer};
seL4,kernel-devices =
&lpuart1,
&gic,
&{/timer};
};
/* Maximum of 2 GB, use KernelCustomDTSOverlay if your board has less */
memory@80000000 {
device_type = "memory";
reg = <0x0 0x80000000 0x0 0x80000000>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
/* 32MB reservation by ATF (optional, only when ELE used?) */
bl32@96000000 {
reg = <0x96000000 0x2000000>;
no-map;
};
};
};

1334
tools/dts/imx93.dts Normal file

File diff suppressed because it is too large Load Diff