Path: blob/master/arch/cris/include/arch-v32/mach-fs/mach/hwregs/timer_defs.h
15207 views
#ifndef __timer_defs_h1#define __timer_defs_h23/*4* This file is autogenerated from5* file: ../../inst/timer/rtl/timer_regs.r6* id: timer_regs.r,v 1.7 2003/03/11 11:16:59 perz Exp7* last modfied: Mon Apr 11 16:09:53 20058*9* by /n/asic/design/tools/rdesc/src/rdes2c --outfile timer_defs.h ../../inst/timer/rtl/timer_regs.r10* id: $Id: timer_defs.h,v 1.1 2007/04/11 13:51:01 ricardw Exp $11* Any changes here will be lost.12*13* -*- buffer-read-only: t -*-14*/15/* Main access macros */16#ifndef REG_RD17#define REG_RD( scope, inst, reg ) \18REG_READ( reg_##scope##_##reg, \19(inst) + REG_RD_ADDR_##scope##_##reg )20#endif2122#ifndef REG_WR23#define REG_WR( scope, inst, reg, val ) \24REG_WRITE( reg_##scope##_##reg, \25(inst) + REG_WR_ADDR_##scope##_##reg, (val) )26#endif2728#ifndef REG_RD_VECT29#define REG_RD_VECT( scope, inst, reg, index ) \30REG_READ( reg_##scope##_##reg, \31(inst) + REG_RD_ADDR_##scope##_##reg + \32(index) * STRIDE_##scope##_##reg )33#endif3435#ifndef REG_WR_VECT36#define REG_WR_VECT( scope, inst, reg, index, val ) \37REG_WRITE( reg_##scope##_##reg, \38(inst) + REG_WR_ADDR_##scope##_##reg + \39(index) * STRIDE_##scope##_##reg, (val) )40#endif4142#ifndef REG_RD_INT43#define REG_RD_INT( scope, inst, reg ) \44REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg )45#endif4647#ifndef REG_WR_INT48#define REG_WR_INT( scope, inst, reg, val ) \49REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) )50#endif5152#ifndef REG_RD_INT_VECT53#define REG_RD_INT_VECT( scope, inst, reg, index ) \54REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \55(index) * STRIDE_##scope##_##reg )56#endif5758#ifndef REG_WR_INT_VECT59#define REG_WR_INT_VECT( scope, inst, reg, index, val ) \60REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \61(index) * STRIDE_##scope##_##reg, (val) )62#endif6364#ifndef REG_TYPE_CONV65#define REG_TYPE_CONV( type, orgtype, val ) \66( { union { orgtype o; type n; } r; r.o = val; r.n; } )67#endif6869#ifndef reg_page_size70#define reg_page_size 819271#endif7273#ifndef REG_ADDR74#define REG_ADDR( scope, inst, reg ) \75( (inst) + REG_RD_ADDR_##scope##_##reg )76#endif7778#ifndef REG_ADDR_VECT79#define REG_ADDR_VECT( scope, inst, reg, index ) \80( (inst) + REG_RD_ADDR_##scope##_##reg + \81(index) * STRIDE_##scope##_##reg )82#endif8384/* C-code for register scope timer */8586/* Register rw_tmr0_div, scope timer, type rw */87typedef unsigned int reg_timer_rw_tmr0_div;88#define REG_RD_ADDR_timer_rw_tmr0_div 089#define REG_WR_ADDR_timer_rw_tmr0_div 09091/* Register r_tmr0_data, scope timer, type r */92typedef unsigned int reg_timer_r_tmr0_data;93#define REG_RD_ADDR_timer_r_tmr0_data 49495/* Register rw_tmr0_ctrl, scope timer, type rw */96typedef struct {97unsigned int op : 2;98unsigned int freq : 3;99unsigned int dummy1 : 27;100} reg_timer_rw_tmr0_ctrl;101#define REG_RD_ADDR_timer_rw_tmr0_ctrl 8102#define REG_WR_ADDR_timer_rw_tmr0_ctrl 8103104/* Register rw_tmr1_div, scope timer, type rw */105typedef unsigned int reg_timer_rw_tmr1_div;106#define REG_RD_ADDR_timer_rw_tmr1_div 16107#define REG_WR_ADDR_timer_rw_tmr1_div 16108109/* Register r_tmr1_data, scope timer, type r */110typedef unsigned int reg_timer_r_tmr1_data;111#define REG_RD_ADDR_timer_r_tmr1_data 20112113/* Register rw_tmr1_ctrl, scope timer, type rw */114typedef struct {115unsigned int op : 2;116unsigned int freq : 3;117unsigned int dummy1 : 27;118} reg_timer_rw_tmr1_ctrl;119#define REG_RD_ADDR_timer_rw_tmr1_ctrl 24120#define REG_WR_ADDR_timer_rw_tmr1_ctrl 24121122/* Register rs_cnt_data, scope timer, type rs */123typedef struct {124unsigned int tmr : 24;125unsigned int cnt : 8;126} reg_timer_rs_cnt_data;127#define REG_RD_ADDR_timer_rs_cnt_data 32128129/* Register r_cnt_data, scope timer, type r */130typedef struct {131unsigned int tmr : 24;132unsigned int cnt : 8;133} reg_timer_r_cnt_data;134#define REG_RD_ADDR_timer_r_cnt_data 36135136/* Register rw_cnt_cfg, scope timer, type rw */137typedef struct {138unsigned int clk : 2;139unsigned int dummy1 : 30;140} reg_timer_rw_cnt_cfg;141#define REG_RD_ADDR_timer_rw_cnt_cfg 40142#define REG_WR_ADDR_timer_rw_cnt_cfg 40143144/* Register rw_trig, scope timer, type rw */145typedef unsigned int reg_timer_rw_trig;146#define REG_RD_ADDR_timer_rw_trig 48147#define REG_WR_ADDR_timer_rw_trig 48148149/* Register rw_trig_cfg, scope timer, type rw */150typedef struct {151unsigned int tmr : 2;152unsigned int dummy1 : 30;153} reg_timer_rw_trig_cfg;154#define REG_RD_ADDR_timer_rw_trig_cfg 52155#define REG_WR_ADDR_timer_rw_trig_cfg 52156157/* Register r_time, scope timer, type r */158typedef unsigned int reg_timer_r_time;159#define REG_RD_ADDR_timer_r_time 56160161/* Register rw_out, scope timer, type rw */162typedef struct {163unsigned int tmr : 2;164unsigned int dummy1 : 30;165} reg_timer_rw_out;166#define REG_RD_ADDR_timer_rw_out 60167#define REG_WR_ADDR_timer_rw_out 60168169/* Register rw_wd_ctrl, scope timer, type rw */170typedef struct {171unsigned int cnt : 8;172unsigned int cmd : 1;173unsigned int key : 7;174unsigned int dummy1 : 16;175} reg_timer_rw_wd_ctrl;176#define REG_RD_ADDR_timer_rw_wd_ctrl 64177#define REG_WR_ADDR_timer_rw_wd_ctrl 64178179/* Register r_wd_stat, scope timer, type r */180typedef struct {181unsigned int cnt : 8;182unsigned int cmd : 1;183unsigned int dummy1 : 23;184} reg_timer_r_wd_stat;185#define REG_RD_ADDR_timer_r_wd_stat 68186187/* Register rw_intr_mask, scope timer, type rw */188typedef struct {189unsigned int tmr0 : 1;190unsigned int tmr1 : 1;191unsigned int cnt : 1;192unsigned int trig : 1;193unsigned int dummy1 : 28;194} reg_timer_rw_intr_mask;195#define REG_RD_ADDR_timer_rw_intr_mask 72196#define REG_WR_ADDR_timer_rw_intr_mask 72197198/* Register rw_ack_intr, scope timer, type rw */199typedef struct {200unsigned int tmr0 : 1;201unsigned int tmr1 : 1;202unsigned int cnt : 1;203unsigned int trig : 1;204unsigned int dummy1 : 28;205} reg_timer_rw_ack_intr;206#define REG_RD_ADDR_timer_rw_ack_intr 76207#define REG_WR_ADDR_timer_rw_ack_intr 76208209/* Register r_intr, scope timer, type r */210typedef struct {211unsigned int tmr0 : 1;212unsigned int tmr1 : 1;213unsigned int cnt : 1;214unsigned int trig : 1;215unsigned int dummy1 : 28;216} reg_timer_r_intr;217#define REG_RD_ADDR_timer_r_intr 80218219/* Register r_masked_intr, scope timer, type r */220typedef struct {221unsigned int tmr0 : 1;222unsigned int tmr1 : 1;223unsigned int cnt : 1;224unsigned int trig : 1;225unsigned int dummy1 : 28;226} reg_timer_r_masked_intr;227#define REG_RD_ADDR_timer_r_masked_intr 84228229/* Register rw_test, scope timer, type rw */230typedef struct {231unsigned int dis : 1;232unsigned int en : 1;233unsigned int dummy1 : 30;234} reg_timer_rw_test;235#define REG_RD_ADDR_timer_rw_test 88236#define REG_WR_ADDR_timer_rw_test 88237238239/* Constants */240enum {241regk_timer_ext = 0x00000001,242regk_timer_f100 = 0x00000007,243regk_timer_f29_493 = 0x00000004,244regk_timer_f32 = 0x00000005,245regk_timer_f32_768 = 0x00000006,246regk_timer_hold = 0x00000001,247regk_timer_ld = 0x00000000,248regk_timer_no = 0x00000000,249regk_timer_off = 0x00000000,250regk_timer_run = 0x00000002,251regk_timer_rw_cnt_cfg_default = 0x00000000,252regk_timer_rw_intr_mask_default = 0x00000000,253regk_timer_rw_out_default = 0x00000000,254regk_timer_rw_test_default = 0x00000000,255regk_timer_rw_tmr0_ctrl_default = 0x00000000,256regk_timer_rw_tmr1_ctrl_default = 0x00000000,257regk_timer_rw_trig_cfg_default = 0x00000000,258regk_timer_start = 0x00000001,259regk_timer_stop = 0x00000000,260regk_timer_time = 0x00000001,261regk_timer_tmr0 = 0x00000002,262regk_timer_tmr1 = 0x00000003,263regk_timer_yes = 0x00000001264};265#endif /* __timer_defs_h */266267268