1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * Copyright (C) 2017-2018 Intel Corporation <www.intel.com> 4 * 5 */ 6 7 #include <common.h> 8 #include <asm/io.h> 9 #include <asm/arch/timer.h> 10 11 /* 12 * Timer initialization 13 */ 14 int timer_init(void) 15 { 16 int enable = 0x3; /* timer enable + output signal masked */ 17 int loadval = ~0; 18 19 /* enable system counter */ 20 writel(enable, SOCFPGA_GTIMER_SEC_ADDRESS); 21 /* enable processor pysical counter */ 22 asm volatile("msr cntp_ctl_el0, %0" : : "r" (enable)); 23 asm volatile("msr cntp_tval_el0, %0" : : "r" (loadval)); 24 25 return 0; 26 } 27