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(tk1 KernelPlatformTK1 PLAT_TK1 "KernelSel4ArchAarch32 OR KernelSel4ArchArmHyp")
10
11if(KernelPlatformTK1)
12    if("${KernelSel4Arch}" STREQUAL aarch32)
13        declare_seL4_arch(aarch32)
14    elseif("${KernelSel4Arch}" STREQUAL arm_hyp)
15        declare_seL4_arch(arm_hyp)
16    else()
17        fallback_declare_seL4_arch_default(aarch32)
18    endif()
19    set(KernelArmCortexA15 ON)
20    set(KernelArchArmV7a ON)
21    set(KernelArchArmV7ve ON)
22    config_set(KernelARMPlatform ARM_PLAT tk1)
23    config_set(KernelArmMach MACH "nvidia")
24    list(APPEND KernelDTSList "tools/dts/tk1.dts")
25    list(APPEND KernelDTSList "src/plat/tk1/overlay-tk1.dts")
26    declare_default_headers(
27        TIMER_FREQUENCY 12000000
28        MAX_IRQ 191
29        INTERRUPT_CONTROLLER arch/machine/gic_v2.h
30        NUM_PPI 32
31        TIMER drivers/timer/arm_generic.h SMMU plat/machine/smmu.h
32        CLK_MAGIC 2863311531llu
33        CLK_SHIFT 35u
34        KERNEL_WCET 100u
35    )
36endif()
37
38add_sources(
39    DEP "KernelPlatformTK1"
40    CFILES src/plat/tk1/machine/smmu.c src/arch/arm/machine/gic_v2.c src/arch/arm/machine/l2c_nop.c
41)
42
43add_bf_source_old("KernelPlatformTK1" "hardware.bf" "include/plat/tk1" "plat/machine")
44