diff options
Diffstat (limited to 'plat/arm/common/arm_timers.c')
-rw-r--r-- | plat/arm/common/arm_timers.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/plat/arm/common/arm_timers.c b/plat/arm/common/arm_timers.c new file mode 100644 index 000000000..c84cb845a --- /dev/null +++ b/plat/arm/common/arm_timers.c @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2018, Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <assert.h> +#include <platform.h> +#include <stddef.h> +#include <system_timer.h> +#include <timer.h> + +#pragma weak plat_initialise_timer_ops + +static const plat_timer_t plat_timers = { + .program = program_systimer, + .cancel = cancel_systimer, + .handler = handler_systimer, + .timer_step_value = 2, + .timer_irq = IRQ_CNTPSIRQ1 +}; + +int plat_initialise_timer_ops(const plat_timer_t **timer_ops) +{ + assert(timer_ops != NULL); + *timer_ops = &plat_timers; + + /* Initialise the system timer */ + init_systimer(SYS_CNT_BASE1); + + return 0; +} |