Full support for Ginger Console
[linux-ginger.git] / arch / cris / include / arch-v32 / mach-a3 / mach / hwregs / gio_defs.h
blob5d88e0db23ae5d78a74a83c3a7eba01542fd9a95
1 #ifndef __gio_defs_h
2 #define __gio_defs_h
4 /*
5 * This file is autogenerated from
6 * file: gio.r
7 *
8 * by ../../../tools/rdesc/bin/rdes2c -outfile gio_defs.h gio.r
9 * Any changes here will be lost.
11 * -*- buffer-read-only: t -*-
13 /* Main access macros */
14 #ifndef REG_RD
15 #define REG_RD( scope, inst, reg ) \
16 REG_READ( reg_##scope##_##reg, \
17 (inst) + REG_RD_ADDR_##scope##_##reg )
18 #endif
20 #ifndef REG_WR
21 #define REG_WR( scope, inst, reg, val ) \
22 REG_WRITE( reg_##scope##_##reg, \
23 (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
24 #endif
26 #ifndef REG_RD_VECT
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 )
31 #endif
33 #ifndef REG_WR_VECT
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) )
38 #endif
40 #ifndef REG_RD_INT
41 #define REG_RD_INT( scope, inst, reg ) \
42 REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg )
43 #endif
45 #ifndef REG_WR_INT
46 #define REG_WR_INT( scope, inst, reg, val ) \
47 REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
48 #endif
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 )
54 #endif
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) )
60 #endif
62 #ifndef REG_TYPE_CONV
63 #define REG_TYPE_CONV( type, orgtype, val ) \
64 ( { union { orgtype o; type n; } r; r.o = val; r.n; } )
65 #endif
67 #ifndef reg_page_size
68 #define reg_page_size 8192
69 #endif
71 #ifndef REG_ADDR
72 #define REG_ADDR( scope, inst, reg ) \
73 ( (inst) + REG_RD_ADDR_##scope##_##reg )
74 #endif
76 #ifndef REG_ADDR_VECT
77 #define REG_ADDR_VECT( scope, inst, reg, index ) \
78 ( (inst) + REG_RD_ADDR_##scope##_##reg + \
79 (index) * STRIDE_##scope##_##reg )
80 #endif
82 /* C-code for register scope gio */
84 /* Register r_pa_din, scope gio, type r */
85 typedef struct {
86 unsigned int data : 32;
87 } reg_gio_r_pa_din;
88 #define REG_RD_ADDR_gio_r_pa_din 0
90 /* Register rw_pa_dout, scope gio, type rw */
91 typedef struct {
92 unsigned int data : 32;
93 } reg_gio_rw_pa_dout;
94 #define REG_RD_ADDR_gio_rw_pa_dout 4
95 #define REG_WR_ADDR_gio_rw_pa_dout 4
97 /* Register rw_pa_oe, scope gio, type rw */
98 typedef struct {
99 unsigned int oe : 32;
100 } reg_gio_rw_pa_oe;
101 #define REG_RD_ADDR_gio_rw_pa_oe 8
102 #define REG_WR_ADDR_gio_rw_pa_oe 8
104 /* Register rw_pa_byte0_dout, scope gio, type rw */
105 typedef struct {
106 unsigned int data : 8;
107 unsigned int dummy1 : 24;
108 } reg_gio_rw_pa_byte0_dout;
109 #define REG_RD_ADDR_gio_rw_pa_byte0_dout 12
110 #define REG_WR_ADDR_gio_rw_pa_byte0_dout 12
112 /* Register rw_pa_byte0_oe, scope gio, type rw */
113 typedef struct {
114 unsigned int oe : 8;
115 unsigned int dummy1 : 24;
116 } reg_gio_rw_pa_byte0_oe;
117 #define REG_RD_ADDR_gio_rw_pa_byte0_oe 16
118 #define REG_WR_ADDR_gio_rw_pa_byte0_oe 16
120 /* Register rw_pa_byte1_dout, scope gio, type rw */
121 typedef struct {
122 unsigned int data : 8;
123 unsigned int dummy1 : 24;
124 } reg_gio_rw_pa_byte1_dout;
125 #define REG_RD_ADDR_gio_rw_pa_byte1_dout 20
126 #define REG_WR_ADDR_gio_rw_pa_byte1_dout 20
128 /* Register rw_pa_byte1_oe, scope gio, type rw */
129 typedef struct {
130 unsigned int oe : 8;
131 unsigned int dummy1 : 24;
132 } reg_gio_rw_pa_byte1_oe;
133 #define REG_RD_ADDR_gio_rw_pa_byte1_oe 24
134 #define REG_WR_ADDR_gio_rw_pa_byte1_oe 24
136 /* Register rw_pa_byte2_dout, scope gio, type rw */
137 typedef struct {
138 unsigned int data : 8;
139 unsigned int dummy1 : 24;
140 } reg_gio_rw_pa_byte2_dout;
141 #define REG_RD_ADDR_gio_rw_pa_byte2_dout 28
142 #define REG_WR_ADDR_gio_rw_pa_byte2_dout 28
144 /* Register rw_pa_byte2_oe, scope gio, type rw */
145 typedef struct {
146 unsigned int oe : 8;
147 unsigned int dummy1 : 24;
148 } reg_gio_rw_pa_byte2_oe;
149 #define REG_RD_ADDR_gio_rw_pa_byte2_oe 32
150 #define REG_WR_ADDR_gio_rw_pa_byte2_oe 32
152 /* Register rw_pa_byte3_dout, scope gio, type rw */
153 typedef struct {
154 unsigned int data : 8;
155 unsigned int dummy1 : 24;
156 } reg_gio_rw_pa_byte3_dout;
157 #define REG_RD_ADDR_gio_rw_pa_byte3_dout 36
158 #define REG_WR_ADDR_gio_rw_pa_byte3_dout 36
160 /* Register rw_pa_byte3_oe, scope gio, type rw */
161 typedef struct {
162 unsigned int oe : 8;
163 unsigned int dummy1 : 24;
164 } reg_gio_rw_pa_byte3_oe;
165 #define REG_RD_ADDR_gio_rw_pa_byte3_oe 40
166 #define REG_WR_ADDR_gio_rw_pa_byte3_oe 40
168 /* Register r_pb_din, scope gio, type r */
169 typedef struct {
170 unsigned int data : 32;
171 } reg_gio_r_pb_din;
172 #define REG_RD_ADDR_gio_r_pb_din 44
174 /* Register rw_pb_dout, scope gio, type rw */
175 typedef struct {
176 unsigned int data : 32;
177 } reg_gio_rw_pb_dout;
178 #define REG_RD_ADDR_gio_rw_pb_dout 48
179 #define REG_WR_ADDR_gio_rw_pb_dout 48
181 /* Register rw_pb_oe, scope gio, type rw */
182 typedef struct {
183 unsigned int oe : 32;
184 } reg_gio_rw_pb_oe;
185 #define REG_RD_ADDR_gio_rw_pb_oe 52
186 #define REG_WR_ADDR_gio_rw_pb_oe 52
188 /* Register rw_pb_byte0_dout, scope gio, type rw */
189 typedef struct {
190 unsigned int data : 8;
191 unsigned int dummy1 : 24;
192 } reg_gio_rw_pb_byte0_dout;
193 #define REG_RD_ADDR_gio_rw_pb_byte0_dout 56
194 #define REG_WR_ADDR_gio_rw_pb_byte0_dout 56
196 /* Register rw_pb_byte0_oe, scope gio, type rw */
197 typedef struct {
198 unsigned int oe : 8;
199 unsigned int dummy1 : 24;
200 } reg_gio_rw_pb_byte0_oe;
201 #define REG_RD_ADDR_gio_rw_pb_byte0_oe 60
202 #define REG_WR_ADDR_gio_rw_pb_byte0_oe 60
204 /* Register rw_pb_byte1_dout, scope gio, type rw */
205 typedef struct {
206 unsigned int data : 8;
207 unsigned int dummy1 : 24;
208 } reg_gio_rw_pb_byte1_dout;
209 #define REG_RD_ADDR_gio_rw_pb_byte1_dout 64
210 #define REG_WR_ADDR_gio_rw_pb_byte1_dout 64
212 /* Register rw_pb_byte1_oe, scope gio, type rw */
213 typedef struct {
214 unsigned int oe : 8;
215 unsigned int dummy1 : 24;
216 } reg_gio_rw_pb_byte1_oe;
217 #define REG_RD_ADDR_gio_rw_pb_byte1_oe 68
218 #define REG_WR_ADDR_gio_rw_pb_byte1_oe 68
220 /* Register rw_pb_byte2_dout, scope gio, type rw */
221 typedef struct {
222 unsigned int data : 8;
223 unsigned int dummy1 : 24;
224 } reg_gio_rw_pb_byte2_dout;
225 #define REG_RD_ADDR_gio_rw_pb_byte2_dout 72
226 #define REG_WR_ADDR_gio_rw_pb_byte2_dout 72
228 /* Register rw_pb_byte2_oe, scope gio, type rw */
229 typedef struct {
230 unsigned int oe : 8;
231 unsigned int dummy1 : 24;
232 } reg_gio_rw_pb_byte2_oe;
233 #define REG_RD_ADDR_gio_rw_pb_byte2_oe 76
234 #define REG_WR_ADDR_gio_rw_pb_byte2_oe 76
236 /* Register rw_pb_byte3_dout, scope gio, type rw */
237 typedef struct {
238 unsigned int data : 8;
239 unsigned int dummy1 : 24;
240 } reg_gio_rw_pb_byte3_dout;
241 #define REG_RD_ADDR_gio_rw_pb_byte3_dout 80
242 #define REG_WR_ADDR_gio_rw_pb_byte3_dout 80
244 /* Register rw_pb_byte3_oe, scope gio, type rw */
245 typedef struct {
246 unsigned int oe : 8;
247 unsigned int dummy1 : 24;
248 } reg_gio_rw_pb_byte3_oe;
249 #define REG_RD_ADDR_gio_rw_pb_byte3_oe 84
250 #define REG_WR_ADDR_gio_rw_pb_byte3_oe 84
252 /* Register r_pc_din, scope gio, type r */
253 typedef struct {
254 unsigned int data : 16;
255 unsigned int dummy1 : 16;
256 } reg_gio_r_pc_din;
257 #define REG_RD_ADDR_gio_r_pc_din 88
259 /* Register rw_pc_dout, scope gio, type rw */
260 typedef struct {
261 unsigned int data : 16;
262 unsigned int dummy1 : 16;
263 } reg_gio_rw_pc_dout;
264 #define REG_RD_ADDR_gio_rw_pc_dout 92
265 #define REG_WR_ADDR_gio_rw_pc_dout 92
267 /* Register rw_pc_oe, scope gio, type rw */
268 typedef struct {
269 unsigned int oe : 16;
270 unsigned int dummy1 : 16;
271 } reg_gio_rw_pc_oe;
272 #define REG_RD_ADDR_gio_rw_pc_oe 96
273 #define REG_WR_ADDR_gio_rw_pc_oe 96
275 /* Register rw_pc_byte0_dout, scope gio, type rw */
276 typedef struct {
277 unsigned int data : 8;
278 unsigned int dummy1 : 24;
279 } reg_gio_rw_pc_byte0_dout;
280 #define REG_RD_ADDR_gio_rw_pc_byte0_dout 100
281 #define REG_WR_ADDR_gio_rw_pc_byte0_dout 100
283 /* Register rw_pc_byte0_oe, scope gio, type rw */
284 typedef struct {
285 unsigned int oe : 8;
286 unsigned int dummy1 : 24;
287 } reg_gio_rw_pc_byte0_oe;
288 #define REG_RD_ADDR_gio_rw_pc_byte0_oe 104
289 #define REG_WR_ADDR_gio_rw_pc_byte0_oe 104
291 /* Register rw_pc_byte1_dout, scope gio, type rw */
292 typedef struct {
293 unsigned int data : 8;
294 unsigned int dummy1 : 24;
295 } reg_gio_rw_pc_byte1_dout;
296 #define REG_RD_ADDR_gio_rw_pc_byte1_dout 108
297 #define REG_WR_ADDR_gio_rw_pc_byte1_dout 108
299 /* Register rw_pc_byte1_oe, scope gio, type rw */
300 typedef struct {
301 unsigned int oe : 8;
302 unsigned int dummy1 : 24;
303 } reg_gio_rw_pc_byte1_oe;
304 #define REG_RD_ADDR_gio_rw_pc_byte1_oe 112
305 #define REG_WR_ADDR_gio_rw_pc_byte1_oe 112
307 /* Register r_pd_din, scope gio, type r */
308 typedef struct {
309 unsigned int data : 32;
310 } reg_gio_r_pd_din;
311 #define REG_RD_ADDR_gio_r_pd_din 116
313 /* Register rw_intr_cfg, scope gio, type rw */
314 typedef struct {
315 unsigned int intr0 : 3;
316 unsigned int intr1 : 3;
317 unsigned int intr2 : 3;
318 unsigned int intr3 : 3;
319 unsigned int intr4 : 3;
320 unsigned int intr5 : 3;
321 unsigned int intr6 : 3;
322 unsigned int intr7 : 3;
323 unsigned int dummy1 : 8;
324 } reg_gio_rw_intr_cfg;
325 #define REG_RD_ADDR_gio_rw_intr_cfg 120
326 #define REG_WR_ADDR_gio_rw_intr_cfg 120
328 /* Register rw_intr_pins, scope gio, type rw */
329 typedef struct {
330 unsigned int intr0 : 4;
331 unsigned int intr1 : 4;
332 unsigned int intr2 : 4;
333 unsigned int intr3 : 4;
334 unsigned int intr4 : 4;
335 unsigned int intr5 : 4;
336 unsigned int intr6 : 4;
337 unsigned int intr7 : 4;
338 } reg_gio_rw_intr_pins;
339 #define REG_RD_ADDR_gio_rw_intr_pins 124
340 #define REG_WR_ADDR_gio_rw_intr_pins 124
342 /* Register rw_intr_mask, scope gio, type rw */
343 typedef struct {
344 unsigned int intr0 : 1;
345 unsigned int intr1 : 1;
346 unsigned int intr2 : 1;
347 unsigned int intr3 : 1;
348 unsigned int intr4 : 1;
349 unsigned int intr5 : 1;
350 unsigned int intr6 : 1;
351 unsigned int intr7 : 1;
352 unsigned int i2c0_done : 1;
353 unsigned int i2c1_done : 1;
354 unsigned int dummy1 : 22;
355 } reg_gio_rw_intr_mask;
356 #define REG_RD_ADDR_gio_rw_intr_mask 128
357 #define REG_WR_ADDR_gio_rw_intr_mask 128
359 /* Register rw_ack_intr, scope gio, type rw */
360 typedef struct {
361 unsigned int intr0 : 1;
362 unsigned int intr1 : 1;
363 unsigned int intr2 : 1;
364 unsigned int intr3 : 1;
365 unsigned int intr4 : 1;
366 unsigned int intr5 : 1;
367 unsigned int intr6 : 1;
368 unsigned int intr7 : 1;
369 unsigned int i2c0_done : 1;
370 unsigned int i2c1_done : 1;
371 unsigned int dummy1 : 22;
372 } reg_gio_rw_ack_intr;
373 #define REG_RD_ADDR_gio_rw_ack_intr 132
374 #define REG_WR_ADDR_gio_rw_ack_intr 132
376 /* Register r_intr, scope gio, type r */
377 typedef struct {
378 unsigned int intr0 : 1;
379 unsigned int intr1 : 1;
380 unsigned int intr2 : 1;
381 unsigned int intr3 : 1;
382 unsigned int intr4 : 1;
383 unsigned int intr5 : 1;
384 unsigned int intr6 : 1;
385 unsigned int intr7 : 1;
386 unsigned int i2c0_done : 1;
387 unsigned int i2c1_done : 1;
388 unsigned int dummy1 : 22;
389 } reg_gio_r_intr;
390 #define REG_RD_ADDR_gio_r_intr 136
392 /* Register r_masked_intr, scope gio, type r */
393 typedef struct {
394 unsigned int intr0 : 1;
395 unsigned int intr1 : 1;
396 unsigned int intr2 : 1;
397 unsigned int intr3 : 1;
398 unsigned int intr4 : 1;
399 unsigned int intr5 : 1;
400 unsigned int intr6 : 1;
401 unsigned int intr7 : 1;
402 unsigned int i2c0_done : 1;
403 unsigned int i2c1_done : 1;
404 unsigned int dummy1 : 22;
405 } reg_gio_r_masked_intr;
406 #define REG_RD_ADDR_gio_r_masked_intr 140
408 /* Register rw_i2c0_start, scope gio, type rw */
409 typedef struct {
410 unsigned int run : 1;
411 unsigned int dummy1 : 31;
412 } reg_gio_rw_i2c0_start;
413 #define REG_RD_ADDR_gio_rw_i2c0_start 144
414 #define REG_WR_ADDR_gio_rw_i2c0_start 144
416 /* Register rw_i2c0_cfg, scope gio, type rw */
417 typedef struct {
418 unsigned int en : 1;
419 unsigned int bit_order : 1;
420 unsigned int scl_io : 1;
421 unsigned int scl_inv : 1;
422 unsigned int sda_io : 1;
423 unsigned int sda_idle : 1;
424 unsigned int dummy1 : 26;
425 } reg_gio_rw_i2c0_cfg;
426 #define REG_RD_ADDR_gio_rw_i2c0_cfg 148
427 #define REG_WR_ADDR_gio_rw_i2c0_cfg 148
429 /* Register rw_i2c0_ctrl, scope gio, type rw */
430 typedef struct {
431 unsigned int trf_bits : 6;
432 unsigned int switch_dir : 6;
433 unsigned int extra_start : 3;
434 unsigned int early_end : 1;
435 unsigned int start_stop : 1;
436 unsigned int ack_dir0 : 1;
437 unsigned int ack_dir1 : 1;
438 unsigned int ack_dir2 : 1;
439 unsigned int ack_dir3 : 1;
440 unsigned int ack_dir4 : 1;
441 unsigned int ack_dir5 : 1;
442 unsigned int ack_bit : 1;
443 unsigned int start_bit : 1;
444 unsigned int freq : 2;
445 unsigned int dummy1 : 5;
446 } reg_gio_rw_i2c0_ctrl;
447 #define REG_RD_ADDR_gio_rw_i2c0_ctrl 152
448 #define REG_WR_ADDR_gio_rw_i2c0_ctrl 152
450 /* Register rw_i2c0_data, scope gio, type rw */
451 typedef struct {
452 unsigned int data0 : 8;
453 unsigned int data1 : 8;
454 unsigned int data2 : 8;
455 unsigned int data3 : 8;
456 } reg_gio_rw_i2c0_data;
457 #define REG_RD_ADDR_gio_rw_i2c0_data 156
458 #define REG_WR_ADDR_gio_rw_i2c0_data 156
460 /* Register rw_i2c0_data2, scope gio, type rw */
461 typedef struct {
462 unsigned int data4 : 8;
463 unsigned int data5 : 8;
464 unsigned int start_val : 6;
465 unsigned int ack_val : 6;
466 unsigned int dummy1 : 4;
467 } reg_gio_rw_i2c0_data2;
468 #define REG_RD_ADDR_gio_rw_i2c0_data2 160
469 #define REG_WR_ADDR_gio_rw_i2c0_data2 160
471 /* Register rw_i2c1_start, scope gio, type rw */
472 typedef struct {
473 unsigned int run : 1;
474 unsigned int dummy1 : 31;
475 } reg_gio_rw_i2c1_start;
476 #define REG_RD_ADDR_gio_rw_i2c1_start 164
477 #define REG_WR_ADDR_gio_rw_i2c1_start 164
479 /* Register rw_i2c1_cfg, scope gio, type rw */
480 typedef struct {
481 unsigned int en : 1;
482 unsigned int bit_order : 1;
483 unsigned int scl_io : 1;
484 unsigned int scl_inv : 1;
485 unsigned int sda0_io : 1;
486 unsigned int sda0_idle : 1;
487 unsigned int sda1_io : 1;
488 unsigned int sda1_idle : 1;
489 unsigned int sda2_io : 1;
490 unsigned int sda2_idle : 1;
491 unsigned int sda3_io : 1;
492 unsigned int sda3_idle : 1;
493 unsigned int sda_sel : 2;
494 unsigned int sen_idle : 1;
495 unsigned int sen_inv : 1;
496 unsigned int sen_sel : 2;
497 unsigned int dummy1 : 14;
498 } reg_gio_rw_i2c1_cfg;
499 #define REG_RD_ADDR_gio_rw_i2c1_cfg 168
500 #define REG_WR_ADDR_gio_rw_i2c1_cfg 168
502 /* Register rw_i2c1_ctrl, scope gio, type rw */
503 typedef struct {
504 unsigned int trf_bits : 6;
505 unsigned int switch_dir : 6;
506 unsigned int extra_start : 3;
507 unsigned int early_end : 1;
508 unsigned int start_stop : 1;
509 unsigned int ack_dir0 : 1;
510 unsigned int ack_dir1 : 1;
511 unsigned int ack_dir2 : 1;
512 unsigned int ack_dir3 : 1;
513 unsigned int ack_dir4 : 1;
514 unsigned int ack_dir5 : 1;
515 unsigned int ack_bit : 1;
516 unsigned int start_bit : 1;
517 unsigned int freq : 2;
518 unsigned int dummy1 : 5;
519 } reg_gio_rw_i2c1_ctrl;
520 #define REG_RD_ADDR_gio_rw_i2c1_ctrl 172
521 #define REG_WR_ADDR_gio_rw_i2c1_ctrl 172
523 /* Register rw_i2c1_data, scope gio, type rw */
524 typedef struct {
525 unsigned int data0 : 8;
526 unsigned int data1 : 8;
527 unsigned int data2 : 8;
528 unsigned int data3 : 8;
529 } reg_gio_rw_i2c1_data;
530 #define REG_RD_ADDR_gio_rw_i2c1_data 176
531 #define REG_WR_ADDR_gio_rw_i2c1_data 176
533 /* Register rw_i2c1_data2, scope gio, type rw */
534 typedef struct {
535 unsigned int data4 : 8;
536 unsigned int data5 : 8;
537 unsigned int start_val : 6;
538 unsigned int ack_val : 6;
539 unsigned int dummy1 : 4;
540 } reg_gio_rw_i2c1_data2;
541 #define REG_RD_ADDR_gio_rw_i2c1_data2 180
542 #define REG_WR_ADDR_gio_rw_i2c1_data2 180
544 /* Register r_ppwm_stat, scope gio, type r */
545 typedef struct {
546 unsigned int freq : 2;
547 unsigned int dummy1 : 30;
548 } reg_gio_r_ppwm_stat;
549 #define REG_RD_ADDR_gio_r_ppwm_stat 184
551 /* Register rw_ppwm_data, scope gio, type rw */
552 typedef struct {
553 unsigned int data : 8;
554 unsigned int dummy1 : 24;
555 } reg_gio_rw_ppwm_data;
556 #define REG_RD_ADDR_gio_rw_ppwm_data 188
557 #define REG_WR_ADDR_gio_rw_ppwm_data 188
559 /* Register rw_pwm0_ctrl, scope gio, type rw */
560 typedef struct {
561 unsigned int mode : 2;
562 unsigned int ccd_override : 1;
563 unsigned int ccd_val : 1;
564 unsigned int dummy1 : 28;
565 } reg_gio_rw_pwm0_ctrl;
566 #define REG_RD_ADDR_gio_rw_pwm0_ctrl 192
567 #define REG_WR_ADDR_gio_rw_pwm0_ctrl 192
569 /* Register rw_pwm0_var, scope gio, type rw */
570 typedef struct {
571 unsigned int lo : 13;
572 unsigned int hi : 13;
573 unsigned int dummy1 : 6;
574 } reg_gio_rw_pwm0_var;
575 #define REG_RD_ADDR_gio_rw_pwm0_var 196
576 #define REG_WR_ADDR_gio_rw_pwm0_var 196
578 /* Register rw_pwm0_data, scope gio, type rw */
579 typedef struct {
580 unsigned int data : 8;
581 unsigned int dummy1 : 24;
582 } reg_gio_rw_pwm0_data;
583 #define REG_RD_ADDR_gio_rw_pwm0_data 200
584 #define REG_WR_ADDR_gio_rw_pwm0_data 200
586 /* Register rw_pwm1_ctrl, scope gio, type rw */
587 typedef struct {
588 unsigned int mode : 2;
589 unsigned int ccd_override : 1;
590 unsigned int ccd_val : 1;
591 unsigned int dummy1 : 28;
592 } reg_gio_rw_pwm1_ctrl;
593 #define REG_RD_ADDR_gio_rw_pwm1_ctrl 204
594 #define REG_WR_ADDR_gio_rw_pwm1_ctrl 204
596 /* Register rw_pwm1_var, scope gio, type rw */
597 typedef struct {
598 unsigned int lo : 13;
599 unsigned int hi : 13;
600 unsigned int dummy1 : 6;
601 } reg_gio_rw_pwm1_var;
602 #define REG_RD_ADDR_gio_rw_pwm1_var 208
603 #define REG_WR_ADDR_gio_rw_pwm1_var 208
605 /* Register rw_pwm1_data, scope gio, type rw */
606 typedef struct {
607 unsigned int data : 8;
608 unsigned int dummy1 : 24;
609 } reg_gio_rw_pwm1_data;
610 #define REG_RD_ADDR_gio_rw_pwm1_data 212
611 #define REG_WR_ADDR_gio_rw_pwm1_data 212
613 /* Register rw_pwm2_ctrl, scope gio, type rw */
614 typedef struct {
615 unsigned int mode : 2;
616 unsigned int ccd_override : 1;
617 unsigned int ccd_val : 1;
618 unsigned int dummy1 : 28;
619 } reg_gio_rw_pwm2_ctrl;
620 #define REG_RD_ADDR_gio_rw_pwm2_ctrl 216
621 #define REG_WR_ADDR_gio_rw_pwm2_ctrl 216
623 /* Register rw_pwm2_var, scope gio, type rw */
624 typedef struct {
625 unsigned int lo : 13;
626 unsigned int hi : 13;
627 unsigned int dummy1 : 6;
628 } reg_gio_rw_pwm2_var;
629 #define REG_RD_ADDR_gio_rw_pwm2_var 220
630 #define REG_WR_ADDR_gio_rw_pwm2_var 220
632 /* Register rw_pwm2_data, scope gio, type rw */
633 typedef struct {
634 unsigned int data : 8;
635 unsigned int dummy1 : 24;
636 } reg_gio_rw_pwm2_data;
637 #define REG_RD_ADDR_gio_rw_pwm2_data 224
638 #define REG_WR_ADDR_gio_rw_pwm2_data 224
640 /* Register rw_pwm_in_cfg, scope gio, type rw */
641 typedef struct {
642 unsigned int pin : 3;
643 unsigned int dummy1 : 29;
644 } reg_gio_rw_pwm_in_cfg;
645 #define REG_RD_ADDR_gio_rw_pwm_in_cfg 228
646 #define REG_WR_ADDR_gio_rw_pwm_in_cfg 228
648 /* Register r_pwm_in_lo, scope gio, type r */
649 typedef struct {
650 unsigned int data : 32;
651 } reg_gio_r_pwm_in_lo;
652 #define REG_RD_ADDR_gio_r_pwm_in_lo 232
654 /* Register r_pwm_in_hi, scope gio, type r */
655 typedef struct {
656 unsigned int data : 32;
657 } reg_gio_r_pwm_in_hi;
658 #define REG_RD_ADDR_gio_r_pwm_in_hi 236
660 /* Register r_pwm_in_cnt, scope gio, type r */
661 typedef struct {
662 unsigned int data : 32;
663 } reg_gio_r_pwm_in_cnt;
664 #define REG_RD_ADDR_gio_r_pwm_in_cnt 240
667 /* Constants */
668 enum {
669 regk_gio_anyedge = 0x00000007,
670 regk_gio_f100k = 0x00000000,
671 regk_gio_f1562 = 0x00000000,
672 regk_gio_f195 = 0x00000003,
673 regk_gio_f1m = 0x00000002,
674 regk_gio_f390 = 0x00000002,
675 regk_gio_f400k = 0x00000001,
676 regk_gio_f5m = 0x00000003,
677 regk_gio_f781 = 0x00000001,
678 regk_gio_hi = 0x00000001,
679 regk_gio_in = 0x00000000,
680 regk_gio_intr_pa0 = 0x00000000,
681 regk_gio_intr_pa1 = 0x00000000,
682 regk_gio_intr_pa10 = 0x00000001,
683 regk_gio_intr_pa11 = 0x00000001,
684 regk_gio_intr_pa12 = 0x00000001,
685 regk_gio_intr_pa13 = 0x00000001,
686 regk_gio_intr_pa14 = 0x00000001,
687 regk_gio_intr_pa15 = 0x00000001,
688 regk_gio_intr_pa16 = 0x00000002,
689 regk_gio_intr_pa17 = 0x00000002,
690 regk_gio_intr_pa18 = 0x00000002,
691 regk_gio_intr_pa19 = 0x00000002,
692 regk_gio_intr_pa2 = 0x00000000,
693 regk_gio_intr_pa20 = 0x00000002,
694 regk_gio_intr_pa21 = 0x00000002,
695 regk_gio_intr_pa22 = 0x00000002,
696 regk_gio_intr_pa23 = 0x00000002,
697 regk_gio_intr_pa24 = 0x00000003,
698 regk_gio_intr_pa25 = 0x00000003,
699 regk_gio_intr_pa26 = 0x00000003,
700 regk_gio_intr_pa27 = 0x00000003,
701 regk_gio_intr_pa28 = 0x00000003,
702 regk_gio_intr_pa29 = 0x00000003,
703 regk_gio_intr_pa3 = 0x00000000,
704 regk_gio_intr_pa30 = 0x00000003,
705 regk_gio_intr_pa31 = 0x00000003,
706 regk_gio_intr_pa4 = 0x00000000,
707 regk_gio_intr_pa5 = 0x00000000,
708 regk_gio_intr_pa6 = 0x00000000,
709 regk_gio_intr_pa7 = 0x00000000,
710 regk_gio_intr_pa8 = 0x00000001,
711 regk_gio_intr_pa9 = 0x00000001,
712 regk_gio_intr_pb0 = 0x00000004,
713 regk_gio_intr_pb1 = 0x00000004,
714 regk_gio_intr_pb10 = 0x00000005,
715 regk_gio_intr_pb11 = 0x00000005,
716 regk_gio_intr_pb12 = 0x00000005,
717 regk_gio_intr_pb13 = 0x00000005,
718 regk_gio_intr_pb14 = 0x00000005,
719 regk_gio_intr_pb15 = 0x00000005,
720 regk_gio_intr_pb16 = 0x00000006,
721 regk_gio_intr_pb17 = 0x00000006,
722 regk_gio_intr_pb18 = 0x00000006,
723 regk_gio_intr_pb19 = 0x00000006,
724 regk_gio_intr_pb2 = 0x00000004,
725 regk_gio_intr_pb20 = 0x00000006,
726 regk_gio_intr_pb21 = 0x00000006,
727 regk_gio_intr_pb22 = 0x00000006,
728 regk_gio_intr_pb23 = 0x00000006,
729 regk_gio_intr_pb24 = 0x00000007,
730 regk_gio_intr_pb25 = 0x00000007,
731 regk_gio_intr_pb26 = 0x00000007,
732 regk_gio_intr_pb27 = 0x00000007,
733 regk_gio_intr_pb28 = 0x00000007,
734 regk_gio_intr_pb29 = 0x00000007,
735 regk_gio_intr_pb3 = 0x00000004,
736 regk_gio_intr_pb30 = 0x00000007,
737 regk_gio_intr_pb31 = 0x00000007,
738 regk_gio_intr_pb4 = 0x00000004,
739 regk_gio_intr_pb5 = 0x00000004,
740 regk_gio_intr_pb6 = 0x00000004,
741 regk_gio_intr_pb7 = 0x00000004,
742 regk_gio_intr_pb8 = 0x00000005,
743 regk_gio_intr_pb9 = 0x00000005,
744 regk_gio_intr_pc0 = 0x00000008,
745 regk_gio_intr_pc1 = 0x00000008,
746 regk_gio_intr_pc10 = 0x00000009,
747 regk_gio_intr_pc11 = 0x00000009,
748 regk_gio_intr_pc12 = 0x00000009,
749 regk_gio_intr_pc13 = 0x00000009,
750 regk_gio_intr_pc14 = 0x00000009,
751 regk_gio_intr_pc15 = 0x00000009,
752 regk_gio_intr_pc2 = 0x00000008,
753 regk_gio_intr_pc3 = 0x00000008,
754 regk_gio_intr_pc4 = 0x00000008,
755 regk_gio_intr_pc5 = 0x00000008,
756 regk_gio_intr_pc6 = 0x00000008,
757 regk_gio_intr_pc7 = 0x00000008,
758 regk_gio_intr_pc8 = 0x00000009,
759 regk_gio_intr_pc9 = 0x00000009,
760 regk_gio_intr_pd0 = 0x0000000c,
761 regk_gio_intr_pd1 = 0x0000000c,
762 regk_gio_intr_pd10 = 0x0000000d,
763 regk_gio_intr_pd11 = 0x0000000d,
764 regk_gio_intr_pd12 = 0x0000000d,
765 regk_gio_intr_pd13 = 0x0000000d,
766 regk_gio_intr_pd14 = 0x0000000d,
767 regk_gio_intr_pd15 = 0x0000000d,
768 regk_gio_intr_pd16 = 0x0000000e,
769 regk_gio_intr_pd17 = 0x0000000e,
770 regk_gio_intr_pd18 = 0x0000000e,
771 regk_gio_intr_pd19 = 0x0000000e,
772 regk_gio_intr_pd2 = 0x0000000c,
773 regk_gio_intr_pd20 = 0x0000000e,
774 regk_gio_intr_pd21 = 0x0000000e,
775 regk_gio_intr_pd22 = 0x0000000e,
776 regk_gio_intr_pd23 = 0x0000000e,
777 regk_gio_intr_pd24 = 0x0000000f,
778 regk_gio_intr_pd25 = 0x0000000f,
779 regk_gio_intr_pd26 = 0x0000000f,
780 regk_gio_intr_pd27 = 0x0000000f,
781 regk_gio_intr_pd28 = 0x0000000f,
782 regk_gio_intr_pd29 = 0x0000000f,
783 regk_gio_intr_pd3 = 0x0000000c,
784 regk_gio_intr_pd30 = 0x0000000f,
785 regk_gio_intr_pd31 = 0x0000000f,
786 regk_gio_intr_pd4 = 0x0000000c,
787 regk_gio_intr_pd5 = 0x0000000c,
788 regk_gio_intr_pd6 = 0x0000000c,
789 regk_gio_intr_pd7 = 0x0000000c,
790 regk_gio_intr_pd8 = 0x0000000d,
791 regk_gio_intr_pd9 = 0x0000000d,
792 regk_gio_lo = 0x00000002,
793 regk_gio_lsb = 0x00000000,
794 regk_gio_msb = 0x00000001,
795 regk_gio_negedge = 0x00000006,
796 regk_gio_no = 0x00000000,
797 regk_gio_no_switch = 0x0000003f,
798 regk_gio_none = 0x00000007,
799 regk_gio_off = 0x00000000,
800 regk_gio_opendrain = 0x00000000,
801 regk_gio_out = 0x00000001,
802 regk_gio_posedge = 0x00000005,
803 regk_gio_pwm_hfp = 0x00000002,
804 regk_gio_pwm_pa0 = 0x00000001,
805 regk_gio_pwm_pa19 = 0x00000004,
806 regk_gio_pwm_pa6 = 0x00000002,
807 regk_gio_pwm_pa7 = 0x00000003,
808 regk_gio_pwm_pb26 = 0x00000005,
809 regk_gio_pwm_pd23 = 0x00000006,
810 regk_gio_pwm_pd31 = 0x00000007,
811 regk_gio_pwm_std = 0x00000001,
812 regk_gio_pwm_var = 0x00000003,
813 regk_gio_rw_i2c0_cfg_default = 0x00000020,
814 regk_gio_rw_i2c0_ctrl_default = 0x00010000,
815 regk_gio_rw_i2c0_start_default = 0x00000000,
816 regk_gio_rw_i2c1_cfg_default = 0x00000aa0,
817 regk_gio_rw_i2c1_ctrl_default = 0x00010000,
818 regk_gio_rw_i2c1_start_default = 0x00000000,
819 regk_gio_rw_intr_cfg_default = 0x00000000,
820 regk_gio_rw_intr_mask_default = 0x00000000,
821 regk_gio_rw_pa_oe_default = 0x00000000,
822 regk_gio_rw_pb_oe_default = 0x00000000,
823 regk_gio_rw_pc_oe_default = 0x00000000,
824 regk_gio_rw_ppwm_data_default = 0x00000000,
825 regk_gio_rw_pwm0_ctrl_default = 0x00000000,
826 regk_gio_rw_pwm1_ctrl_default = 0x00000000,
827 regk_gio_rw_pwm2_ctrl_default = 0x00000000,
828 regk_gio_rw_pwm_in_cfg_default = 0x00000000,
829 regk_gio_sda0 = 0x00000000,
830 regk_gio_sda1 = 0x00000001,
831 regk_gio_sda2 = 0x00000002,
832 regk_gio_sda3 = 0x00000003,
833 regk_gio_sen = 0x00000000,
834 regk_gio_set = 0x00000003,
835 regk_gio_yes = 0x00000001
837 #endif /* __gio_defs_h */