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(am335x KernelPlatformAM335X PLAT_AM335X KernelSel4ArchAarch32) 10set(c_configs PLAT_AM335X_BONEBLACK PLAT_AM335X_BONEBLUE PLAT_AM335X_BONE) 11set( 12 cmake_configs 13 KernelPlatformAM335XBoneBlack 14 KernelPlatformAM335XBoneBlue 15 KernelPlatformAM335XBone 16) 17set(plat_lists am335x-boneblack am335x-boneblue am335x-bone) 18foreach(config IN LISTS cmake_configs) 19 unset(${config} CACHE) 20endforeach() 21 22if(KernelPlatformAM335X) 23 declare_seL4_arch(aarch32) 24 25 set(KernelHardwareDebugAPIUnsupported ON CACHE INTERNAL "") 26 27 set(KernelArmCortexA8 ON) 28 set(KernelArchArmV7a ON) 29 check_platform_and_fallback_to_default(KernelARMPlatform "am335x-boneblack") 30 list(FIND plat_lists ${KernelARMPlatform} index) 31 if("${index}" STREQUAL "-1") 32 message(FATAL_ERROR "Which am335x platform not specified") 33 endif() 34 35 list(GET c_configs ${index} c_config) 36 list(GET cmake_configs ${index} cmake_config) 37 config_set(KernelARMPlatform ARM_PLAT ${KernelARMPlatform}) 38 config_set(${cmake_config} ${c_config} ON) 39 list(APPEND KernelDTSList "tools/dts/${KernelARMPlatform}.dts") 40 if("${KernelARMPlatform}" STREQUAL "am335x-boneblack") 41 list(APPEND KernelDTSList "src/plat/am335x/overlay-am335x-boneblack.dts") 42 endif() 43 list(APPEND KernelDTSList "src/plat/am335x/overlay-am335x.dts") 44 45 declare_default_headers( 46 MAX_IRQ 127 47 TIMER drivers/timer/am335x.h 48 INTERRUPT_CONTROLLER 49 drivers/irq/am335x.h 50 # DMTIMER 2-7 have programmable CLKSRC. 51 # Currently Kernel timer is DMTIMER4 using CLK_M_OSC. 52 TIMER_FREQUENCY 24000000 53 CLK_MAGIC 2863311531llu 54 CLK_SHIFT 36u 55 KERNEL_WCET 10u 56 ) 57endif() 58 59add_sources( 60 DEP "KernelPlatformAM335X" 61 CFILES src/plat/am335x/machine/hardware.c src/plat/am335x/machine/l2cache.c 62) 63