37 #ifndef ALT_A53_CPU_TIMER_H_
38 #define ALT_A53_CPU_TIMER_H_
40 #include "socal/hps.h"
73 #define VALUE_CLEAR (0)
76 #define CNT_HYPCTL_EL1PCTEN (1<<0)
77 #define CNT_HYPCTL_EL1PCEN (1<<1)
78 #define CNT_HYPCTL_ENVTEN (1<<2)
79 #define CNT_HYPCTL_EVNTDIR (1<<3)
80 #define CNT_HYPCTL_EVNTI (0x0000F0)
83 #define CNT_KNLCTL_EL0PCTEN (1<<0)
84 #define CNT_KNLCTL_EL0VCTEN (1<<1)
85 #define CNT_KNLCTL_EVNTEN (1<<2)
86 #define CNT_KNLCTL_EVETDIR (1<<3)
87 #define CNT_KNLCTL_EVNTI (0x000000F0)
88 #define CNT_KNLCTL_EL0VTEN (1<<8)
89 #define CNT_KNLCTL_EL0PTEN (1<<9)
92 #define CNT_CTL_ENABLE (1<<0)
93 #define CNT_CTL_IMASK (1<<1)
94 #define CNT_CTL_ISTATUS (1<<2)
97 #define CNT_FRAME7 (0xF0000000)
98 #define CNT_FRAME6 (0x0F000000)
99 #define CNT_FRAME5 (0x00F00000)
100 #define CNT_FRAME4 (0x000F0000)
101 #define CNT_FRAME3 (0x0000F000)
102 #define CNT_FRAME2 (0x00000F00)
103 #define CNT_FRAME1 (0x000000F0)
104 #define CNT_FRAME0 (0x0000000F)
106 #define CNT_DBGH (1<<1)
109 #define CNT_NS0 (1<<0)
110 #define CNT_NS1 (1<<1)
111 #define CNT_NS1 (1<<1)
112 #define CNT_NS2 (1<<2)
113 #define CNT_NS3 (1<<3)
114 #define CNT_NS4 (1<<4)
115 #define CNT_NS5 (1<<5)
116 #define CNT_NS6 (1<<6)
117 #define CNT_NS7 (1<<7)
120 #define CNT_HDBG (1<<1)
126 uint32_t alt_a53_get_gentimer_nsel1control(
void);
127 void alt_a53_set_gentimer_nsel1control(uint32_t val);
128 int32_t alt_a53_get_gentimer_nsel1timervalue(
void);
129 void alt_a53_set_gentimer_nsel1timervalue(int32_t val);
130 uint64_t alt_a53_get_gentimer_nsel1comparevalue(
void);
131 void alt_a53_set_gentimer_nsel1comparevalue(uint64_t val);
133 uint32_t alt_a53_get_gentimer_sel1control(
void);
134 void alt_a53_set_gentimer_sel1control(uint32_t val);
135 int32_t alt_a53_get_gentimer_sel1timervalue(
void);
136 void alt_a53_set_gentimer_sel1timervalue(int32_t val);
137 uint64_t alt_a53_get_gentimer_sel1comparevalue(
void);
138 void alt_a53_set_gentimer_sel1comparevalue(uint64_t val);
141 uint32_t alt_a53_get_gentimer_nsel2control(
void);
142 void alt_a53_set_gentimer_nsel2control(uint32_t val);
143 int32_t alt_a53_get_gentimer_nsel2timervalue(
void);
144 void alt_a53_set_gentimer_nsel2timervalue(int32_t val);
145 uint64_t alt_a53_get_gentimer_nsel2comparevalue(
void);
146 void alt_a53_set_gentimer_nsel2comparevalue(uint64_t val);
149 uint32_t alt_a53_get_gentimer_virtcontrol(
void);
150 void alt_a53_set_gentimer_virtcontrol(uint32_t val);
151 int32_t alt_a53_get_gentimer_virttimervalue(
void);
152 void alt_a53_set_gentimer_virttimervalue(int32_t val);
153 uint64_t alt_a53_get_gentimer_virtcomparevalue(
void);
154 void alt_a53_set_gentimer_virtcomparevalue(int64_t val);
157 uint32_t alt_a53_get_cntrtimerkernel_control(
void);
158 void alt_a53_set_cntrtimerkernel_control(int32_t val);
160 uint32_t alt_a53_get_cntrtimer_freq(
void);
161 void alt_a53_set_cntrtimer_freq(int32_t val);
163 uint32_t alt_a53_get_cntrtimer_phycnt(
void);
164 uint32_t alt_a53_get_cntrtimer_vircnt(
void);
166 void alt_a53_isb(
void);