/************************************************/ /* */ /* File : tsbits.h */ /* Description : TS bits interpreter */ /* */ /* Author: Enrico Graziani */ /* */ /* Created : 29.05.1997 */ /* */ /************************************************/ #ifndef TSBITS_H #define TSBITS_H #include "bits.h" /* #include "/kloe/soft/onl/Common/v1/src/bits.h" */ #include "tshard.h" /*********************************************************************/ /* bit values */ /*********************************************************************/ #define TSB_BIT_ON 0 #define TSB_BIT_OFF 1 /*********************************************************************/ /* Register bits */ /* if no mask specified, use 1 */ /* DO NOT USE DIRECTLY IF NOT REALLY NECESSARY */ /*********************************************************************/ /* INTLEVEL Register */ #define TSB_INTLEVEL_INTLEVEL_SHIFT 0 #define TSB_INTLEVEL_INTLEVEL_NBITS 3 #define TSB_INTLEVEL_ROAK 3 /* STATUS Register */ #define TSB_SREG_TMOUTBUSY 0 #define TSB_SREG_SYNCFAILSTART 1 #define TSB_SREG_SYNCFAILEND 2 #define TSB_SREG_TBERR 3 #define TSB_SREG_AUXTBERR 4 #define TSB_SREG_OVFWACTTIME 5 #define TSB_SREG_OVFWDEADTIME 6 #define TSB_SREG_ERRA 7 #define TSB_SREG_ERRB 8 #define TSB_SREG_ERRT1 9 #define TSB_SREG_ERRT2 10 #define TSB_SREG_ERRSYNCFAND 11 #define TSB_SREG_ERRSYNCFOR 12 /* Interrupt Mask Register */ #define TSB_INTMASK_TMOUTBUSY 0 #define TSB_INTMASK_SYNCFAILSTART 1 #define TSB_INTMASK_SYNCFAILEND 2 #define TSB_INTMASK_TBERR 3 #define TSB_INTMASK_AUXTBERR 4 #define TSB_INTMASK_OVFWACTTIME 5 #define TSB_INTMASK_OVFWDEADTIME 6 #define TSB_INTMASK_ERRA 7 #define TSB_INTMASK_ERRB 8 #define TSB_INTMASK_ERRT1 9 #define TSB_INTMASK_ERRT2 10 #define TSB_INTMASK_ERRSYNCFAND 11 #define TSB_INTMASK_ERRSYNCFOR 12 /* Latch Mask Register */ #define TSB_LATMASK_TMOUTBUSY 0 #define TSB_LATMASK_SYNCFAILSTART 1 #define TSB_LATMASK_SYNCFAILEND 2 #define TSB_LATMASK_TBERR 3 #define TSB_LATMASK_AUXTBERR 4 #define TSB_LATMASK_OVFWACTTIME 5 #define TSB_LATMASK_OVFWDEADTIME 6 #define TSB_LATMASK_ERRA 7 #define TSB_LATMASK_ERRB 8 #define TSB_LATMASK_ERRT1 9 #define TSB_LATMASK_ERRT2 10 #define TSB_LATMASK_ERRSYNCFAND 11 #define TSB_LATMASK_ERRSYNCFOR 12 /* Error Mask Register */ #define TSB_ERR_TMOUTBUSY 0 #define TSB_ERR_SYNCFAILSTART 1 #define TSB_ERR_SYNCFAILEND 2 #define TSB_ERR_TBERR 3 #define TSB_ERR_AUXTBERR 4 #define TSB_ERR_OVFWACTTIME 5 #define TSB_ERR_OVFWDEADTIME 6 #define TSB_ERR_ERRA 7 #define TSB_ERR_ERRB 8 #define TSB_ERR_ERRT1 9 #define TSB_ERR_ERRT2 10 #define TSB_ERR_ERRSYNCFAND 11 #define TSB_ERR_ERRSYNCFOR 12 /* Tmode Register */ #define TSB_TMODE_MODE_SHIFT 3 #define TSB_TMODE_MODE_NBITS 2 #define TSB_TMODE_PRESC_SHIFT 0 #define TSB_TMODE_PRESC_NBITS 3 #ifndef BS /* SyncMask Register */ #define TSB_SYNCMASK_MASK_SHIFT 0 #define TSB_SYNCMASK_MASK_NBITS 24 #define TSB_SYNCMASK_ENA 31 #endif /*********************************************************************/ /************** types *******************/ /*********************************************************************/ /*********************************************************************/ /* internal page */ /*********************************************************************/ typedef struct { unsigned char intlevel; /* 0,1,2,3,4,5,6,7 */ unsigned char roak; /* 0/1 */ } TSB_INTLEVEL_bits; typedef struct { unsigned char tmoutbusy; /* 0/1 */ unsigned char syncfailstart; /* 0/1 */ unsigned char syncfailend; /* 0/1 */ unsigned char tberr; /* 0/1 */ unsigned char auxtberr; /* 0/1 */ unsigned char ovfwacttime; /* 0/1 */ unsigned char ovfwdeadtime; /* 0/1 */ unsigned char erra; /* 0/1 */ unsigned char errb; /* 0/1 */ unsigned char errt1; /* 0/1 */ unsigned char errt2; /* 0/1 */ unsigned char errsyncfand; /* 0/1 */ unsigned char errsyncfor; /* 0/1 */ } TSB_SREG_bits; typedef struct { unsigned char tmoutbusy; /* 0/1 */ unsigned char syncfailstart; /* 0/1 */ unsigned char syncfailend; /* 0/1 */ unsigned char tberr; /* 0/1 */ unsigned char auxtberr; /* 0/1 */ unsigned char ovfwacttime; /* 0/1 */ unsigned char ovfwdeadtime; /* 0/1 */ unsigned char erra; /* 0/1 */ unsigned char errb; /* 0/1 */ unsigned char errt1; /* 0/1 */ unsigned char errt2; /* 0/1 */ unsigned char errsyncfand; /* 0/1 */ unsigned char errsyncfor; /* 0/1 */ } TSB_INTMASK_bits; typedef struct { unsigned char tmoutbusy; /* 0/1 */ unsigned char syncfailstart; /* 0/1 */ unsigned char syncfailend; /* 0/1 */ unsigned char tberr; /* 0/1 */ unsigned char auxtberr; /* 0/1 */ unsigned char ovfwacttime; /* 0/1 */ unsigned char ovfwdeadtime; /* 0/1 */ unsigned char erra; /* 0/1 */ unsigned char errb; /* 0/1 */ unsigned char errt1; /* 0/1 */ unsigned char errt2; /* 0/1 */ unsigned char errsyncfand; /* 0/1 */ unsigned char errsyncfor; /* 0/1 */ } TSB_LATMASK_bits; typedef struct { unsigned char tmoutbusy; /* 0/1 */ unsigned char syncfailstart; /* 0/1 */ unsigned char syncfailend; /* 0/1 */ unsigned char tberr; /* 0/1 */ unsigned char auxtberr; /* 0/1 */ unsigned char ovfwacttime; /* 0/1 */ unsigned char ovfwdeadtime; /* 0/1 */ unsigned char erra; /* 0/1 */ unsigned char errb; /* 0/1 */ unsigned char errt1; /* 0/1 */ unsigned char errt2; /* 0/1 */ unsigned char errsyncfand; /* 0/1 */ unsigned char errsyncfor; /* 0/1 */ } TSB_ERRMASK_bits; typedef struct { unsigned char mode; /* 0,1,2,3 */ unsigned char presc; /* 0,1,2,3,4 */ } TSB_TMODE_bits; #ifndef BS typedef struct { unsigned int mask; unsigned char ena; /* 0/1 */ } TSB_SYNCMASK_bits; #endif /*********************************************************************/ /************** conversion routines *******************/ /*********************************************************************/ /* intlevel */ #define tsb_intleveltonr(/*TSB_INTLEVEL_bits*/ intlevel) /* IN */ \ (bits_pos_bits(intlevel.intlevel,TSB_INTLEVEL_INTLEVEL_SHIFT,TSB_INTLEVEL_INTLEVEL_NBITS) | \ bits_pos_bit(intlevel.roak,TSB_INTLEVEL_ROAK)) #define tsb_nrtointlevel(/*unsigned char*/ nr, /* IN */ \ /*TSB_INTLEVEL_bits*/ intlevel) /* OUT */ \ { \ intlevel.intlevel = bits_get_bits(nr,TSB_INTLEVEL_INTLEVEL_SHIFT,TSB_INTLEVEL_INTLEVEL_NBITS); \ intlevel.roak = bits_get_bit(nr,TSB_INTLEVEL_ROAK); \ } /* status */ #define tsb_sregtonr(/*TSB_SREG_bits*/ status) /* IN */ \ (bits_pos_bit(status.tmoutbusy,TSB_SREG_TMOUTBUSY) | \ bits_pos_bit(status.syncfailstart,TSB_SREG_SYNCFAILSTART) | \ bits_pos_bit(status.syncfailend,TSB_SREG_SYNCFAILEND) | \ bits_pos_bit(status.tberr,TSB_SREG_TBERR) | \ bits_pos_bit(status.auxtberr,TSB_SREG_AUXTBERR) | \ bits_pos_bit(status.ovfwacttime,TSB_SREG_OVFWACTTIME) | \ bits_pos_bit(status.ovfwdeadtime,TSB_SREG_OVFWDEADTIME) | \ bits_pos_bit(status.erra,TSB_SREG_ERRA) | \ bits_pos_bit(status.errb,TSB_SREG_ERRB) | \ bits_pos_bit(status.errt1,TSB_SREG_ERRT1) | \ bits_pos_bit(status.errt2,TSB_SREG_ERRT2) | \ bits_pos_bit(status.errsyncfand,TSB_SREG_ERRSYNCFAND) | \ bits_pos_bit(status.errsyncfor,TSB_SREG_ERRSYNCFOR)) #define tsb_nrtosreg(/*unsigned char*/ nr, /* IN */ \ /*TSB_SREG_bits*/ status) /* OUT */ \ { \ status.tmoutbusy = bits_get_bit(nr,TSB_SREG_TMOUTBUSY); \ status.syncfailstart = bits_get_bit(nr,TSB_SREG_SYNCFAILSTART); \ status.syncfailend = bits_get_bit(nr,TSB_SREG_SYNCFAILEND); \ status.tberr = bits_get_bit(nr,TSB_SREG_TBERR); \ status.auxtberr = bits_get_bit(nr,TSB_SREG_AUXTBERR); \ status.ovfwacttime = bits_get_bit(nr,TSB_SREG_OVFWACTTIME); \ status.ovfwdeadtime = bits_get_bit(nr,TSB_SREG_OVFWDEADTIME); \ status.erra = bits_get_bit(nr,TSB_SREG_ERRA); \ status.errb = bits_get_bit(nr,TSB_SREG_ERRB); \ status.errt1 = bits_get_bit(nr,TSB_SREG_ERRT1); \ status.errt2 = bits_get_bit(nr,TSB_SREG_ERRT2); \ status.errsyncfand = bits_get_bit(nr,TSB_SREG_ERRSYNCFAND); \ status.errsyncfor = bits_get_bit(nr,TSB_SREG_ERRSYNCFOR); \ } /* interrupt mask */ #define tsb_intmasktonr(/*TSB_INTMASK_bits*/ intmask) /* IN */ \ (bits_pos_bit(intmask.tmoutbusy,TSB_INTMASK_TMOUTBUSY) | \ bits_pos_bit(intmask.syncfailstart,TSB_INTMASK_SYNCFAILSTART) | \ bits_pos_bit(intmask.syncfailend,TSB_INTMASK_SYNCFAILEND) | \ bits_pos_bit(intmask.tberr,TSB_INTMASK_TBERR) | \ bits_pos_bit(intmask.auxtberr,TSB_INTMASK_AUXTBERR) | \ bits_pos_bit(intmask.ovfwacttime,TSB_INTMASK_OVFWACTTIME) | \ bits_pos_bit(intmask.ovfwdeadtime,TSB_INTMASK_OVFWDEADTIME) | \ bits_pos_bit(intmask.erra,TSB_INTMASK_ERRA) | \ bits_pos_bit(intmask.errb,TSB_INTMASK_ERRB) | \ bits_pos_bit(intmask.errt1,TSB_INTMASK_ERRT1) | \ bits_pos_bit(intmask.errt2,TSB_INTMASK_ERRT2) | \ bits_pos_bit(intmask.errsyncfand,TSB_INTMASK_ERRSYNCFAND) | \ bits_pos_bit(intmask.errsyncfor,TSB_INTMASK_ERRSYNCFOR)) #define tsb_nrtointmask(/*unsigned char*/ nr, /* IN */ \ /*TSB_INTMASK_bits*/ intmask) /* OUT */ \ { \ intmask.tmoutbusy = bits_get_bit(nr,TSB_INTMASK_TMOUTBUSY); \ intmask.syncfailstart = bits_get_bit(nr,TSB_INTMASK_SYNCFAILSTART); \ intmask.syncfailend = bits_get_bit(nr,TSB_INTMASK_SYNCFAILEND); \ intmask.tberr = bits_get_bit(nr,TSB_INTMASK_TBERR); \ intmask.auxtberr = bits_get_bit(nr,TSB_INTMASK_AUXTBERR); \ intmask.ovfwacttime = bits_get_bit(nr,TSB_INTMASK_OVFWACTTIME); \ intmask.ovfwdeadtime = bits_get_bit(nr,TSB_INTMASK_OVFWDEADTIME); \ intmask.erra = bits_get_bit(nr,TSB_INTMASK_ERRA); \ intmask.errb = bits_get_bit(nr,TSB_INTMASK_ERRB); \ intmask.errt1 = bits_get_bit(nr,TSB_INTMASK_ERRT1); \ intmask.errt2 = bits_get_bit(nr,TSB_INTMASK_ERRT2); \ intmask.errsyncfand = bits_get_bit(nr,TSB_INTMASK_ERRSYNCFAND); \ intmask.errsyncfor = bits_get_bit(nr,TSB_INTMASK_ERRSYNCFOR); \ } /* latch mask */ #define tsb_latmasktonr(/*TSB_LATMASK_bits*/ latmask) /* IN */ \ (bits_pos_bit(latmask.tmoutbusy,TSB_LATMASK_TMOUTBUSY) | \ bits_pos_bit(latmask.syncfailstart,TSB_LATMASK_SYNCFAILSTART) | \ bits_pos_bit(latmask.syncfailend,TSB_LATMASK_SYNCFAILEND) | \ bits_pos_bit(latmask.tberr,TSB_LATMASK_TBERR) | \ bits_pos_bit(latmask.auxtberr,TSB_LATMASK_AUXTBERR) | \ bits_pos_bit(latmask.ovfwacttime,TSB_LATMASK_OVFWACTTIME) | \ bits_pos_bit(latmask.ovfwdeadtime,TSB_LATMASK_OVFWDEADTIME) | \ bits_pos_bit(latmask.erra,TSB_LATMASK_ERRA) | \ bits_pos_bit(latmask.errb,TSB_LATMASK_ERRB) | \ bits_pos_bit(latmask.errt1,TSB_LATMASK_ERRT1) | \ bits_pos_bit(latmask.errt2,TSB_LATMASK_ERRT2) | \ bits_pos_bit(latmask.errsyncfand,TSB_LATMASK_ERRSYNCFAND) | \ bits_pos_bit(latmask.errsyncfor,TSB_LATMASK_ERRSYNCFOR)) #define tsb_nrtolatmask(/*unsigned char*/ nr, /* IN */ \ /*TSB_LATMASK_bits*/ latmask) /* OUT */ \ { \ latmask.tmoutbusy = bits_get_bit(nr,TSB_LATMASK_TMOUTBUSY); \ latmask.syncfailstart = bits_get_bit(nr,TSB_LATMASK_SYNCFAILSTART); \ latmask.syncfailend = bits_get_bit(nr,TSB_LATMASK_SYNCFAILEND); \ latmask.tberr = bits_get_bit(nr,TSB_LATMASK_TBERR); \ latmask.auxtberr = bits_get_bit(nr,TSB_LATMASK_AUXTBERR); \ latmask.ovfwacttime = bits_get_bit(nr,TSB_LATMASK_OVFWACTTIME); \ latmask.ovfwdeadtime = bits_get_bit(nr,TSB_LATMASK_OVFWDEADTIME); \ latmask.erra = bits_get_bit(nr,TSB_LATMASK_ERRA); \ latmask.errb = bits_get_bit(nr,TSB_LATMASK_ERRB); \ latmask.errt1 = bits_get_bit(nr,TSB_LATMASK_ERRT1); \ latmask.errt2 = bits_get_bit(nr,TSB_LATMASK_ERRT2); \ latmask.errsyncfand = bits_get_bit(nr,TSB_LATMASK_ERRSYNCFAND); \ latmask.errsyncfor = bits_get_bit(nr,TSB_LATMASK_ERRSYNCFOR); \ } /* error mask */ #define tsb_errmasktonr(/*TSB_ERRMASK_bits*/ errmask) /* IN */ \ (bits_pos_bit(errmask.tmoutbusy,TSB_ERR_TMOUTBUSY) | \ bits_pos_bit(errmask.syncfailstart,TSB_ERR_SYNCFAILSTART) | \ bits_pos_bit(errmask.syncfailend,TSB_ERR_SYNCFAILEND) | \ bits_pos_bit(errmask.tberr,TSB_ERR_TBERR) | \ bits_pos_bit(errmask.auxtberr,TSB_ERR_AUXTBERR) | \ bits_pos_bit(errmask.ovfwacttime,TSB_ERR_OVFWACTTIME) | \ bits_pos_bit(errmask.ovfwdeadtime,TSB_ERR_OVFWDEADTIME) | \ bits_pos_bit(errmask.erra,TSB_ERR_ERRA) | \ bits_pos_bit(errmask.errb,TSB_ERR_ERRB) | \ bits_pos_bit(errmask.errt1,TSB_ERR_ERRT1) | \ bits_pos_bit(errmask.errt2,TSB_ERR_ERRT2) | \ bits_pos_bit(errmask.errsyncfand,TSB_ERR_ERRSYNCFAND) | \ bits_pos_bit(errmask.errsyncfor,TSB_ERR_ERRSYNCFOR)) #define tsb_nrtoerrmask(/*unsigned char*/ nr, /* IN */ \ /*TSB_LATMASK_bits*/ errmask) /* OUT */ \ { \ errmask.tmoutbusy = bits_get_bit(nr,TSB_ERR_TMOUTBUSY); \ errmask.syncfailstart = bits_get_bit(nr,TSB_ERR_SYNCFAILSTART); \ errmask.syncfailend = bits_get_bit(nr,TSB_ERR_SYNCFAILEND); \ errmask.tberr = bits_get_bit(nr,TSB_ERR_TBERR); \ errmask.auxtberr = bits_get_bit(nr,TSB_ERR_AUXTBERR); \ errmask.ovfwacttime = bits_get_bit(nr,TSB_ERR_OVFWACTTIME); \ errmask.ovfwdeadtime = bits_get_bit(nr,TSB_ERR_OVFWDEADTIME); \ errmask.erra = bits_get_bit(nr,TSB_ERR_ERRA); \ errmask.errb = bits_get_bit(nr,TSB_ERR_ERRB); \ errmask.errt1 = bits_get_bit(nr,TSB_ERR_ERRT1); \ errmask.errt2 = bits_get_bit(nr,TSB_ERR_ERRT2); \ errmask.errsyncfand = bits_get_bit(nr,TSB_ERR_ERRSYNCFAND); \ errmask.errsyncfor = bits_get_bit(nr,TSB_ERR_ERRSYNCFOR); \ } /* tmode */ #define tsb_tmodetonr(/*TSB_TMODE_bits*/ tmode) /* IN */ \ (bits_pos_bits(tmode.mode,TSB_TMODE_MODE_SHIFT,TSB_TMODE_MODE_NBITS) | \ bits_pos_bits(tmode.presc,TSB_TMODE_PRESC_SHIFT,TSB_TMODE_PRESC_NBITS)) #define tsb_nrtotmode(/*unsigned char*/ nr, /* IN */ \ /*TSB_TMODE_bits*/ tmode) /* OUT */ \ { \ tmode.mode = bits_get_bits(nr,TSB_TMODE_MODE_SHIFT,TSB_TMODE_MODE_NBITS); \ tmode.presc = bits_get_bits(nr,TSB_TMODE_PRESC_SHIFT,TSB_TMODE_PRESC_NBITS); \ } /* syncmask */ #ifndef BS #define tsb_syncmasktonr(/*TSB_SYNCMASK_bits*/ syncmask) /* IN */ \ (bits_pos_bits(syncmask.mask,TSB_SYNCMASK_MASK_SHIFT,TSB_SYNCMASK_MASK_NBITS) | \ bits_pos_bit(syncmask.ena,TSB_SYNCMASK_ENA)) #define tsb_nrtosyncmask(/*unsigned int*/ nr, /* IN */ \ /*TSB_SYNCMASK_bits*/ syncmask) /* OUT */ \ { \ syncmask.mask = bits_get_bits(nr,TSB_SYNCMASK_MASK_SHIFT,TSB_SYNCMASK_MASK_NBITS); \ syncmask.ena = bits_get_bit(nr,TSB_SYNCMASK_ENA); \ } #endif /* intlevel */ #define tsb_get_intlevel_intlevel(/*unsigned char */ nr) /* IN */ \ bits_get_bits(nr,TSB_INTLEVEL_INTLEVEL_SHIFT,TSB_INTLEVEL_INTLEVEL_NBITS) #define tsb_get_intlevel_roak(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTLEVEL_ROAK) /* status */ #define tsb_get_sreg_tmoutbusy(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SREG_TMOUTBUSY) #define tsb_get_sreg_syncfailstart(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SREG_SYNCFAILSTART) #define tsb_get_sreg_syncfailend(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SREG_SYNCFAILEND) #define tsb_get_sreg_tberr(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SREG_TBERR) #define tsb_get_sreg_auxtberr(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SREG_AUXTBERR) #define tsb_get_sreg_ovfwacttime(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SREG_OVFWACTTIME) #define tsb_get_sreg_ovfwdeadtime(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SREG_OVFWDEADTIME) #define tsb_get_sreg_erra(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SREG_ERRA) #define tsb_get_sreg_errb(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SREG_ERRB) #define tsb_get_sreg_errt1(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SREG_ERRT1) #define tsb_get_sreg_errt2(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SREG_ERRT2) #define tsb_get_sreg_errsyncfand(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SREG_ERRSYNCFAND) #define tsb_get_sreg_errsyncfor(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SREG_ERRSYNCFOR) /* interrupt mask */ #define tsb_get_intmask_tmoutbusy(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTMASK_TMOUTBUSY) #define tsb_get_intmask_syncfailstart(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTMASK_SYNCFAILSTART) #define tsb_get_intmask_syncfailend(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTMASK_SYNCFAILEND) #define tsb_get_intmask_tberr(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTMASK_TBERR) #define tsb_get_intmask_auxtberr(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTMASK_AUXTBERR) #define tsb_get_intmask_ovfwacttime(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTMASK_OVFWACTTIME) #define tsb_get_intmask_ovfwdeadtime(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTMASK_OVFWDEADTIME) #define tsb_get_intmask_erra(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTMASK_ERRA) #define tsb_get_intmask_errb(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTMASK_ERRB) #define tsb_get_intmask_errt1(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTMASK_ERRT1) #define tsb_get_intmask_errt2(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTMASK_ERRT2) #define tsb_get_intmask_errsyncfand(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTMASK_ERRSYNCFAND) #define tsb_get_intmask_errsyncfor(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_INTMASK_ERRSYNCFOR) /* latch mask */ #define tsb_get_latmask_tmoutbusy(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_LATMASK_TMOUTBUSY) #define tsb_get_latmask_syncfailstart(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_LATMASK_SYNCFAILSTART) #define tsb_get_latmask_syncfailend(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_LATMASK_SYNCFAILEND) #define tsb_get_latmask_tberr(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_LATMASK_TBERR) #define tsb_get_latmask_auxtberr(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_LATMASK_AUXTBERR) #define tsb_get_latmask_ovfwacttime(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_LATMASK_OVFWACTTIME) #define tsb_get_latmask_ovfwdeadtime(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_LATMASK_OVFWDEADTIME) #define tsb_get_latmask_erra(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_LATMASK_ERRA) #define tsb_get_latmask_errb(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_LATMASK_ERRB) #define tsb_get_latmask_errt1(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_LATMASK_ERRT1) #define tsb_get_latmask_errt2(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_LATMASK_ERRT2) #define tsb_get_latmask_errsyncfand(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_LATMASK_ERRSYNCFAND) #define tsb_get_latmask_errsyncfor(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_LATMASK_ERRSYNCFOR) /* error mask */ #define tsb_get_errmask_tmoutbusy(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_ERR_TMOUTBUSY) #define tsb_get_errmask_syncfailstart(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_ERR_SYNCFAILSTART) #define tsb_get_errmask_syncfailend(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_ERR_SYNCFAILEND) #define tsb_get_errmask_tberr(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_ERR_TBERR) #define tsb_get_errmask_auxtberr(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_ERR_AUXTBERR) #define tsb_get_errmask_ovfwacttime(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_ERR_OVFWACTTIME) #define tsb_get_errmask_ovfwdeadtime(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_ERR_OVFWDEADTIME) #define tsb_get_errmask_erra(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_ERR_ERRA) #define tsb_get_errmask_errb(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_ERR_ERRB) #define tsb_get_errmask_errt1(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_ERR_ERRT1) #define tsb_get_errmask_errt2(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_ERR_ERRT2) #define tsb_get_errmask_errsyncfand(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_ERR_ERRSYNCFAND) #define tsb_get_errmask_errsyncfor(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_ERR_ERRSYNCFOR) /* tmode */ #define tsb_get_tmode_mode(/*unsigned char */ nr) /* IN */ \ bits_get_bits(nr,TSB_TMODE_MODE_SHIFT,TSB_TMODE_MODE_NBITS) #define tsb_get_tmode_presc(/*unsigned char */ nr) /* IN */ \ bits_get_bits(nr,TSB_TMODE_PRESC_SHIFT,TSB_TMODE_PRESC_NBITS) #ifndef BS #define tsb_get_syncmask_mask(/*unsigned int */ nr) /* IN */ \ bits_get_bits(nr,TSB_SYNCMASK_MASK_SHIFT,TSB_SYNCMASK_MASK_NBITS) #define tsb_get_syncmask_ena(/*unsigned char */ nr) /* IN */ \ bits_get_bit(nr,TSB_SYNCMASK_ENA) #endif /*********************************************************************/ /************** set bit routines *******************/ /*********************************************************************/ /* tmode */ #define tsb_set_intlevel_intlevel(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bits(nr,TSB_INTLEVEL_INTLEVEL_SHIFT,TSB_INTLEVEL_INTLEVEL_NBITS,value) #define tsb_set_intlevel_roak(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_TMODE_INTLEVEL_ROAK,value) /* status */ #define tsb_set_sreg_tmoutbusy(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SREG_TMOUTBUSY,value) #define tsb_set_sreg_syncfailstart(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SREG_SYNCFAILSTART,value) #define tsb_set_sreg_syncfailend(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SREG_SYNCFAILEND,value) #define tsb_set_sreg_tberr(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SREG_TBERR,value) #define tsb_set_sreg_auxtberr(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SREG_AUXTBERR,value) #define tsb_set_sreg_ovfwacttime(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SREG_OVFWACTTIME,value) #define tsb_set_sreg_ovfwdeadtime(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SREG_OVFWDEADTIME,value) #define tsb_set_sreg_erra(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SREG_ERRA,value) #define tsb_set_sreg_errb(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SREG_ERRB,value) #define tsb_set_sreg_errt1(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SREG_ERRT1,value) #define tsb_set_sreg_errt2(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SREG_ERRT2,value) #define tsb_set_sreg_errsyncfand(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SREG_ERRSYNCFAND,value) #define tsb_set_sreg_errsyncfor(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SREG_ERRSYNCFOR,value) /* interrupt mask */ #define tsb_set_intmask_tmoutbusy(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_INTMASK_TMOUTBUSY,value) #define tsb_set_intmask_syncfailstart(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_INTMASK_SYNCFAILSTART,value) #define tsb_set_intmask_syncfailend(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_INTMASK_SYNCFAILEND,value) #define tsb_set_intmask_tberr(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_INTMASK_TBERR,value) #define tsb_set_intmask_auxtberr(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_INTMASK_AUXTBERR,value) #define tsb_set_intmask_ovfwacttime(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_INTMASK_OVFWACTTIME,value) #define tsb_set_intmask_ovfwdeadtime(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_INTMASK_OVFWDEADTIME,value) #define tsb_set_intmask_erra(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_INTMASK_ERRA,value) #define tsb_set_intmask_errb(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_INTMASK_ERRB,value) #define tsb_set_intmask_errt1(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_INTMASK_ERRT1,value) #define tsb_set_intmask_errt2(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_INTMASK_ERRT2,value) #define tsb_set_intmask_errsyncfand(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_INTMASK_ERRSYNCFAND,value) #define tsb_set_intmask_errsyncfor(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_INTMASK_ERRSYNCFOR,value) /* latch mask */ #define tsb_set_latmask_tmoutbusy(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_LATMASK_TMOUTBUSY,value) #define tsb_set_latmask_syncfailstart(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_LATMASK_SYNCFAILSTART,value) #define tsb_set_latmask_syncfailend(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_LATMASK_SYNCFAILEND,value) #define tsb_set_latmask_tberr(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_LATMASK_TBERR,value) #define tsb_set_latmask_auxtberr(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_LATMASK_AUXTBERR,value) #define tsb_set_latmask_ovfwacttime(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_LATMASK_OVFWACTTIME,value) #define tsb_set_latmask_ovfwdeadtime(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_LATMASK_OVFWDEADTIME,value) #define tsb_set_latmask_erra(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_LATMASK_ERRA,value) #define tsb_set_latmask_errb(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_LATMASK_ERRB,value) #define tsb_set_latmask_errt1(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_LATMASK_ERRT1,value) #define tsb_set_latmask_errt2(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_LATMASK_ERRT2,value) #define tsb_set_latmask_errsyncfand(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_LATMASK_ERRSYNCFAND,value) #define tsb_set_latmask_errsyncfor(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_LATMASK_ERRSYNCFOR,value) /* error mask */ #define tsb_set_errmask_tmoutbusy(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_ERR_TMOUTBUSY,value) #define tsb_set_errmask_syncfailstart(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_ERR_SYNCFAILSTART,value) #define tsb_set_errmask_syncfailend(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_ERR_SYNCFAILEND,value) #define tsb_set_errmask_tberr(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_ERR_TBERR,value) #define tsb_set_errmask_auxtberr(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_ERR_AUXTBERR,value) #define tsb_set_errmask_ovfwacttime(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_ERR_OVFWACTTIME,value) #define tsb_set_errmask_ovfwdeadtime(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_ERR_OVFWDEADTIME,value) #define tsb_set_errmask_erra(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_ERR_ERRA,value) #define tsb_set_errmask_errb(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_ERR_ERRB,value) #define tsb_set_errmask_errt1(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_ERR_ERRT1,value) #define tsb_set_errmask_errt2(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_ERR_ERRT2,value) #define tsb_set_errmask_errsyncfand(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_ERR_ERRSYNCFAND,value) #define tsb_set_errmask_errsyncfor(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_ERR_ERRSYNCFOR,value) /* tmode */ #define tsb_set_tmode_mode(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bits(nr,TSB_TMODE_MODE_SHIFT,TSB_TMODE_MODE_NBITS,value) #define tsb_set_tmode_presc(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bits(nr,TSB_TMODE_PRESC_SHIFT,TSB_TMODE_PRESC_NBITS,value) /* syncmask */ #ifndef BS #define tsb_set_syncmask_mask(/*unsigned int */ nr, /* IN */ \ /*unsigned int */ value) /* IN */ \ bits_set_bits(nr,TSB_SYNCMASK_MASK_SHIFT,TSB_SYNCMASK_MASK_NBITS,value) #define tsb_set_syncmask_ena(/*unsigned char */ nr, /* IN */ \ /*unsigned char */ value) /* IN */ \ bits_set_bit(nr,TSB_SYNCMASK_ENA,value) #endif #endif /* TSBITS_H */