LCOV - code coverage report
Current view: top level - zephyr/arch/arm/cortex_a_r - armv8_timer.h Hit Total Coverage
Test: new.info Lines: 0 9 0.0 %
Date: 2024-12-22 00:14:23

          Line data    Source code
       1           0 : /*
       2             :  * Copyright (c) 2019 Carlo Caione <ccaione@baylibre.com>
       3             :  * Copyright (c) 2022 IoT.bzh
       4             :  *
       5             :  * SPDX-License-Identifier: Apache-2.0
       6             :  */
       7             : 
       8             : #ifndef ZEPHYR_INCLUDE_ARCH_ARM_CORTEX_A_R_ARMV8_TIMER_H_
       9             : #define ZEPHYR_INCLUDE_ARCH_ARM_CORTEX_A_R_ARMV8_TIMER_H_
      10             : 
      11             : #ifndef _ASMLANGUAGE
      12             : 
      13             : #include <zephyr/drivers/timer/arm_arch_timer.h>
      14             : #include <zephyr/types.h>
      15             : 
      16             : #ifdef __cplusplus
      17             : extern "C" {
      18             : #endif
      19             : 
      20           0 : #define ARM_ARCH_TIMER_IRQ      ARM_TIMER_VIRTUAL_IRQ
      21           0 : #define ARM_ARCH_TIMER_PRIO     ARM_TIMER_VIRTUAL_PRIO
      22           0 : #define ARM_ARCH_TIMER_FLAGS    ARM_TIMER_VIRTUAL_FLAGS
      23             : 
      24           0 : static ALWAYS_INLINE void arm_arch_timer_init(void)
      25             : {
      26             : }
      27             : 
      28           0 : static ALWAYS_INLINE void arm_arch_timer_set_compare(uint64_t val)
      29             : {
      30             :         write_cntv_cval(val);
      31             : }
      32             : 
      33           0 : static ALWAYS_INLINE void arm_arch_timer_enable(unsigned char enable)
      34             : {
      35             :         uint64_t cntv_ctl;
      36             : 
      37             :         cntv_ctl = read_cntv_ctl();
      38             : 
      39             :         if (enable) {
      40             :                 cntv_ctl |= CNTV_CTL_ENABLE_BIT;
      41             :         } else {
      42             :                 cntv_ctl &= ~CNTV_CTL_ENABLE_BIT;
      43             :         }
      44             : 
      45             :         write_cntv_ctl(cntv_ctl);
      46             : }
      47             : 
      48           0 : static ALWAYS_INLINE void arm_arch_timer_set_irq_mask(bool mask)
      49             : {
      50             :         uint64_t cntv_ctl;
      51             : 
      52             :         cntv_ctl = read_cntv_ctl();
      53             : 
      54             :         if (mask) {
      55             :                 cntv_ctl |= CNTV_CTL_IMASK_BIT;
      56             :         } else {
      57             :                 cntv_ctl &= ~CNTV_CTL_IMASK_BIT;
      58             :         }
      59             : 
      60             :         write_cntv_ctl(cntv_ctl);
      61             : }
      62             : 
      63           0 : static ALWAYS_INLINE uint64_t arm_arch_timer_count(void)
      64             : {
      65             :         return read_cntvct();
      66             : }
      67             : 
      68             : #ifdef __cplusplus
      69             : }
      70             : #endif
      71             : 
      72             : #endif /* _ASMLANGUAGE */
      73             : 
      74             : #endif /* ZEPHYR_INCLUDE_ARCH_ARM_CORTEX_A_R_ARMV8_TIMER_H_ */

Generated by: LCOV version 1.14