1 /* 2 * Copyright (C) 2012 Altera Corporation <www.altera.com> 3 * 4 * SPDX-License-Identifier: GPL-2.0+ 5 */ 6 7 #include <common.h> 8 #include <asm/io.h> 9 #include <asm/arch/timer.h> 10 11 #define TIMER_LOAD_VAL 0xFFFFFFFF 12 13 static const struct socfpga_timer *timer_base = (void *)CONFIG_SYS_TIMERBASE; 14 15 /* 16 * Timer initialization 17 */ 18 int timer_init(void) 19 { 20 writel(TIMER_LOAD_VAL, &timer_base->load_val); 21 writel(TIMER_LOAD_VAL, &timer_base->curr_val); 22 writel(readl(&timer_base->ctrl) | 0x3, &timer_base->ctrl); 23 return 0; 24 } 25