1/*
2 * Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 */
6
7#ifndef __ARM_PLAT_H
8#define __ARM_PLAT_H
9
10#include <autoconf.h>
11
12#define TIMER_CLOCK_HZ @CONFIGURE_TIMER_FREQUENCY@
13#define CLK_MAGIC @CONFIGURE_CLK_MAGIC@
14#define CLK_SHIFT @CONFIGURE_CLK_SHIFT@
15#define TIMER_PRECISION @CONFIGURE_TIMER_PRECISION@
16
17enum IRQConstants {
18    maxIRQ                      = @CONFIGURE_MAX_IRQ@
19} platform_interrupt_t;
20
21#define IRQ_CNODE_SLOT_BITS (@CONFIGURE_IRQ_SLOT_BITS@)
22
23#include <@CONFIGURE_INTERRUPT_CONTROLLER@>
24#include <@CONFIGURE_TIMER@>
25
26#cmakedefine CONFIGURE_SMMU <@CONFIGURE_SMMU@>
27#if (defined(CONFIGURE_SMMU) && defined(CONFIG_TK1_SMMU))
28#include CONFIGURE_SMMU
29#endif
30
31#cmakedefine CONFIGURE_SMMU <@CONFIGURE_SMMU@>
32#if (defined(CONFIGURE_SMMU) && defined(CONFIG_ARM_SMMU))
33#include CONFIGURE_SMMU
34
35#define SMMU_MAX_SID  @CONFIGURE_MAX_SID@
36#define SMMU_MAX_CB  @CONFIGURE_MAX_CB@
37
38#endif
39
40#ifdef CONFIG_KERNEL_MCS
41static inline CONST time_t getKernelWcetUs(void)
42{
43    return @CONFIGURE_KERNEL_WCET@;
44}
45#endif
46
47#endif /* !__ARM_PLAT_H */
48