17839a050SYann Gautier /* 2*3f9c9784SYann Gautier * Copyright (c) 2018-2019, STMicroelectronics - All Rights Reserved 37839a050SYann Gautier * 47839a050SYann Gautier * SPDX-License-Identifier: BSD-3-Clause 57839a050SYann Gautier */ 67839a050SYann Gautier 7c3cf06f1SAntonio Nino Diaz #ifndef STM32MP1_CLK_H 8c3cf06f1SAntonio Nino Diaz #define STM32MP1_CLK_H 97839a050SYann Gautier 1009d40e0eSAntonio Nino Diaz #include <arch_helpers.h> 1109d40e0eSAntonio Nino Diaz 127839a050SYann Gautier int stm32mp1_clk_probe(void); 137839a050SYann Gautier int stm32mp1_clk_init(void); 147839a050SYann Gautier void stm32mp1_stgen_increment(unsigned long long offset_in_ms); 157839a050SYann Gautier 167839a050SYann Gautier static inline uint32_t get_timer(uint32_t base) 177839a050SYann Gautier { 187839a050SYann Gautier if (base == 0U) { 197839a050SYann Gautier return (uint32_t)(~read_cntpct_el0()); 207839a050SYann Gautier } 217839a050SYann Gautier 227839a050SYann Gautier return base - (uint32_t)(~read_cntpct_el0()); 237839a050SYann Gautier } 247839a050SYann Gautier 25c3cf06f1SAntonio Nino Diaz #endif /* STM32MP1_CLK_H */ 26