| /******************************************************************************** |
| * 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 |
| //////////////////////////////////////////////////////////// |
| |