Go to the documentation of this file.
15 #define REG_RD( scope, inst, reg ) \
16 REG_READ( reg_##scope##_##reg, \
17 (inst) + REG_RD_ADDR_##scope##_##reg )
21 #define REG_WR( scope, inst, reg, val ) \
22 REG_WRITE( reg_##scope##_##reg, \
23 (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
27 #define REG_RD_VECT( scope, inst, reg, index ) \
28 REG_READ( reg_##scope##_##reg, \
29 (inst) + REG_RD_ADDR_##scope##_##reg + \
30 (index) * STRIDE_##scope##_##reg )
34 #define REG_WR_VECT( scope, inst, reg, index, val ) \
35 REG_WRITE( reg_##scope##_##reg, \
36 (inst) + REG_WR_ADDR_##scope##_##reg + \
37 (index) * STRIDE_##scope##_##reg, (val) )
41 #define REG_RD_INT( scope, inst, reg ) \
42 REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg )
46 #define REG_WR_INT( scope, inst, reg, val ) \
47 REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
50 #ifndef REG_RD_INT_VECT
51 #define REG_RD_INT_VECT( scope, inst, reg, index ) \
52 REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \
53 (index) * STRIDE_##scope##_##reg )
56 #ifndef REG_WR_INT_VECT
57 #define REG_WR_INT_VECT( scope, inst, reg, index, val ) \
58 REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \
59 (index) * STRIDE_##scope##_##reg, (val) )
63 #define REG_TYPE_CONV( type, orgtype, val ) \
64 ( { union { orgtype o; type n; } r; r.o = val; r.n; } )
68 #define reg_page_size 8192
72 #define REG_ADDR( scope, inst, reg ) \
73 ( (inst) + REG_RD_ADDR_##scope##_##reg )
77 #define REG_ADDR_VECT( scope, inst, reg, index ) \
78 ( (inst) + REG_RD_ADDR_##scope##_##reg + \
79 (index) * STRIDE_##scope##_##reg )
86 #define REG_RD_ADDR_timer_rw_tmr0_div 0
87 #define REG_WR_ADDR_timer_rw_tmr0_div 0
91 #define REG_RD_ADDR_timer_r_tmr0_data 4
97 unsigned int dummy1 : 27;
99 #define REG_RD_ADDR_timer_rw_tmr0_ctrl 8
100 #define REG_WR_ADDR_timer_rw_tmr0_ctrl 8
104 #define REG_RD_ADDR_timer_rw_tmr1_div 16
105 #define REG_WR_ADDR_timer_rw_tmr1_div 16
109 #define REG_RD_ADDR_timer_r_tmr1_data 20
115 unsigned int dummy1 : 27;
117 #define REG_RD_ADDR_timer_rw_tmr1_ctrl 24
118 #define REG_WR_ADDR_timer_rw_tmr1_ctrl 24
125 #define REG_RD_ADDR_timer_rs_cnt_data 32
132 #define REG_RD_ADDR_timer_r_cnt_data 36
137 unsigned int dummy1 : 30;
139 #define REG_RD_ADDR_timer_rw_cnt_cfg 40
140 #define REG_WR_ADDR_timer_rw_cnt_cfg 40
144 #define REG_RD_ADDR_timer_rw_trig 48
145 #define REG_WR_ADDR_timer_rw_trig 48
150 unsigned int dummy1 : 30;
152 #define REG_RD_ADDR_timer_rw_trig_cfg 52
153 #define REG_WR_ADDR_timer_rw_trig_cfg 52
157 #define REG_RD_ADDR_timer_r_time 56
162 unsigned int dummy1 : 30;
164 #define REG_RD_ADDR_timer_rw_out 60
165 #define REG_WR_ADDR_timer_rw_out 60
172 unsigned int dummy1 : 16;
174 #define REG_RD_ADDR_timer_rw_wd_ctrl 64
175 #define REG_WR_ADDR_timer_rw_wd_ctrl 64
181 unsigned int dummy1 : 23;
183 #define REG_RD_ADDR_timer_r_wd_stat 68
187 unsigned int tmr0 : 1;
188 unsigned int tmr1 : 1;
190 unsigned int trig : 1;
191 unsigned int dummy1 : 28;
193 #define REG_RD_ADDR_timer_rw_intr_mask 72
194 #define REG_WR_ADDR_timer_rw_intr_mask 72
198 unsigned int tmr0 : 1;
199 unsigned int tmr1 : 1;
201 unsigned int trig : 1;
202 unsigned int dummy1 : 28;
204 #define REG_RD_ADDR_timer_rw_ack_intr 76
205 #define REG_WR_ADDR_timer_rw_ack_intr 76
209 unsigned int tmr0 : 1;
210 unsigned int tmr1 : 1;
212 unsigned int trig : 1;
213 unsigned int dummy1 : 28;
215 #define REG_RD_ADDR_timer_r_intr 80
219 unsigned int tmr0 : 1;
220 unsigned int tmr1 : 1;
222 unsigned int trig : 1;
223 unsigned int dummy1 : 28;
225 #define REG_RD_ADDR_timer_r_masked_intr 84
229 unsigned int dis : 1;
231 unsigned int dummy1 : 30;
233 #define REG_RD_ADDR_timer_rw_test 88
234 #define REG_WR_ADDR_timer_rw_test 88