blob: f48061be6abd7c6c4c8d38a72d65ede70467e201 [file] [log] [blame]
/********************************************************************************
* Marvell GPL License Option
*
* If you received this File from Marvell, you may opt to use, redistribute and/or
* modify this File in accordance with the terms and conditions of the General
* Public License Version 2, June 1991 (the "GPL License"), a copy of which is
* available along with the File in the license.txt file or by writing to the Free
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
* on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
*
* THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
* WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
* DISCLAIMED. The GPL License provides additional details about this warranty
* disclaimer.
******************************************************************************/
//////
/// don't edit! auto-generated by docc: dmx.h
////////////////////////////////////////////////////////////
#ifndef dmx_h
#define dmx_h (){}
#include "ctypes.h"
#pragma pack(1)
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _DOCC_H_BITOPS_
#define _DOCC_H_BITOPS_ (){}
#define _bSETMASK_(b) ((b)<32 ? (1<<((b)&31)) : 0)
#define _NSETMASK_(msb,lsb) (_bSETMASK_((msb)+1)-_bSETMASK_(lsb))
#define _bCLRMASK_(b) (~_bSETMASK_(b))
#define _NCLRMASK_(msb,lsb) (~_NSETMASK_(msb,lsb))
#define _BFGET_(r,msb,lsb) (_NSETMASK_((msb)-(lsb),0)&((r)>>(lsb)))
#define _BFSET_(r,msb,lsb,v) do{ (r)&=_NCLRMASK_(msb,lsb); (r)|=_NSETMASK_(msb,lsb)&((v)<<(lsb)); }while(0)
#endif
//////
///
/// $INTERFACE PIDWord (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 V 0x0
/// ###
/// * 1 = enable this PID match ;
/// * DV-FR-CNR
/// ###
/// %unsigned 1 FLT 0x0
/// ###
/// * indicates packets matching this ID is for PSI
/// * DV-FR-CNR
/// ###
/// %unsigned 13 N 0x0
/// ###
/// * value to match
/// * DV-FR-CNR
/// ###
/// %unsigned 8 LTSID
/// ###
/// * local TSID for opencable
/// ###
/// %% 9 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 23b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_PIDWord
#define h_PIDWord (){}
#define BA_PIDWord_V 0x0000
#define B16PIDWord_V 0x0000
#define LSb32PIDWord_V 0
#define LSb16PIDWord_V 0
#define bPIDWord_V 1
#define MSK32PIDWord_V 0x00000001
#define BA_PIDWord_FLT 0x0000
#define B16PIDWord_FLT 0x0000
#define LSb32PIDWord_FLT 1
#define LSb16PIDWord_FLT 1
#define bPIDWord_FLT 1
#define MSK32PIDWord_FLT 0x00000002
#define BA_PIDWord_N 0x0000
#define B16PIDWord_N 0x0000
#define LSb32PIDWord_N 2
#define LSb16PIDWord_N 2
#define bPIDWord_N 13
#define MSK32PIDWord_N 0x00007FFC
#define BA_PIDWord_LTSID 0x0001
#define B16PIDWord_LTSID 0x0000
#define LSb32PIDWord_LTSID 15
#define LSb16PIDWord_LTSID 15
#define bPIDWord_LTSID 8
#define MSK32PIDWord_LTSID 0x007F8000
///////////////////////////////////////////////////////////
typedef struct SIE_PIDWord {
///////////////////////////////////////////////////////////
#define GET32PIDWord_V(r32) _BFGET_(r32, 0, 0)
#define SET32PIDWord_V(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16PIDWord_V(r16) _BFGET_(r16, 0, 0)
#define SET16PIDWord_V(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32PIDWord_FLT(r32) _BFGET_(r32, 1, 1)
#define SET32PIDWord_FLT(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16PIDWord_FLT(r16) _BFGET_(r16, 1, 1)
#define SET16PIDWord_FLT(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32PIDWord_N(r32) _BFGET_(r32,14, 2)
#define SET32PIDWord_N(r32,v) _BFSET_(r32,14, 2,v)
#define GET16PIDWord_N(r16) _BFGET_(r16,14, 2)
#define SET16PIDWord_N(r16,v) _BFSET_(r16,14, 2,v)
#define GET32PIDWord_LTSID(r32) _BFGET_(r32,22,15)
#define SET32PIDWord_LTSID(r32,v) _BFSET_(r32,22,15,v)
UNSG32 u_V : 1;
UNSG32 u_FLT : 1;
UNSG32 u_N : 13;
UNSG32 u_LTSID : 8;
UNSG32 RSVDx0_b23 : 9;
///////////////////////////////////////////////////////////
} SIE_PIDWord;
///////////////////////////////////////////////////////////
SIGN32 PIDWord_drvrd(SIE_PIDWord *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 PIDWord_drvwr(SIE_PIDWord *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void PIDWord_reset(SIE_PIDWord *p);
SIGN32 PIDWord_cmp (SIE_PIDWord *p, SIE_PIDWord *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define PIDWord_check(p,pie,pfx,hLOG) PIDWord_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define PIDWord_print(p, pfx,hLOG) PIDWord_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: PIDWord
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE PID biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 PID
/// $PIDWord PID REG [32]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 128B, bits: 736b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_PID
#define h_PID (){}
#define RA_PID_PID 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_PID {
///////////////////////////////////////////////////////////
SIE_PIDWord ie_PID[32];
///////////////////////////////////////////////////////////
} SIE_PID;
///////////////////////////////////////////////////////////
SIGN32 PID_drvrd(SIE_PID *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 PID_drvwr(SIE_PID *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void PID_reset(SIE_PID *p);
SIGN32 PID_cmp (SIE_PID *p, SIE_PID *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define PID_check(p,pie,pfx,hLOG) PID_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define PID_print(p, pfx,hLOG) PID_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: PID
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TSCmd biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 13 PID 0x0
/// %unsigned 2 TSID 0x0
/// %unsigned 1 cascade 0x0
/// ###
/// * 1: indicates this packet needs to go through a cascaded section filter
/// ###
/// %unsigned 5 PIDIDX 0x0
/// %unsigned 1 TSERR 0x0
/// %unsigned 1 MATCH
/// ###
/// * not used in TSC, will be set by section filter
/// ###
/// %unsigned 7 FLTID 0x0
/// ###
/// * indicates the ID of matched section filter
/// ###
/// %% 2 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 30b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TSCmd
#define h_TSCmd (){}
#define BA_TSCmd_PID 0x0000
#define B16TSCmd_PID 0x0000
#define LSb32TSCmd_PID 0
#define LSb16TSCmd_PID 0
#define bTSCmd_PID 13
#define MSK32TSCmd_PID 0x00001FFF
#define BA_TSCmd_TSID 0x0001
#define B16TSCmd_TSID 0x0000
#define LSb32TSCmd_TSID 13
#define LSb16TSCmd_TSID 13
#define bTSCmd_TSID 2
#define MSK32TSCmd_TSID 0x00006000
#define BA_TSCmd_cascade 0x0001
#define B16TSCmd_cascade 0x0000
#define LSb32TSCmd_cascade 15
#define LSb16TSCmd_cascade 15
#define bTSCmd_cascade 1
#define MSK32TSCmd_cascade 0x00008000
#define BA_TSCmd_PIDIDX 0x0002
#define B16TSCmd_PIDIDX 0x0002
#define LSb32TSCmd_PIDIDX 16
#define LSb16TSCmd_PIDIDX 0
#define bTSCmd_PIDIDX 5
#define MSK32TSCmd_PIDIDX 0x001F0000
#define BA_TSCmd_TSERR 0x0002
#define B16TSCmd_TSERR 0x0002
#define LSb32TSCmd_TSERR 21
#define LSb16TSCmd_TSERR 5
#define bTSCmd_TSERR 1
#define MSK32TSCmd_TSERR 0x00200000
#define BA_TSCmd_MATCH 0x0002
#define B16TSCmd_MATCH 0x0002
#define LSb32TSCmd_MATCH 22
#define LSb16TSCmd_MATCH 6
#define bTSCmd_MATCH 1
#define MSK32TSCmd_MATCH 0x00400000
#define BA_TSCmd_FLTID 0x0002
#define B16TSCmd_FLTID 0x0002
#define LSb32TSCmd_FLTID 23
#define LSb16TSCmd_FLTID 7
#define bTSCmd_FLTID 7
#define MSK32TSCmd_FLTID 0x3F800000
///////////////////////////////////////////////////////////
typedef struct SIE_TSCmd {
///////////////////////////////////////////////////////////
#define GET32TSCmd_PID(r32) _BFGET_(r32,12, 0)
#define SET32TSCmd_PID(r32,v) _BFSET_(r32,12, 0,v)
#define GET16TSCmd_PID(r16) _BFGET_(r16,12, 0)
#define SET16TSCmd_PID(r16,v) _BFSET_(r16,12, 0,v)
#define GET32TSCmd_TSID(r32) _BFGET_(r32,14,13)
#define SET32TSCmd_TSID(r32,v) _BFSET_(r32,14,13,v)
#define GET16TSCmd_TSID(r16) _BFGET_(r16,14,13)
#define SET16TSCmd_TSID(r16,v) _BFSET_(r16,14,13,v)
#define GET32TSCmd_cascade(r32) _BFGET_(r32,15,15)
#define SET32TSCmd_cascade(r32,v) _BFSET_(r32,15,15,v)
#define GET16TSCmd_cascade(r16) _BFGET_(r16,15,15)
#define SET16TSCmd_cascade(r16,v) _BFSET_(r16,15,15,v)
#define GET32TSCmd_PIDIDX(r32) _BFGET_(r32,20,16)
#define SET32TSCmd_PIDIDX(r32,v) _BFSET_(r32,20,16,v)
#define GET16TSCmd_PIDIDX(r16) _BFGET_(r16, 4, 0)
#define SET16TSCmd_PIDIDX(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32TSCmd_TSERR(r32) _BFGET_(r32,21,21)
#define SET32TSCmd_TSERR(r32,v) _BFSET_(r32,21,21,v)
#define GET16TSCmd_TSERR(r16) _BFGET_(r16, 5, 5)
#define SET16TSCmd_TSERR(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32TSCmd_MATCH(r32) _BFGET_(r32,22,22)
#define SET32TSCmd_MATCH(r32,v) _BFSET_(r32,22,22,v)
#define GET16TSCmd_MATCH(r16) _BFGET_(r16, 6, 6)
#define SET16TSCmd_MATCH(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32TSCmd_FLTID(r32) _BFGET_(r32,29,23)
#define SET32TSCmd_FLTID(r32,v) _BFSET_(r32,29,23,v)
#define GET16TSCmd_FLTID(r16) _BFGET_(r16,13, 7)
#define SET16TSCmd_FLTID(r16,v) _BFSET_(r16,13, 7,v)
UNSG32 u_PID : 13;
UNSG32 u_TSID : 2;
UNSG32 u_cascade : 1;
UNSG32 u_PIDIDX : 5;
UNSG32 u_TSERR : 1;
UNSG32 u_MATCH : 1;
UNSG32 u_FLTID : 7;
UNSG32 RSVDx0_b30 : 2;
///////////////////////////////////////////////////////////
} SIE_TSCmd;
///////////////////////////////////////////////////////////
SIGN32 TSCmd_drvrd(SIE_TSCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TSCmd_drvwr(SIE_TSCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TSCmd_reset(SIE_TSCmd *p);
SIGN32 TSCmd_cmp (SIE_TSCmd *p, SIE_TSCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TSCmd_check(p,pie,pfx,hLOG) TSCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TSCmd_print(p, pfx,hLOG) TSCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TSCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TSCmdTSC biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 13 PID 0x0
/// %unsigned 2 TSID 0x0
/// %unsigned 1 PUS 0x0
/// ###
/// * 1: indicates this packet have payload_unit_start =1
/// ###
/// %unsigned 5 PIDIDX 0x0
/// %unsigned 1 TSERR 0x0
/// ###
/// * value of TSTAMPL and TSTAMPH will only valid when TSERR =0 ; when TSERR =1, TSTAMPL will content error information.
/// ###
/// %unsigned 10 TSTAMPL
/// ###
/// * low 10 bits of timestamp,
/// ###
/// %unsigned 32 TSTAMPH 0x0
/// ###
/// * high 32 bit of timestamp
/// ###
/// %unsigned 8 LTSID 0x0
/// ###
/// * local TS id for openCable M-Card,
/// * refer to cableCARD2.0 sepc, this field not exist in when tsc.CFG.mcard=0 ,
/// ###
/// %unsigned 8 RES1 0x0
/// ###
/// * Mcard reserved byte 1, refer to cableCARD2.0 spec
/// ###
/// %unsigned 16 HOSTres 0x0
/// ###
/// * reserved field to be set by Host , refer to cableCARD2.0 specification
/// ###
/// %unsigned 32 LTS 0x0
/// ###
/// * local timestamp for opencable M-Card, this field not exist in when tsc.CFG.mcard=0
/// ###
/// %unsigned 16 CABLECARDRES 0x0
/// ###
/// * field reserved to use by card, refer to cableCARD2.0 spec
/// ###
/// %unsigned 8 RES2 0x0
/// ###
/// * Mcard resverved byte 2, refer to cableCARD2.0 spec
/// ###
/// %unsigned 8 CRC 0x0
/// ###
/// * CRC for the 11bytes mcard preheader,
/// * CRC-8= x8+x7+x6+x4+x2+1
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 20B, bits: 160b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TSCmdTSC
#define h_TSCmdTSC (){}
#define BA_TSCmdTSC_PID 0x0000
#define B16TSCmdTSC_PID 0x0000
#define LSb32TSCmdTSC_PID 0
#define LSb16TSCmdTSC_PID 0
#define bTSCmdTSC_PID 13
#define MSK32TSCmdTSC_PID 0x00001FFF
#define BA_TSCmdTSC_TSID 0x0001
#define B16TSCmdTSC_TSID 0x0000
#define LSb32TSCmdTSC_TSID 13
#define LSb16TSCmdTSC_TSID 13
#define bTSCmdTSC_TSID 2
#define MSK32TSCmdTSC_TSID 0x00006000
#define BA_TSCmdTSC_PUS 0x0001
#define B16TSCmdTSC_PUS 0x0000
#define LSb32TSCmdTSC_PUS 15
#define LSb16TSCmdTSC_PUS 15
#define bTSCmdTSC_PUS 1
#define MSK32TSCmdTSC_PUS 0x00008000
#define BA_TSCmdTSC_PIDIDX 0x0002
#define B16TSCmdTSC_PIDIDX 0x0002
#define LSb32TSCmdTSC_PIDIDX 16
#define LSb16TSCmdTSC_PIDIDX 0
#define bTSCmdTSC_PIDIDX 5
#define MSK32TSCmdTSC_PIDIDX 0x001F0000
#define BA_TSCmdTSC_TSERR 0x0002
#define B16TSCmdTSC_TSERR 0x0002
#define LSb32TSCmdTSC_TSERR 21
#define LSb16TSCmdTSC_TSERR 5
#define bTSCmdTSC_TSERR 1
#define MSK32TSCmdTSC_TSERR 0x00200000
#define BA_TSCmdTSC_TSTAMPL 0x0002
#define B16TSCmdTSC_TSTAMPL 0x0002
#define LSb32TSCmdTSC_TSTAMPL 22
#define LSb16TSCmdTSC_TSTAMPL 6
#define bTSCmdTSC_TSTAMPL 10
#define MSK32TSCmdTSC_TSTAMPL 0xFFC00000
#define BA_TSCmdTSC_TSTAMPH 0x0004
#define B16TSCmdTSC_TSTAMPH 0x0004
#define LSb32TSCmdTSC_TSTAMPH 0
#define LSb16TSCmdTSC_TSTAMPH 0
#define bTSCmdTSC_TSTAMPH 32
#define MSK32TSCmdTSC_TSTAMPH 0xFFFFFFFF
#define BA_TSCmdTSC_LTSID 0x0008
#define B16TSCmdTSC_LTSID 0x0008
#define LSb32TSCmdTSC_LTSID 0
#define LSb16TSCmdTSC_LTSID 0
#define bTSCmdTSC_LTSID 8
#define MSK32TSCmdTSC_LTSID 0x000000FF
#define BA_TSCmdTSC_RES1 0x0009
#define B16TSCmdTSC_RES1 0x0008
#define LSb32TSCmdTSC_RES1 8
#define LSb16TSCmdTSC_RES1 8
#define bTSCmdTSC_RES1 8
#define MSK32TSCmdTSC_RES1 0x0000FF00
#define BA_TSCmdTSC_HOSTres 0x000A
#define B16TSCmdTSC_HOSTres 0x000A
#define LSb32TSCmdTSC_HOSTres 16
#define LSb16TSCmdTSC_HOSTres 0
#define bTSCmdTSC_HOSTres 16
#define MSK32TSCmdTSC_HOSTres 0xFFFF0000
#define BA_TSCmdTSC_LTS 0x000C
#define B16TSCmdTSC_LTS 0x000C
#define LSb32TSCmdTSC_LTS 0
#define LSb16TSCmdTSC_LTS 0
#define bTSCmdTSC_LTS 32
#define MSK32TSCmdTSC_LTS 0xFFFFFFFF
#define BA_TSCmdTSC_CABLECARDRES 0x0010
#define B16TSCmdTSC_CABLECARDRES 0x0010
#define LSb32TSCmdTSC_CABLECARDRES 0
#define LSb16TSCmdTSC_CABLECARDRES 0
#define bTSCmdTSC_CABLECARDRES 16
#define MSK32TSCmdTSC_CABLECARDRES 0x0000FFFF
#define BA_TSCmdTSC_RES2 0x0012
#define B16TSCmdTSC_RES2 0x0012
#define LSb32TSCmdTSC_RES2 16
#define LSb16TSCmdTSC_RES2 0
#define bTSCmdTSC_RES2 8
#define MSK32TSCmdTSC_RES2 0x00FF0000
#define BA_TSCmdTSC_CRC 0x0013
#define B16TSCmdTSC_CRC 0x0012
#define LSb32TSCmdTSC_CRC 24
#define LSb16TSCmdTSC_CRC 8
#define bTSCmdTSC_CRC 8
#define MSK32TSCmdTSC_CRC 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_TSCmdTSC {
///////////////////////////////////////////////////////////
#define GET32TSCmdTSC_PID(r32) _BFGET_(r32,12, 0)
#define SET32TSCmdTSC_PID(r32,v) _BFSET_(r32,12, 0,v)
#define GET16TSCmdTSC_PID(r16) _BFGET_(r16,12, 0)
#define SET16TSCmdTSC_PID(r16,v) _BFSET_(r16,12, 0,v)
#define GET32TSCmdTSC_TSID(r32) _BFGET_(r32,14,13)
#define SET32TSCmdTSC_TSID(r32,v) _BFSET_(r32,14,13,v)
#define GET16TSCmdTSC_TSID(r16) _BFGET_(r16,14,13)
#define SET16TSCmdTSC_TSID(r16,v) _BFSET_(r16,14,13,v)
#define GET32TSCmdTSC_PUS(r32) _BFGET_(r32,15,15)
#define SET32TSCmdTSC_PUS(r32,v) _BFSET_(r32,15,15,v)
#define GET16TSCmdTSC_PUS(r16) _BFGET_(r16,15,15)
#define SET16TSCmdTSC_PUS(r16,v) _BFSET_(r16,15,15,v)
#define GET32TSCmdTSC_PIDIDX(r32) _BFGET_(r32,20,16)
#define SET32TSCmdTSC_PIDIDX(r32,v) _BFSET_(r32,20,16,v)
#define GET16TSCmdTSC_PIDIDX(r16) _BFGET_(r16, 4, 0)
#define SET16TSCmdTSC_PIDIDX(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32TSCmdTSC_TSERR(r32) _BFGET_(r32,21,21)
#define SET32TSCmdTSC_TSERR(r32,v) _BFSET_(r32,21,21,v)
#define GET16TSCmdTSC_TSERR(r16) _BFGET_(r16, 5, 5)
#define SET16TSCmdTSC_TSERR(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32TSCmdTSC_TSTAMPL(r32) _BFGET_(r32,31,22)
#define SET32TSCmdTSC_TSTAMPL(r32,v) _BFSET_(r32,31,22,v)
#define GET16TSCmdTSC_TSTAMPL(r16) _BFGET_(r16,15, 6)
#define SET16TSCmdTSC_TSTAMPL(r16,v) _BFSET_(r16,15, 6,v)
UNSG32 u_PID : 13;
UNSG32 u_TSID : 2;
UNSG32 u_PUS : 1;
UNSG32 u_PIDIDX : 5;
UNSG32 u_TSERR : 1;
UNSG32 u_TSTAMPL : 10;
///////////////////////////////////////////////////////////
#define GET32TSCmdTSC_TSTAMPH(r32) _BFGET_(r32,31, 0)
#define SET32TSCmdTSC_TSTAMPH(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_TSTAMPH : 32;
///////////////////////////////////////////////////////////
#define GET32TSCmdTSC_LTSID(r32) _BFGET_(r32, 7, 0)
#define SET32TSCmdTSC_LTSID(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16TSCmdTSC_LTSID(r16) _BFGET_(r16, 7, 0)
#define SET16TSCmdTSC_LTSID(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32TSCmdTSC_RES1(r32) _BFGET_(r32,15, 8)
#define SET32TSCmdTSC_RES1(r32,v) _BFSET_(r32,15, 8,v)
#define GET16TSCmdTSC_RES1(r16) _BFGET_(r16,15, 8)
#define SET16TSCmdTSC_RES1(r16,v) _BFSET_(r16,15, 8,v)
#define GET32TSCmdTSC_HOSTres(r32) _BFGET_(r32,31,16)
#define SET32TSCmdTSC_HOSTres(r32,v) _BFSET_(r32,31,16,v)
#define GET16TSCmdTSC_HOSTres(r16) _BFGET_(r16,15, 0)
#define SET16TSCmdTSC_HOSTres(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_LTSID : 8;
UNSG32 u_RES1 : 8;
UNSG32 u_HOSTres : 16;
///////////////////////////////////////////////////////////
#define GET32TSCmdTSC_LTS(r32) _BFGET_(r32,31, 0)
#define SET32TSCmdTSC_LTS(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_LTS : 32;
///////////////////////////////////////////////////////////
#define GET32TSCmdTSC_CABLECARDRES(r32) _BFGET_(r32,15, 0)
#define SET32TSCmdTSC_CABLECARDRES(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TSCmdTSC_CABLECARDRES(r16) _BFGET_(r16,15, 0)
#define SET16TSCmdTSC_CABLECARDRES(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TSCmdTSC_RES2(r32) _BFGET_(r32,23,16)
#define SET32TSCmdTSC_RES2(r32,v) _BFSET_(r32,23,16,v)
#define GET16TSCmdTSC_RES2(r16) _BFGET_(r16, 7, 0)
#define SET16TSCmdTSC_RES2(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32TSCmdTSC_CRC(r32) _BFGET_(r32,31,24)
#define SET32TSCmdTSC_CRC(r32,v) _BFSET_(r32,31,24,v)
#define GET16TSCmdTSC_CRC(r16) _BFGET_(r16,15, 8)
#define SET16TSCmdTSC_CRC(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_CABLECARDRES : 16;
UNSG32 u_RES2 : 8;
UNSG32 u_CRC : 8;
///////////////////////////////////////////////////////////
} SIE_TSCmdTSC;
///////////////////////////////////////////////////////////
SIGN32 TSCmdTSC_drvrd(SIE_TSCmdTSC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TSCmdTSC_drvwr(SIE_TSCmdTSC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TSCmdTSC_reset(SIE_TSCmdTSC *p);
SIGN32 TSCmdTSC_cmp (SIE_TSCmdTSC *p, SIE_TSCmdTSC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TSCmdTSC_check(p,pie,pfx,hLOG) TSCmdTSC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TSCmdTSC_print(p, pfx,hLOG) TSCmdTSC_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TSCmdTSC
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TSCmdTSCERR biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 13 PID 0x0
/// %unsigned 2 TSID 0x0
/// %unsigned 1 PUS 0x0
/// ###
/// * 1: indicates this packet have payload_unit_start =1
/// ###
/// %unsigned 5 PIDIDX 0x0
/// %unsigned 1 TSERR 0x0
/// ###
/// * value of TSTAMPL and TSTAMPH will only valid when TSERR =0 ; when TSERR =1, TSTAMPL will content error information.
/// ###
/// %unsigned 1 COR
/// ###
/// * packet have uncorrectable error
/// ###
/// %unsigned 1 SYNC
/// ###
/// * sync word is not as defined
/// ###
/// %unsigned 1 INCMPLT
/// ###
/// * a TS Sync happened before packet finishes
/// ###
/// %unsigned 1 OVERFLOW
/// ###
/// * overflow happened during the capture of the packet
/// ###
/// %% 6 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 26b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TSCmdTSCERR
#define h_TSCmdTSCERR (){}
#define BA_TSCmdTSCERR_PID 0x0000
#define B16TSCmdTSCERR_PID 0x0000
#define LSb32TSCmdTSCERR_PID 0
#define LSb16TSCmdTSCERR_PID 0
#define bTSCmdTSCERR_PID 13
#define MSK32TSCmdTSCERR_PID 0x00001FFF
#define BA_TSCmdTSCERR_TSID 0x0001
#define B16TSCmdTSCERR_TSID 0x0000
#define LSb32TSCmdTSCERR_TSID 13
#define LSb16TSCmdTSCERR_TSID 13
#define bTSCmdTSCERR_TSID 2
#define MSK32TSCmdTSCERR_TSID 0x00006000
#define BA_TSCmdTSCERR_PUS 0x0001
#define B16TSCmdTSCERR_PUS 0x0000
#define LSb32TSCmdTSCERR_PUS 15
#define LSb16TSCmdTSCERR_PUS 15
#define bTSCmdTSCERR_PUS 1
#define MSK32TSCmdTSCERR_PUS 0x00008000
#define BA_TSCmdTSCERR_PIDIDX 0x0002
#define B16TSCmdTSCERR_PIDIDX 0x0002
#define LSb32TSCmdTSCERR_PIDIDX 16
#define LSb16TSCmdTSCERR_PIDIDX 0
#define bTSCmdTSCERR_PIDIDX 5
#define MSK32TSCmdTSCERR_PIDIDX 0x001F0000
#define BA_TSCmdTSCERR_TSERR 0x0002
#define B16TSCmdTSCERR_TSERR 0x0002
#define LSb32TSCmdTSCERR_TSERR 21
#define LSb16TSCmdTSCERR_TSERR 5
#define bTSCmdTSCERR_TSERR 1
#define MSK32TSCmdTSCERR_TSERR 0x00200000
#define BA_TSCmdTSCERR_COR 0x0002
#define B16TSCmdTSCERR_COR 0x0002
#define LSb32TSCmdTSCERR_COR 22
#define LSb16TSCmdTSCERR_COR 6
#define bTSCmdTSCERR_COR 1
#define MSK32TSCmdTSCERR_COR 0x00400000
#define BA_TSCmdTSCERR_SYNC 0x0002
#define B16TSCmdTSCERR_SYNC 0x0002
#define LSb32TSCmdTSCERR_SYNC 23
#define LSb16TSCmdTSCERR_SYNC 7
#define bTSCmdTSCERR_SYNC 1
#define MSK32TSCmdTSCERR_SYNC 0x00800000
#define BA_TSCmdTSCERR_INCMPLT 0x0003
#define B16TSCmdTSCERR_INCMPLT 0x0002
#define LSb32TSCmdTSCERR_INCMPLT 24
#define LSb16TSCmdTSCERR_INCMPLT 8
#define bTSCmdTSCERR_INCMPLT 1
#define MSK32TSCmdTSCERR_INCMPLT 0x01000000
#define BA_TSCmdTSCERR_OVERFLOW 0x0003
#define B16TSCmdTSCERR_OVERFLOW 0x0002
#define LSb32TSCmdTSCERR_OVERFLOW 25
#define LSb16TSCmdTSCERR_OVERFLOW 9
#define bTSCmdTSCERR_OVERFLOW 1
#define MSK32TSCmdTSCERR_OVERFLOW 0x02000000
///////////////////////////////////////////////////////////
typedef struct SIE_TSCmdTSCERR {
///////////////////////////////////////////////////////////
#define GET32TSCmdTSCERR_PID(r32) _BFGET_(r32,12, 0)
#define SET32TSCmdTSCERR_PID(r32,v) _BFSET_(r32,12, 0,v)
#define GET16TSCmdTSCERR_PID(r16) _BFGET_(r16,12, 0)
#define SET16TSCmdTSCERR_PID(r16,v) _BFSET_(r16,12, 0,v)
#define GET32TSCmdTSCERR_TSID(r32) _BFGET_(r32,14,13)
#define SET32TSCmdTSCERR_TSID(r32,v) _BFSET_(r32,14,13,v)
#define GET16TSCmdTSCERR_TSID(r16) _BFGET_(r16,14,13)
#define SET16TSCmdTSCERR_TSID(r16,v) _BFSET_(r16,14,13,v)
#define GET32TSCmdTSCERR_PUS(r32) _BFGET_(r32,15,15)
#define SET32TSCmdTSCERR_PUS(r32,v) _BFSET_(r32,15,15,v)
#define GET16TSCmdTSCERR_PUS(r16) _BFGET_(r16,15,15)
#define SET16TSCmdTSCERR_PUS(r16,v) _BFSET_(r16,15,15,v)
#define GET32TSCmdTSCERR_PIDIDX(r32) _BFGET_(r32,20,16)
#define SET32TSCmdTSCERR_PIDIDX(r32,v) _BFSET_(r32,20,16,v)
#define GET16TSCmdTSCERR_PIDIDX(r16) _BFGET_(r16, 4, 0)
#define SET16TSCmdTSCERR_PIDIDX(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32TSCmdTSCERR_TSERR(r32) _BFGET_(r32,21,21)
#define SET32TSCmdTSCERR_TSERR(r32,v) _BFSET_(r32,21,21,v)
#define GET16TSCmdTSCERR_TSERR(r16) _BFGET_(r16, 5, 5)
#define SET16TSCmdTSCERR_TSERR(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32TSCmdTSCERR_COR(r32) _BFGET_(r32,22,22)
#define SET32TSCmdTSCERR_COR(r32,v) _BFSET_(r32,22,22,v)
#define GET16TSCmdTSCERR_COR(r16) _BFGET_(r16, 6, 6)
#define SET16TSCmdTSCERR_COR(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32TSCmdTSCERR_SYNC(r32) _BFGET_(r32,23,23)
#define SET32TSCmdTSCERR_SYNC(r32,v) _BFSET_(r32,23,23,v)
#define GET16TSCmdTSCERR_SYNC(r16) _BFGET_(r16, 7, 7)
#define SET16TSCmdTSCERR_SYNC(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32TSCmdTSCERR_INCMPLT(r32) _BFGET_(r32,24,24)
#define SET32TSCmdTSCERR_INCMPLT(r32,v) _BFSET_(r32,24,24,v)
#define GET16TSCmdTSCERR_INCMPLT(r16) _BFGET_(r16, 8, 8)
#define SET16TSCmdTSCERR_INCMPLT(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32TSCmdTSCERR_OVERFLOW(r32) _BFGET_(r32,25,25)
#define SET32TSCmdTSCERR_OVERFLOW(r32,v) _BFSET_(r32,25,25,v)
#define GET16TSCmdTSCERR_OVERFLOW(r16) _BFGET_(r16, 9, 9)
#define SET16TSCmdTSCERR_OVERFLOW(r16,v) _BFSET_(r16, 9, 9,v)
UNSG32 u_PID : 13;
UNSG32 u_TSID : 2;
UNSG32 u_PUS : 1;
UNSG32 u_PIDIDX : 5;
UNSG32 u_TSERR : 1;
UNSG32 u_COR : 1;
UNSG32 u_SYNC : 1;
UNSG32 u_INCMPLT : 1;
UNSG32 u_OVERFLOW : 1;
UNSG32 RSVDx0_b26 : 6;
///////////////////////////////////////////////////////////
} SIE_TSCmdTSCERR;
///////////////////////////////////////////////////////////
SIGN32 TSCmdTSCERR_drvrd(SIE_TSCmdTSCERR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TSCmdTSCERR_drvwr(SIE_TSCmdTSCERR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TSCmdTSCERR_reset(SIE_TSCmdTSCERR *p);
SIGN32 TSCmdTSCERR_cmp (SIE_TSCmdTSCERR *p, SIE_TSCmdTSCERR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TSCmdTSCERR_check(p,pie,pfx,hLOG) TSCmdTSCERR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TSCmdTSCERR_print(p, pfx,hLOG) TSCmdTSCERR_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TSCmdTSCERR
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE MCARDHDR biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 8 LTSID 0x0
/// ###
/// * local TS id for openCable M-Card,
/// * refer to cableCARD2.0 sepc, this field not exist in when tsc.CFG.mcard=0 ,
/// ###
/// %unsigned 8 RES1 0x0
/// ###
/// * Mcard reserved byte 1, refer to cableCARD2.0 spec
/// ###
/// %unsigned 16 HOSTres 0x0
/// ###
/// * reserved field to be set by Host , refer to cableCARD2.0 specification
/// ###
/// %unsigned 32 LTS 0x0
/// ###
/// * local timestamp for opencable M-Card, this field not exist in when tsc.CFG.mcard=0
/// ###
/// %unsigned 16 CABLECARDRES 0x0
/// ###
/// * field reserved to use by card, refer to cableCARD2.0 spec
/// ###
/// %unsigned 8 RES2 0x0
/// ###
/// * Mcard resverved byte 2, refer to cableCARD2.0 spec
/// ###
/// %unsigned 8 CRC 0x0
/// ###
/// * CRC for the 11bytes mcard preheader,
/// * CRC-8= x8+x7+x6+x4+x2+1
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 12B, bits: 96b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_MCARDHDR
#define h_MCARDHDR (){}
#define BA_MCARDHDR_LTSID 0x0000
#define B16MCARDHDR_LTSID 0x0000
#define LSb32MCARDHDR_LTSID 0
#define LSb16MCARDHDR_LTSID 0
#define bMCARDHDR_LTSID 8
#define MSK32MCARDHDR_LTSID 0x000000FF
#define BA_MCARDHDR_RES1 0x0001
#define B16MCARDHDR_RES1 0x0000
#define LSb32MCARDHDR_RES1 8
#define LSb16MCARDHDR_RES1 8
#define bMCARDHDR_RES1 8
#define MSK32MCARDHDR_RES1 0x0000FF00
#define BA_MCARDHDR_HOSTres 0x0002
#define B16MCARDHDR_HOSTres 0x0002
#define LSb32MCARDHDR_HOSTres 16
#define LSb16MCARDHDR_HOSTres 0
#define bMCARDHDR_HOSTres 16
#define MSK32MCARDHDR_HOSTres 0xFFFF0000
#define BA_MCARDHDR_LTS 0x0004
#define B16MCARDHDR_LTS 0x0004
#define LSb32MCARDHDR_LTS 0
#define LSb16MCARDHDR_LTS 0
#define bMCARDHDR_LTS 32
#define MSK32MCARDHDR_LTS 0xFFFFFFFF
#define BA_MCARDHDR_CABLECARDRES 0x0008
#define B16MCARDHDR_CABLECARDRES 0x0008
#define LSb32MCARDHDR_CABLECARDRES 0
#define LSb16MCARDHDR_CABLECARDRES 0
#define bMCARDHDR_CABLECARDRES 16
#define MSK32MCARDHDR_CABLECARDRES 0x0000FFFF
#define BA_MCARDHDR_RES2 0x000A
#define B16MCARDHDR_RES2 0x000A
#define LSb32MCARDHDR_RES2 16
#define LSb16MCARDHDR_RES2 0
#define bMCARDHDR_RES2 8
#define MSK32MCARDHDR_RES2 0x00FF0000
#define BA_MCARDHDR_CRC 0x000B
#define B16MCARDHDR_CRC 0x000A
#define LSb32MCARDHDR_CRC 24
#define LSb16MCARDHDR_CRC 8
#define bMCARDHDR_CRC 8
#define MSK32MCARDHDR_CRC 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_MCARDHDR {
///////////////////////////////////////////////////////////
#define GET32MCARDHDR_LTSID(r32) _BFGET_(r32, 7, 0)
#define SET32MCARDHDR_LTSID(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16MCARDHDR_LTSID(r16) _BFGET_(r16, 7, 0)
#define SET16MCARDHDR_LTSID(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32MCARDHDR_RES1(r32) _BFGET_(r32,15, 8)
#define SET32MCARDHDR_RES1(r32,v) _BFSET_(r32,15, 8,v)
#define GET16MCARDHDR_RES1(r16) _BFGET_(r16,15, 8)
#define SET16MCARDHDR_RES1(r16,v) _BFSET_(r16,15, 8,v)
#define GET32MCARDHDR_HOSTres(r32) _BFGET_(r32,31,16)
#define SET32MCARDHDR_HOSTres(r32,v) _BFSET_(r32,31,16,v)
#define GET16MCARDHDR_HOSTres(r16) _BFGET_(r16,15, 0)
#define SET16MCARDHDR_HOSTres(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_LTSID : 8;
UNSG32 u_RES1 : 8;
UNSG32 u_HOSTres : 16;
///////////////////////////////////////////////////////////
#define GET32MCARDHDR_LTS(r32) _BFGET_(r32,31, 0)
#define SET32MCARDHDR_LTS(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_LTS : 32;
///////////////////////////////////////////////////////////
#define GET32MCARDHDR_CABLECARDRES(r32) _BFGET_(r32,15, 0)
#define SET32MCARDHDR_CABLECARDRES(r32,v) _BFSET_(r32,15, 0,v)
#define GET16MCARDHDR_CABLECARDRES(r16) _BFGET_(r16,15, 0)
#define SET16MCARDHDR_CABLECARDRES(r16,v) _BFSET_(r16,15, 0,v)
#define GET32MCARDHDR_RES2(r32) _BFGET_(r32,23,16)
#define SET32MCARDHDR_RES2(r32,v) _BFSET_(r32,23,16,v)
#define GET16MCARDHDR_RES2(r16) _BFGET_(r16, 7, 0)
#define SET16MCARDHDR_RES2(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32MCARDHDR_CRC(r32) _BFGET_(r32,31,24)
#define SET32MCARDHDR_CRC(r32,v) _BFSET_(r32,31,24,v)
#define GET16MCARDHDR_CRC(r16) _BFGET_(r16,15, 8)
#define SET16MCARDHDR_CRC(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_CABLECARDRES : 16;
UNSG32 u_RES2 : 8;
UNSG32 u_CRC : 8;
///////////////////////////////////////////////////////////
} SIE_MCARDHDR;
///////////////////////////////////////////////////////////
SIGN32 MCARDHDR_drvrd(SIE_MCARDHDR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 MCARDHDR_drvwr(SIE_MCARDHDR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void MCARDHDR_reset(SIE_MCARDHDR *p);
SIGN32 MCARDHDR_cmp (SIE_MCARDHDR *p, SIE_MCARDHDR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define MCARDHDR_check(p,pie,pfx,hLOG) MCARDHDR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define MCARDHDR_print(p, pfx,hLOG) MCARDHDR_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: MCARDHDR
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TSO biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CFG (RW)
/// %unsigned 1 tscMode 0x0
/// ###
/// * 0 : TsInput Mode
/// * 1 : TsOutput Mode
/// ###
/// %unsigned 1 tsoEn 0x0
/// ###
/// * Transport stream Output Enable
/// ###
/// %unsigned 2 tsoMode 0x0
/// ###
/// * 00 : Mode0 TS+TSP
/// * 01 : Mode1 TSP Only
/// * 10 : Mode2 BYPASS
/// ###
/// %unsigned 1 tsoSerialMode 0x0
/// ###
/// * 0 : Serial Mode
/// * 1 : Parallel Mode
/// ###
/// %% 27 # Stuffing bits...
/// @ 0x00004 tsoInterPktH (RW)
/// %unsigned 10 interPktRateH 0x0
/// %% 22 # Stuffing bits...
/// @ 0x00008 tsoInterPktL (RW)
/// %unsigned 32 interPktRateL 0x0
/// @ 0x0000C tsoIntraPkt (RW)
/// %unsigned 32 IntraPktRate 0x0
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 79b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TSO
#define h_TSO (){}
#define RA_TSO_CFG 0x0000
#define BA_TSO_CFG_tscMode 0x0000
#define B16TSO_CFG_tscMode 0x0000
#define LSb32TSO_CFG_tscMode 0
#define LSb16TSO_CFG_tscMode 0
#define bTSO_CFG_tscMode 1
#define MSK32TSO_CFG_tscMode 0x00000001
#define BA_TSO_CFG_tsoEn 0x0000
#define B16TSO_CFG_tsoEn 0x0000
#define LSb32TSO_CFG_tsoEn 1
#define LSb16TSO_CFG_tsoEn 1
#define bTSO_CFG_tsoEn 1
#define MSK32TSO_CFG_tsoEn 0x00000002
#define BA_TSO_CFG_tsoMode 0x0000
#define B16TSO_CFG_tsoMode 0x0000
#define LSb32TSO_CFG_tsoMode 2
#define LSb16TSO_CFG_tsoMode 2
#define bTSO_CFG_tsoMode 2
#define MSK32TSO_CFG_tsoMode 0x0000000C
#define BA_TSO_CFG_tsoSerialMode 0x0000
#define B16TSO_CFG_tsoSerialMode 0x0000
#define LSb32TSO_CFG_tsoSerialMode 4
#define LSb16TSO_CFG_tsoSerialMode 4
#define bTSO_CFG_tsoSerialMode 1
#define MSK32TSO_CFG_tsoSerialMode 0x00000010
///////////////////////////////////////////////////////////
#define RA_TSO_tsoInterPktH 0x0004
#define BA_TSO_tsoInterPktH_interPktRateH 0x0004
#define B16TSO_tsoInterPktH_interPktRateH 0x0004
#define LSb32TSO_tsoInterPktH_interPktRateH 0
#define LSb16TSO_tsoInterPktH_interPktRateH 0
#define bTSO_tsoInterPktH_interPktRateH 10
#define MSK32TSO_tsoInterPktH_interPktRateH 0x000003FF
///////////////////////////////////////////////////////////
#define RA_TSO_tsoInterPktL 0x0008
#define BA_TSO_tsoInterPktL_interPktRateL 0x0008
#define B16TSO_tsoInterPktL_interPktRateL 0x0008
#define LSb32TSO_tsoInterPktL_interPktRateL 0
#define LSb16TSO_tsoInterPktL_interPktRateL 0
#define bTSO_tsoInterPktL_interPktRateL 32
#define MSK32TSO_tsoInterPktL_interPktRateL 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TSO_tsoIntraPkt 0x000C
#define BA_TSO_tsoIntraPkt_IntraPktRate 0x000C
#define B16TSO_tsoIntraPkt_IntraPktRate 0x000C
#define LSb32TSO_tsoIntraPkt_IntraPktRate 0
#define LSb16TSO_tsoIntraPkt_IntraPktRate 0
#define bTSO_tsoIntraPkt_IntraPktRate 32
#define MSK32TSO_tsoIntraPkt_IntraPktRate 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_TSO {
///////////////////////////////////////////////////////////
#define GET32TSO_CFG_tscMode(r32) _BFGET_(r32, 0, 0)
#define SET32TSO_CFG_tscMode(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TSO_CFG_tscMode(r16) _BFGET_(r16, 0, 0)
#define SET16TSO_CFG_tscMode(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TSO_CFG_tsoEn(r32) _BFGET_(r32, 1, 1)
#define SET32TSO_CFG_tsoEn(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16TSO_CFG_tsoEn(r16) _BFGET_(r16, 1, 1)
#define SET16TSO_CFG_tsoEn(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32TSO_CFG_tsoMode(r32) _BFGET_(r32, 3, 2)
#define SET32TSO_CFG_tsoMode(r32,v) _BFSET_(r32, 3, 2,v)
#define GET16TSO_CFG_tsoMode(r16) _BFGET_(r16, 3, 2)
#define SET16TSO_CFG_tsoMode(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32TSO_CFG_tsoSerialMode(r32) _BFGET_(r32, 4, 4)
#define SET32TSO_CFG_tsoSerialMode(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16TSO_CFG_tsoSerialMode(r16) _BFGET_(r16, 4, 4)
#define SET16TSO_CFG_tsoSerialMode(r16,v) _BFSET_(r16, 4, 4,v)
#define w32TSO_CFG {\
UNSG32 uCFG_tscMode : 1;\
UNSG32 uCFG_tsoEn : 1;\
UNSG32 uCFG_tsoMode : 2;\
UNSG32 uCFG_tsoSerialMode : 1;\
UNSG32 RSVDx0_b5 : 27;\
}
union { UNSG32 u32TSO_CFG;
struct w32TSO_CFG;
};
///////////////////////////////////////////////////////////
#define GET32TSO_tsoInterPktH_interPktRateH(r32) _BFGET_(r32, 9, 0)
#define SET32TSO_tsoInterPktH_interPktRateH(r32,v) _BFSET_(r32, 9, 0,v)
#define GET16TSO_tsoInterPktH_interPktRateH(r16) _BFGET_(r16, 9, 0)
#define SET16TSO_tsoInterPktH_interPktRateH(r16,v) _BFSET_(r16, 9, 0,v)
#define w32TSO_tsoInterPktH {\
UNSG32 utsoInterPktH_interPktRateH : 10;\
UNSG32 RSVDx4_b10 : 22;\
}
union { UNSG32 u32TSO_tsoInterPktH;
struct w32TSO_tsoInterPktH;
};
///////////////////////////////////////////////////////////
#define GET32TSO_tsoInterPktL_interPktRateL(r32) _BFGET_(r32,31, 0)
#define SET32TSO_tsoInterPktL_interPktRateL(r32,v) _BFSET_(r32,31, 0,v)
#define w32TSO_tsoInterPktL {\
UNSG32 utsoInterPktL_interPktRateL : 32;\
}
union { UNSG32 u32TSO_tsoInterPktL;
struct w32TSO_tsoInterPktL;
};
///////////////////////////////////////////////////////////
#define GET32TSO_tsoIntraPkt_IntraPktRate(r32) _BFGET_(r32,31, 0)
#define SET32TSO_tsoIntraPkt_IntraPktRate(r32,v) _BFSET_(r32,31, 0,v)
#define w32TSO_tsoIntraPkt {\
UNSG32 utsoIntraPkt_IntraPktRate : 32;\
}
union { UNSG32 u32TSO_tsoIntraPkt;
struct w32TSO_tsoIntraPkt;
};
///////////////////////////////////////////////////////////
} SIE_TSO;
typedef union T32TSO_CFG
{ UNSG32 u32;
struct w32TSO_CFG;
} T32TSO_CFG;
typedef union T32TSO_tsoInterPktH
{ UNSG32 u32;
struct w32TSO_tsoInterPktH;
} T32TSO_tsoInterPktH;
typedef union T32TSO_tsoInterPktL
{ UNSG32 u32;
struct w32TSO_tsoInterPktL;
} T32TSO_tsoInterPktL;
typedef union T32TSO_tsoIntraPkt
{ UNSG32 u32;
struct w32TSO_tsoIntraPkt;
} T32TSO_tsoIntraPkt;
///////////////////////////////////////////////////////////
typedef union TTSO_CFG
{ UNSG32 u32[1];
struct {
struct w32TSO_CFG;
};
} TTSO_CFG;
typedef union TTSO_tsoInterPktH
{ UNSG32 u32[1];
struct {
struct w32TSO_tsoInterPktH;
};
} TTSO_tsoInterPktH;
typedef union TTSO_tsoInterPktL
{ UNSG32 u32[1];
struct {
struct w32TSO_tsoInterPktL;
};
} TTSO_tsoInterPktL;
typedef union TTSO_tsoIntraPkt
{ UNSG32 u32[1];
struct {
struct w32TSO_tsoIntraPkt;
};
} TTSO_tsoIntraPkt;
///////////////////////////////////////////////////////////
SIGN32 TSO_drvrd(SIE_TSO *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TSO_drvwr(SIE_TSO *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TSO_reset(SIE_TSO *p);
SIGN32 TSO_cmp (SIE_TSO *p, SIE_TSO *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TSO_check(p,pie,pfx,hLOG) TSO_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TSO_print(p, pfx,hLOG) TSO_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TSO
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TSC biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CFG (P)
/// %unsigned 31 STCINITH 0x0
/// ###
/// * DV-FR-CNR
/// ###
/// %unsigned 1 STCSEL 0x0
/// ###
/// * DV-FR-CR
/// ###
/// # 0x00004 CFG1
/// %unsigned 32 STCINITL 0x0
/// ###
/// * DV-FR-CNR
/// ###
/// # 0x00008 CFG2
/// %unsigned 1 STCLOAD 0x0
/// ###
/// * write 1'b1 means load {STCINITH,STCINITL} to STC counter 1, write 1'b0 means load to STC counter 0
/// * DV-FCR
/// ###
/// %unsigned 3 PORTSEL 0x0
/// ###
/// * 3'b1xx: from TSOFifo0
/// * 3'b1xx: from TSOFifo1
/// * 3'b0b1b0: from TSI port {b1,b0}
/// * DV-FCR
/// ###
/// %unsigned 4 LATPHASE 0x0
/// ###
/// * DV-FR-CR ( TCQ from 0 to
/// * 0.8 tsClk cycle)
/// ###
/// %unsigned 1 SERIAL 0x0
/// ###
/// * 0: parallel mode 1: serial mode
/// * DV-FCR
/// ###
/// %unsigned 8 PACKSIZE 0xBB
/// ###
/// * packet size -1
/// * DV-FR-CNR(150-250)
/// ###
/// %unsigned 8 PIDOFFSET 0x2
/// ###
/// * pidoffset -1
/// * DV-FR-CNR(1-4)
/// ###
/// %% 7 # Stuffing bits...
/// # 0x0000C CFG3
/// %unsigned 8 PCROFFSET 0xC
/// ###
/// * pcr offset -1
/// * DV-FR-CNR(5-64)
/// ###
/// %unsigned 16 SYNCTHD 0x0
/// ###
/// * DV-FR-CNR(1-100 when SYNCOPT=auto)
/// ###
/// %unsigned 2 SYNCOPT 0x0
/// ###
/// * 2'b1x: auto
/// * 2'b00: no capture
/// * 2'b01: capture
/// * DV-FC
/// ###
/// %% 6 # Stuffing bits...
/// # 0x00010 CFG4
/// %unsigned 8 SYNCBYTE 0x47
/// %unsigned 1 USESYNCBYTE 0x1
/// %unsigned 1 MCARD 0x0
/// ###
/// * 1: enable mcard model for opencable
/// ###
/// %unsigned 1 BYPASS 0x0
/// ###
/// * 1: disable PID filtering, capture all the packets from the port
/// ###
/// %% 21 # Stuffing bits...
/// @ 0x00014 STS (R-)
/// %unsigned 16 SYNCCNT 0x0
/// %% 16 # Stuffing bits...
/// # 0x00018 STS1
/// %unsigned 32 TSCMD0 0x0
/// # 0x0001C STS2
/// %unsigned 32 TSCMD1 0x0
/// @ 0x00020 (P)
/// # 0x00020 PID
/// $PID PID REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 160B, bits: 942b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TSC
#define h_TSC (){}
#define RA_TSC_CFG 0x0000
#define BA_TSC_CFG_STCINITH 0x0000
#define B16TSC_CFG_STCINITH 0x0000
#define LSb32TSC_CFG_STCINITH 0
#define LSb16TSC_CFG_STCINITH 0
#define bTSC_CFG_STCINITH 31
#define MSK32TSC_CFG_STCINITH 0x7FFFFFFF
#define BA_TSC_CFG_STCSEL 0x0003
#define B16TSC_CFG_STCSEL 0x0002
#define LSb32TSC_CFG_STCSEL 31
#define LSb16TSC_CFG_STCSEL 15
#define bTSC_CFG_STCSEL 1
#define MSK32TSC_CFG_STCSEL 0x80000000
#define RA_TSC_CFG1 0x0004
#define BA_TSC_CFG_STCINITL 0x0004
#define B16TSC_CFG_STCINITL 0x0004
#define LSb32TSC_CFG_STCINITL 0
#define LSb16TSC_CFG_STCINITL 0
#define bTSC_CFG_STCINITL 32
#define MSK32TSC_CFG_STCINITL 0xFFFFFFFF
#define RA_TSC_CFG2 0x0008
#define BA_TSC_CFG_STCLOAD 0x0008
#define B16TSC_CFG_STCLOAD 0x0008
#define LSb32TSC_CFG_STCLOAD 0
#define LSb16TSC_CFG_STCLOAD 0
#define bTSC_CFG_STCLOAD 1
#define MSK32TSC_CFG_STCLOAD 0x00000001
#define BA_TSC_CFG_PORTSEL 0x0008
#define B16TSC_CFG_PORTSEL 0x0008
#define LSb32TSC_CFG_PORTSEL 1
#define LSb16TSC_CFG_PORTSEL 1
#define bTSC_CFG_PORTSEL 3
#define MSK32TSC_CFG_PORTSEL 0x0000000E
#define BA_TSC_CFG_LATPHASE 0x0008
#define B16TSC_CFG_LATPHASE 0x0008
#define LSb32TSC_CFG_LATPHASE 4
#define LSb16TSC_CFG_LATPHASE 4
#define bTSC_CFG_LATPHASE 4
#define MSK32TSC_CFG_LATPHASE 0x000000F0
#define BA_TSC_CFG_SERIAL 0x0009
#define B16TSC_CFG_SERIAL 0x0008
#define LSb32TSC_CFG_SERIAL 8
#define LSb16TSC_CFG_SERIAL 8
#define bTSC_CFG_SERIAL 1
#define MSK32TSC_CFG_SERIAL 0x00000100
#define BA_TSC_CFG_PACKSIZE 0x0009
#define B16TSC_CFG_PACKSIZE 0x0008
#define LSb32TSC_CFG_PACKSIZE 9
#define LSb16TSC_CFG_PACKSIZE 9
#define bTSC_CFG_PACKSIZE 8
#define MSK32TSC_CFG_PACKSIZE 0x0001FE00
#define BA_TSC_CFG_PIDOFFSET 0x000A
#define B16TSC_CFG_PIDOFFSET 0x000A
#define LSb32TSC_CFG_PIDOFFSET 17
#define LSb16TSC_CFG_PIDOFFSET 1
#define bTSC_CFG_PIDOFFSET 8
#define MSK32TSC_CFG_PIDOFFSET 0x01FE0000
#define RA_TSC_CFG3 0x000C
#define BA_TSC_CFG_PCROFFSET 0x000C
#define B16TSC_CFG_PCROFFSET 0x000C
#define LSb32TSC_CFG_PCROFFSET 0
#define LSb16TSC_CFG_PCROFFSET 0
#define bTSC_CFG_PCROFFSET 8
#define MSK32TSC_CFG_PCROFFSET 0x000000FF
#define BA_TSC_CFG_SYNCTHD 0x000D
#define B16TSC_CFG_SYNCTHD 0x000C
#define LSb32TSC_CFG_SYNCTHD 8
#define LSb16TSC_CFG_SYNCTHD 8
#define bTSC_CFG_SYNCTHD 16
#define MSK32TSC_CFG_SYNCTHD 0x00FFFF00
#define BA_TSC_CFG_SYNCOPT 0x000F
#define B16TSC_CFG_SYNCOPT 0x000E
#define LSb32TSC_CFG_SYNCOPT 24
#define LSb16TSC_CFG_SYNCOPT 8
#define bTSC_CFG_SYNCOPT 2
#define MSK32TSC_CFG_SYNCOPT 0x03000000
#define RA_TSC_CFG4 0x0010
#define BA_TSC_CFG_SYNCBYTE 0x0010
#define B16TSC_CFG_SYNCBYTE 0x0010
#define LSb32TSC_CFG_SYNCBYTE 0
#define LSb16TSC_CFG_SYNCBYTE 0
#define bTSC_CFG_SYNCBYTE 8
#define MSK32TSC_CFG_SYNCBYTE 0x000000FF
#define BA_TSC_CFG_USESYNCBYTE 0x0011
#define B16TSC_CFG_USESYNCBYTE 0x0010
#define LSb32TSC_CFG_USESYNCBYTE 8
#define LSb16TSC_CFG_USESYNCBYTE 8
#define bTSC_CFG_USESYNCBYTE 1
#define MSK32TSC_CFG_USESYNCBYTE 0x00000100
#define BA_TSC_CFG_MCARD 0x0011
#define B16TSC_CFG_MCARD 0x0010
#define LSb32TSC_CFG_MCARD 9
#define LSb16TSC_CFG_MCARD 9
#define bTSC_CFG_MCARD 1
#define MSK32TSC_CFG_MCARD 0x00000200
#define BA_TSC_CFG_BYPASS 0x0011
#define B16TSC_CFG_BYPASS 0x0010
#define LSb32TSC_CFG_BYPASS 10
#define LSb16TSC_CFG_BYPASS 10
#define bTSC_CFG_BYPASS 1
#define MSK32TSC_CFG_BYPASS 0x00000400
///////////////////////////////////////////////////////////
#define RA_TSC_STS 0x0014
#define BA_TSC_STS_SYNCCNT 0x0014
#define B16TSC_STS_SYNCCNT 0x0014
#define LSb32TSC_STS_SYNCCNT 0
#define LSb16TSC_STS_SYNCCNT 0
#define bTSC_STS_SYNCCNT 16
#define MSK32TSC_STS_SYNCCNT 0x0000FFFF
#define RA_TSC_STS1 0x0018
#define BA_TSC_STS_TSCMD0 0x0018
#define B16TSC_STS_TSCMD0 0x0018
#define LSb32TSC_STS_TSCMD0 0
#define LSb16TSC_STS_TSCMD0 0
#define bTSC_STS_TSCMD0 32
#define MSK32TSC_STS_TSCMD0 0xFFFFFFFF
#define RA_TSC_STS2 0x001C
#define BA_TSC_STS_TSCMD1 0x001C
#define B16TSC_STS_TSCMD1 0x001C
#define LSb32TSC_STS_TSCMD1 0
#define LSb16TSC_STS_TSCMD1 0
#define bTSC_STS_TSCMD1 32
#define MSK32TSC_STS_TSCMD1 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TSC_PID 0x0020
///////////////////////////////////////////////////////////
typedef struct SIE_TSC {
///////////////////////////////////////////////////////////
#define GET32TSC_CFG_STCINITH(r32) _BFGET_(r32,30, 0)
#define SET32TSC_CFG_STCINITH(r32,v) _BFSET_(r32,30, 0,v)
#define GET32TSC_CFG_STCSEL(r32) _BFGET_(r32,31,31)
#define SET32TSC_CFG_STCSEL(r32,v) _BFSET_(r32,31,31,v)
#define GET16TSC_CFG_STCSEL(r16) _BFGET_(r16,15,15)
#define SET16TSC_CFG_STCSEL(r16,v) _BFSET_(r16,15,15,v)
#define w32TSC_CFG {\
UNSG32 uCFG_STCINITH : 31;\
UNSG32 uCFG_STCSEL : 1;\
}
union { UNSG32 u32TSC_CFG;
struct w32TSC_CFG;
};
#define GET32TSC_CFG_STCINITL(r32) _BFGET_(r32,31, 0)
#define SET32TSC_CFG_STCINITL(r32,v) _BFSET_(r32,31, 0,v)
#define w32TSC_CFG1 {\
UNSG32 uCFG_STCINITL : 32;\
}
union { UNSG32 u32TSC_CFG1;
struct w32TSC_CFG1;
};
#define GET32TSC_CFG_STCLOAD(r32) _BFGET_(r32, 0, 0)
#define SET32TSC_CFG_STCLOAD(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TSC_CFG_STCLOAD(r16) _BFGET_(r16, 0, 0)
#define SET16TSC_CFG_STCLOAD(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TSC_CFG_PORTSEL(r32) _BFGET_(r32, 3, 1)
#define SET32TSC_CFG_PORTSEL(r32,v) _BFSET_(r32, 3, 1,v)
#define GET16TSC_CFG_PORTSEL(r16) _BFGET_(r16, 3, 1)
#define SET16TSC_CFG_PORTSEL(r16,v) _BFSET_(r16, 3, 1,v)
#define GET32TSC_CFG_LATPHASE(r32) _BFGET_(r32, 7, 4)
#define SET32TSC_CFG_LATPHASE(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16TSC_CFG_LATPHASE(r16) _BFGET_(r16, 7, 4)
#define SET16TSC_CFG_LATPHASE(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32TSC_CFG_SERIAL(r32) _BFGET_(r32, 8, 8)
#define SET32TSC_CFG_SERIAL(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16TSC_CFG_SERIAL(r16) _BFGET_(r16, 8, 8)
#define SET16TSC_CFG_SERIAL(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32TSC_CFG_PACKSIZE(r32) _BFGET_(r32,16, 9)
#define SET32TSC_CFG_PACKSIZE(r32,v) _BFSET_(r32,16, 9,v)
#define GET32TSC_CFG_PIDOFFSET(r32) _BFGET_(r32,24,17)
#define SET32TSC_CFG_PIDOFFSET(r32,v) _BFSET_(r32,24,17,v)
#define GET16TSC_CFG_PIDOFFSET(r16) _BFGET_(r16, 8, 1)
#define SET16TSC_CFG_PIDOFFSET(r16,v) _BFSET_(r16, 8, 1,v)
#define w32TSC_CFG2 {\
UNSG32 uCFG_STCLOAD : 1;\
UNSG32 uCFG_PORTSEL : 3;\
UNSG32 uCFG_LATPHASE : 4;\
UNSG32 uCFG_SERIAL : 1;\
UNSG32 uCFG_PACKSIZE : 8;\
UNSG32 uCFG_PIDOFFSET : 8;\
UNSG32 RSVDx8_b25 : 7;\
}
union { UNSG32 u32TSC_CFG2;
struct w32TSC_CFG2;
};
#define GET32TSC_CFG_PCROFFSET(r32) _BFGET_(r32, 7, 0)
#define SET32TSC_CFG_PCROFFSET(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16TSC_CFG_PCROFFSET(r16) _BFGET_(r16, 7, 0)
#define SET16TSC_CFG_PCROFFSET(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32TSC_CFG_SYNCTHD(r32) _BFGET_(r32,23, 8)
#define SET32TSC_CFG_SYNCTHD(r32,v) _BFSET_(r32,23, 8,v)
#define GET32TSC_CFG_SYNCOPT(r32) _BFGET_(r32,25,24)
#define SET32TSC_CFG_SYNCOPT(r32,v) _BFSET_(r32,25,24,v)
#define GET16TSC_CFG_SYNCOPT(r16) _BFGET_(r16, 9, 8)
#define SET16TSC_CFG_SYNCOPT(r16,v) _BFSET_(r16, 9, 8,v)
#define w32TSC_CFG3 {\
UNSG32 uCFG_PCROFFSET : 8;\
UNSG32 uCFG_SYNCTHD : 16;\
UNSG32 uCFG_SYNCOPT : 2;\
UNSG32 RSVDxC_b26 : 6;\
}
union { UNSG32 u32TSC_CFG3;
struct w32TSC_CFG3;
};
#define GET32TSC_CFG_SYNCBYTE(r32) _BFGET_(r32, 7, 0)
#define SET32TSC_CFG_SYNCBYTE(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16TSC_CFG_SYNCBYTE(r16) _BFGET_(r16, 7, 0)
#define SET16TSC_CFG_SYNCBYTE(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32TSC_CFG_USESYNCBYTE(r32) _BFGET_(r32, 8, 8)
#define SET32TSC_CFG_USESYNCBYTE(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16TSC_CFG_USESYNCBYTE(r16) _BFGET_(r16, 8, 8)
#define SET16TSC_CFG_USESYNCBYTE(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32TSC_CFG_MCARD(r32) _BFGET_(r32, 9, 9)
#define SET32TSC_CFG_MCARD(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16TSC_CFG_MCARD(r16) _BFGET_(r16, 9, 9)
#define SET16TSC_CFG_MCARD(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32TSC_CFG_BYPASS(r32) _BFGET_(r32,10,10)
#define SET32TSC_CFG_BYPASS(r32,v) _BFSET_(r32,10,10,v)
#define GET16TSC_CFG_BYPASS(r16) _BFGET_(r16,10,10)
#define SET16TSC_CFG_BYPASS(r16,v) _BFSET_(r16,10,10,v)
#define w32TSC_CFG4 {\
UNSG32 uCFG_SYNCBYTE : 8;\
UNSG32 uCFG_USESYNCBYTE : 1;\
UNSG32 uCFG_MCARD : 1;\
UNSG32 uCFG_BYPASS : 1;\
UNSG32 RSVDx10_b11 : 21;\
}
union { UNSG32 u32TSC_CFG4;
struct w32TSC_CFG4;
};
///////////////////////////////////////////////////////////
#define GET32TSC_STS_SYNCCNT(r32) _BFGET_(r32,15, 0)
#define SET32TSC_STS_SYNCCNT(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TSC_STS_SYNCCNT(r16) _BFGET_(r16,15, 0)
#define SET16TSC_STS_SYNCCNT(r16,v) _BFSET_(r16,15, 0,v)
#define w32TSC_STS {\
UNSG32 uSTS_SYNCCNT : 16;\
UNSG32 RSVDx14_b16 : 16;\
}
union { UNSG32 u32TSC_STS;
struct w32TSC_STS;
};
#define GET32TSC_STS_TSCMD0(r32) _BFGET_(r32,31, 0)
#define SET32TSC_STS_TSCMD0(r32,v) _BFSET_(r32,31, 0,v)
#define w32TSC_STS1 {\
UNSG32 uSTS_TSCMD0 : 32;\
}
union { UNSG32 u32TSC_STS1;
struct w32TSC_STS1;
};
#define GET32TSC_STS_TSCMD1(r32) _BFGET_(r32,31, 0)
#define SET32TSC_STS_TSCMD1(r32,v) _BFSET_(r32,31, 0,v)
#define w32TSC_STS2 {\
UNSG32 uSTS_TSCMD1 : 32;\
}
union { UNSG32 u32TSC_STS2;
struct w32TSC_STS2;
};
///////////////////////////////////////////////////////////
SIE_PID ie_PID;
///////////////////////////////////////////////////////////
} SIE_TSC;
typedef union T32TSC_CFG
{ UNSG32 u32;
struct w32TSC_CFG;
} T32TSC_CFG;
typedef union T32TSC_CFG1
{ UNSG32 u32;
struct w32TSC_CFG1;
} T32TSC_CFG1;
typedef union T32TSC_CFG2
{ UNSG32 u32;
struct w32TSC_CFG2;
} T32TSC_CFG2;
typedef union T32TSC_CFG3
{ UNSG32 u32;
struct w32TSC_CFG3;
} T32TSC_CFG3;
typedef union T32TSC_CFG4
{ UNSG32 u32;
struct w32TSC_CFG4;
} T32TSC_CFG4;
typedef union T32TSC_STS
{ UNSG32 u32;
struct w32TSC_STS;
} T32TSC_STS;
typedef union T32TSC_STS1
{ UNSG32 u32;
struct w32TSC_STS1;
} T32TSC_STS1;
typedef union T32TSC_STS2
{ UNSG32 u32;
struct w32TSC_STS2;
} T32TSC_STS2;
///////////////////////////////////////////////////////////
typedef union TTSC_CFG
{ UNSG32 u32[5];
struct {
struct w32TSC_CFG;
struct w32TSC_CFG1;
struct w32TSC_CFG2;
struct w32TSC_CFG3;
struct w32TSC_CFG4;
};
} TTSC_CFG;
typedef union TTSC_STS
{ UNSG32 u32[3];
struct {
struct w32TSC_STS;
struct w32TSC_STS1;
struct w32TSC_STS2;
};
} TTSC_STS;
///////////////////////////////////////////////////////////
SIGN32 TSC_drvrd(SIE_TSC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TSC_drvwr(SIE_TSC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TSC_reset(SIE_TSC *p);
SIGN32 TSC_cmp (SIE_TSC *p, SIE_TSC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TSC_check(p,pie,pfx,hLOG) TSC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TSC_print(p, pfx,hLOG) TSC_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TSC
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FIFOMAP (4,4)
/// # # ----------------------------------------------------------
/// : CHN_TSP0 0x0
/// : CHN_TSP1 0x1
/// : CHN_TSP2 0x2
/// : CHN_TSP3 0x3
/// : CHN_TSCMD 0x4
/// : CHN_DS0 0x5
/// : CHN_SFCMDQ 0x6
/// : CHN_SFEVENT 0x7
/// : CHN_TSO0 0x8
/// : TSCP0 0x0
/// : TSCP0SIZE 0x40
/// : TSCP1 0x40
/// : TSCP1SIZE 0x40
/// : TSCP2 0x80
/// : TSCP2SIZE 0x40
/// : TSCP3 0xC0
/// : TSCP3SIZE 0x40
/// : TSCMD 0x100
/// : TSCMDSIZE 0x10
/// : DS 0x110
/// : DSSIZE 0x10
/// : SFEVENTQ 0x1A0
/// : SFEVENTQSIZE 0x20
/// : SFCMDQ 0x1E0
/// : SFCMDQSIZE 0x10
/// : TSO0 0x1F0
/// : TSO0SIZE 0x10
/// @ 0x00000 fifomap (R-)
/// %unsigned 32 dummy 0x0
/// ###
/// * TSO0
/// * TSO0SIZE
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FIFOMAP
#define h_FIFOMAP (){}
#define FIFOMAP_CHN_TSP0 0x0
#define FIFOMAP_CHN_TSP1 0x1
#define FIFOMAP_CHN_TSP2 0x2
#define FIFOMAP_CHN_TSP3 0x3
#define FIFOMAP_CHN_TSCMD 0x4
#define FIFOMAP_CHN_DS0 0x5
#define FIFOMAP_CHN_SFCMDQ 0x6
#define FIFOMAP_CHN_SFEVENT 0x7
#define FIFOMAP_CHN_TSO0 0x8
#define FIFOMAP_TSCP0 0x0
#define FIFOMAP_TSCP0SIZE 0x40
#define FIFOMAP_TSCP1 0x40
#define FIFOMAP_TSCP1SIZE 0x40
#define FIFOMAP_TSCP2 0x80
#define FIFOMAP_TSCP2SIZE 0x40
#define FIFOMAP_TSCP3 0xC0
#define FIFOMAP_TSCP3SIZE 0x40
#define FIFOMAP_TSCMD 0x100
#define FIFOMAP_TSCMDSIZE 0x10
#define FIFOMAP_DS 0x110
#define FIFOMAP_DSSIZE 0x10
#define FIFOMAP_SFEVENTQ 0x1A0
#define FIFOMAP_SFEVENTQSIZE 0x20
#define FIFOMAP_SFCMDQ 0x1E0
#define FIFOMAP_SFCMDQSIZE 0x10
#define FIFOMAP_TSO0 0x1F0
#define FIFOMAP_TSO0SIZE 0x10
///////////////////////////////////////////////////////////
#define RA_FIFOMAP_fifomap 0x0000
#define BA_FIFOMAP_fifomap_dummy 0x0000
#define B16FIFOMAP_fifomap_dummy 0x0000
#define LSb32FIFOMAP_fifomap_dummy 0
#define LSb16FIFOMAP_fifomap_dummy 0
#define bFIFOMAP_fifomap_dummy 32
#define MSK32FIFOMAP_fifomap_dummy 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FIFOMAP {
///////////////////////////////////////////////////////////
#define GET32FIFOMAP_fifomap_dummy(r32) _BFGET_(r32,31, 0)
#define SET32FIFOMAP_fifomap_dummy(r32,v) _BFSET_(r32,31, 0,v)
#define w32FIFOMAP_fifomap {\
UNSG32 ufifomap_dummy : 32;\
}
union { UNSG32 u32FIFOMAP_fifomap;
struct w32FIFOMAP_fifomap;
};
///////////////////////////////////////////////////////////
} SIE_FIFOMAP;
typedef union T32FIFOMAP_fifomap
{ UNSG32 u32;
struct w32FIFOMAP_fifomap;
} T32FIFOMAP_fifomap;
///////////////////////////////////////////////////////////
typedef union TFIFOMAP_fifomap
{ UNSG32 u32[1];
struct {
struct w32FIFOMAP_fifomap;
};
} TFIFOMAP_fifomap;
///////////////////////////////////////////////////////////
SIGN32 FIFOMAP_drvrd(SIE_FIFOMAP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FIFOMAP_drvwr(SIE_FIFOMAP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FIFOMAP_reset(SIE_FIFOMAP *p);
SIGN32 FIFOMAP_cmp (SIE_FIFOMAP *p, SIE_FIFOMAP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FIFOMAP_check(p,pie,pfx,hLOG) FIFOMAP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FIFOMAP_print(p, pfx,hLOG) FIFOMAP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FIFOMAP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE SFCONTROL biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 enable 0x0
/// ###
/// * DV-FC
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00004 (R-)
/// %unsigned 32 shot0 0x0
/// %unsigned 32 shot1 0x0
/// %unsigned 32 shot2 0x0
/// %unsigned 32 shot3 0x0
/// @ 0x00014 (RW-)
/// %unsigned 7 clearShot 0x0
/// ###
/// * write to this register will clear the specified shot
/// * DV-FR-CNR (0-128, need all shots be set first)
/// ###
/// %% 25 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 24B, bits: 136b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SFCONTROL
#define h_SFCONTROL (){}
#define BA_SFCONTROL_enable 0x0000
#define B16SFCONTROL_enable 0x0000
#define LSb32SFCONTROL_enable 0
#define LSb16SFCONTROL_enable 0
#define bSFCONTROL_enable 1
#define MSK32SFCONTROL_enable 0x00000001
///////////////////////////////////////////////////////////
#define BA_SFCONTROL_shot0 0x0004
#define B16SFCONTROL_shot0 0x0004
#define LSb32SFCONTROL_shot0 0
#define LSb16SFCONTROL_shot0 0
#define bSFCONTROL_shot0 32
#define MSK32SFCONTROL_shot0 0xFFFFFFFF
#define BA_SFCONTROL_shot1 0x0008
#define B16SFCONTROL_shot1 0x0008
#define LSb32SFCONTROL_shot1 0
#define LSb16SFCONTROL_shot1 0
#define bSFCONTROL_shot1 32
#define MSK32SFCONTROL_shot1 0xFFFFFFFF
#define BA_SFCONTROL_shot2 0x000C
#define B16SFCONTROL_shot2 0x000C
#define LSb32SFCONTROL_shot2 0
#define LSb16SFCONTROL_shot2 0
#define bSFCONTROL_shot2 32
#define MSK32SFCONTROL_shot2 0xFFFFFFFF
#define BA_SFCONTROL_shot3 0x0010
#define B16SFCONTROL_shot3 0x0010
#define LSb32SFCONTROL_shot3 0
#define LSb16SFCONTROL_shot3 0
#define bSFCONTROL_shot3 32
#define MSK32SFCONTROL_shot3 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_SFCONTROL_clearShot 0x0014
#define B16SFCONTROL_clearShot 0x0014
#define LSb32SFCONTROL_clearShot 0
#define LSb16SFCONTROL_clearShot 0
#define bSFCONTROL_clearShot 7
#define MSK32SFCONTROL_clearShot 0x0000007F
///////////////////////////////////////////////////////////
typedef struct SIE_SFCONTROL {
///////////////////////////////////////////////////////////
#define GET32SFCONTROL_enable(r32) _BFGET_(r32, 0, 0)
#define SET32SFCONTROL_enable(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SFCONTROL_enable(r16) _BFGET_(r16, 0, 0)
#define SET16SFCONTROL_enable(r16,v) _BFSET_(r16, 0, 0,v)
UNSG32 u_enable : 1;
UNSG32 RSVDx0_b1 : 31;
///////////////////////////////////////////////////////////
#define GET32SFCONTROL_shot0(r32) _BFGET_(r32,31, 0)
#define SET32SFCONTROL_shot0(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_shot0 : 32;
///////////////////////////////////////////////////////////
#define GET32SFCONTROL_shot1(r32) _BFGET_(r32,31, 0)
#define SET32SFCONTROL_shot1(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_shot1 : 32;
///////////////////////////////////////////////////////////
#define GET32SFCONTROL_shot2(r32) _BFGET_(r32,31, 0)
#define SET32SFCONTROL_shot2(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_shot2 : 32;
///////////////////////////////////////////////////////////
#define GET32SFCONTROL_shot3(r32) _BFGET_(r32,31, 0)
#define SET32SFCONTROL_shot3(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_shot3 : 32;
///////////////////////////////////////////////////////////
#define GET32SFCONTROL_clearShot(r32) _BFGET_(r32, 6, 0)
#define SET32SFCONTROL_clearShot(r32,v) _BFSET_(r32, 6, 0,v)
#define GET16SFCONTROL_clearShot(r16) _BFGET_(r16, 6, 0)
#define SET16SFCONTROL_clearShot(r16,v) _BFSET_(r16, 6, 0,v)
UNSG32 u_clearShot : 7;
UNSG32 RSVDx14_b7 : 25;
///////////////////////////////////////////////////////////
} SIE_SFCONTROL;
///////////////////////////////////////////////////////////
SIGN32 SFCONTROL_drvrd(SIE_SFCONTROL *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SFCONTROL_drvwr(SIE_SFCONTROL *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SFCONTROL_reset(SIE_SFCONTROL *p);
SIGN32 SFCONTROL_cmp (SIE_SFCONTROL *p, SIE_SFCONTROL *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SFCONTROL_check(p,pie,pfx,hLOG) SFCONTROL_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SFCONTROL_print(p, pfx,hLOG) SFCONTROL_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SFCONTROL
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FLTRDESC (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 HEADER (P)
/// %unsigned 2 ENB 0x0
/// ###
/// * 2'b00: disable
/// * 2'b01: match PID only
/// * 2'b10: enable always
/// * 2'b11: enable 1 shot
/// * DV-FC
/// ###
/// %unsigned 16 EXTPID 0x0
/// ###
/// * {TSID,PID} to match
/// * DV-FR-CNR(PID from 0 to 0x1fff, TSID from 0,1,2,3}
/// ###
/// %unsigned 14 reserved 0x0
/// ###
/// * data for Figo usage
/// * sectf will append these data into TSCmd
/// * DV-FR-CNR
/// ###
/// @ 0x00004 RANGE (P)
/// %unsigned 1 RAND0 0x0
/// ###
/// * 0: range filter0 will be AND with other results
/// * 1: range filter0 will be OR with other results
/// * DV-FR-CR ( individually set RANDi bit 0/1 for all range filters)
/// * 0x0
/// ###
/// %unsigned 3 RLEN0 0x0
/// ###
/// * Length of range filter 0, 0x0 means filter is disabled, 0x1 means 2 bits,... 0x7 means 8 bits
/// * DV-FR-CR ( individually random from 0 to 7 for all range filters)
/// ###
/// %unsigned 1 RAND1 0x0
/// %unsigned 3 RLEN1 0x0
/// %unsigned 1 RAND2 0x0
/// %unsigned 3 RLEN2 0x0
/// %unsigned 1 RAND3 0x0
/// %unsigned 3 RLEN3 0x0
/// %unsigned 1 RAND4 0x0
/// %unsigned 3 RLEN4 0x0
/// %unsigned 1 RAND5 0x0
/// %unsigned 3 RLEN5 0x0
/// %unsigned 1 RAND6 0x0
/// %unsigned 3 RLEN6 0x0
/// %unsigned 1 RAND7 0x0
/// %unsigned 3 RLEN7 0x0
/// # 0x00008 RANGE1
/// %unsigned 1 RNEG0 0x0
/// ###
/// * 1: range filter 0 result will be negated
/// * DV-FR-CR (0-1 individually for all range filters)
/// ###
/// %unsigned 7 ROFF0 0x0
/// ###
/// * offset of the range filter
/// * DV-R-CR ( 0 – 126, ROFF0, ... ROFFi, ... ROFF7 must in incremental and not overlap manner)
/// ###
/// %unsigned 1 RNEG1 0x0
/// %unsigned 7 ROFF1 0x0
/// %unsigned 1 RNEG2 0x0
/// %unsigned 7 ROFF2 0x0
/// %unsigned 1 RNEG3 0x0
/// %unsigned 7 ROFF3 0x0
/// # 0x0000C RANGE2
/// %unsigned 1 RNEG4 0x0
/// %unsigned 7 ROFF4 0x0
/// %unsigned 1 RNEG5 0x0
/// %unsigned 7 ROFF5 0x0
/// %unsigned 1 RNEG6 0x0
/// %unsigned 7 ROFF6 0x0
/// %unsigned 1 RNEG7 0x0
/// %unsigned 7 ROFF7 0x0
/// @ 0x00010 COFF (P)
/// %unsigned 32 COFF0 0x0
/// # 0x00014 COFF1
/// %unsigned 32 COFF1 0x0
/// # 0x00018 COFF2
/// %unsigned 32 COFF2 0x0
/// # 0x0001C COFF3
/// %unsigned 32 COFF3 0x0
/// ###
/// * if related mask bit is 0, the coeff bits is the value to be matched, if mask bit is 1, the coeff bits denotes the MAX for range comparison
/// * DV-R-CNR (for bits in range filter, MIN+1 to 1<<RLEN0, random for all 8 individual range filters, for bits not in range filter, free random)
/// ###
/// @ 0x00020 NEG (P)
/// %unsigned 32 NEG0 0x0
/// # 0x00024 NEG1
/// %unsigned 32 NEG1 0x0
/// # 0x00028 NEG2
/// %unsigned 32 NEG2 0x0
/// # 0x0002C NEG3
/// %unsigned 32 NEG3 0x0
/// ###
/// * if related mask bit is 0, the neg bits is to be XORed with the packet bits, if mask bit is 1, the NEG bits denotes the MIN for range comparison
/// * DV-FR-CNR( for bits in range filter: 0 to 1<<RLEN0-1, random for all 8 individual range filters, for bits not in range filter, free random)
/// * 0x0
/// ###
/// @ 0x00030 MASK (P)
/// %unsigned 32 MASK0 0x0
/// # 0x00034 MASK1
/// %unsigned 32 MASK1 0x0
/// # 0x00038 MASK2
/// %unsigned 32 MASK2 0x0
/// # 0x0003C MASK3
/// %unsigned 32 MASK3 0x0
/// ###
/// * indicates if the related bit needs to be compared with the coeff
/// * DV-R-CNR( for all bits not included in range filter, free random all individual mask bits)
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 512b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FLTRDESC
#define h_FLTRDESC (){}
#define RA_FLTRDESC_HEADER 0x0000
#define BA_FLTRDESC_HEADER_ENB 0x0000
#define B16FLTRDESC_HEADER_ENB 0x0000
#define LSb32FLTRDESC_HEADER_ENB 0
#define LSb16FLTRDESC_HEADER_ENB 0
#define bFLTRDESC_HEADER_ENB 2
#define MSK32FLTRDESC_HEADER_ENB 0x00000003
#define BA_FLTRDESC_HEADER_EXTPID 0x0000
#define B16FLTRDESC_HEADER_EXTPID 0x0000
#define LSb32FLTRDESC_HEADER_EXTPID 2
#define LSb16FLTRDESC_HEADER_EXTPID 2
#define bFLTRDESC_HEADER_EXTPID 16
#define MSK32FLTRDESC_HEADER_EXTPID 0x0003FFFC
#define BA_FLTRDESC_HEADER_reserved 0x0002
#define B16FLTRDESC_HEADER_reserved 0x0002
#define LSb32FLTRDESC_HEADER_reserved 18
#define LSb16FLTRDESC_HEADER_reserved 2
#define bFLTRDESC_HEADER_reserved 14
#define MSK32FLTRDESC_HEADER_reserved 0xFFFC0000
///////////////////////////////////////////////////////////
#define RA_FLTRDESC_RANGE 0x0004
#define BA_FLTRDESC_RANGE_RAND0 0x0004
#define B16FLTRDESC_RANGE_RAND0 0x0004
#define LSb32FLTRDESC_RANGE_RAND0 0
#define LSb16FLTRDESC_RANGE_RAND0 0
#define bFLTRDESC_RANGE_RAND0 1
#define MSK32FLTRDESC_RANGE_RAND0 0x00000001
#define BA_FLTRDESC_RANGE_RLEN0 0x0004
#define B16FLTRDESC_RANGE_RLEN0 0x0004
#define LSb32FLTRDESC_RANGE_RLEN0 1
#define LSb16FLTRDESC_RANGE_RLEN0 1
#define bFLTRDESC_RANGE_RLEN0 3
#define MSK32FLTRDESC_RANGE_RLEN0 0x0000000E
#define BA_FLTRDESC_RANGE_RAND1 0x0004
#define B16FLTRDESC_RANGE_RAND1 0x0004
#define LSb32FLTRDESC_RANGE_RAND1 4
#define LSb16FLTRDESC_RANGE_RAND1 4
#define bFLTRDESC_RANGE_RAND1 1
#define MSK32FLTRDESC_RANGE_RAND1 0x00000010
#define BA_FLTRDESC_RANGE_RLEN1 0x0004
#define B16FLTRDESC_RANGE_RLEN1 0x0004
#define LSb32FLTRDESC_RANGE_RLEN1 5
#define LSb16FLTRDESC_RANGE_RLEN1 5
#define bFLTRDESC_RANGE_RLEN1 3
#define MSK32FLTRDESC_RANGE_RLEN1 0x000000E0
#define BA_FLTRDESC_RANGE_RAND2 0x0005
#define B16FLTRDESC_RANGE_RAND2 0x0004
#define LSb32FLTRDESC_RANGE_RAND2 8
#define LSb16FLTRDESC_RANGE_RAND2 8
#define bFLTRDESC_RANGE_RAND2 1
#define MSK32FLTRDESC_RANGE_RAND2 0x00000100
#define BA_FLTRDESC_RANGE_RLEN2 0x0005
#define B16FLTRDESC_RANGE_RLEN2 0x0004
#define LSb32FLTRDESC_RANGE_RLEN2 9
#define LSb16FLTRDESC_RANGE_RLEN2 9
#define bFLTRDESC_RANGE_RLEN2 3
#define MSK32FLTRDESC_RANGE_RLEN2 0x00000E00
#define BA_FLTRDESC_RANGE_RAND3 0x0005
#define B16FLTRDESC_RANGE_RAND3 0x0004
#define LSb32FLTRDESC_RANGE_RAND3 12
#define LSb16FLTRDESC_RANGE_RAND3 12
#define bFLTRDESC_RANGE_RAND3 1
#define MSK32FLTRDESC_RANGE_RAND3 0x00001000
#define BA_FLTRDESC_RANGE_RLEN3 0x0005
#define B16FLTRDESC_RANGE_RLEN3 0x0004
#define LSb32FLTRDESC_RANGE_RLEN3 13
#define LSb16FLTRDESC_RANGE_RLEN3 13
#define bFLTRDESC_RANGE_RLEN3 3
#define MSK32FLTRDESC_RANGE_RLEN3 0x0000E000
#define BA_FLTRDESC_RANGE_RAND4 0x0006
#define B16FLTRDESC_RANGE_RAND4 0x0006
#define LSb32FLTRDESC_RANGE_RAND4 16
#define LSb16FLTRDESC_RANGE_RAND4 0
#define bFLTRDESC_RANGE_RAND4 1
#define MSK32FLTRDESC_RANGE_RAND4 0x00010000
#define BA_FLTRDESC_RANGE_RLEN4 0x0006
#define B16FLTRDESC_RANGE_RLEN4 0x0006
#define LSb32FLTRDESC_RANGE_RLEN4 17
#define LSb16FLTRDESC_RANGE_RLEN4 1
#define bFLTRDESC_RANGE_RLEN4 3
#define MSK32FLTRDESC_RANGE_RLEN4 0x000E0000
#define BA_FLTRDESC_RANGE_RAND5 0x0006
#define B16FLTRDESC_RANGE_RAND5 0x0006
#define LSb32FLTRDESC_RANGE_RAND5 20
#define LSb16FLTRDESC_RANGE_RAND5 4
#define bFLTRDESC_RANGE_RAND5 1
#define MSK32FLTRDESC_RANGE_RAND5 0x00100000
#define BA_FLTRDESC_RANGE_RLEN5 0x0006
#define B16FLTRDESC_RANGE_RLEN5 0x0006
#define LSb32FLTRDESC_RANGE_RLEN5 21
#define LSb16FLTRDESC_RANGE_RLEN5 5
#define bFLTRDESC_RANGE_RLEN5 3
#define MSK32FLTRDESC_RANGE_RLEN5 0x00E00000
#define BA_FLTRDESC_RANGE_RAND6 0x0007
#define B16FLTRDESC_RANGE_RAND6 0x0006
#define LSb32FLTRDESC_RANGE_RAND6 24
#define LSb16FLTRDESC_RANGE_RAND6 8
#define bFLTRDESC_RANGE_RAND6 1
#define MSK32FLTRDESC_RANGE_RAND6 0x01000000
#define BA_FLTRDESC_RANGE_RLEN6 0x0007
#define B16FLTRDESC_RANGE_RLEN6 0x0006
#define LSb32FLTRDESC_RANGE_RLEN6 25
#define LSb16FLTRDESC_RANGE_RLEN6 9
#define bFLTRDESC_RANGE_RLEN6 3
#define MSK32FLTRDESC_RANGE_RLEN6 0x0E000000
#define BA_FLTRDESC_RANGE_RAND7 0x0007
#define B16FLTRDESC_RANGE_RAND7 0x0006
#define LSb32FLTRDESC_RANGE_RAND7 28
#define LSb16FLTRDESC_RANGE_RAND7 12
#define bFLTRDESC_RANGE_RAND7 1
#define MSK32FLTRDESC_RANGE_RAND7 0x10000000
#define BA_FLTRDESC_RANGE_RLEN7 0x0007
#define B16FLTRDESC_RANGE_RLEN7 0x0006
#define LSb32FLTRDESC_RANGE_RLEN7 29
#define LSb16FLTRDESC_RANGE_RLEN7 13
#define bFLTRDESC_RANGE_RLEN7 3
#define MSK32FLTRDESC_RANGE_RLEN7 0xE0000000
#define RA_FLTRDESC_RANGE1 0x0008
#define BA_FLTRDESC_RANGE_RNEG0 0x0008
#define B16FLTRDESC_RANGE_RNEG0 0x0008
#define LSb32FLTRDESC_RANGE_RNEG0 0
#define LSb16FLTRDESC_RANGE_RNEG0 0
#define bFLTRDESC_RANGE_RNEG0 1
#define MSK32FLTRDESC_RANGE_RNEG0 0x00000001
#define BA_FLTRDESC_RANGE_ROFF0 0x0008
#define B16FLTRDESC_RANGE_ROFF0 0x0008
#define LSb32FLTRDESC_RANGE_ROFF0 1
#define LSb16FLTRDESC_RANGE_ROFF0 1
#define bFLTRDESC_RANGE_ROFF0 7
#define MSK32FLTRDESC_RANGE_ROFF0 0x000000FE
#define BA_FLTRDESC_RANGE_RNEG1 0x0009
#define B16FLTRDESC_RANGE_RNEG1 0x0008
#define LSb32FLTRDESC_RANGE_RNEG1 8
#define LSb16FLTRDESC_RANGE_RNEG1 8
#define bFLTRDESC_RANGE_RNEG1 1
#define MSK32FLTRDESC_RANGE_RNEG1 0x00000100
#define BA_FLTRDESC_RANGE_ROFF1 0x0009
#define B16FLTRDESC_RANGE_ROFF1 0x0008
#define LSb32FLTRDESC_RANGE_ROFF1 9
#define LSb16FLTRDESC_RANGE_ROFF1 9
#define bFLTRDESC_RANGE_ROFF1 7
#define MSK32FLTRDESC_RANGE_ROFF1 0x0000FE00
#define BA_FLTRDESC_RANGE_RNEG2 0x000A
#define B16FLTRDESC_RANGE_RNEG2 0x000A
#define LSb32FLTRDESC_RANGE_RNEG2 16
#define LSb16FLTRDESC_RANGE_RNEG2 0
#define bFLTRDESC_RANGE_RNEG2 1
#define MSK32FLTRDESC_RANGE_RNEG2 0x00010000
#define BA_FLTRDESC_RANGE_ROFF2 0x000A
#define B16FLTRDESC_RANGE_ROFF2 0x000A
#define LSb32FLTRDESC_RANGE_ROFF2 17
#define LSb16FLTRDESC_RANGE_ROFF2 1
#define bFLTRDESC_RANGE_ROFF2 7
#define MSK32FLTRDESC_RANGE_ROFF2 0x00FE0000
#define BA_FLTRDESC_RANGE_RNEG3 0x000B
#define B16FLTRDESC_RANGE_RNEG3 0x000A
#define LSb32FLTRDESC_RANGE_RNEG3 24
#define LSb16FLTRDESC_RANGE_RNEG3 8
#define bFLTRDESC_RANGE_RNEG3 1
#define MSK32FLTRDESC_RANGE_RNEG3 0x01000000
#define BA_FLTRDESC_RANGE_ROFF3 0x000B
#define B16FLTRDESC_RANGE_ROFF3 0x000A
#define LSb32FLTRDESC_RANGE_ROFF3 25
#define LSb16FLTRDESC_RANGE_ROFF3 9
#define bFLTRDESC_RANGE_ROFF3 7
#define MSK32FLTRDESC_RANGE_ROFF3 0xFE000000
#define RA_FLTRDESC_RANGE2 0x000C
#define BA_FLTRDESC_RANGE_RNEG4 0x000C
#define B16FLTRDESC_RANGE_RNEG4 0x000C
#define LSb32FLTRDESC_RANGE_RNEG4 0
#define LSb16FLTRDESC_RANGE_RNEG4 0
#define bFLTRDESC_RANGE_RNEG4 1
#define MSK32FLTRDESC_RANGE_RNEG4 0x00000001
#define BA_FLTRDESC_RANGE_ROFF4 0x000C
#define B16FLTRDESC_RANGE_ROFF4 0x000C
#define LSb32FLTRDESC_RANGE_ROFF4 1
#define LSb16FLTRDESC_RANGE_ROFF4 1
#define bFLTRDESC_RANGE_ROFF4 7
#define MSK32FLTRDESC_RANGE_ROFF4 0x000000FE
#define BA_FLTRDESC_RANGE_RNEG5 0x000D
#define B16FLTRDESC_RANGE_RNEG5 0x000C
#define LSb32FLTRDESC_RANGE_RNEG5 8
#define LSb16FLTRDESC_RANGE_RNEG5 8
#define bFLTRDESC_RANGE_RNEG5 1
#define MSK32FLTRDESC_RANGE_RNEG5 0x00000100
#define BA_FLTRDESC_RANGE_ROFF5 0x000D
#define B16FLTRDESC_RANGE_ROFF5 0x000C
#define LSb32FLTRDESC_RANGE_ROFF5 9
#define LSb16FLTRDESC_RANGE_ROFF5 9
#define bFLTRDESC_RANGE_ROFF5 7
#define MSK32FLTRDESC_RANGE_ROFF5 0x0000FE00
#define BA_FLTRDESC_RANGE_RNEG6 0x000E
#define B16FLTRDESC_RANGE_RNEG6 0x000E
#define LSb32FLTRDESC_RANGE_RNEG6 16
#define LSb16FLTRDESC_RANGE_RNEG6 0
#define bFLTRDESC_RANGE_RNEG6 1
#define MSK32FLTRDESC_RANGE_RNEG6 0x00010000
#define BA_FLTRDESC_RANGE_ROFF6 0x000E
#define B16FLTRDESC_RANGE_ROFF6 0x000E
#define LSb32FLTRDESC_RANGE_ROFF6 17
#define LSb16FLTRDESC_RANGE_ROFF6 1
#define bFLTRDESC_RANGE_ROFF6 7
#define MSK32FLTRDESC_RANGE_ROFF6 0x00FE0000
#define BA_FLTRDESC_RANGE_RNEG7 0x000F
#define B16FLTRDESC_RANGE_RNEG7 0x000E
#define LSb32FLTRDESC_RANGE_RNEG7 24
#define LSb16FLTRDESC_RANGE_RNEG7 8
#define bFLTRDESC_RANGE_RNEG7 1
#define MSK32FLTRDESC_RANGE_RNEG7 0x01000000
#define BA_FLTRDESC_RANGE_ROFF7 0x000F
#define B16FLTRDESC_RANGE_ROFF7 0x000E
#define LSb32FLTRDESC_RANGE_ROFF7 25
#define LSb16FLTRDESC_RANGE_ROFF7 9
#define bFLTRDESC_RANGE_ROFF7 7
#define MSK32FLTRDESC_RANGE_ROFF7 0xFE000000
///////////////////////////////////////////////////////////
#define RA_FLTRDESC_COFF 0x0010
#define BA_FLTRDESC_COFF_COFF0 0x0010
#define B16FLTRDESC_COFF_COFF0 0x0010
#define LSb32FLTRDESC_COFF_COFF0 0
#define LSb16FLTRDESC_COFF_COFF0 0
#define bFLTRDESC_COFF_COFF0 32
#define MSK32FLTRDESC_COFF_COFF0 0xFFFFFFFF
#define RA_FLTRDESC_COFF1 0x0014
#define BA_FLTRDESC_COFF_COFF1 0x0014
#define B16FLTRDESC_COFF_COFF1 0x0014
#define LSb32FLTRDESC_COFF_COFF1 0
#define LSb16FLTRDESC_COFF_COFF1 0
#define bFLTRDESC_COFF_COFF1 32
#define MSK32FLTRDESC_COFF_COFF1 0xFFFFFFFF
#define RA_FLTRDESC_COFF2 0x0018
#define BA_FLTRDESC_COFF_COFF2 0x0018
#define B16FLTRDESC_COFF_COFF2 0x0018
#define LSb32FLTRDESC_COFF_COFF2 0
#define LSb16FLTRDESC_COFF_COFF2 0
#define bFLTRDESC_COFF_COFF2 32
#define MSK32FLTRDESC_COFF_COFF2 0xFFFFFFFF
#define RA_FLTRDESC_COFF3 0x001C
#define BA_FLTRDESC_COFF_COFF3 0x001C
#define B16FLTRDESC_COFF_COFF3 0x001C
#define LSb32FLTRDESC_COFF_COFF3 0
#define LSb16FLTRDESC_COFF_COFF3 0
#define bFLTRDESC_COFF_COFF3 32
#define MSK32FLTRDESC_COFF_COFF3 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_FLTRDESC_NEG 0x0020
#define BA_FLTRDESC_NEG_NEG0 0x0020
#define B16FLTRDESC_NEG_NEG0 0x0020
#define LSb32FLTRDESC_NEG_NEG0 0
#define LSb16FLTRDESC_NEG_NEG0 0
#define bFLTRDESC_NEG_NEG0 32
#define MSK32FLTRDESC_NEG_NEG0 0xFFFFFFFF
#define RA_FLTRDESC_NEG1 0x0024
#define BA_FLTRDESC_NEG_NEG1 0x0024
#define B16FLTRDESC_NEG_NEG1 0x0024
#define LSb32FLTRDESC_NEG_NEG1 0
#define LSb16FLTRDESC_NEG_NEG1 0
#define bFLTRDESC_NEG_NEG1 32
#define MSK32FLTRDESC_NEG_NEG1 0xFFFFFFFF
#define RA_FLTRDESC_NEG2 0x0028
#define BA_FLTRDESC_NEG_NEG2 0x0028
#define B16FLTRDESC_NEG_NEG2 0x0028
#define LSb32FLTRDESC_NEG_NEG2 0
#define LSb16FLTRDESC_NEG_NEG2 0
#define bFLTRDESC_NEG_NEG2 32
#define MSK32FLTRDESC_NEG_NEG2 0xFFFFFFFF
#define RA_FLTRDESC_NEG3 0x002C
#define BA_FLTRDESC_NEG_NEG3 0x002C
#define B16FLTRDESC_NEG_NEG3 0x002C
#define LSb32FLTRDESC_NEG_NEG3 0
#define LSb16FLTRDESC_NEG_NEG3 0
#define bFLTRDESC_NEG_NEG3 32
#define MSK32FLTRDESC_NEG_NEG3 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_FLTRDESC_MASK 0x0030
#define BA_FLTRDESC_MASK_MASK0 0x0030
#define B16FLTRDESC_MASK_MASK0 0x0030
#define LSb32FLTRDESC_MASK_MASK0 0
#define LSb16FLTRDESC_MASK_MASK0 0
#define bFLTRDESC_MASK_MASK0 32
#define MSK32FLTRDESC_MASK_MASK0 0xFFFFFFFF
#define RA_FLTRDESC_MASK1 0x0034
#define BA_FLTRDESC_MASK_MASK1 0x0034
#define B16FLTRDESC_MASK_MASK1 0x0034
#define LSb32FLTRDESC_MASK_MASK1 0
#define LSb16FLTRDESC_MASK_MASK1 0
#define bFLTRDESC_MASK_MASK1 32
#define MSK32FLTRDESC_MASK_MASK1 0xFFFFFFFF
#define RA_FLTRDESC_MASK2 0x0038
#define BA_FLTRDESC_MASK_MASK2 0x0038
#define B16FLTRDESC_MASK_MASK2 0x0038
#define LSb32FLTRDESC_MASK_MASK2 0
#define LSb16FLTRDESC_MASK_MASK2 0
#define bFLTRDESC_MASK_MASK2 32
#define MSK32FLTRDESC_MASK_MASK2 0xFFFFFFFF
#define RA_FLTRDESC_MASK3 0x003C
#define BA_FLTRDESC_MASK_MASK3 0x003C
#define B16FLTRDESC_MASK_MASK3 0x003C
#define LSb32FLTRDESC_MASK_MASK3 0
#define LSb16FLTRDESC_MASK_MASK3 0
#define bFLTRDESC_MASK_MASK3 32
#define MSK32FLTRDESC_MASK_MASK3 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FLTRDESC {
///////////////////////////////////////////////////////////
#define GET32FLTRDESC_HEADER_ENB(r32) _BFGET_(r32, 1, 0)
#define SET32FLTRDESC_HEADER_ENB(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16FLTRDESC_HEADER_ENB(r16) _BFGET_(r16, 1, 0)
#define SET16FLTRDESC_HEADER_ENB(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32FLTRDESC_HEADER_EXTPID(r32) _BFGET_(r32,17, 2)
#define SET32FLTRDESC_HEADER_EXTPID(r32,v) _BFSET_(r32,17, 2,v)
#define GET32FLTRDESC_HEADER_reserved(r32) _BFGET_(r32,31,18)
#define SET32FLTRDESC_HEADER_reserved(r32,v) _BFSET_(r32,31,18,v)
#define GET16FLTRDESC_HEADER_reserved(r16) _BFGET_(r16,15, 2)
#define SET16FLTRDESC_HEADER_reserved(r16,v) _BFSET_(r16,15, 2,v)
#define w32FLTRDESC_HEADER {\
UNSG32 uHEADER_ENB : 2;\
UNSG32 uHEADER_EXTPID : 16;\
UNSG32 uHEADER_reserved : 14;\
}
union { UNSG32 u32FLTRDESC_HEADER;
struct w32FLTRDESC_HEADER;
};
///////////////////////////////////////////////////////////
#define GET32FLTRDESC_RANGE_RAND0(r32) _BFGET_(r32, 0, 0)
#define SET32FLTRDESC_RANGE_RAND0(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FLTRDESC_RANGE_RAND0(r16) _BFGET_(r16, 0, 0)
#define SET16FLTRDESC_RANGE_RAND0(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FLTRDESC_RANGE_RLEN0(r32) _BFGET_(r32, 3, 1)
#define SET32FLTRDESC_RANGE_RLEN0(r32,v) _BFSET_(r32, 3, 1,v)
#define GET16FLTRDESC_RANGE_RLEN0(r16) _BFGET_(r16, 3, 1)
#define SET16FLTRDESC_RANGE_RLEN0(r16,v) _BFSET_(r16, 3, 1,v)
#define GET32FLTRDESC_RANGE_RAND1(r32) _BFGET_(r32, 4, 4)
#define SET32FLTRDESC_RANGE_RAND1(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16FLTRDESC_RANGE_RAND1(r16) _BFGET_(r16, 4, 4)
#define SET16FLTRDESC_RANGE_RAND1(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32FLTRDESC_RANGE_RLEN1(r32) _BFGET_(r32, 7, 5)
#define SET32FLTRDESC_RANGE_RLEN1(r32,v) _BFSET_(r32, 7, 5,v)
#define GET16FLTRDESC_RANGE_RLEN1(r16) _BFGET_(r16, 7, 5)
#define SET16FLTRDESC_RANGE_RLEN1(r16,v) _BFSET_(r16, 7, 5,v)
#define GET32FLTRDESC_RANGE_RAND2(r32) _BFGET_(r32, 8, 8)
#define SET32FLTRDESC_RANGE_RAND2(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16FLTRDESC_RANGE_RAND2(r16) _BFGET_(r16, 8, 8)
#define SET16FLTRDESC_RANGE_RAND2(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32FLTRDESC_RANGE_RLEN2(r32) _BFGET_(r32,11, 9)
#define SET32FLTRDESC_RANGE_RLEN2(r32,v) _BFSET_(r32,11, 9,v)
#define GET16FLTRDESC_RANGE_RLEN2(r16) _BFGET_(r16,11, 9)
#define SET16FLTRDESC_RANGE_RLEN2(r16,v) _BFSET_(r16,11, 9,v)
#define GET32FLTRDESC_RANGE_RAND3(r32) _BFGET_(r32,12,12)
#define SET32FLTRDESC_RANGE_RAND3(r32,v) _BFSET_(r32,12,12,v)
#define GET16FLTRDESC_RANGE_RAND3(r16) _BFGET_(r16,12,12)
#define SET16FLTRDESC_RANGE_RAND3(r16,v) _BFSET_(r16,12,12,v)
#define GET32FLTRDESC_RANGE_RLEN3(r32) _BFGET_(r32,15,13)
#define SET32FLTRDESC_RANGE_RLEN3(r32,v) _BFSET_(r32,15,13,v)
#define GET16FLTRDESC_RANGE_RLEN3(r16) _BFGET_(r16,15,13)
#define SET16FLTRDESC_RANGE_RLEN3(r16,v) _BFSET_(r16,15,13,v)
#define GET32FLTRDESC_RANGE_RAND4(r32) _BFGET_(r32,16,16)
#define SET32FLTRDESC_RANGE_RAND4(r32,v) _BFSET_(r32,16,16,v)
#define GET16FLTRDESC_RANGE_RAND4(r16) _BFGET_(r16, 0, 0)
#define SET16FLTRDESC_RANGE_RAND4(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FLTRDESC_RANGE_RLEN4(r32) _BFGET_(r32,19,17)
#define SET32FLTRDESC_RANGE_RLEN4(r32,v) _BFSET_(r32,19,17,v)
#define GET16FLTRDESC_RANGE_RLEN4(r16) _BFGET_(r16, 3, 1)
#define SET16FLTRDESC_RANGE_RLEN4(r16,v) _BFSET_(r16, 3, 1,v)
#define GET32FLTRDESC_RANGE_RAND5(r32) _BFGET_(r32,20,20)
#define SET32FLTRDESC_RANGE_RAND5(r32,v) _BFSET_(r32,20,20,v)
#define GET16FLTRDESC_RANGE_RAND5(r16) _BFGET_(r16, 4, 4)
#define SET16FLTRDESC_RANGE_RAND5(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32FLTRDESC_RANGE_RLEN5(r32) _BFGET_(r32,23,21)
#define SET32FLTRDESC_RANGE_RLEN5(r32,v) _BFSET_(r32,23,21,v)
#define GET16FLTRDESC_RANGE_RLEN5(r16) _BFGET_(r16, 7, 5)
#define SET16FLTRDESC_RANGE_RLEN5(r16,v) _BFSET_(r16, 7, 5,v)
#define GET32FLTRDESC_RANGE_RAND6(r32) _BFGET_(r32,24,24)
#define SET32FLTRDESC_RANGE_RAND6(r32,v) _BFSET_(r32,24,24,v)
#define GET16FLTRDESC_RANGE_RAND6(r16) _BFGET_(r16, 8, 8)
#define SET16FLTRDESC_RANGE_RAND6(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32FLTRDESC_RANGE_RLEN6(r32) _BFGET_(r32,27,25)
#define SET32FLTRDESC_RANGE_RLEN6(r32,v) _BFSET_(r32,27,25,v)
#define GET16FLTRDESC_RANGE_RLEN6(r16) _BFGET_(r16,11, 9)
#define SET16FLTRDESC_RANGE_RLEN6(r16,v) _BFSET_(r16,11, 9,v)
#define GET32FLTRDESC_RANGE_RAND7(r32) _BFGET_(r32,28,28)
#define SET32FLTRDESC_RANGE_RAND7(r32,v) _BFSET_(r32,28,28,v)
#define GET16FLTRDESC_RANGE_RAND7(r16) _BFGET_(r16,12,12)
#define SET16FLTRDESC_RANGE_RAND7(r16,v) _BFSET_(r16,12,12,v)
#define GET32FLTRDESC_RANGE_RLEN7(r32) _BFGET_(r32,31,29)
#define SET32FLTRDESC_RANGE_RLEN7(r32,v) _BFSET_(r32,31,29,v)
#define GET16FLTRDESC_RANGE_RLEN7(r16) _BFGET_(r16,15,13)
#define SET16FLTRDESC_RANGE_RLEN7(r16,v) _BFSET_(r16,15,13,v)
#define w32FLTRDESC_RANGE {\
UNSG32 uRANGE_RAND0 : 1;\
UNSG32 uRANGE_RLEN0 : 3;\
UNSG32 uRANGE_RAND1 : 1;\
UNSG32 uRANGE_RLEN1 : 3;\
UNSG32 uRANGE_RAND2 : 1;\
UNSG32 uRANGE_RLEN2 : 3;\
UNSG32 uRANGE_RAND3 : 1;\
UNSG32 uRANGE_RLEN3 : 3;\
UNSG32 uRANGE_RAND4 : 1;\
UNSG32 uRANGE_RLEN4 : 3;\
UNSG32 uRANGE_RAND5 : 1;\
UNSG32 uRANGE_RLEN5 : 3;\
UNSG32 uRANGE_RAND6 : 1;\
UNSG32 uRANGE_RLEN6 : 3;\
UNSG32 uRANGE_RAND7 : 1;\
UNSG32 uRANGE_RLEN7 : 3;\
}
union { UNSG32 u32FLTRDESC_RANGE;
struct w32FLTRDESC_RANGE;
};
#define GET32FLTRDESC_RANGE_RNEG0(r32) _BFGET_(r32, 0, 0)
#define SET32FLTRDESC_RANGE_RNEG0(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FLTRDESC_RANGE_RNEG0(r16) _BFGET_(r16, 0, 0)
#define SET16FLTRDESC_RANGE_RNEG0(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FLTRDESC_RANGE_ROFF0(r32) _BFGET_(r32, 7, 1)
#define SET32FLTRDESC_RANGE_ROFF0(r32,v) _BFSET_(r32, 7, 1,v)
#define GET16FLTRDESC_RANGE_ROFF0(r16) _BFGET_(r16, 7, 1)
#define SET16FLTRDESC_RANGE_ROFF0(r16,v) _BFSET_(r16, 7, 1,v)
#define GET32FLTRDESC_RANGE_RNEG1(r32) _BFGET_(r32, 8, 8)
#define SET32FLTRDESC_RANGE_RNEG1(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16FLTRDESC_RANGE_RNEG1(r16) _BFGET_(r16, 8, 8)
#define SET16FLTRDESC_RANGE_RNEG1(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32FLTRDESC_RANGE_ROFF1(r32) _BFGET_(r32,15, 9)
#define SET32FLTRDESC_RANGE_ROFF1(r32,v) _BFSET_(r32,15, 9,v)
#define GET16FLTRDESC_RANGE_ROFF1(r16) _BFGET_(r16,15, 9)
#define SET16FLTRDESC_RANGE_ROFF1(r16,v) _BFSET_(r16,15, 9,v)
#define GET32FLTRDESC_RANGE_RNEG2(r32) _BFGET_(r32,16,16)
#define SET32FLTRDESC_RANGE_RNEG2(r32,v) _BFSET_(r32,16,16,v)
#define GET16FLTRDESC_RANGE_RNEG2(r16) _BFGET_(r16, 0, 0)
#define SET16FLTRDESC_RANGE_RNEG2(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FLTRDESC_RANGE_ROFF2(r32) _BFGET_(r32,23,17)
#define SET32FLTRDESC_RANGE_ROFF2(r32,v) _BFSET_(r32,23,17,v)
#define GET16FLTRDESC_RANGE_ROFF2(r16) _BFGET_(r16, 7, 1)
#define SET16FLTRDESC_RANGE_ROFF2(r16,v) _BFSET_(r16, 7, 1,v)
#define GET32FLTRDESC_RANGE_RNEG3(r32) _BFGET_(r32,24,24)
#define SET32FLTRDESC_RANGE_RNEG3(r32,v) _BFSET_(r32,24,24,v)
#define GET16FLTRDESC_RANGE_RNEG3(r16) _BFGET_(r16, 8, 8)
#define SET16FLTRDESC_RANGE_RNEG3(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32FLTRDESC_RANGE_ROFF3(r32) _BFGET_(r32,31,25)
#define SET32FLTRDESC_RANGE_ROFF3(r32,v) _BFSET_(r32,31,25,v)
#define GET16FLTRDESC_RANGE_ROFF3(r16) _BFGET_(r16,15, 9)
#define SET16FLTRDESC_RANGE_ROFF3(r16,v) _BFSET_(r16,15, 9,v)
#define w32FLTRDESC_RANGE1 {\
UNSG32 uRANGE_RNEG0 : 1;\
UNSG32 uRANGE_ROFF0 : 7;\
UNSG32 uRANGE_RNEG1 : 1;\
UNSG32 uRANGE_ROFF1 : 7;\
UNSG32 uRANGE_RNEG2 : 1;\
UNSG32 uRANGE_ROFF2 : 7;\
UNSG32 uRANGE_RNEG3 : 1;\
UNSG32 uRANGE_ROFF3 : 7;\
}
union { UNSG32 u32FLTRDESC_RANGE1;
struct w32FLTRDESC_RANGE1;
};
#define GET32FLTRDESC_RANGE_RNEG4(r32) _BFGET_(r32, 0, 0)
#define SET32FLTRDESC_RANGE_RNEG4(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FLTRDESC_RANGE_RNEG4(r16) _BFGET_(r16, 0, 0)
#define SET16FLTRDESC_RANGE_RNEG4(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FLTRDESC_RANGE_ROFF4(r32) _BFGET_(r32, 7, 1)
#define SET32FLTRDESC_RANGE_ROFF4(r32,v) _BFSET_(r32, 7, 1,v)
#define GET16FLTRDESC_RANGE_ROFF4(r16) _BFGET_(r16, 7, 1)
#define SET16FLTRDESC_RANGE_ROFF4(r16,v) _BFSET_(r16, 7, 1,v)
#define GET32FLTRDESC_RANGE_RNEG5(r32) _BFGET_(r32, 8, 8)
#define SET32FLTRDESC_RANGE_RNEG5(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16FLTRDESC_RANGE_RNEG5(r16) _BFGET_(r16, 8, 8)
#define SET16FLTRDESC_RANGE_RNEG5(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32FLTRDESC_RANGE_ROFF5(r32) _BFGET_(r32,15, 9)
#define SET32FLTRDESC_RANGE_ROFF5(r32,v) _BFSET_(r32,15, 9,v)
#define GET16FLTRDESC_RANGE_ROFF5(r16) _BFGET_(r16,15, 9)
#define SET16FLTRDESC_RANGE_ROFF5(r16,v) _BFSET_(r16,15, 9,v)
#define GET32FLTRDESC_RANGE_RNEG6(r32) _BFGET_(r32,16,16)
#define SET32FLTRDESC_RANGE_RNEG6(r32,v) _BFSET_(r32,16,16,v)
#define GET16FLTRDESC_RANGE_RNEG6(r16) _BFGET_(r16, 0, 0)
#define SET16FLTRDESC_RANGE_RNEG6(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FLTRDESC_RANGE_ROFF6(r32) _BFGET_(r32,23,17)
#define SET32FLTRDESC_RANGE_ROFF6(r32,v) _BFSET_(r32,23,17,v)
#define GET16FLTRDESC_RANGE_ROFF6(r16) _BFGET_(r16, 7, 1)
#define SET16FLTRDESC_RANGE_ROFF6(r16,v) _BFSET_(r16, 7, 1,v)
#define GET32FLTRDESC_RANGE_RNEG7(r32) _BFGET_(r32,24,24)
#define SET32FLTRDESC_RANGE_RNEG7(r32,v) _BFSET_(r32,24,24,v)
#define GET16FLTRDESC_RANGE_RNEG7(r16) _BFGET_(r16, 8, 8)
#define SET16FLTRDESC_RANGE_RNEG7(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32FLTRDESC_RANGE_ROFF7(r32) _BFGET_(r32,31,25)
#define SET32FLTRDESC_RANGE_ROFF7(r32,v) _BFSET_(r32,31,25,v)
#define GET16FLTRDESC_RANGE_ROFF7(r16) _BFGET_(r16,15, 9)
#define SET16FLTRDESC_RANGE_ROFF7(r16,v) _BFSET_(r16,15, 9,v)
#define w32FLTRDESC_RANGE2 {\
UNSG32 uRANGE_RNEG4 : 1;\
UNSG32 uRANGE_ROFF4 : 7;\
UNSG32 uRANGE_RNEG5 : 1;\
UNSG32 uRANGE_ROFF5 : 7;\
UNSG32 uRANGE_RNEG6 : 1;\
UNSG32 uRANGE_ROFF6 : 7;\
UNSG32 uRANGE_RNEG7 : 1;\
UNSG32 uRANGE_ROFF7 : 7;\
}
union { UNSG32 u32FLTRDESC_RANGE2;
struct w32FLTRDESC_RANGE2;
};
///////////////////////////////////////////////////////////
#define GET32FLTRDESC_COFF_COFF0(r32) _BFGET_(r32,31, 0)
#define SET32FLTRDESC_COFF_COFF0(r32,v) _BFSET_(r32,31, 0,v)
#define w32FLTRDESC_COFF {\
UNSG32 uCOFF_COFF0 : 32;\
}
union { UNSG32 u32FLTRDESC_COFF;
struct w32FLTRDESC_COFF;
};
#define GET32FLTRDESC_COFF_COFF1(r32) _BFGET_(r32,31, 0)
#define SET32FLTRDESC_COFF_COFF1(r32,v) _BFSET_(r32,31, 0,v)
#define w32FLTRDESC_COFF1 {\
UNSG32 uCOFF_COFF1 : 32;\
}
union { UNSG32 u32FLTRDESC_COFF1;
struct w32FLTRDESC_COFF1;
};
#define GET32FLTRDESC_COFF_COFF2(r32) _BFGET_(r32,31, 0)
#define SET32FLTRDESC_COFF_COFF2(r32,v) _BFSET_(r32,31, 0,v)
#define w32FLTRDESC_COFF2 {\
UNSG32 uCOFF_COFF2 : 32;\
}
union { UNSG32 u32FLTRDESC_COFF2;
struct w32FLTRDESC_COFF2;
};
#define GET32FLTRDESC_COFF_COFF3(r32) _BFGET_(r32,31, 0)
#define SET32FLTRDESC_COFF_COFF3(r32,v) _BFSET_(r32,31, 0,v)
#define w32FLTRDESC_COFF3 {\
UNSG32 uCOFF_COFF3 : 32;\
}
union { UNSG32 u32FLTRDESC_COFF3;
struct w32FLTRDESC_COFF3;
};
///////////////////////////////////////////////////////////
#define GET32FLTRDESC_NEG_NEG0(r32) _BFGET_(r32,31, 0)
#define SET32FLTRDESC_NEG_NEG0(r32,v) _BFSET_(r32,31, 0,v)
#define w32FLTRDESC_NEG {\
UNSG32 uNEG_NEG0 : 32;\
}
union { UNSG32 u32FLTRDESC_NEG;
struct w32FLTRDESC_NEG;
};
#define GET32FLTRDESC_NEG_NEG1(r32) _BFGET_(r32,31, 0)
#define SET32FLTRDESC_NEG_NEG1(r32,v) _BFSET_(r32,31, 0,v)
#define w32FLTRDESC_NEG1 {\
UNSG32 uNEG_NEG1 : 32;\
}
union { UNSG32 u32FLTRDESC_NEG1;
struct w32FLTRDESC_NEG1;
};
#define GET32FLTRDESC_NEG_NEG2(r32) _BFGET_(r32,31, 0)
#define SET32FLTRDESC_NEG_NEG2(r32,v) _BFSET_(r32,31, 0,v)
#define w32FLTRDESC_NEG2 {\
UNSG32 uNEG_NEG2 : 32;\
}
union { UNSG32 u32FLTRDESC_NEG2;
struct w32FLTRDESC_NEG2;
};
#define GET32FLTRDESC_NEG_NEG3(r32) _BFGET_(r32,31, 0)
#define SET32FLTRDESC_NEG_NEG3(r32,v) _BFSET_(r32,31, 0,v)
#define w32FLTRDESC_NEG3 {\
UNSG32 uNEG_NEG3 : 32;\
}
union { UNSG32 u32FLTRDESC_NEG3;
struct w32FLTRDESC_NEG3;
};
///////////////////////////////////////////////////////////
#define GET32FLTRDESC_MASK_MASK0(r32) _BFGET_(r32,31, 0)
#define SET32FLTRDESC_MASK_MASK0(r32,v) _BFSET_(r32,31, 0,v)
#define w32FLTRDESC_MASK {\
UNSG32 uMASK_MASK0 : 32;\
}
union { UNSG32 u32FLTRDESC_MASK;
struct w32FLTRDESC_MASK;
};
#define GET32FLTRDESC_MASK_MASK1(r32) _BFGET_(r32,31, 0)
#define SET32FLTRDESC_MASK_MASK1(r32,v) _BFSET_(r32,31, 0,v)
#define w32FLTRDESC_MASK1 {\
UNSG32 uMASK_MASK1 : 32;\
}
union { UNSG32 u32FLTRDESC_MASK1;
struct w32FLTRDESC_MASK1;
};
#define GET32FLTRDESC_MASK_MASK2(r32) _BFGET_(r32,31, 0)
#define SET32FLTRDESC_MASK_MASK2(r32,v) _BFSET_(r32,31, 0,v)
#define w32FLTRDESC_MASK2 {\
UNSG32 uMASK_MASK2 : 32;\
}
union { UNSG32 u32FLTRDESC_MASK2;
struct w32FLTRDESC_MASK2;
};
#define GET32FLTRDESC_MASK_MASK3(r32) _BFGET_(r32,31, 0)
#define SET32FLTRDESC_MASK_MASK3(r32,v) _BFSET_(r32,31, 0,v)
#define w32FLTRDESC_MASK3 {\
UNSG32 uMASK_MASK3 : 32;\
}
union { UNSG32 u32FLTRDESC_MASK3;
struct w32FLTRDESC_MASK3;
};
///////////////////////////////////////////////////////////
} SIE_FLTRDESC;
typedef union T32FLTRDESC_HEADER
{ UNSG32 u32;
struct w32FLTRDESC_HEADER;
} T32FLTRDESC_HEADER;
typedef union T32FLTRDESC_RANGE
{ UNSG32 u32;
struct w32FLTRDESC_RANGE;
} T32FLTRDESC_RANGE;
typedef union T32FLTRDESC_RANGE1
{ UNSG32 u32;
struct w32FLTRDESC_RANGE1;
} T32FLTRDESC_RANGE1;
typedef union T32FLTRDESC_RANGE2
{ UNSG32 u32;
struct w32FLTRDESC_RANGE2;
} T32FLTRDESC_RANGE2;
typedef union T32FLTRDESC_COFF
{ UNSG32 u32;
struct w32FLTRDESC_COFF;
} T32FLTRDESC_COFF;
typedef union T32FLTRDESC_COFF1
{ UNSG32 u32;
struct w32FLTRDESC_COFF1;
} T32FLTRDESC_COFF1;
typedef union T32FLTRDESC_COFF2
{ UNSG32 u32;
struct w32FLTRDESC_COFF2;
} T32FLTRDESC_COFF2;
typedef union T32FLTRDESC_COFF3
{ UNSG32 u32;
struct w32FLTRDESC_COFF3;
} T32FLTRDESC_COFF3;
typedef union T32FLTRDESC_NEG
{ UNSG32 u32;
struct w32FLTRDESC_NEG;
} T32FLTRDESC_NEG;
typedef union T32FLTRDESC_NEG1
{ UNSG32 u32;
struct w32FLTRDESC_NEG1;
} T32FLTRDESC_NEG1;
typedef union T32FLTRDESC_NEG2
{ UNSG32 u32;
struct w32FLTRDESC_NEG2;
} T32FLTRDESC_NEG2;
typedef union T32FLTRDESC_NEG3
{ UNSG32 u32;
struct w32FLTRDESC_NEG3;
} T32FLTRDESC_NEG3;
typedef union T32FLTRDESC_MASK
{ UNSG32 u32;
struct w32FLTRDESC_MASK;
} T32FLTRDESC_MASK;
typedef union T32FLTRDESC_MASK1
{ UNSG32 u32;
struct w32FLTRDESC_MASK1;
} T32FLTRDESC_MASK1;
typedef union T32FLTRDESC_MASK2
{ UNSG32 u32;
struct w32FLTRDESC_MASK2;
} T32FLTRDESC_MASK2;
typedef union T32FLTRDESC_MASK3
{ UNSG32 u32;
struct w32FLTRDESC_MASK3;
} T32FLTRDESC_MASK3;
///////////////////////////////////////////////////////////
typedef union TFLTRDESC_HEADER
{ UNSG32 u32[1];
struct {
struct w32FLTRDESC_HEADER;
};
} TFLTRDESC_HEADER;
typedef union TFLTRDESC_RANGE
{ UNSG32 u32[3];
struct {
struct w32FLTRDESC_RANGE;
struct w32FLTRDESC_RANGE1;
struct w32FLTRDESC_RANGE2;
};
} TFLTRDESC_RANGE;
typedef union TFLTRDESC_COFF
{ UNSG32 u32[4];
struct {
struct w32FLTRDESC_COFF;
struct w32FLTRDESC_COFF1;
struct w32FLTRDESC_COFF2;
struct w32FLTRDESC_COFF3;
};
} TFLTRDESC_COFF;
typedef union TFLTRDESC_NEG
{ UNSG32 u32[4];
struct {
struct w32FLTRDESC_NEG;
struct w32FLTRDESC_NEG1;
struct w32FLTRDESC_NEG2;
struct w32FLTRDESC_NEG3;
};
} TFLTRDESC_NEG;
typedef union TFLTRDESC_MASK
{ UNSG32 u32[4];
struct {
struct w32FLTRDESC_MASK;
struct w32FLTRDESC_MASK1;
struct w32FLTRDESC_MASK2;
struct w32FLTRDESC_MASK3;
};
} TFLTRDESC_MASK;
///////////////////////////////////////////////////////////
SIGN32 FLTRDESC_drvrd(SIE_FLTRDESC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FLTRDESC_drvwr(SIE_FLTRDESC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FLTRDESC_reset(SIE_FLTRDESC *p);
SIGN32 FLTRDESC_cmp (SIE_FLTRDESC *p, SIE_FLTRDESC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FLTRDESC_check(p,pie,pfx,hLOG) FLTRDESC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FLTRDESC_print(p, pfx,hLOG) FLTRDESC_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FLTRDESC
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE RNG biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 8 rate 0x1
/// ###
/// * RNG bitrate = 12.5 * rate Kbps
/// * DV-FR-CNR ( 1 to 255)
/// ###
/// %unsigned 1 crc 0x1
/// ###
/// * 1: enable CRC
/// * 0: disable CRC for testing
/// * DV-FR-CR(0-1)
/// ###
/// %% 23 # Stuffing bits...
/// @ 0x00004 (RW)
/// %unsigned 1 ready 0x0
/// ###
/// * H/W indicates random data ready by set ready to 1
/// * S/W write 0 to it after read the random data
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00008 (R-)
/// %unsigned 32 data 0x0
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 12B, bits: 42b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_RNG
#define h_RNG (){}
#define BA_RNG_rate 0x0000
#define B16RNG_rate 0x0000
#define LSb32RNG_rate 0
#define LSb16RNG_rate 0
#define bRNG_rate 8
#define MSK32RNG_rate 0x000000FF
#define BA_RNG_crc 0x0001
#define B16RNG_crc 0x0000
#define LSb32RNG_crc 8
#define LSb16RNG_crc 8
#define bRNG_crc 1
#define MSK32RNG_crc 0x00000100
///////////////////////////////////////////////////////////
#define BA_RNG_ready 0x0004
#define B16RNG_ready 0x0004
#define LSb32RNG_ready 0
#define LSb16RNG_ready 0
#define bRNG_ready 1
#define MSK32RNG_ready 0x00000001
///////////////////////////////////////////////////////////
#define BA_RNG_data 0x0008
#define B16RNG_data 0x0008
#define LSb32RNG_data 0
#define LSb16RNG_data 0
#define bRNG_data 32
#define MSK32RNG_data 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_RNG {
///////////////////////////////////////////////////////////
#define GET32RNG_rate(r32) _BFGET_(r32, 7, 0)
#define SET32RNG_rate(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16RNG_rate(r16) _BFGET_(r16, 7, 0)
#define SET16RNG_rate(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RNG_crc(r32) _BFGET_(r32, 8, 8)
#define SET32RNG_crc(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16RNG_crc(r16) _BFGET_(r16, 8, 8)
#define SET16RNG_crc(r16,v) _BFSET_(r16, 8, 8,v)
UNSG32 u_rate : 8;
UNSG32 u_crc : 1;
UNSG32 RSVDx0_b9 : 23;
///////////////////////////////////////////////////////////
#define GET32RNG_ready(r32) _BFGET_(r32, 0, 0)
#define SET32RNG_ready(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16RNG_ready(r16) _BFGET_(r16, 0, 0)
#define SET16RNG_ready(r16,v) _BFSET_(r16, 0, 0,v)
UNSG32 u_ready : 1;
UNSG32 RSVDx4_b1 : 31;
///////////////////////////////////////////////////////////
#define GET32RNG_data(r32) _BFGET_(r32,31, 0)
#define SET32RNG_data(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data : 32;
///////////////////////////////////////////////////////////
} SIE_RNG;
///////////////////////////////////////////////////////////
SIGN32 RNG_drvrd(SIE_RNG *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 RNG_drvwr(SIE_RNG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void RNG_reset(SIE_RNG *p);
SIGN32 RNG_cmp (SIE_RNG *p, SIE_RNG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define RNG_check(p,pie,pfx,hLOG) RNG_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define RNG_print(p, pfx,hLOG) RNG_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: RNG
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE OTP biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 rstb 0x1
/// %unsigned 1 csb 0x1
/// %unsigned 1 pgm 0x0
/// %unsigned 1 sclk 0x0
/// %unsigned 1 wprot 0x1
/// ###
/// * please refer to OTP Macro Document regarding to programming timing
/// * DV-FC
/// ###
/// %% 27 # Stuffing bits...
/// @ 0x00004 (R-)
/// %unsigned 32 data8 0x1
/// ###
/// * security fuse bit
/// ###
/// %unsigned 32 data7 0x1
/// %unsigned 32 data6 0x1
/// %unsigned 32 data5 0x1
/// %unsigned 32 data4 0x1
/// %unsigned 32 data3 0x1
/// %unsigned 32 data2 0x1
/// %unsigned 32 data1 0x1
/// %unsigned 32 data0 0x1
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 40B, bits: 293b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_OTP
#define h_OTP (){}
#define BA_OTP_rstb 0x0000
#define B16OTP_rstb 0x0000
#define LSb32OTP_rstb 0
#define LSb16OTP_rstb 0
#define bOTP_rstb 1
#define MSK32OTP_rstb 0x00000001
#define BA_OTP_csb 0x0000
#define B16OTP_csb 0x0000
#define LSb32OTP_csb 1
#define LSb16OTP_csb 1
#define bOTP_csb 1
#define MSK32OTP_csb 0x00000002
#define BA_OTP_pgm 0x0000
#define B16OTP_pgm 0x0000
#define LSb32OTP_pgm 2
#define LSb16OTP_pgm 2
#define bOTP_pgm 1
#define MSK32OTP_pgm 0x00000004
#define BA_OTP_sclk 0x0000
#define B16OTP_sclk 0x0000
#define LSb32OTP_sclk 3
#define LSb16OTP_sclk 3
#define bOTP_sclk 1
#define MSK32OTP_sclk 0x00000008
#define BA_OTP_wprot 0x0000
#define B16OTP_wprot 0x0000
#define LSb32OTP_wprot 4
#define LSb16OTP_wprot 4
#define bOTP_wprot 1
#define MSK32OTP_wprot 0x00000010
///////////////////////////////////////////////////////////
#define BA_OTP_data8 0x0004
#define B16OTP_data8 0x0004
#define LSb32OTP_data8 0
#define LSb16OTP_data8 0
#define bOTP_data8 32
#define MSK32OTP_data8 0xFFFFFFFF
#define BA_OTP_data7 0x0008
#define B16OTP_data7 0x0008
#define LSb32OTP_data7 0
#define LSb16OTP_data7 0
#define bOTP_data7 32
#define MSK32OTP_data7 0xFFFFFFFF
#define BA_OTP_data6 0x000C
#define B16OTP_data6 0x000C
#define LSb32OTP_data6 0
#define LSb16OTP_data6 0
#define bOTP_data6 32
#define MSK32OTP_data6 0xFFFFFFFF
#define BA_OTP_data5 0x0010
#define B16OTP_data5 0x0010
#define LSb32OTP_data5 0
#define LSb16OTP_data5 0
#define bOTP_data5 32
#define MSK32OTP_data5 0xFFFFFFFF
#define BA_OTP_data4 0x0014
#define B16OTP_data4 0x0014
#define LSb32OTP_data4 0
#define LSb16OTP_data4 0
#define bOTP_data4 32
#define MSK32OTP_data4 0xFFFFFFFF
#define BA_OTP_data3 0x0018
#define B16OTP_data3 0x0018
#define LSb32OTP_data3 0
#define LSb16OTP_data3 0
#define bOTP_data3 32
#define MSK32OTP_data3 0xFFFFFFFF
#define BA_OTP_data2 0x001C
#define B16OTP_data2 0x001C
#define LSb32OTP_data2 0
#define LSb16OTP_data2 0
#define bOTP_data2 32
#define MSK32OTP_data2 0xFFFFFFFF
#define BA_OTP_data1 0x0020
#define B16OTP_data1 0x0020
#define LSb32OTP_data1 0
#define LSb16OTP_data1 0
#define bOTP_data1 32
#define MSK32OTP_data1 0xFFFFFFFF
#define BA_OTP_data0 0x0024
#define B16OTP_data0 0x0024
#define LSb32OTP_data0 0
#define LSb16OTP_data0 0
#define bOTP_data0 32
#define MSK32OTP_data0 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_OTP {
///////////////////////////////////////////////////////////
#define GET32OTP_rstb(r32) _BFGET_(r32, 0, 0)
#define SET32OTP_rstb(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16OTP_rstb(r16) _BFGET_(r16, 0, 0)
#define SET16OTP_rstb(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32OTP_csb(r32) _BFGET_(r32, 1, 1)
#define SET32OTP_csb(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16OTP_csb(r16) _BFGET_(r16, 1, 1)
#define SET16OTP_csb(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32OTP_pgm(r32) _BFGET_(r32, 2, 2)
#define SET32OTP_pgm(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16OTP_pgm(r16) _BFGET_(r16, 2, 2)
#define SET16OTP_pgm(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32OTP_sclk(r32) _BFGET_(r32, 3, 3)
#define SET32OTP_sclk(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16OTP_sclk(r16) _BFGET_(r16, 3, 3)
#define SET16OTP_sclk(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32OTP_wprot(r32) _BFGET_(r32, 4, 4)
#define SET32OTP_wprot(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16OTP_wprot(r16) _BFGET_(r16, 4, 4)
#define SET16OTP_wprot(r16,v) _BFSET_(r16, 4, 4,v)
UNSG32 u_rstb : 1;
UNSG32 u_csb : 1;
UNSG32 u_pgm : 1;
UNSG32 u_sclk : 1;
UNSG32 u_wprot : 1;
UNSG32 RSVDx0_b5 : 27;
///////////////////////////////////////////////////////////
#define GET32OTP_data8(r32) _BFGET_(r32,31, 0)
#define SET32OTP_data8(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data8 : 32;
///////////////////////////////////////////////////////////
#define GET32OTP_data7(r32) _BFGET_(r32,31, 0)
#define SET32OTP_data7(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data7 : 32;
///////////////////////////////////////////////////////////
#define GET32OTP_data6(r32) _BFGET_(r32,31, 0)
#define SET32OTP_data6(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data6 : 32;
///////////////////////////////////////////////////////////
#define GET32OTP_data5(r32) _BFGET_(r32,31, 0)
#define SET32OTP_data5(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data5 : 32;
///////////////////////////////////////////////////////////
#define GET32OTP_data4(r32) _BFGET_(r32,31, 0)
#define SET32OTP_data4(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data4 : 32;
///////////////////////////////////////////////////////////
#define GET32OTP_data3(r32) _BFGET_(r32,31, 0)
#define SET32OTP_data3(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data3 : 32;
///////////////////////////////////////////////////////////
#define GET32OTP_data2(r32) _BFGET_(r32,31, 0)
#define SET32OTP_data2(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data2 : 32;
///////////////////////////////////////////////////////////
#define GET32OTP_data1(r32) _BFGET_(r32,31, 0)
#define SET32OTP_data1(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data1 : 32;
///////////////////////////////////////////////////////////
#define GET32OTP_data0(r32) _BFGET_(r32,31, 0)
#define SET32OTP_data0(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data0 : 32;
///////////////////////////////////////////////////////////
} SIE_OTP;
///////////////////////////////////////////////////////////
SIGN32 OTP_drvrd(SIE_OTP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 OTP_drvwr(SIE_OTP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void OTP_reset(SIE_OTP *p);
SIGN32 OTP_cmp (SIE_OTP *p, SIE_OTP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define OTP_check(p,pie,pfx,hLOG) OTP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define OTP_print(p, pfx,hLOG) OTP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: OTP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE a64Par biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 4 s0 0x0
/// ###
/// * address for source operand 0
/// * 4
/// * s1
/// * 0
/// * address for source operand 1
/// * 4
/// * s2
/// * 0
/// * for DRM A64 Instructions, operand2 is not used, this field is used for SIMD pipeline enable & table address base
/// * S2[1:0] = tableAddress[9:8];
/// * S2[3:2]=0: SIMD pipeline 1 enbled
/// * S2[3:2]=1: SIMD pipeline 2 enbled
/// * S2[3:2]=2: SIMD pipeline 3 enbled
/// * S2[3:2]=3: SIMD pipeline 4 enbled
/// * Currently only SIMP pipeline 1 and 2 are implemented
/// * 4
/// * d0
/// * 0
/// * address for destination operand 1
/// ###
/// %% 28 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 4b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_a64Par
#define h_a64Par (){}
#define BA_a64Par_s0 0x0000
#define B16a64Par_s0 0x0000
#define LSb32a64Par_s0 0
#define LSb16a64Par_s0 0
#define ba64Par_s0 4
#define MSK32a64Par_s0 0x0000000F
///////////////////////////////////////////////////////////
typedef struct SIE_a64Par {
///////////////////////////////////////////////////////////
#define GET32a64Par_s0(r32) _BFGET_(r32, 3, 0)
#define SET32a64Par_s0(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16a64Par_s0(r16) _BFGET_(r16, 3, 0)
#define SET16a64Par_s0(r16,v) _BFSET_(r16, 3, 0,v)
UNSG32 u_s0 : 4;
UNSG32 RSVDx0_b4 : 28;
///////////////////////////////////////////////////////////
} SIE_a64Par;
///////////////////////////////////////////////////////////
SIGN32 a64Par_drvrd(SIE_a64Par *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 a64Par_drvwr(SIE_a64Par *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void a64Par_reset(SIE_a64Par *p);
SIGN32 a64Par_cmp (SIE_a64Par *p, SIE_a64Par *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define a64Par_check(p,pie,pfx,hLOG) a64Par_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define a64Par_print(p, pfx,hLOG) a64Par_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: a64Par
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE DRMPUSHID biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 2 OP 0x0
/// : PUSH 0x0
/// : RSV 0x1
/// : TBINIT 0x2
/// : EXE0 0x3
/// %unsigned 4 OPCSEL
/// ###
/// * for Exec instruction, which byte of the cmd64(“xT” register) to select as the opcode for the DRM instruction
/// * for TBINIT instruction, this is the write enable to 4 table SRAM3, 2, 1, 0
/// ###
/// %% 26 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 6b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_DRMPUSHID
#define h_DRMPUSHID (){}
#define BA_DRMPUSHID_OP 0x0000
#define B16DRMPUSHID_OP 0x0000
#define LSb32DRMPUSHID_OP 0
#define LSb16DRMPUSHID_OP 0
#define bDRMPUSHID_OP 2
#define MSK32DRMPUSHID_OP 0x00000003
#define DRMPUSHID_OP_PUSH 0x0
#define DRMPUSHID_OP_RSV 0x1
#define DRMPUSHID_OP_TBINIT 0x2
#define DRMPUSHID_OP_EXE0 0x3
#define BA_DRMPUSHID_OPCSEL 0x0000
#define B16DRMPUSHID_OPCSEL 0x0000
#define LSb32DRMPUSHID_OPCSEL 2
#define LSb16DRMPUSHID_OPCSEL 2
#define bDRMPUSHID_OPCSEL 4
#define MSK32DRMPUSHID_OPCSEL 0x0000003C
///////////////////////////////////////////////////////////
typedef struct SIE_DRMPUSHID {
///////////////////////////////////////////////////////////
#define GET32DRMPUSHID_OP(r32) _BFGET_(r32, 1, 0)
#define SET32DRMPUSHID_OP(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16DRMPUSHID_OP(r16) _BFGET_(r16, 1, 0)
#define SET16DRMPUSHID_OP(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32DRMPUSHID_OPCSEL(r32) _BFGET_(r32, 5, 2)
#define SET32DRMPUSHID_OPCSEL(r32,v) _BFSET_(r32, 5, 2,v)
#define GET16DRMPUSHID_OPCSEL(r16) _BFGET_(r16, 5, 2)
#define SET16DRMPUSHID_OPCSEL(r16,v) _BFSET_(r16, 5, 2,v)
UNSG32 u_OP : 2;
UNSG32 u_OPCSEL : 4;
UNSG32 RSVDx0_b6 : 26;
///////////////////////////////////////////////////////////
} SIE_DRMPUSHID;
///////////////////////////////////////////////////////////
SIGN32 DRMPUSHID_drvrd(SIE_DRMPUSHID *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 DRMPUSHID_drvwr(SIE_DRMPUSHID *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void DRMPUSHID_reset(SIE_DRMPUSHID *p);
SIGN32 DRMPUSHID_cmp (SIE_DRMPUSHID *p, SIE_DRMPUSHID *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define DRMPUSHID_check(p,pie,pfx,hLOG) DRMPUSHID_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define DRMPUSHID_print(p, pfx,hLOG) DRMPUSHID_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: DRMPUSHID
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE DRMA64CTL biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 s0selLUT 0x0
/// ###
/// * 0: RF, 1: {LUT1:LUT0}
/// ###
/// %unsigned 1 s1selLUT 0x0
/// ###
/// * 0:RF, 1: LUT
/// ###
/// %unsigned 2 s1LUTsrc
/// ###
/// * select 1 of 4 LUT data
/// * 0: {LUT1,0}
/// * 1:{LUT0,1}
/// * 2:{LUT3,2}
/// * 3:{LUT2,3}
/// ###
/// %unsigned 8 OPC 0x0
/// : PUSH 0x0
/// : XORQ 0x1
/// : ORQ 0x2
/// : ANDQ 0x3
/// : PUNPCKL8 0x4
/// : PUNPCKH8 0x5
/// : SWPQ32 0x6
/// : ROLQ32_1 0x7
/// : ROLQ32_2 0x8
/// : DESIP 0x9
/// : DESKIP 0xA
/// : DESDFIP 0xB
/// : DESKP 0xC
/// : XORDESDP 0xD
/// : LSRXORQ32_1 0xE
/// : LSRXORQ32_3 0xF
/// : ROLXORQ32_8 0x10
/// : PUNPCKH16 0x11
/// : PUNPCKL32 0x12
/// : PUNPCKH32 0x13
/// : ROLXORQ32_9 0x14
/// : ROLXORQ32_16 0x15
/// : ROLXORQ32_22 0x16
/// : ROLXORQ32_30 0x17
/// : LSRXORQ32_7 0x18
/// : LSRXORQ32_8 0x19
/// : RORQ28_1 0x1A
/// : RORQ28_2 0x1B
/// : RORQ56_17 0x1C
/// : ROLQ32_3 0x1D
/// : ROLXORQ32_4 0x1E
/// : SLQ32_24 0x1F
/// : AESTS 0x20
/// : ROLQ32_5 0x21
/// : MP2CRC 0x22
/// ###
/// * MPEG-2 CRC, generation function:
/// * x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 +x5 +x4 +x2 +x +1
/// ###
/// : ROLQ32_30 0x23
/// : C2PERM 0x24
/// : ADDQ32 0x25
/// : SUBQ32 0x26
/// : MULQ32L 0x27
/// : PLUTXOR32H 0x48
/// : PLUTXOR32L 0x40
/// : LUTXOR32_0 0x41
/// : LUTXOR32_1 0x42
/// : LUTXOR32_2 0x43
/// : LUTXOR32_3 0x44
/// %unsigned 8 latency 0x0
/// ###
/// * latency of current instruction
/// ###
/// %unsigned 1 WB 0x0
/// ###
/// * write back enable
/// ###
/// %unsigned 1 LUTASelP16 0x0
/// ###
/// * 0: from S1
/// * 1: from p16
/// ###
/// %unsigned 4 LUTWE 0x0
/// ###
/// * write enable for LUT
/// ###
/// %unsigned 3 MCPSEL 0x0
/// ###
/// * selects which multi-cycle path for ALU64 Data
/// ###
/// %% 3 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 29b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_DRMA64CTL
#define h_DRMA64CTL (){}
#define BA_DRMA64CTL_s0selLUT 0x0000
#define B16DRMA64CTL_s0selLUT 0x0000
#define LSb32DRMA64CTL_s0selLUT 0
#define LSb16DRMA64CTL_s0selLUT 0
#define bDRMA64CTL_s0selLUT 1
#define MSK32DRMA64CTL_s0selLUT 0x00000001
#define BA_DRMA64CTL_s1selLUT 0x0000
#define B16DRMA64CTL_s1selLUT 0x0000
#define LSb32DRMA64CTL_s1selLUT 1
#define LSb16DRMA64CTL_s1selLUT 1
#define bDRMA64CTL_s1selLUT 1
#define MSK32DRMA64CTL_s1selLUT 0x00000002
#define BA_DRMA64CTL_s1LUTsrc 0x0000
#define B16DRMA64CTL_s1LUTsrc 0x0000
#define LSb32DRMA64CTL_s1LUTsrc 2
#define LSb16DRMA64CTL_s1LUTsrc 2
#define bDRMA64CTL_s1LUTsrc 2
#define MSK32DRMA64CTL_s1LUTsrc 0x0000000C
#define BA_DRMA64CTL_OPC 0x0000
#define B16DRMA64CTL_OPC 0x0000
#define LSb32DRMA64CTL_OPC 4
#define LSb16DRMA64CTL_OPC 4
#define bDRMA64CTL_OPC 8
#define MSK32DRMA64CTL_OPC 0x00000FF0
#define DRMA64CTL_OPC_PUSH 0x0
#define DRMA64CTL_OPC_XORQ 0x1
#define DRMA64CTL_OPC_ORQ 0x2
#define DRMA64CTL_OPC_ANDQ 0x3
#define DRMA64CTL_OPC_PUNPCKL8 0x4
#define DRMA64CTL_OPC_PUNPCKH8 0x5
#define DRMA64CTL_OPC_SWPQ32 0x6
#define DRMA64CTL_OPC_ROLQ32_1 0x7
#define DRMA64CTL_OPC_ROLQ32_2 0x8
#define DRMA64CTL_OPC_DESIP 0x9
#define DRMA64CTL_OPC_DESKIP 0xA
#define DRMA64CTL_OPC_DESDFIP 0xB
#define DRMA64CTL_OPC_DESKP 0xC
#define DRMA64CTL_OPC_XORDESDP 0xD
#define DRMA64CTL_OPC_LSRXORQ32_1 0xE
#define DRMA64CTL_OPC_LSRXORQ32_3 0xF
#define DRMA64CTL_OPC_ROLXORQ32_8 0x10
#define DRMA64CTL_OPC_PUNPCKH16 0x11
#define DRMA64CTL_OPC_PUNPCKL32 0x12
#define DRMA64CTL_OPC_PUNPCKH32 0x13
#define DRMA64CTL_OPC_ROLXORQ32_9 0x14
#define DRMA64CTL_OPC_ROLXORQ32_16 0x15
#define DRMA64CTL_OPC_ROLXORQ32_22 0x16
#define DRMA64CTL_OPC_ROLXORQ32_30 0x17
#define DRMA64CTL_OPC_LSRXORQ32_7 0x18
#define DRMA64CTL_OPC_LSRXORQ32_8 0x19
#define DRMA64CTL_OPC_RORQ28_1 0x1A
#define DRMA64CTL_OPC_RORQ28_2 0x1B
#define DRMA64CTL_OPC_RORQ56_17 0x1C
#define DRMA64CTL_OPC_ROLQ32_3 0x1D
#define DRMA64CTL_OPC_ROLXORQ32_4 0x1E
#define DRMA64CTL_OPC_SLQ32_24 0x1F
#define DRMA64CTL_OPC_AESTS 0x20
#define DRMA64CTL_OPC_ROLQ32_5 0x21
#define DRMA64CTL_OPC_MP2CRC 0x22
#define DRMA64CTL_OPC_ROLQ32_30 0x23
#define DRMA64CTL_OPC_C2PERM 0x24
#define DRMA64CTL_OPC_ADDQ32 0x25
#define DRMA64CTL_OPC_SUBQ32 0x26
#define DRMA64CTL_OPC_MULQ32L 0x27
#define DRMA64CTL_OPC_PLUTXOR32H 0x48
#define DRMA64CTL_OPC_PLUTXOR32L 0x40
#define DRMA64CTL_OPC_LUTXOR32_0 0x41
#define DRMA64CTL_OPC_LUTXOR32_1 0x42
#define DRMA64CTL_OPC_LUTXOR32_2 0x43
#define DRMA64CTL_OPC_LUTXOR32_3 0x44
#define BA_DRMA64CTL_latency 0x0001
#define B16DRMA64CTL_latency 0x0000
#define LSb32DRMA64CTL_latency 12
#define LSb16DRMA64CTL_latency 12
#define bDRMA64CTL_latency 8
#define MSK32DRMA64CTL_latency 0x000FF000
#define BA_DRMA64CTL_WB 0x0002
#define B16DRMA64CTL_WB 0x0002
#define LSb32DRMA64CTL_WB 20
#define LSb16DRMA64CTL_WB 4
#define bDRMA64CTL_WB 1
#define MSK32DRMA64CTL_WB 0x00100000
#define BA_DRMA64CTL_LUTASelP16 0x0002
#define B16DRMA64CTL_LUTASelP16 0x0002
#define LSb32DRMA64CTL_LUTASelP16 21
#define LSb16DRMA64CTL_LUTASelP16 5
#define bDRMA64CTL_LUTASelP16 1
#define MSK32DRMA64CTL_LUTASelP16 0x00200000
#define BA_DRMA64CTL_LUTWE 0x0002
#define B16DRMA64CTL_LUTWE 0x0002
#define LSb32DRMA64CTL_LUTWE 22
#define LSb16DRMA64CTL_LUTWE 6
#define bDRMA64CTL_LUTWE 4
#define MSK32DRMA64CTL_LUTWE 0x03C00000
#define BA_DRMA64CTL_MCPSEL 0x0003
#define B16DRMA64CTL_MCPSEL 0x0002
#define LSb32DRMA64CTL_MCPSEL 26
#define LSb16DRMA64CTL_MCPSEL 10
#define bDRMA64CTL_MCPSEL 3
#define MSK32DRMA64CTL_MCPSEL 0x1C000000
///////////////////////////////////////////////////////////
typedef struct SIE_DRMA64CTL {
///////////////////////////////////////////////////////////
#define GET32DRMA64CTL_s0selLUT(r32) _BFGET_(r32, 0, 0)
#define SET32DRMA64CTL_s0selLUT(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16DRMA64CTL_s0selLUT(r16) _BFGET_(r16, 0, 0)
#define SET16DRMA64CTL_s0selLUT(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32DRMA64CTL_s1selLUT(r32) _BFGET_(r32, 1, 1)
#define SET32DRMA64CTL_s1selLUT(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16DRMA64CTL_s1selLUT(r16) _BFGET_(r16, 1, 1)
#define SET16DRMA64CTL_s1selLUT(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32DRMA64CTL_s1LUTsrc(r32) _BFGET_(r32, 3, 2)
#define SET32DRMA64CTL_s1LUTsrc(r32,v) _BFSET_(r32, 3, 2,v)
#define GET16DRMA64CTL_s1LUTsrc(r16) _BFGET_(r16, 3, 2)
#define SET16DRMA64CTL_s1LUTsrc(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32DRMA64CTL_OPC(r32) _BFGET_(r32,11, 4)
#define SET32DRMA64CTL_OPC(r32,v) _BFSET_(r32,11, 4,v)
#define GET16DRMA64CTL_OPC(r16) _BFGET_(r16,11, 4)
#define SET16DRMA64CTL_OPC(r16,v) _BFSET_(r16,11, 4,v)
#define GET32DRMA64CTL_latency(r32) _BFGET_(r32,19,12)
#define SET32DRMA64CTL_latency(r32,v) _BFSET_(r32,19,12,v)
#define GET32DRMA64CTL_WB(r32) _BFGET_(r32,20,20)
#define SET32DRMA64CTL_WB(r32,v) _BFSET_(r32,20,20,v)
#define GET16DRMA64CTL_WB(r16) _BFGET_(r16, 4, 4)
#define SET16DRMA64CTL_WB(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32DRMA64CTL_LUTASelP16(r32) _BFGET_(r32,21,21)
#define SET32DRMA64CTL_LUTASelP16(r32,v) _BFSET_(r32,21,21,v)
#define GET16DRMA64CTL_LUTASelP16(r16) _BFGET_(r16, 5, 5)
#define SET16DRMA64CTL_LUTASelP16(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32DRMA64CTL_LUTWE(r32) _BFGET_(r32,25,22)
#define SET32DRMA64CTL_LUTWE(r32,v) _BFSET_(r32,25,22,v)
#define GET16DRMA64CTL_LUTWE(r16) _BFGET_(r16, 9, 6)
#define SET16DRMA64CTL_LUTWE(r16,v) _BFSET_(r16, 9, 6,v)
#define GET32DRMA64CTL_MCPSEL(r32) _BFGET_(r32,28,26)
#define SET32DRMA64CTL_MCPSEL(r32,v) _BFSET_(r32,28,26,v)
#define GET16DRMA64CTL_MCPSEL(r16) _BFGET_(r16,12,10)
#define SET16DRMA64CTL_MCPSEL(r16,v) _BFSET_(r16,12,10,v)
UNSG32 u_s0selLUT : 1;
UNSG32 u_s1selLUT : 1;
UNSG32 u_s1LUTsrc : 2;
UNSG32 u_OPC : 8;
UNSG32 u_latency : 8;
UNSG32 u_WB : 1;
UNSG32 u_LUTASelP16 : 1;
UNSG32 u_LUTWE : 4;
UNSG32 u_MCPSEL : 3;
UNSG32 RSVDx0_b29 : 3;
///////////////////////////////////////////////////////////
} SIE_DRMA64CTL;
///////////////////////////////////////////////////////////
SIGN32 DRMA64CTL_drvrd(SIE_DRMA64CTL *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 DRMA64CTL_drvwr(SIE_DRMA64CTL *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void DRMA64CTL_reset(SIE_DRMA64CTL *p);
SIGN32 DRMA64CTL_cmp (SIE_DRMA64CTL *p, SIE_DRMA64CTL *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define DRMA64CTL_check(p,pie,pfx,hLOG) DRMA64CTL_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define DRMA64CTL_print(p, pfx,hLOG) DRMA64CTL_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: DRMA64CTL
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE RAM1WORD (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 word
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_RAM1WORD
#define h_RAM1WORD (){}
#define BA_RAM1WORD_word 0x0000
#define B16RAM1WORD_word 0x0000
#define LSb32RAM1WORD_word 0
#define LSb16RAM1WORD_word 0
#define bRAM1WORD_word 32
#define MSK32RAM1WORD_word 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_RAM1WORD {
///////////////////////////////////////////////////////////
#define GET32RAM1WORD_word(r32) _BFGET_(r32,31, 0)
#define SET32RAM1WORD_word(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_word : 32;
///////////////////////////////////////////////////////////
} SIE_RAM1WORD;
///////////////////////////////////////////////////////////
SIGN32 RAM1WORD_drvrd(SIE_RAM1WORD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 RAM1WORD_drvwr(SIE_RAM1WORD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void RAM1WORD_reset(SIE_RAM1WORD *p);
SIGN32 RAM1WORD_cmp (SIE_RAM1WORD *p, SIE_RAM1WORD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define RAM1WORD_check(p,pie,pfx,hLOG) RAM1WORD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define RAM1WORD_print(p, pfx,hLOG) RAM1WORD_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: RAM1WORD
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE RAM2WORD (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 wordh
/// @ 0x00004 (P)
/// %unsigned 32 wordl
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_RAM2WORD
#define h_RAM2WORD (){}
#define BA_RAM2WORD_wordh 0x0000
#define B16RAM2WORD_wordh 0x0000
#define LSb32RAM2WORD_wordh 0
#define LSb16RAM2WORD_wordh 0
#define bRAM2WORD_wordh 32
#define MSK32RAM2WORD_wordh 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_RAM2WORD_wordl 0x0004
#define B16RAM2WORD_wordl 0x0004
#define LSb32RAM2WORD_wordl 0
#define LSb16RAM2WORD_wordl 0
#define bRAM2WORD_wordl 32
#define MSK32RAM2WORD_wordl 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_RAM2WORD {
///////////////////////////////////////////////////////////
#define GET32RAM2WORD_wordh(r32) _BFGET_(r32,31, 0)
#define SET32RAM2WORD_wordh(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_wordh : 32;
///////////////////////////////////////////////////////////
#define GET32RAM2WORD_wordl(r32) _BFGET_(r32,31, 0)
#define SET32RAM2WORD_wordl(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_wordl : 32;
///////////////////////////////////////////////////////////
} SIE_RAM2WORD;
///////////////////////////////////////////////////////////
SIGN32 RAM2WORD_drvrd(SIE_RAM2WORD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 RAM2WORD_drvwr(SIE_RAM2WORD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void RAM2WORD_reset(SIE_RAM2WORD *p);
SIGN32 RAM2WORD_cmp (SIE_RAM2WORD *p, SIE_RAM2WORD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define RAM2WORD_check(p,pie,pfx,hLOG) RAM2WORD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define RAM2WORD_print(p, pfx,hLOG) RAM2WORD_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: RAM2WORD
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE SFRAM (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 word
/// $RAM1WORD word REG [2048]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8192B, bits: 65536b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SFRAM
#define h_SFRAM (){}
#define RA_SFRAM_word 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_SFRAM {
///////////////////////////////////////////////////////////
SIE_RAM1WORD ie_word[2048];
///////////////////////////////////////////////////////////
} SIE_SFRAM;
///////////////////////////////////////////////////////////
SIGN32 SFRAM_drvrd(SIE_SFRAM *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SFRAM_drvwr(SIE_SFRAM *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SFRAM_reset(SIE_SFRAM *p);
SIGN32 SFRAM_cmp (SIE_SFRAM *p, SIE_SFRAM *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SFRAM_check(p,pie,pfx,hLOG) SFRAM_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SFRAM_print(p, pfx,hLOG) SFRAM_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SFRAM
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FIGOITCM biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 word
/// $RAM1WORD word REG [4096]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16384B, bits: 131072b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FIGOITCM
#define h_FIGOITCM (){}
#define RA_FIGOITCM_word 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_FIGOITCM {
///////////////////////////////////////////////////////////
SIE_RAM1WORD ie_word[4096];
///////////////////////////////////////////////////////////
} SIE_FIGOITCM;
///////////////////////////////////////////////////////////
SIGN32 FIGOITCM_drvrd(SIE_FIGOITCM *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FIGOITCM_drvwr(SIE_FIGOITCM *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FIGOITCM_reset(SIE_FIGOITCM *p);
SIGN32 FIGOITCM_cmp (SIE_FIGOITCM *p, SIE_FIGOITCM *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FIGOITCM_check(p,pie,pfx,hLOG) FIGOITCM_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FIGOITCM_print(p, pfx,hLOG) FIGOITCM_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FIGOITCM
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE HBODTCM biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 word
/// $RAM2WORD word REG [2048]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16384B, bits: 131072b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_HBODTCM
#define h_HBODTCM (){}
#define RA_HBODTCM_word 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_HBODTCM {
///////////////////////////////////////////////////////////
SIE_RAM2WORD ie_word[2048];
///////////////////////////////////////////////////////////
} SIE_HBODTCM;
///////////////////////////////////////////////////////////
SIGN32 HBODTCM_drvrd(SIE_HBODTCM *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 HBODTCM_drvwr(SIE_HBODTCM *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void HBODTCM_reset(SIE_HBODTCM *p);
SIGN32 HBODTCM_cmp (SIE_HBODTCM *p, SIE_HBODTCM *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define HBODTCM_check(p,pie,pfx,hLOG) HBODTCM_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define HBODTCM_print(p, pfx,hLOG) HBODTCM_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: HBODTCM
////////////////////////////////////////////////////////////
#ifdef __cplusplus
}
#endif
#pragma pack()
#endif
//////
/// ENDOFFILE: dmx.h
////////////////////////////////////////////////////////////