xref: /rk3399_ARM-atf/include/drivers/st/stm32mp1_clk.h (revision 3f9c97842e5780e0e21f8eb36844c8154635c8c4)
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