1#
2# Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
3#
4# SPDX-License-Identifier: GPL-2.0-only
5#
6
7cmake_minimum_required(VERSION 3.7.2)
8
9declare_platform(imx8mq-evk KernelPlatformImx8mq-evk PLAT_IMX8MQ_EVK KernelArchARM)
10declare_platform(imx8mm-evk KernelPlatformImx8mm-evk PLAT_IMX8MM_EVK KernelArchARM)
11
12if(KernelPlatformImx8mq-evk OR KernelPlatformImx8mm-evk)
13    if("${KernelSel4Arch}" STREQUAL aarch32)
14        declare_seL4_arch(aarch32)
15    elseif("${KernelSel4Arch}" STREQUAL aarch64)
16        declare_seL4_arch(aarch64)
17    else()
18        fallback_declare_seL4_arch_default(aarch64)
19    endif()
20
21    set(KernelArmCortexA53 ON)
22    set(KernelArchArmV8a ON)
23    set(KernelArmGicV3 ON)
24    config_set(KernelARMPlatform ARM_PLAT ${KernelPlatform})
25    set(KernelArmMach "imx" CACHE INTERNAL "")
26    list(APPEND KernelDTSList "tools/dts/${KernelPlatform}.dts")
27    list(APPEND KernelDTSList "src/plat/imx8m-evk/overlay-${KernelPlatform}.dts")
28    if(KernelSel4ArchAarch32)
29        list(APPEND KernelDTSList "src/plat/imx8m-evk/overlay-imx8m-32bit.dts")
30    endif()
31    declare_default_headers(
32        TIMER_FREQUENCY 8000000
33        MAX_IRQ 160
34        TIMER drivers/timer/arm_generic.h
35        INTERRUPT_CONTROLLER arch/machine/gic_v3.h
36        NUM_PPI 32
37        CLK_MAGIC 1llu
38        CLK_SHIFT 3u
39        KERNEL_WCET 10u
40    )
41endif()
42
43add_sources(
44    DEP "KernelPlatformImx8mq-evk OR KernelPlatformImx8mm-evk"
45    CFILES src/arch/arm/machine/gic_v3.c src/arch/arm/machine/l2c_nop.c
46)
47