Path: blob/master/arch/cris/include/arch-v32/mach-a3/mach/hwregs/timer_defs.h
15163 views
#ifndef __timer_defs_h1#define __timer_defs_h23/*4* This file is autogenerated from5* file: timer.r6*7* by ../../../tools/rdesc/bin/rdes2c -outfile timer_defs.h timer.r8* Any changes here will be lost.9*10* -*- buffer-read-only: t -*-11*/12/* Main access macros */13#ifndef REG_RD14#define REG_RD( scope, inst, reg ) \15REG_READ( reg_##scope##_##reg, \16(inst) + REG_RD_ADDR_##scope##_##reg )17#endif1819#ifndef REG_WR20#define REG_WR( scope, inst, reg, val ) \21REG_WRITE( reg_##scope##_##reg, \22(inst) + REG_WR_ADDR_##scope##_##reg, (val) )23#endif2425#ifndef REG_RD_VECT26#define REG_RD_VECT( scope, inst, reg, index ) \27REG_READ( reg_##scope##_##reg, \28(inst) + REG_RD_ADDR_##scope##_##reg + \29(index) * STRIDE_##scope##_##reg )30#endif3132#ifndef REG_WR_VECT33#define REG_WR_VECT( scope, inst, reg, index, val ) \34REG_WRITE( reg_##scope##_##reg, \35(inst) + REG_WR_ADDR_##scope##_##reg + \36(index) * STRIDE_##scope##_##reg, (val) )37#endif3839#ifndef REG_RD_INT40#define REG_RD_INT( scope, inst, reg ) \41REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg )42#endif4344#ifndef REG_WR_INT45#define REG_WR_INT( scope, inst, reg, val ) \46REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg, (val) )47#endif4849#ifndef REG_RD_INT_VECT50#define REG_RD_INT_VECT( scope, inst, reg, index ) \51REG_READ( int, (inst) + REG_RD_ADDR_##scope##_##reg + \52(index) * STRIDE_##scope##_##reg )53#endif5455#ifndef REG_WR_INT_VECT56#define REG_WR_INT_VECT( scope, inst, reg, index, val ) \57REG_WRITE( int, (inst) + REG_WR_ADDR_##scope##_##reg + \58(index) * STRIDE_##scope##_##reg, (val) )59#endif6061#ifndef REG_TYPE_CONV62#define REG_TYPE_CONV( type, orgtype, val ) \63( { union { orgtype o; type n; } r; r.o = val; r.n; } )64#endif6566#ifndef reg_page_size67#define reg_page_size 819268#endif6970#ifndef REG_ADDR71#define REG_ADDR( scope, inst, reg ) \72( (inst) + REG_RD_ADDR_##scope##_##reg )73#endif7475#ifndef REG_ADDR_VECT76#define REG_ADDR_VECT( scope, inst, reg, index ) \77( (inst) + REG_RD_ADDR_##scope##_##reg + \78(index) * STRIDE_##scope##_##reg )79#endif8081/* C-code for register scope timer */8283/* Register rw_tmr0_div, scope timer, type rw */84typedef unsigned int reg_timer_rw_tmr0_div;85#define REG_RD_ADDR_timer_rw_tmr0_div 086#define REG_WR_ADDR_timer_rw_tmr0_div 08788/* Register r_tmr0_data, scope timer, type r */89typedef unsigned int reg_timer_r_tmr0_data;90#define REG_RD_ADDR_timer_r_tmr0_data 49192/* Register rw_tmr0_ctrl, scope timer, type rw */93typedef struct {94unsigned int op : 2;95unsigned int freq : 3;96unsigned int dummy1 : 27;97} reg_timer_rw_tmr0_ctrl;98#define REG_RD_ADDR_timer_rw_tmr0_ctrl 899#define REG_WR_ADDR_timer_rw_tmr0_ctrl 8100101/* Register rw_tmr1_div, scope timer, type rw */102typedef unsigned int reg_timer_rw_tmr1_div;103#define REG_RD_ADDR_timer_rw_tmr1_div 16104#define REG_WR_ADDR_timer_rw_tmr1_div 16105106/* Register r_tmr1_data, scope timer, type r */107typedef unsigned int reg_timer_r_tmr1_data;108#define REG_RD_ADDR_timer_r_tmr1_data 20109110/* Register rw_tmr1_ctrl, scope timer, type rw */111typedef struct {112unsigned int op : 2;113unsigned int freq : 3;114unsigned int dummy1 : 27;115} reg_timer_rw_tmr1_ctrl;116#define REG_RD_ADDR_timer_rw_tmr1_ctrl 24117#define REG_WR_ADDR_timer_rw_tmr1_ctrl 24118119/* Register rs_cnt_data, scope timer, type rs */120typedef struct {121unsigned int tmr : 24;122unsigned int cnt : 8;123} reg_timer_rs_cnt_data;124#define REG_RD_ADDR_timer_rs_cnt_data 32125126/* Register r_cnt_data, scope timer, type r */127typedef struct {128unsigned int tmr : 24;129unsigned int cnt : 8;130} reg_timer_r_cnt_data;131#define REG_RD_ADDR_timer_r_cnt_data 36132133/* Register rw_cnt_cfg, scope timer, type rw */134typedef struct {135unsigned int clk : 2;136unsigned int dummy1 : 30;137} reg_timer_rw_cnt_cfg;138#define REG_RD_ADDR_timer_rw_cnt_cfg 40139#define REG_WR_ADDR_timer_rw_cnt_cfg 40140141/* Register rw_trig, scope timer, type rw */142typedef unsigned int reg_timer_rw_trig;143#define REG_RD_ADDR_timer_rw_trig 48144#define REG_WR_ADDR_timer_rw_trig 48145146/* Register rw_trig_cfg, scope timer, type rw */147typedef struct {148unsigned int tmr : 2;149unsigned int dummy1 : 30;150} reg_timer_rw_trig_cfg;151#define REG_RD_ADDR_timer_rw_trig_cfg 52152#define REG_WR_ADDR_timer_rw_trig_cfg 52153154/* Register r_time, scope timer, type r */155typedef unsigned int reg_timer_r_time;156#define REG_RD_ADDR_timer_r_time 56157158/* Register rw_out, scope timer, type rw */159typedef struct {160unsigned int tmr : 2;161unsigned int dummy1 : 30;162} reg_timer_rw_out;163#define REG_RD_ADDR_timer_rw_out 60164#define REG_WR_ADDR_timer_rw_out 60165166/* Register rw_wd_ctrl, scope timer, type rw */167typedef struct {168unsigned int cnt : 8;169unsigned int cmd : 1;170unsigned int key : 7;171unsigned int dummy1 : 16;172} reg_timer_rw_wd_ctrl;173#define REG_RD_ADDR_timer_rw_wd_ctrl 64174#define REG_WR_ADDR_timer_rw_wd_ctrl 64175176/* Register r_wd_stat, scope timer, type r */177typedef struct {178unsigned int cnt : 8;179unsigned int cmd : 1;180unsigned int dummy1 : 23;181} reg_timer_r_wd_stat;182#define REG_RD_ADDR_timer_r_wd_stat 68183184/* Register rw_intr_mask, scope timer, type rw */185typedef struct {186unsigned int tmr0 : 1;187unsigned int tmr1 : 1;188unsigned int cnt : 1;189unsigned int trig : 1;190unsigned int dummy1 : 28;191} reg_timer_rw_intr_mask;192#define REG_RD_ADDR_timer_rw_intr_mask 72193#define REG_WR_ADDR_timer_rw_intr_mask 72194195/* Register rw_ack_intr, scope timer, type rw */196typedef struct {197unsigned int tmr0 : 1;198unsigned int tmr1 : 1;199unsigned int cnt : 1;200unsigned int trig : 1;201unsigned int dummy1 : 28;202} reg_timer_rw_ack_intr;203#define REG_RD_ADDR_timer_rw_ack_intr 76204#define REG_WR_ADDR_timer_rw_ack_intr 76205206/* Register r_intr, scope timer, type r */207typedef struct {208unsigned int tmr0 : 1;209unsigned int tmr1 : 1;210unsigned int cnt : 1;211unsigned int trig : 1;212unsigned int dummy1 : 28;213} reg_timer_r_intr;214#define REG_RD_ADDR_timer_r_intr 80215216/* Register r_masked_intr, scope timer, type r */217typedef struct {218unsigned int tmr0 : 1;219unsigned int tmr1 : 1;220unsigned int cnt : 1;221unsigned int trig : 1;222unsigned int dummy1 : 28;223} reg_timer_r_masked_intr;224#define REG_RD_ADDR_timer_r_masked_intr 84225226/* Register rw_test, scope timer, type rw */227typedef struct {228unsigned int dis : 1;229unsigned int en : 1;230unsigned int dummy1 : 30;231} reg_timer_rw_test;232#define REG_RD_ADDR_timer_rw_test 88233#define REG_WR_ADDR_timer_rw_test 88234235236/* Constants */237enum {238regk_timer_ext = 0x00000001,239regk_timer_f100 = 0x00000007,240regk_timer_f29_493 = 0x00000004,241regk_timer_f32 = 0x00000005,242regk_timer_f32_768 = 0x00000006,243regk_timer_f90 = 0x00000003,244regk_timer_hold = 0x00000001,245regk_timer_ld = 0x00000000,246regk_timer_no = 0x00000000,247regk_timer_off = 0x00000000,248regk_timer_run = 0x00000002,249regk_timer_rw_cnt_cfg_default = 0x00000000,250regk_timer_rw_intr_mask_default = 0x00000000,251regk_timer_rw_out_default = 0x00000000,252regk_timer_rw_test_default = 0x00000000,253regk_timer_rw_tmr0_ctrl_default = 0x00000000,254regk_timer_rw_tmr1_ctrl_default = 0x00000000,255regk_timer_rw_trig_cfg_default = 0x00000000,256regk_timer_start = 0x00000001,257regk_timer_stop = 0x00000000,258regk_timer_time = 0x00000001,259regk_timer_tmr0 = 0x00000002,260regk_timer_tmr1 = 0x00000003,261regk_timer_vclk = 0x00000002,262regk_timer_yes = 0x00000001263};264#endif /* __timer_defs_h */265266267