Home | History | Annotate | Download | only in Arm
      1 #------------------------------------------------------------------------------
      2 #
      3 # Copyright (c) 2011, ARM Limited. All rights reserved.
      4 # Copyright (c) 2016, Linaro Limited. All rights reserved.
      5 #
      6 # This program and the accompanying materials
      7 # are licensed and made available under the terms and conditions of the BSD License
      8 # which accompanies this distribution.  The full text of the license may be found at
      9 # http://opensource.org/licenses/bsd-license.php
     10 #
     11 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     13 #
     14 #------------------------------------------------------------------------------
     15 
     16 #include <AsmMacroIoLib.h>
     17 
     18 ASM_FUNC(ArmReadCntFrq)
     19   mrc    p15, 0, r0, c14, c0, 0    @ Read CNTFRQ
     20   bx     lr
     21 
     22 ASM_FUNC(ArmWriteCntFrq)
     23   mcr    p15, 0, r0, c14, c0, 0    @ Write to CNTFRQ
     24   bx     lr
     25 
     26 ASM_FUNC(ArmReadCntPct)
     27   mrrc   p15, 0, r0, r1, c14       @ Read CNTPT (Physical counter register)
     28   bx     lr
     29 
     30 ASM_FUNC(ArmReadCntkCtl)
     31   mrc    p15, 0, r0, c14, c1, 0    @ Read CNTK_CTL (Timer PL1 Control Register)
     32   bx     lr
     33 
     34 ASM_FUNC(ArmWriteCntkCtl)
     35   mcr    p15, 0, r0, c14, c1, 0    @ Write to CNTK_CTL (Timer PL1 Control Register)
     36   bx     lr
     37 
     38 ASM_FUNC(ArmReadCntpTval)
     39   mrc    p15, 0, r0, c14, c2, 0    @ Read CNTP_TVAL (PL1 physical timer value register)
     40   bx     lr
     41 
     42 ASM_FUNC(ArmWriteCntpTval)
     43   mcr    p15, 0, r0, c14, c2, 0    @ Write to CNTP_TVAL (PL1 physical timer value register)
     44   bx     lr
     45 
     46 ASM_FUNC(ArmReadCntpCtl)
     47   mrc    p15, 0, r0, c14, c2, 1    @ Read CNTP_CTL (PL1 Physical Timer Control Register)
     48   bx     lr
     49 
     50 ASM_FUNC(ArmWriteCntpCtl)
     51   mcr    p15, 0, r0, c14, c2, 1    @ Write to  CNTP_CTL (PL1 Physical Timer Control Register)
     52   bx     lr
     53 
     54 ASM_FUNC(ArmReadCntvTval)
     55   mrc    p15, 0, r0, c14, c3, 0    @ Read CNTV_TVAL (Virtual Timer Value register)
     56   bx     lr
     57 
     58 ASM_FUNC(ArmWriteCntvTval)
     59   mcr    p15, 0, r0, c14, c3, 0    @ Write to CNTV_TVAL (Virtual Timer Value register)
     60   bx     lr
     61 
     62 ASM_FUNC(ArmReadCntvCtl)
     63   mrc    p15, 0, r0, c14, c3, 1    @ Read CNTV_CTL (Virtual Timer Control Register)
     64   bx     lr
     65 
     66 ASM_FUNC(ArmWriteCntvCtl)
     67   mcr    p15, 0, r0, c14, c3, 1    @ Write to CNTV_CTL (Virtual Timer Control Register)
     68   bx     lr
     69 
     70 ASM_FUNC(ArmReadCntvCt)
     71   mrrc   p15, 1, r0, r1, c14       @ Read CNTVCT  (Virtual Count Register)
     72   bx     lr
     73 
     74 ASM_FUNC(ArmReadCntpCval)
     75   mrrc   p15, 2, r0, r1, c14       @ Read CNTP_CTVAL (Physical Timer Compare Value Register)
     76   bx     lr
     77 
     78 ASM_FUNC(ArmWriteCntpCval)
     79   mcrr   p15, 2, r0, r1, c14       @ Write to CNTP_CTVAL (Physical Timer Compare Value Register)
     80   bx     lr
     81 
     82 ASM_FUNC(ArmReadCntvCval)
     83   mrrc   p15, 3, r0, r1, c14       @ Read CNTV_CTVAL (Virtual Timer Compare Value Register)
     84   bx     lr
     85 
     86 ASM_FUNC(ArmWriteCntvCval)
     87   mcrr   p15, 3, r0, r1, c14       @ write to  CNTV_CTVAL (Virtual Timer Compare Value Register)
     88   bx     lr
     89 
     90 ASM_FUNC(ArmReadCntvOff)
     91   mrrc   p15, 4, r0, r1, c14       @ Read CNTVOFF (virtual Offset register)
     92   bx     lr
     93 
     94 ASM_FUNC(ArmWriteCntvOff)
     95   mcrr   p15, 4, r0, r1, c14       @ Write to CNTVOFF (Virtual Offset register)
     96   bx     lr
     97 
     98 ASM_FUNCTION_REMOVE_IF_UNREFERENCED
     99