332 lines
11 KiB
C
332 lines
11 KiB
C
#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 */
|