| #ifndef __sser_defs_h |
| #define __sser_defs_h |
| |
| /* |
| * This file is autogenerated from |
| * file: ../../inst/syncser/rtl/sser_regs.r |
| * id: sser_regs.r,v 1.24 2005/02/11 14:27:36 gunnard Exp |
| * last modfied: Mon Apr 11 16:09:48 2005 |
| * |
| * by /n/asic/design/tools/rdesc/src/rdes2c --outfile sser_defs.h ../../inst/syncser/rtl/sser_regs.r |
| * id: $Id: sser_defs.h,v 1.3 2005/04/24 18:30:58 starvik Exp $ |
| * Any changes here will be lost. |
| * |
| * -*- buffer-read-only: t -*- |
| */ |
| /* Main access macros */ |
| #ifndef REG_RD |
| #define REG_RD( scope, inst, reg ) \ |
| REG_READ( reg_##scope##_##reg, \ |
| (inst) + REG_RD_ADDR_##scope##_##reg ) |
| #endif |
| |
| #ifndef REG_WR |
| #define REG_WR( scope, inst, reg, val ) \ |
| REG_WRITE( reg_##scope##_##reg, \ |
| (inst) + REG_WR_ADDR_##scope##_##reg, (val) ) |
| #endif |
| |
| #ifndef REG_RD_VECT |
| #define REG_RD_VECT( scope, inst, reg, index ) \ |
| REG_READ( reg_##scope##_##reg, \ |
| (inst) + REG_RD_ADDR_##scope##_##reg + \ |
| (index) * STRIDE_##scope##_##reg ) |
| #endif |
| |
| #ifndef REG_WR_VECT |
| #define REG_WR_VECT( scope, inst, reg, index, val ) \ |
| REG_WRITE( reg_##scope##_##reg, \ |
| (inst) + REG_WR_ADDR_##scope##_##reg + \ |
| (index) * STRIDE_##scope##_##reg, (val) ) |
| #endif |
| |
| #ifndef REG_RD_INT |
| #define REG_RD_INT( scope, inst, reg ) \ |
| REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg ) |
| #endif |
| |
| #ifndef REG_WR_INT |
| #define REG_WR_INT( scope, inst, reg, val ) \ |
| REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) ) |
| #endif |
| |
| #ifndef REG_RD_INT_VECT |
| #define REG_RD_INT_VECT( scope, inst, reg, index ) \ |
| REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \ |
| (index) * STRIDE_##scope##_##reg ) |
| #endif |
| |
| #ifndef REG_WR_INT_VECT |
| #define REG_WR_INT_VECT( scope, inst, reg, index, val ) \ |
| REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \ |
| (index) * STRIDE_##scope##_##reg, (val) ) |
| #endif |
| |
| #ifndef REG_TYPE_CONV |
| #define REG_TYPE_CONV( type, orgtype, val ) \ |
| ( { union { orgtype o; type n; } r; r.o = val; r.n; } ) |
| #endif |
| |
| #ifndef reg_page_size |
| #define reg_page_size 8192 |
| #endif |
| |
| #ifndef REG_ADDR |
| #define REG_ADDR( scope, inst, reg ) \ |
| ( (inst) + REG_RD_ADDR_##scope##_##reg ) |
| #endif |
| |
| #ifndef REG_ADDR_VECT |
| #define REG_ADDR_VECT( scope, inst, reg, index ) \ |
| ( (inst) + REG_RD_ADDR_##scope##_##reg + \ |
| (index) * STRIDE_##scope##_##reg ) |
| #endif |
| |
| /* C-code for register scope sser */ |
| |
| /* Register rw_cfg, scope sser, type rw */ |
| typedef struct { |
| unsigned int clk_div : 16; |
| unsigned int base_freq : 3; |
| unsigned int gate_clk : 1; |
| unsigned int clkgate_ctrl : 1; |
| unsigned int clkgate_in : 1; |
| unsigned int clk_dir : 1; |
| unsigned int clk_od_mode : 1; |
| unsigned int out_clk_pol : 1; |
| unsigned int out_clk_src : 2; |
| unsigned int clk_in_sel : 1; |
| unsigned int hold_pol : 1; |
| unsigned int prepare : 1; |
| unsigned int en : 1; |
| unsigned int dummy1 : 1; |
| } reg_sser_rw_cfg; |
| #define REG_RD_ADDR_sser_rw_cfg 0 |
| #define REG_WR_ADDR_sser_rw_cfg 0 |
| |
| /* Register rw_frm_cfg, scope sser, type rw */ |
| typedef struct { |
| unsigned int wordrate : 10; |
| unsigned int rec_delay : 3; |
| unsigned int tr_delay : 3; |
| unsigned int early_wend : 1; |
| unsigned int level : 2; |
| unsigned int type : 1; |
| unsigned int clk_pol : 1; |
| unsigned int fr_in_rxclk : 1; |
| unsigned int clk_src : 1; |
| unsigned int out_off : 1; |
| unsigned int out_on : 1; |
| unsigned int frame_pin_dir : 1; |
| unsigned int frame_pin_use : 2; |
| unsigned int status_pin_dir : 1; |
| unsigned int status_pin_use : 2; |
| unsigned int dummy1 : 1; |
| } reg_sser_rw_frm_cfg; |
| #define REG_RD_ADDR_sser_rw_frm_cfg 4 |
| #define REG_WR_ADDR_sser_rw_frm_cfg 4 |
| |
| /* Register rw_tr_cfg, scope sser, type rw */ |
| typedef struct { |
| unsigned int tr_en : 1; |
| unsigned int stop : 1; |
| unsigned int urun_stop : 1; |
| unsigned int eop_stop : 1; |
| unsigned int sample_size : 6; |
| unsigned int sh_dir : 1; |
| unsigned int clk_pol : 1; |
| unsigned int clk_src : 1; |
| unsigned int use_dma : 1; |
| unsigned int mode : 2; |
| unsigned int frm_src : 1; |
| unsigned int use60958 : 1; |
| unsigned int iec60958_ckdiv : 2; |
| unsigned int rate_ctrl : 1; |
| unsigned int use_md : 1; |
| unsigned int dual_i2s : 1; |
| unsigned int data_pin_use : 2; |
| unsigned int od_mode : 1; |
| unsigned int bulk_wspace : 2; |
| unsigned int dummy1 : 4; |
| } reg_sser_rw_tr_cfg; |
| #define REG_RD_ADDR_sser_rw_tr_cfg 8 |
| #define REG_WR_ADDR_sser_rw_tr_cfg 8 |
| |
| /* Register rw_rec_cfg, scope sser, type rw */ |
| typedef struct { |
| unsigned int rec_en : 1; |
| unsigned int force_eop : 1; |
| unsigned int stop : 1; |
| unsigned int orun_stop : 1; |
| unsigned int eop_stop : 1; |
| unsigned int sample_size : 6; |
| unsigned int sh_dir : 1; |
| unsigned int clk_pol : 1; |
| unsigned int clk_src : 1; |
| unsigned int use_dma : 1; |
| unsigned int mode : 2; |
| unsigned int frm_src : 2; |
| unsigned int use60958 : 1; |
| unsigned int iec60958_ui_len : 5; |
| unsigned int slave2_en : 1; |
| unsigned int slave3_en : 1; |
| unsigned int fifo_thr : 2; |
| unsigned int dummy1 : 3; |
| } reg_sser_rw_rec_cfg; |
| #define REG_RD_ADDR_sser_rw_rec_cfg 12 |
| #define REG_WR_ADDR_sser_rw_rec_cfg 12 |
| |
| /* Register rw_tr_data, scope sser, type rw */ |
| typedef struct { |
| unsigned int data : 16; |
| unsigned int md : 1; |
| unsigned int dummy1 : 15; |
| } reg_sser_rw_tr_data; |
| #define REG_RD_ADDR_sser_rw_tr_data 16 |
| #define REG_WR_ADDR_sser_rw_tr_data 16 |
| |
| /* Register r_rec_data, scope sser, type r */ |
| typedef struct { |
| unsigned int data : 16; |
| unsigned int md : 1; |
| unsigned int ext_clk : 1; |
| unsigned int status_in : 1; |
| unsigned int frame_in : 1; |
| unsigned int din : 1; |
| unsigned int data_in : 1; |
| unsigned int clk_in : 1; |
| unsigned int dummy1 : 9; |
| } reg_sser_r_rec_data; |
| #define REG_RD_ADDR_sser_r_rec_data 20 |
| |
| /* Register rw_extra, scope sser, type rw */ |
| typedef struct { |
| unsigned int clkoff_cycles : 20; |
| unsigned int clkoff_en : 1; |
| unsigned int clkon_en : 1; |
| unsigned int dout_delay : 5; |
| unsigned int dummy1 : 5; |
| } reg_sser_rw_extra; |
| #define REG_RD_ADDR_sser_rw_extra 24 |
| #define REG_WR_ADDR_sser_rw_extra 24 |
| |
| /* Register rw_intr_mask, scope sser, type rw */ |
| typedef struct { |
| unsigned int trdy : 1; |
| unsigned int rdav : 1; |
| unsigned int tidle : 1; |
| unsigned int rstop : 1; |
| unsigned int urun : 1; |
| unsigned int orun : 1; |
| unsigned int md_rec : 1; |
| unsigned int md_sent : 1; |
| unsigned int r958err : 1; |
| unsigned int dummy1 : 23; |
| } reg_sser_rw_intr_mask; |
| #define REG_RD_ADDR_sser_rw_intr_mask 28 |
| #define REG_WR_ADDR_sser_rw_intr_mask 28 |
| |
| /* Register rw_ack_intr, scope sser, type rw */ |
| typedef struct { |
| unsigned int trdy : 1; |
| unsigned int rdav : 1; |
| unsigned int tidle : 1; |
| unsigned int rstop : 1; |
| unsigned int urun : 1; |
| unsigned int orun : 1; |
| unsigned int md_rec : 1; |
| unsigned int md_sent : 1; |
| unsigned int r958err : 1; |
| unsigned int dummy1 : 23; |
| } reg_sser_rw_ack_intr; |
| #define REG_RD_ADDR_sser_rw_ack_intr 32 |
| #define REG_WR_ADDR_sser_rw_ack_intr 32 |
| |
| /* Register r_intr, scope sser, type r */ |
| typedef struct { |
| unsigned int trdy : 1; |
| unsigned int rdav : 1; |
| unsigned int tidle : 1; |
| unsigned int rstop : 1; |
| unsigned int urun : 1; |
| unsigned int orun : 1; |
| unsigned int md_rec : 1; |
| unsigned int md_sent : 1; |
| unsigned int r958err : 1; |
| unsigned int dummy1 : 23; |
| } reg_sser_r_intr; |
| #define REG_RD_ADDR_sser_r_intr 36 |
| |
| /* Register r_masked_intr, scope sser, type r */ |
| typedef struct { |
| unsigned int trdy : 1; |
| unsigned int rdav : 1; |
| unsigned int tidle : 1; |
| unsigned int rstop : 1; |
| unsigned int urun : 1; |
| unsigned int orun : 1; |
| unsigned int md_rec : 1; |
| unsigned int md_sent : 1; |
| unsigned int r958err : 1; |
| unsigned int dummy1 : 23; |
| } reg_sser_r_masked_intr; |
| #define REG_RD_ADDR_sser_r_masked_intr 40 |
| |
| |
| /* Constants */ |
| enum { |
| regk_sser_both = 0x00000002, |
| regk_sser_bulk = 0x00000001, |
| regk_sser_clk100 = 0x00000000, |
| regk_sser_clk_in = 0x00000000, |
| regk_sser_const0 = 0x00000003, |
| regk_sser_dout = 0x00000002, |
| regk_sser_edge = 0x00000000, |
| regk_sser_ext = 0x00000001, |
| regk_sser_ext_clk = 0x00000001, |
| regk_sser_f100 = 0x00000000, |
| regk_sser_f29_493 = 0x00000004, |
| regk_sser_f32 = 0x00000005, |
| regk_sser_f32_768 = 0x00000006, |
| regk_sser_frm = 0x00000003, |
| regk_sser_gio0 = 0x00000000, |
| regk_sser_gio1 = 0x00000001, |
| regk_sser_hispeed = 0x00000001, |
| regk_sser_hold = 0x00000002, |
| regk_sser_in = 0x00000000, |
| regk_sser_inf = 0x00000003, |
| regk_sser_intern = 0x00000000, |
| regk_sser_intern_clk = 0x00000001, |
| regk_sser_intern_tb = 0x00000000, |
| regk_sser_iso = 0x00000000, |
| regk_sser_level = 0x00000001, |
| regk_sser_lospeed = 0x00000000, |
| regk_sser_lsbfirst = 0x00000000, |
| regk_sser_msbfirst = 0x00000001, |
| regk_sser_neg = 0x00000001, |
| regk_sser_neg_lo = 0x00000000, |
| regk_sser_no = 0x00000000, |
| regk_sser_no_clk = 0x00000007, |
| regk_sser_nojitter = 0x00000002, |
| regk_sser_out = 0x00000001, |
| regk_sser_pos = 0x00000000, |
| regk_sser_pos_hi = 0x00000001, |
| regk_sser_rec = 0x00000000, |
| regk_sser_rw_cfg_default = 0x00000000, |
| regk_sser_rw_extra_default = 0x00000000, |
| regk_sser_rw_frm_cfg_default = 0x00000000, |
| regk_sser_rw_intr_mask_default = 0x00000000, |
| regk_sser_rw_rec_cfg_default = 0x00000000, |
| regk_sser_rw_tr_cfg_default = 0x01800000, |
| regk_sser_rw_tr_data_default = 0x00000000, |
| regk_sser_thr16 = 0x00000001, |
| regk_sser_thr32 = 0x00000002, |
| regk_sser_thr8 = 0x00000000, |
| regk_sser_tr = 0x00000001, |
| regk_sser_ts_out = 0x00000003, |
| regk_sser_tx_bulk = 0x00000002, |
| regk_sser_wiresave = 0x00000002, |
| regk_sser_yes = 0x00000001 |
| }; |
| #endif /* __sser_defs_h */ |