151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#ifndef __iop_fifo_out_extra_defs_h 251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define __iop_fifo_out_extra_defs_h 351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik/* 551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik * This file is autogenerated from 651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik * file: ../../inst/io_proc/rtl/iop_fifo_out_extra.r 751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik * id: <not found> 851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik * last modfied: Mon Apr 11 16:10:10 2005 951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik * 1051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik * by /n/asic/design/tools/rdesc/src/rdes2c --outfile iop_fifo_out_extra_defs.h ../../inst/io_proc/rtl/iop_fifo_out_extra.r 1151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik * id: $Id: iop_fifo_out_extra_defs.h,v 1.1 2005/04/24 18:31:05 starvik Exp $ 1251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik * Any changes here will be lost. 1351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik * 1451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik * -*- buffer-read-only: t -*- 1551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik */ 1651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik/* Main access macros */ 1751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#ifndef REG_RD 1851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_RD( scope, inst, reg ) \ 1951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik REG_READ( reg_##scope##_##reg, \ 2051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik (inst) + REG_RD_ADDR_##scope##_##reg ) 2151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#endif 2251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 2351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#ifndef REG_WR 2451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_WR( scope, inst, reg, val ) \ 2551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik REG_WRITE( reg_##scope##_##reg, \ 2651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik (inst) + REG_WR_ADDR_##scope##_##reg, (val) ) 2751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#endif 2851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 2951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#ifndef REG_RD_VECT 3051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_RD_VECT( scope, inst, reg, index ) \ 3151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik REG_READ( reg_##scope##_##reg, \ 3251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik (inst) + REG_RD_ADDR_##scope##_##reg + \ 3351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik (index) * STRIDE_##scope##_##reg ) 3451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#endif 3551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 3651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#ifndef REG_WR_VECT 3751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_WR_VECT( scope, inst, reg, index, val ) \ 3851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik REG_WRITE( reg_##scope##_##reg, \ 3951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik (inst) + REG_WR_ADDR_##scope##_##reg + \ 4051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik (index) * STRIDE_##scope##_##reg, (val) ) 4151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#endif 4251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 4351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#ifndef REG_RD_INT 4451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_RD_INT( scope, inst, reg ) \ 4551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg ) 4651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#endif 4751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 4851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#ifndef REG_WR_INT 4951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_WR_INT( scope, inst, reg, val ) \ 5051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) ) 5151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#endif 5251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 5351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#ifndef REG_RD_INT_VECT 5451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_RD_INT_VECT( scope, inst, reg, index ) \ 5551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \ 5651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik (index) * STRIDE_##scope##_##reg ) 5751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#endif 5851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 5951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#ifndef REG_WR_INT_VECT 6051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_WR_INT_VECT( scope, inst, reg, index, val ) \ 6151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \ 6251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik (index) * STRIDE_##scope##_##reg, (val) ) 6351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#endif 6451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 6551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#ifndef REG_TYPE_CONV 6651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_TYPE_CONV( type, orgtype, val ) \ 6751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik ( { union { orgtype o; type n; } r; r.o = val; r.n; } ) 6851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#endif 6951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 7051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#ifndef reg_page_size 7151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define reg_page_size 8192 7251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#endif 7351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 7451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#ifndef REG_ADDR 7551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_ADDR( scope, inst, reg ) \ 7651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik ( (inst) + REG_RD_ADDR_##scope##_##reg ) 7751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#endif 7851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 7951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#ifndef REG_ADDR_VECT 8051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_ADDR_VECT( scope, inst, reg, index ) \ 8151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik ( (inst) + REG_RD_ADDR_##scope##_##reg + \ 8251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik (index) * STRIDE_##scope##_##reg ) 8351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#endif 8451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 8551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik/* C-code for register scope iop_fifo_out_extra */ 8651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 8751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik/* Register rs_rd_data, scope iop_fifo_out_extra, type rs */ 8851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starviktypedef unsigned int reg_iop_fifo_out_extra_rs_rd_data; 8951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_RD_ADDR_iop_fifo_out_extra_rs_rd_data 0 9051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 9151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik/* Register r_rd_data, scope iop_fifo_out_extra, type r */ 9251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starviktypedef unsigned int reg_iop_fifo_out_extra_r_rd_data; 9351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_RD_ADDR_iop_fifo_out_extra_r_rd_data 4 9451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 9551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik/* Register r_stat, scope iop_fifo_out_extra, type r */ 9651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starviktypedef struct { 9751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int avail_bytes : 4; 9851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int last : 8; 9951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int dif_in_en : 1; 10051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int dif_out_en : 1; 10151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int zero_data_last : 1; 10251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int dummy1 : 17; 10351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik} reg_iop_fifo_out_extra_r_stat; 10451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_RD_ADDR_iop_fifo_out_extra_r_stat 8 10551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 10651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik/* Register rw_strb_dif_out, scope iop_fifo_out_extra, type rw */ 10751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starviktypedef unsigned int reg_iop_fifo_out_extra_rw_strb_dif_out; 10851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_RD_ADDR_iop_fifo_out_extra_rw_strb_dif_out 12 10951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_WR_ADDR_iop_fifo_out_extra_rw_strb_dif_out 12 11051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 11151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik/* Register rw_intr_mask, scope iop_fifo_out_extra, type rw */ 11251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starviktypedef struct { 11351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int urun : 1; 11451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int last_data : 1; 11551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int dav : 1; 11651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int free : 1; 11751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int orun : 1; 11851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int dummy1 : 27; 11951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik} reg_iop_fifo_out_extra_rw_intr_mask; 12051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_RD_ADDR_iop_fifo_out_extra_rw_intr_mask 16 12151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_WR_ADDR_iop_fifo_out_extra_rw_intr_mask 16 12251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 12351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik/* Register rw_ack_intr, scope iop_fifo_out_extra, type rw */ 12451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starviktypedef struct { 12551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int urun : 1; 12651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int last_data : 1; 12751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int dav : 1; 12851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int free : 1; 12951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int orun : 1; 13051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int dummy1 : 27; 13151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik} reg_iop_fifo_out_extra_rw_ack_intr; 13251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_RD_ADDR_iop_fifo_out_extra_rw_ack_intr 20 13351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_WR_ADDR_iop_fifo_out_extra_rw_ack_intr 20 13451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 13551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik/* Register r_intr, scope iop_fifo_out_extra, type r */ 13651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starviktypedef struct { 13751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int urun : 1; 13851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int last_data : 1; 13951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int dav : 1; 14051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int free : 1; 14151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int orun : 1; 14251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int dummy1 : 27; 14351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik} reg_iop_fifo_out_extra_r_intr; 14451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_RD_ADDR_iop_fifo_out_extra_r_intr 24 14551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 14651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik/* Register r_masked_intr, scope iop_fifo_out_extra, type r */ 14751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starviktypedef struct { 14851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int urun : 1; 14951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int last_data : 1; 15051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int dav : 1; 15151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int free : 1; 15251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int orun : 1; 15351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik unsigned int dummy1 : 27; 15451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik} reg_iop_fifo_out_extra_r_masked_intr; 15551533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#define REG_RD_ADDR_iop_fifo_out_extra_r_masked_intr 28 15651533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 15751533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik 15851533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik/* Constants */ 15951533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvikenum { 16051533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik regk_iop_fifo_out_extra_no = 0x00000000, 16151533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik regk_iop_fifo_out_extra_rw_intr_mask_default = 0x00000000, 16251533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik regk_iop_fifo_out_extra_yes = 0x00000001 16351533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik}; 16451533b615e605d86154ec1b4e585c8ca1b0b15b7Mikael Starvik#endif /* __iop_fifo_out_extra_defs_h */ 165