Home | History | Annotate | Download | only in mt6795
      1 /*
      2  * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
      3  *
      4  * SPDX-License-Identifier: BSD-3-Clause
      5  */
      6 
      7 #include <arch_helpers.h>
      8 #include <delay_timer.h>
      9 #include <platform_def.h>
     10 
     11 static uint32_t plat_get_timer_value(void)
     12 {
     13 	/*
     14 	 * Generic delay timer implementation expects the timer to be a down
     15 	 * counter. We apply bitwise NOT operator to the tick values returned
     16 	 * by read_cntpct_el0() to simulate the down counter.
     17 	 */
     18 	return (uint32_t)(~read_cntpct_el0());
     19 }
     20 
     21 static const timer_ops_t plat_timer_ops = {
     22 	.get_timer_value	= plat_get_timer_value,
     23 	.clk_mult		= 1,
     24 	.clk_div		= SYS_COUNTER_FREQ_IN_MHZ,
     25 };
     26 
     27 void plat_delay_timer_init(void)
     28 {
     29 	timer_init(&plat_timer_ops);
     30 }
     31