Go to the documentation of this file. 1 #ifndef __iop_sw_cfg_defs_h
2 #define __iop_sw_cfg_defs_h
18 #define REG_RD( scope, inst, reg ) \
19 REG_READ( reg_##scope##_##reg, \
20 (inst) + REG_RD_ADDR_##scope##_##reg )
24 #define REG_WR( scope, inst, reg, val ) \
25 REG_WRITE( reg_##scope##_##reg, \
26 (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
30 #define REG_RD_VECT( scope, inst, reg, index ) \
31 REG_READ( reg_##scope##_##reg, \
32 (inst) + REG_RD_ADDR_##scope##_##reg + \
33 (index) * STRIDE_##scope##_##reg )
37 #define REG_WR_VECT( scope, inst, reg, index, val ) \
38 REG_WRITE( reg_##scope##_##reg, \
39 (inst) + REG_WR_ADDR_##scope##_##reg + \
40 (index) * STRIDE_##scope##_##reg, (val) )
44 #define REG_RD_INT( scope, inst, reg ) \
45 REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg )
49 #define REG_WR_INT( scope, inst, reg, val ) \
50 REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) )
53 #ifndef REG_RD_INT_VECT
54 #define REG_RD_INT_VECT( scope, inst, reg, index ) \
55 REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \
56 (index) * STRIDE_##scope##_##reg )
59 #ifndef REG_WR_INT_VECT
60 #define REG_WR_INT_VECT( scope, inst, reg, index, val ) \
61 REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \
62 (index) * STRIDE_##scope##_##reg, (val) )
66 #define REG_TYPE_CONV( type, orgtype, val ) \
67 ( { union { orgtype o; type n; } r; r.o = val; r.n; } )
71 #define reg_page_size 8192
75 #define REG_ADDR( scope, inst, reg ) \
76 ( (inst) + REG_RD_ADDR_##scope##_##reg )
80 #define REG_ADDR_VECT( scope, inst, reg, index ) \
81 ( (inst) + REG_RD_ADDR_##scope##_##reg + \
82 (index) * STRIDE_##scope##_##reg )
90 unsigned int dummy1 : 30;
92 #define REG_RD_ADDR_iop_sw_cfg_rw_crc_par0_owner 0
93 #define REG_WR_ADDR_iop_sw_cfg_rw_crc_par0_owner 0
98 unsigned int dummy1 : 30;
100 #define REG_RD_ADDR_iop_sw_cfg_rw_crc_par1_owner 4
101 #define REG_WR_ADDR_iop_sw_cfg_rw_crc_par1_owner 4
106 unsigned int dummy1 : 30;
108 #define REG_RD_ADDR_iop_sw_cfg_rw_dmc_in0_owner 8
109 #define REG_WR_ADDR_iop_sw_cfg_rw_dmc_in0_owner 8
114 unsigned int dummy1 : 30;
116 #define REG_RD_ADDR_iop_sw_cfg_rw_dmc_in1_owner 12
117 #define REG_WR_ADDR_iop_sw_cfg_rw_dmc_in1_owner 12
122 unsigned int dummy1 : 30;
124 #define REG_RD_ADDR_iop_sw_cfg_rw_dmc_out0_owner 16
125 #define REG_WR_ADDR_iop_sw_cfg_rw_dmc_out0_owner 16
130 unsigned int dummy1 : 30;
132 #define REG_RD_ADDR_iop_sw_cfg_rw_dmc_out1_owner 20
133 #define REG_WR_ADDR_iop_sw_cfg_rw_dmc_out1_owner 20
138 unsigned int dummy1 : 30;
140 #define REG_RD_ADDR_iop_sw_cfg_rw_fifo_in0_owner 24
141 #define REG_WR_ADDR_iop_sw_cfg_rw_fifo_in0_owner 24
146 unsigned int dummy1 : 30;
148 #define REG_RD_ADDR_iop_sw_cfg_rw_fifo_in0_extra_owner 28
149 #define REG_WR_ADDR_iop_sw_cfg_rw_fifo_in0_extra_owner 28
154 unsigned int dummy1 : 30;
156 #define REG_RD_ADDR_iop_sw_cfg_rw_fifo_in1_owner 32
157 #define REG_WR_ADDR_iop_sw_cfg_rw_fifo_in1_owner 32
162 unsigned int dummy1 : 30;
164 #define REG_RD_ADDR_iop_sw_cfg_rw_fifo_in1_extra_owner 36
165 #define REG_WR_ADDR_iop_sw_cfg_rw_fifo_in1_extra_owner 36
170 unsigned int dummy1 : 30;
172 #define REG_RD_ADDR_iop_sw_cfg_rw_fifo_out0_owner 40
173 #define REG_WR_ADDR_iop_sw_cfg_rw_fifo_out0_owner 40
178 unsigned int dummy1 : 30;
180 #define REG_RD_ADDR_iop_sw_cfg_rw_fifo_out0_extra_owner 44
181 #define REG_WR_ADDR_iop_sw_cfg_rw_fifo_out0_extra_owner 44
186 unsigned int dummy1 : 30;
188 #define REG_RD_ADDR_iop_sw_cfg_rw_fifo_out1_owner 48
189 #define REG_WR_ADDR_iop_sw_cfg_rw_fifo_out1_owner 48
194 unsigned int dummy1 : 30;
196 #define REG_RD_ADDR_iop_sw_cfg_rw_fifo_out1_extra_owner 52
197 #define REG_WR_ADDR_iop_sw_cfg_rw_fifo_out1_extra_owner 52
202 unsigned int dummy1 : 30;
204 #define REG_RD_ADDR_iop_sw_cfg_rw_sap_in_owner 56
205 #define REG_WR_ADDR_iop_sw_cfg_rw_sap_in_owner 56
210 unsigned int dummy1 : 30;
212 #define REG_RD_ADDR_iop_sw_cfg_rw_sap_out_owner 60
213 #define REG_WR_ADDR_iop_sw_cfg_rw_sap_out_owner 60
218 unsigned int dummy1 : 30;
220 #define REG_RD_ADDR_iop_sw_cfg_rw_scrc_in0_owner 64
221 #define REG_WR_ADDR_iop_sw_cfg_rw_scrc_in0_owner 64
226 unsigned int dummy1 : 30;
228 #define REG_RD_ADDR_iop_sw_cfg_rw_scrc_in1_owner 68
229 #define REG_WR_ADDR_iop_sw_cfg_rw_scrc_in1_owner 68
234 unsigned int dummy1 : 30;
236 #define REG_RD_ADDR_iop_sw_cfg_rw_scrc_out0_owner 72
237 #define REG_WR_ADDR_iop_sw_cfg_rw_scrc_out0_owner 72
242 unsigned int dummy1 : 30;
244 #define REG_RD_ADDR_iop_sw_cfg_rw_scrc_out1_owner 76
245 #define REG_WR_ADDR_iop_sw_cfg_rw_scrc_out1_owner 76
250 unsigned int dummy1 : 30;
252 #define REG_RD_ADDR_iop_sw_cfg_rw_spu0_owner 80
253 #define REG_WR_ADDR_iop_sw_cfg_rw_spu0_owner 80
258 unsigned int dummy1 : 30;
260 #define REG_RD_ADDR_iop_sw_cfg_rw_spu1_owner 84
261 #define REG_WR_ADDR_iop_sw_cfg_rw_spu1_owner 84
266 unsigned int dummy1 : 30;
268 #define REG_RD_ADDR_iop_sw_cfg_rw_timer_grp0_owner 88
269 #define REG_WR_ADDR_iop_sw_cfg_rw_timer_grp0_owner 88
274 unsigned int dummy1 : 30;
276 #define REG_RD_ADDR_iop_sw_cfg_rw_timer_grp1_owner 92
277 #define REG_WR_ADDR_iop_sw_cfg_rw_timer_grp1_owner 92
282 unsigned int dummy1 : 30;
284 #define REG_RD_ADDR_iop_sw_cfg_rw_timer_grp2_owner 96
285 #define REG_WR_ADDR_iop_sw_cfg_rw_timer_grp2_owner 96
290 unsigned int dummy1 : 30;
292 #define REG_RD_ADDR_iop_sw_cfg_rw_timer_grp3_owner 100
293 #define REG_WR_ADDR_iop_sw_cfg_rw_timer_grp3_owner 100
298 unsigned int dummy1 : 30;
300 #define REG_RD_ADDR_iop_sw_cfg_rw_trigger_grp0_owner 104
301 #define REG_WR_ADDR_iop_sw_cfg_rw_trigger_grp0_owner 104
306 unsigned int dummy1 : 30;
308 #define REG_RD_ADDR_iop_sw_cfg_rw_trigger_grp1_owner 108
309 #define REG_WR_ADDR_iop_sw_cfg_rw_trigger_grp1_owner 108
314 unsigned int dummy1 : 30;
316 #define REG_RD_ADDR_iop_sw_cfg_rw_trigger_grp2_owner 112
317 #define REG_WR_ADDR_iop_sw_cfg_rw_trigger_grp2_owner 112
322 unsigned int dummy1 : 30;
324 #define REG_RD_ADDR_iop_sw_cfg_rw_trigger_grp3_owner 116
325 #define REG_WR_ADDR_iop_sw_cfg_rw_trigger_grp3_owner 116
330 unsigned int dummy1 : 30;
332 #define REG_RD_ADDR_iop_sw_cfg_rw_trigger_grp4_owner 120
333 #define REG_WR_ADDR_iop_sw_cfg_rw_trigger_grp4_owner 120
338 unsigned int dummy1 : 30;
340 #define REG_RD_ADDR_iop_sw_cfg_rw_trigger_grp5_owner 124
341 #define REG_WR_ADDR_iop_sw_cfg_rw_trigger_grp5_owner 124
346 unsigned int dummy1 : 30;
348 #define REG_RD_ADDR_iop_sw_cfg_rw_trigger_grp6_owner 128
349 #define REG_WR_ADDR_iop_sw_cfg_rw_trigger_grp6_owner 128
354 unsigned int dummy1 : 30;
356 #define REG_RD_ADDR_iop_sw_cfg_rw_trigger_grp7_owner 132
357 #define REG_WR_ADDR_iop_sw_cfg_rw_trigger_grp7_owner 132
361 unsigned int byte0 : 8;
362 unsigned int byte1 : 8;
363 unsigned int byte2 : 8;
364 unsigned int byte3 : 8;
366 #define REG_RD_ADDR_iop_sw_cfg_rw_bus0_mask 136
367 #define REG_WR_ADDR_iop_sw_cfg_rw_bus0_mask 136
371 unsigned int byte0 : 1;
372 unsigned int byte1 : 1;
373 unsigned int byte2 : 1;
374 unsigned int byte3 : 1;
375 unsigned int dummy1 : 28;
377 #define REG_RD_ADDR_iop_sw_cfg_rw_bus0_oe_mask 140
378 #define REG_WR_ADDR_iop_sw_cfg_rw_bus0_oe_mask 140
382 unsigned int byte0 : 8;
383 unsigned int byte1 : 8;
384 unsigned int byte2 : 8;
385 unsigned int byte3 : 8;
387 #define REG_RD_ADDR_iop_sw_cfg_rw_bus1_mask 144
388 #define REG_WR_ADDR_iop_sw_cfg_rw_bus1_mask 144
392 unsigned int byte0 : 1;
393 unsigned int byte1 : 1;
394 unsigned int byte2 : 1;
395 unsigned int byte3 : 1;
396 unsigned int dummy1 : 28;
398 #define REG_RD_ADDR_iop_sw_cfg_rw_bus1_oe_mask 148
399 #define REG_WR_ADDR_iop_sw_cfg_rw_bus1_oe_mask 148
405 #define REG_RD_ADDR_iop_sw_cfg_rw_gio_mask 152
406 #define REG_WR_ADDR_iop_sw_cfg_rw_gio_mask 152
412 #define REG_RD_ADDR_iop_sw_cfg_rw_gio_oe_mask 156
413 #define REG_WR_ADDR_iop_sw_cfg_rw_gio_oe_mask 156
417 unsigned int bus0_byte0 : 2;
418 unsigned int bus0_byte1 : 2;
419 unsigned int bus0_byte2 : 2;
420 unsigned int bus0_byte3 : 2;
421 unsigned int bus1_byte0 : 2;
422 unsigned int bus1_byte1 : 2;
423 unsigned int bus1_byte2 : 2;
424 unsigned int bus1_byte3 : 2;
425 unsigned int gio3_0 : 2;
426 unsigned int gio7_4 : 2;
427 unsigned int gio11_8 : 2;
428 unsigned int gio15_12 : 2;
429 unsigned int gio19_16 : 2;
430 unsigned int gio23_20 : 2;
431 unsigned int gio27_24 : 2;
432 unsigned int gio31_28 : 2;
434 #define REG_RD_ADDR_iop_sw_cfg_rw_pinmapping 160
435 #define REG_WR_ADDR_iop_sw_cfg_rw_pinmapping 160
439 unsigned int bus0_lo : 3;
440 unsigned int bus0_hi : 3;
441 unsigned int bus0_lo_oe : 3;
442 unsigned int bus0_hi_oe : 3;
443 unsigned int bus1_lo : 3;
444 unsigned int bus1_hi : 3;
445 unsigned int bus1_lo_oe : 3;
446 unsigned int bus1_hi_oe : 3;
447 unsigned int dummy1 : 8;
449 #define REG_RD_ADDR_iop_sw_cfg_rw_bus_out_cfg 164
450 #define REG_WR_ADDR_iop_sw_cfg_rw_bus_out_cfg 164
454 unsigned int gio0 : 4;
455 unsigned int gio0_oe : 2;
456 unsigned int gio1 : 4;
457 unsigned int gio1_oe : 2;
458 unsigned int gio2 : 4;
459 unsigned int gio2_oe : 2;
460 unsigned int gio3 : 4;
461 unsigned int gio3_oe : 2;
462 unsigned int dummy1 : 8;
464 #define REG_RD_ADDR_iop_sw_cfg_rw_gio_out_grp0_cfg 168
465 #define REG_WR_ADDR_iop_sw_cfg_rw_gio_out_grp0_cfg 168
469 unsigned int gio4 : 4;
470 unsigned int gio4_oe : 2;
471 unsigned int gio5 : 4;
472 unsigned int gio5_oe : 2;
473 unsigned int gio6 : 4;
474 unsigned int gio6_oe : 2;
475 unsigned int gio7 : 4;
476 unsigned int gio7_oe : 2;
477 unsigned int dummy1 : 8;
479 #define REG_RD_ADDR_iop_sw_cfg_rw_gio_out_grp1_cfg 172
480 #define REG_WR_ADDR_iop_sw_cfg_rw_gio_out_grp1_cfg 172
484 unsigned int gio8 : 4;
485 unsigned int gio8_oe : 2;
486 unsigned int gio9 : 4;
487 unsigned int gio9_oe : 2;
488 unsigned int gio10 : 4;
489 unsigned int gio10_oe : 2;
490 unsigned int gio11 : 4;
491 unsigned int gio11_oe : 2;
492 unsigned int dummy1 : 8;
494 #define REG_RD_ADDR_iop_sw_cfg_rw_gio_out_grp2_cfg 176
495 #define REG_WR_ADDR_iop_sw_cfg_rw_gio_out_grp2_cfg 176
499 unsigned int gio12 : 4;
500 unsigned int gio12_oe : 2;
501 unsigned int gio13 : 4;
502 unsigned int gio13_oe : 2;
503 unsigned int gio14 : 4;
504 unsigned int gio14_oe : 2;
505 unsigned int gio15 : 4;
506 unsigned int gio15_oe : 2;
507 unsigned int dummy1 : 8;
509 #define REG_RD_ADDR_iop_sw_cfg_rw_gio_out_grp3_cfg 180
510 #define REG_WR_ADDR_iop_sw_cfg_rw_gio_out_grp3_cfg 180
514 unsigned int gio16 : 4;
515 unsigned int gio16_oe : 2;
516 unsigned int gio17 : 4;
517 unsigned int gio17_oe : 2;
518 unsigned int gio18 : 4;
519 unsigned int gio18_oe : 2;
520 unsigned int gio19 : 4;
521 unsigned int gio19_oe : 2;
522 unsigned int dummy1 : 8;
524 #define REG_RD_ADDR_iop_sw_cfg_rw_gio_out_grp4_cfg 184
525 #define REG_WR_ADDR_iop_sw_cfg_rw_gio_out_grp4_cfg 184
529 unsigned int gio20 : 4;
530 unsigned int gio20_oe : 2;
531 unsigned int gio21 : 4;
532 unsigned int gio21_oe : 2;
533 unsigned int gio22 : 4;
534 unsigned int gio22_oe : 2;
535 unsigned int gio23 : 4;
536 unsigned int gio23_oe : 2;
537 unsigned int dummy1 : 8;
539 #define REG_RD_ADDR_iop_sw_cfg_rw_gio_out_grp5_cfg 188
540 #define REG_WR_ADDR_iop_sw_cfg_rw_gio_out_grp5_cfg 188
544 unsigned int gio24 : 4;
545 unsigned int gio24_oe : 2;
546 unsigned int gio25 : 4;
547 unsigned int gio25_oe : 2;
548 unsigned int gio26 : 4;
549 unsigned int gio26_oe : 2;
550 unsigned int gio27 : 4;
551 unsigned int gio27_oe : 2;
552 unsigned int dummy1 : 8;
554 #define REG_RD_ADDR_iop_sw_cfg_rw_gio_out_grp6_cfg 192
555 #define REG_WR_ADDR_iop_sw_cfg_rw_gio_out_grp6_cfg 192
559 unsigned int gio28 : 4;
560 unsigned int gio28_oe : 2;
561 unsigned int gio29 : 4;
562 unsigned int gio29_oe : 2;
563 unsigned int gio30 : 4;
564 unsigned int gio30_oe : 2;
565 unsigned int gio31 : 4;
566 unsigned int gio31_oe : 2;
567 unsigned int dummy1 : 8;
569 #define REG_RD_ADDR_iop_sw_cfg_rw_gio_out_grp7_cfg 196
570 #define REG_WR_ADDR_iop_sw_cfg_rw_gio_out_grp7_cfg 196
574 unsigned int bus0_in : 2;
575 unsigned int bus1_in : 2;
576 unsigned int dummy1 : 28;
578 #define REG_RD_ADDR_iop_sw_cfg_rw_spu0_cfg 200
579 #define REG_WR_ADDR_iop_sw_cfg_rw_spu0_cfg 200
583 unsigned int bus0_in : 2;
584 unsigned int bus1_in : 2;
585 unsigned int dummy1 : 28;
587 #define REG_RD_ADDR_iop_sw_cfg_rw_spu1_cfg 204
588 #define REG_WR_ADDR_iop_sw_cfg_rw_spu1_cfg 204
592 unsigned int ext_clk : 3;
593 unsigned int tmr0_en : 1;
594 unsigned int tmr1_en : 1;
595 unsigned int tmr2_en : 1;
596 unsigned int tmr3_en : 1;
597 unsigned int tmr0_dis : 1;
598 unsigned int tmr1_dis : 1;
599 unsigned int tmr2_dis : 1;
600 unsigned int tmr3_dis : 1;
601 unsigned int dummy1 : 21;
603 #define REG_RD_ADDR_iop_sw_cfg_rw_timer_grp0_cfg 208
604 #define REG_WR_ADDR_iop_sw_cfg_rw_timer_grp0_cfg 208
608 unsigned int ext_clk : 3;
609 unsigned int tmr0_en : 1;
610 unsigned int tmr1_en : 1;
611 unsigned int tmr2_en : 1;
612 unsigned int tmr3_en : 1;
613 unsigned int tmr0_dis : 1;
614 unsigned int tmr1_dis : 1;
615 unsigned int tmr2_dis : 1;
616 unsigned int tmr3_dis : 1;
617 unsigned int dummy1 : 21;
619 #define REG_RD_ADDR_iop_sw_cfg_rw_timer_grp1_cfg 212
620 #define REG_WR_ADDR_iop_sw_cfg_rw_timer_grp1_cfg 212
624 unsigned int ext_clk : 3;
625 unsigned int tmr0_en : 1;
626 unsigned int tmr1_en : 1;
627 unsigned int tmr2_en : 1;
628 unsigned int tmr3_en : 1;
629 unsigned int tmr0_dis : 1;
630 unsigned int tmr1_dis : 1;
631 unsigned int tmr2_dis : 1;
632 unsigned int tmr3_dis : 1;
633 unsigned int dummy1 : 21;
635 #define REG_RD_ADDR_iop_sw_cfg_rw_timer_grp2_cfg 216
636 #define REG_WR_ADDR_iop_sw_cfg_rw_timer_grp2_cfg 216
640 unsigned int ext_clk : 3;
641 unsigned int tmr0_en : 1;
642 unsigned int tmr1_en : 1;
643 unsigned int tmr2_en : 1;
644 unsigned int tmr3_en : 1;
645 unsigned int tmr0_dis : 1;
646 unsigned int tmr1_dis : 1;
647 unsigned int tmr2_dis : 1;
648 unsigned int tmr3_dis : 1;
649 unsigned int dummy1 : 21;
651 #define REG_RD_ADDR_iop_sw_cfg_rw_timer_grp3_cfg 220
652 #define REG_WR_ADDR_iop_sw_cfg_rw_timer_grp3_cfg 220
656 unsigned int grp0_dis : 1;
657 unsigned int grp0_en : 1;
658 unsigned int grp1_dis : 1;
659 unsigned int grp1_en : 1;
660 unsigned int grp2_dis : 1;
661 unsigned int grp2_en : 1;
662 unsigned int grp3_dis : 1;
663 unsigned int grp3_en : 1;
664 unsigned int grp4_dis : 1;
665 unsigned int grp4_en : 1;
666 unsigned int grp5_dis : 1;
667 unsigned int grp5_en : 1;
668 unsigned int grp6_dis : 1;
669 unsigned int grp6_en : 1;
670 unsigned int grp7_dis : 1;
671 unsigned int grp7_en : 1;
672 unsigned int dummy1 : 16;
674 #define REG_RD_ADDR_iop_sw_cfg_rw_trigger_grps_cfg 224
675 #define REG_WR_ADDR_iop_sw_cfg_rw_trigger_grps_cfg 224
679 unsigned int dmc0_usr : 1;
680 unsigned int out_strb : 5;
681 unsigned int in_src : 3;
682 unsigned int in_size : 3;
683 unsigned int in_last : 2;
684 unsigned int in_strb : 4;
685 unsigned int out_src : 1;
686 unsigned int dummy1 : 13;
688 #define REG_RD_ADDR_iop_sw_cfg_rw_pdp0_cfg 228
689 #define REG_WR_ADDR_iop_sw_cfg_rw_pdp0_cfg 228
693 unsigned int dmc1_usr : 1;
694 unsigned int out_strb : 5;
695 unsigned int in_src : 3;
696 unsigned int in_size : 3;
697 unsigned int in_last : 2;
698 unsigned int in_strb : 4;
699 unsigned int out_src : 1;
700 unsigned int dummy1 : 13;
702 #define REG_RD_ADDR_iop_sw_cfg_rw_pdp1_cfg 232
703 #define REG_WR_ADDR_iop_sw_cfg_rw_pdp1_cfg 232
707 unsigned int sdp_out0_strb : 3;
708 unsigned int sdp_out1_strb : 3;
709 unsigned int sdp_in0_data : 3;
710 unsigned int sdp_in0_last : 2;
711 unsigned int sdp_in0_strb : 3;
712 unsigned int sdp_in1_data : 3;
713 unsigned int sdp_in1_last : 2;
714 unsigned int sdp_in1_strb : 3;
715 unsigned int dummy1 : 10;
717 #define REG_RD_ADDR_iop_sw_cfg_rw_sdp_cfg 236
718 #define REG_WR_ADDR_iop_sw_cfg_rw_sdp_cfg 236