blob: 253cde39d1116ae4c227ffc4a364d75ec860ff17 [file] [log] [blame]
Dinh Nguyenad51f7c2012-10-04 06:46:02 +00001/*
2 * Copyright (C) 2012 Altera Corporation <www.altera.com>
3 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02004 * SPDX-License-Identifier: GPL-2.0+
Dinh Nguyenad51f7c2012-10-04 06:46:02 +00005 */
6
7#include <common.h>
8#include <asm/io.h>
9#include <asm/arch/timer.h>
10
Marek Vasut8fea4ae2014-09-08 14:08:45 +020011#define TIMER_LOAD_VAL 0xFFFFFFFF
12
Dinh Nguyenad51f7c2012-10-04 06:46:02 +000013static const struct socfpga_timer *timer_base = (void *)CONFIG_SYS_TIMERBASE;
14
15/*
16 * Timer initialization
17 */
18int 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}