| /******************************************************************************** |
| * 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: Galois_FuncSpec.h |
| //////////////////////////////////////////////////////////// |
| #ifndef Galois_FuncSpec_h |
| #define Galois_FuncSpec_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 TCTX (4,4) |
| /// # # ---------------------------------------------------------- |
| /// @ 0x00000 PROP (P) |
| /// %unsigned 2 scan |
| /// : Prog 0x0 |
| /// : Top 0x1 |
| /// : Bottom 0x2 |
| /// : WeavedFrm 0x3 |
| /// ### |
| /// * Derived MB/half-MB progressive/interlace scan mode |
| /// ### |
| /// %unsigned 2 type |
| /// : Intra 0x0 |
| /// : Forward 0x1 |
| /// : Backward 0x2 |
| /// : Biprediction 0x3 |
| /// ### |
| /// * Derived 8x8 block motion type |
| /// ### |
| /// %unsigned 1 cbp |
| /// ### |
| /// * 0/1 for zero/non-zero block (N/A in non-H.264 adaptive frames) |
| /// ### |
| /// %unsigned 6 rBID |
| /// ### |
| /// * Reference buffer ID, last 1b indicates access mode: |
| /// * 0: frame/progressive or top field |
| /// * 1: bottom field |
| /// ### |
| /// : intraLuma8x8 0x3 |
| /// : intraLuma4x4 0x2 |
| /// : intraLuma16x16 0x1 |
| /// ### |
| /// * For intra MB only, to specify luma prediction type |
| /// ### |
| /// %unsigned 5 refL |
| /// ### |
| /// * Syntax 'RefListIdx' directly decoded from bit stream (field information embedded) |
| /// ### |
| /// : ipVertical 0x0 |
| /// : ipHorizontal 0x1 |
| /// : ipDC 0x2 |
| /// : ipDiagonalDownLeft 0x3 |
| /// : ipDiagonalDownRight 0x4 |
| /// : ipVerticalRight 0x5 |
| /// : ipHorizontalDown 0x6 |
| /// : ipVerticalLeft 0x7 |
| /// : ipHorizontalUp 0x8 |
| /// ### |
| /// * For intra MB only, to specify MxM prediction mode for luma blocks |
| /// ### |
| /// %unsigned 2 dctSel |
| /// : 8x8 0x0 |
| /// : 8x4 0x1 |
| /// : 4x8 0x2 |
| /// : 4x4 0x3 |
| /// ### |
| /// * Derived IDCT partition |
| /// ### |
| /// %unsigned 1 dctField |
| /// ### |
| /// * Non-H.264: 0/1 to use frame/field IDCT |
| /// ### |
| /// %unsigned 6 QP |
| /// ### |
| /// * Derived MB QP |
| /// * QPY for forward TCTX in HCTX, or |
| /// * QPU for backward TCTX in HCTX |
| /// ### |
| /// %unsigned 7 sliceID |
| /// ### |
| /// * Derived MB slice ID, or |
| /// * QPV for backward TCTX in HCTX |
| /// ### |
| /// @ 0x00004 MV (P) |
| /// %signed 16 x |
| /// ### |
| /// * Horizontal motion vector |
| /// ### |
| /// %signed 16 y |
| /// ### |
| /// * Vertical motion vector |
| /// ### |
| /// # # ---------------------------------------------------------- |
| /// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B |
| //////////////////////////////////////////////////////////// |
| #ifndef h_TCTX |
| #define h_TCTX (){} |
| |
| #define RA_TCTX_PROP 0x0000 |
| |
| #define BA_TCTX_PROP_scan 0x0000 |
| #define B16TCTX_PROP_scan 0x0000 |
| #define LSb32TCTX_PROP_scan 0 |
| #define LSb16TCTX_PROP_scan 0 |
| #define bTCTX_PROP_scan 2 |
| #define MSK32TCTX_PROP_scan 0x00000003 |
| #define TCTX_PROP_scan_Prog 0x0 |
| #define TCTX_PROP_scan_Top 0x1 |
| #define TCTX_PROP_scan_Bottom 0x2 |
| #define TCTX_PROP_scan_WeavedFrm 0x3 |
| |
| #define BA_TCTX_PROP_type 0x0000 |
| #define B16TCTX_PROP_type 0x0000 |
| #define LSb32TCTX_PROP_type 2 |
| #define LSb16TCTX_PROP_type 2 |
| #define bTCTX_PROP_type 2 |
| #define MSK32TCTX_PROP_type 0x0000000C |
| #define TCTX_PROP_type_Intra 0x0 |
| #define TCTX_PROP_type_Forward 0x1 |
| #define TCTX_PROP_type_Backward 0x2 |
| #define TCTX_PROP_type_Biprediction 0x3 |
| |
| #define BA_TCTX_PROP_cbp 0x0000 |
| #define B16TCTX_PROP_cbp 0x0000 |
| #define LSb32TCTX_PROP_cbp 4 |
| #define LSb16TCTX_PROP_cbp 4 |
| #define bTCTX_PROP_cbp 1 |
| #define MSK32TCTX_PROP_cbp 0x00000010 |
| |
| #define BA_TCTX_PROP_rBID 0x0000 |
| #define B16TCTX_PROP_rBID 0x0000 |
| #define LSb32TCTX_PROP_rBID 5 |
| #define LSb16TCTX_PROP_rBID 5 |
| #define bTCTX_PROP_rBID 6 |
| #define MSK32TCTX_PROP_rBID 0x000007E0 |
| #define TCTX_PROP_rBID_intraLuma8x8 0x3 |
| #define TCTX_PROP_rBID_intraLuma4x4 0x2 |
| #define TCTX_PROP_rBID_intraLuma16x16 0x1 |
| |
| #define BA_TCTX_PROP_refL 0x0001 |
| #define B16TCTX_PROP_refL 0x0000 |
| #define LSb32TCTX_PROP_refL 11 |
| #define LSb16TCTX_PROP_refL 11 |
| #define bTCTX_PROP_refL 5 |
| #define MSK32TCTX_PROP_refL 0x0000F800 |
| #define TCTX_PROP_refL_ipVertical 0x0 |
| #define TCTX_PROP_refL_ipHorizontal 0x1 |
| #define TCTX_PROP_refL_ipDC 0x2 |
| #define TCTX_PROP_refL_ipDiagonalDownLeft 0x3 |
| #define TCTX_PROP_refL_ipDiagonalDownRight 0x4 |
| #define TCTX_PROP_refL_ipVerticalRight 0x5 |
| #define TCTX_PROP_refL_ipHorizontalDown 0x6 |
| #define TCTX_PROP_refL_ipVerticalLeft 0x7 |
| #define TCTX_PROP_refL_ipHorizontalUp 0x8 |
| |
| #define BA_TCTX_PROP_dctSel 0x0002 |
| #define B16TCTX_PROP_dctSel 0x0002 |
| #define LSb32TCTX_PROP_dctSel 16 |
| #define LSb16TCTX_PROP_dctSel 0 |
| #define bTCTX_PROP_dctSel 2 |
| #define MSK32TCTX_PROP_dctSel 0x00030000 |
| #define TCTX_PROP_dctSel_8x8 0x0 |
| #define TCTX_PROP_dctSel_8x4 0x1 |
| #define TCTX_PROP_dctSel_4x8 0x2 |
| #define TCTX_PROP_dctSel_4x4 0x3 |
| |
| #define BA_TCTX_PROP_dctField 0x0002 |
| #define B16TCTX_PROP_dctField 0x0002 |
| #define LSb32TCTX_PROP_dctField 18 |
| #define LSb16TCTX_PROP_dctField 2 |
| #define bTCTX_PROP_dctField 1 |
| #define MSK32TCTX_PROP_dctField 0x00040000 |
| |
| #define BA_TCTX_PROP_QP 0x0002 |
| #define B16TCTX_PROP_QP 0x0002 |
| #define LSb32TCTX_PROP_QP 19 |
| #define LSb16TCTX_PROP_QP 3 |
| #define bTCTX_PROP_QP 6 |
| #define MSK32TCTX_PROP_QP 0x01F80000 |
| |
| #define BA_TCTX_PROP_sliceID 0x0003 |
| #define B16TCTX_PROP_sliceID 0x0002 |
| #define LSb32TCTX_PROP_sliceID 25 |
| #define LSb16TCTX_PROP_sliceID 9 |
| #define bTCTX_PROP_sliceID 7 |
| #define MSK32TCTX_PROP_sliceID 0xFE000000 |
| /////////////////////////////////////////////////////////// |
| #define RA_TCTX_MV 0x0004 |
| |
| #define BA_TCTX_MV_x 0x0004 |
| #define B16TCTX_MV_x 0x0004 |
| #define LSb32TCTX_MV_x 0 |
| #define LSb16TCTX_MV_x 0 |
| #define bTCTX_MV_x 16 |
| #define MSK32TCTX_MV_x 0x0000FFFF |
| |
| #define BA_TCTX_MV_y 0x0006 |
| #define B16TCTX_MV_y 0x0006 |
| #define LSb32TCTX_MV_y 16 |
| #define LSb16TCTX_MV_y 0 |
| #define bTCTX_MV_y 16 |
| #define MSK32TCTX_MV_y 0xFFFF0000 |
| /////////////////////////////////////////////////////////// |
| |
| typedef struct SIE_TCTX { |
| /////////////////////////////////////////////////////////// |
| #define GET32TCTX_PROP_scan(r32) _BFGET_(r32, 1, 0) |
| #define SET32TCTX_PROP_scan(r32,v) _BFSET_(r32, 1, 0,v) |
| #define GET16TCTX_PROP_scan(r16) _BFGET_(r16, 1, 0) |
| #define SET16TCTX_PROP_scan(r16,v) _BFSET_(r16, 1, 0,v) |
| |
| #define GET32TCTX_PROP_type(r32) _BFGET_(r32, 3, 2) |
| #define SET32TCTX_PROP_type(r32,v) _BFSET_(r32, 3, 2,v) |
| #define GET16TCTX_PROP_type(r16) _BFGET_(r16, 3, 2) |
| #define SET16TCTX_PROP_type(r16,v) _BFSET_(r16, 3, 2,v) |
| |
| #define GET32TCTX_PROP_cbp(r32) _BFGET_(r32, 4, 4) |
| #define SET32TCTX_PROP_cbp(r32,v) _BFSET_(r32, 4, 4,v) |
| #define GET16TCTX_PROP_cbp(r16) _BFGET_(r16, 4, 4) |
| #define SET16TCTX_PROP_cbp(r16,v) _BFSET_(r16, 4, 4,v) |
| |
| #define GET32TCTX_PROP_rBID(r32) _BFGET_(r32,10, 5) |
| #define SET32TCTX_PROP_rBID(r32,v) _BFSET_(r32,10, 5,v) |
| #define GET16TCTX_PROP_rBID(r16) _BFGET_(r16,10, 5) |
| #define SET16TCTX_PROP_rBID(r16,v) _BFSET_(r16,10, 5,v) |
| |
| #define GET32TCTX_PROP_refL(r32) _BFGET_(r32,15,11) |
| #define SET32TCTX_PROP_refL(r32,v) _BFSET_(r32,15,11,v) |
| #define GET16TCTX_PROP_refL(r16) _BFGET_(r16,15,11) |
| #define SET16TCTX_PROP_refL(r16,v) _BFSET_(r16,15,11,v) |
| |
| #define GET32TCTX_PROP_dctSel(r32) _BFGET_(r32,17,16) |
| #define SET32TCTX_PROP_dctSel(r32,v) _BFSET_(r32,17,16,v) |
| #define GET16TCTX_PROP_dctSel(r16) _BFGET_(r16, 1, 0) |
| #define SET16TCTX_PROP_dctSel(r16,v) _BFSET_(r16, 1, 0,v) |
| |
| #define GET32TCTX_PROP_dctField(r32) _BFGET_(r32,18,18) |
| #define SET32TCTX_PROP_dctField(r32,v) _BFSET_(r32,18,18,v) |
| #define GET16TCTX_PROP_dctField(r16) _BFGET_(r16, 2, 2) |
| #define SET16TCTX_PROP_dctField(r16,v) _BFSET_(r16, 2, 2,v) |
| |
| #define GET32TCTX_PROP_QP(r32) _BFGET_(r32,24,19) |
| #define SET32TCTX_PROP_QP(r32,v) _BFSET_(r32,24,19,v) |
| #define GET16TCTX_PROP_QP(r16) _BFGET_(r16, 8, 3) |
| #define SET16TCTX_PROP_QP(r16,v) _BFSET_(r16, 8, 3,v) |
| |
| #define GET32TCTX_PROP_sliceID(r32) _BFGET_(r32,31,25) |
| #define SET32TCTX_PROP_sliceID(r32,v) _BFSET_(r32,31,25,v) |
| #define GET16TCTX_PROP_sliceID(r16) _BFGET_(r16,15, 9) |
| #define SET16TCTX_PROP_sliceID(r16,v) _BFSET_(r16,15, 9,v) |
| |
| #define w32TCTX_PROP {\ |
| UNSG32 uPROP_scan : 2;\ |
| UNSG32 uPROP_type : 2;\ |
| UNSG32 uPROP_cbp : 1;\ |
| UNSG32 uPROP_rBID : 6;\ |
| UNSG32 uPROP_refL : 5;\ |
| UNSG32 uPROP_dctSel : 2;\ |
| UNSG32 uPROP_dctField : 1;\ |
| UNSG32 uPROP_QP : 6;\ |
| UNSG32 uPROP_sliceID : 7;\ |
| } |
| union { UNSG32 u32TCTX_PROP; |
| struct w32TCTX_PROP; |
| }; |
| /////////////////////////////////////////////////////////// |
| #define GET32TCTX_MV_x(r32) _BFGET_(r32,15, 0) |
| #define SET32TCTX_MV_x(r32,v) _BFSET_(r32,15, 0,v) |
| #define GET16TCTX_MV_x(r16) _BFGET_(r16,15, 0) |
| #define SET16TCTX_MV_x(r16,v) _BFSET_(r16,15, 0,v) |
| |
| #define GET32TCTX_MV_y(r32) _BFGET_(r32,31,16) |
| #define SET32TCTX_MV_y(r32,v) _BFSET_(r32,31,16,v) |
| #define GET16TCTX_MV_y(r16) _BFGET_(r16,15, 0) |
| #define SET16TCTX_MV_y(r16,v) _BFSET_(r16,15, 0,v) |
| |
| #define w32TCTX_MV {\ |
| UNSG32 sMV_x : 16;\ |
| UNSG32 sMV_y : 16;\ |
| } |
| union { UNSG32 u32TCTX_MV; |
| struct w32TCTX_MV; |
| }; |
| /////////////////////////////////////////////////////////// |
| } SIE_TCTX; |
| |
| typedef union T32TCTX_PROP |
| { UNSG32 u32; |
| struct w32TCTX_PROP; |
| } T32TCTX_PROP; |
| typedef union T32TCTX_MV |
| { UNSG32 u32; |
| struct w32TCTX_MV; |
| } T32TCTX_MV; |
| /////////////////////////////////////////////////////////// |
| |
| typedef union TTCTX_PROP |
| { UNSG32 u32[1]; |
| struct { |
| struct w32TCTX_PROP; |
| }; |
| } TTCTX_PROP; |
| typedef union TTCTX_MV |
| { UNSG32 u32[1]; |
| struct { |
| struct w32TCTX_MV; |
| }; |
| } TTCTX_MV; |
| |
| /////////////////////////////////////////////////////////// |
| SIGN32 TCTX_drvrd(SIE_TCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst); |
| SIGN32 TCTX_drvwr(SIE_TCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd); |
| void TCTX_reset(SIE_TCTX *p); |
| SIGN32 TCTX_cmp (SIE_TCTX *p, SIE_TCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst); |
| #define TCTX_check(p,pie,pfx,hLOG) TCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0) |
| #define TCTX_print(p, pfx,hLOG) TCTX_cmp(p,0, pfx,(void*)(hLOG),0,0) |
| |
| #endif |
| ////// |
| /// ENDOFINTERFACE: TCTX |
| //////////////////////////////////////////////////////////// |
| |
| ////// |
| /// |
| /// $INTERFACE HCTXPB (4,4) |
| /// # # ---------------------------------------------------------- |
| /// @ 0x00000 (P) |
| /// # 0x00000 fore |
| /// $TCTX fore REG |
| /// ### |
| /// * Forward prediction |
| /// ### |
| /// @ 0x00008 (P) |
| /// # 0x00008 back |
| /// $TCTX back REG |
| /// ### |
| /// * Backward prediction |
| /// ### |
| /// # # ---------------------------------------------------------- |
| /// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B |
| //////////////////////////////////////////////////////////// |
| #ifndef h_HCTXPB |
| #define h_HCTXPB (){} |
| |
| #define RA_HCTXPB_fore 0x0000 |
| /////////////////////////////////////////////////////////// |
| #define RA_HCTXPB_back 0x0008 |
| /////////////////////////////////////////////////////////// |
| |
| typedef struct SIE_HCTXPB { |
| /////////////////////////////////////////////////////////// |
| SIE_TCTX ie_fore; |
| /////////////////////////////////////////////////////////// |
| SIE_TCTX ie_back; |
| /////////////////////////////////////////////////////////// |
| } SIE_HCTXPB; |
| |
| /////////////////////////////////////////////////////////// |
| SIGN32 HCTXPB_drvrd(SIE_HCTXPB *p, UNSG32 base, SIGN32 mem, SIGN32 tst); |
| SIGN32 HCTXPB_drvwr(SIE_HCTXPB *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd); |
| void HCTXPB_reset(SIE_HCTXPB *p); |
| SIGN32 HCTXPB_cmp (SIE_HCTXPB *p, SIE_HCTXPB *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst); |
| #define HCTXPB_check(p,pie,pfx,hLOG) HCTXPB_cmp(p,pie,pfx,(void*)(hLOG),0,0) |
| #define HCTXPB_print(p, pfx,hLOG) HCTXPB_cmp(p,0, pfx,(void*)(hLOG),0,0) |
| |
| #endif |
| ////// |
| /// ENDOFINTERFACE: HCTXPB |
| //////////////////////////////////////////////////////////// |
| |
| ////// |
| /// |
| /// $INTERFACE CacheMSG (4,4) |
| /// # # ---------------------------------------------------------- |
| /// @ 0x00000 (P) |
| /// %unsigned 11 xLoc |
| /// ### |
| /// * Exact reference region horizontal location (in pixel) |
| /// ### |
| /// %unsigned 5 xPix |
| /// ### |
| /// * Exact reference region horizontal size (in pixel) |
| /// ### |
| /// %unsigned 11 yLoc |
| /// ### |
| /// * Exact reference region vertical location (in pixel) |
| /// ### |
| /// %unsigned 5 yPix |
| /// ### |
| /// * Exact reference region vertical size (in pixel) |
| /// ### |
| /// @ 0x00004 (P) |
| /// %unsigned 5 xLocExp |
| /// ### |
| /// * Expansion horizontal offset (in pixel) |
| /// ### |
| /// %unsigned 3 xPixExp |
| /// ### |
| /// * Expansion horizontal size (in 4-pixel unit) |
| /// ### |
| /// %unsigned 5 yLocExp |
| /// ### |
| /// * Expansion vertical offset (in pixel) |
| /// ### |
| /// %unsigned 3 yPixExp |
| /// ### |
| /// * Expansion vertical size (in 4-pixel unit) |
| /// ### |
| /// %unsigned 6 rBID |
| /// ### |
| /// * Reference buffer ID, last 1b indicates access mode: |
| /// * 0: frame/progressive or top field |
| /// * 1: bottom field |
| /// ### |
| /// %unsigned 1 uv |
| /// ### |
| /// * 0/1 for Y or UV reference region |
| /// ### |
| /// %unsigned 1 fldMB |
| /// ### |
| /// * 0/1 for frame or field MB(-pair) |
| /// ### |
| /// %unsigned 2 hint |
| /// : bypass 0x0 |
| /// ### |
| /// * Force to bypass cache |
| /// ### |
| /// : FrmX 0x1 |
| /// ### |
| /// * Use FID & xLoc to decide cache way |
| /// ### |
| /// : FrmY 0x2 |
| /// ### |
| /// * Use FID & yLoc to decide cache way |
| /// ### |
| /// : XY 0x3 |
| /// ### |
| /// * Use xLoc & yLoc to decide cache way |
| /// ### |
| /// %unsigned 5 descID |
| /// ### |
| /// * Output transfer descriptor ID |
| /// * A descriptor shall have a (non-zero) semaphore ID to check not full before transfer, destination address and stride (in 4x4) |
| /// ### |
| /// %unsigned 1 ID |
| /// ### |
| /// * = 1'b0 for message type of reference fetch |
| /// ### |
| /// # # ---------------------------------------------------------- |
| /// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B |
| //////////////////////////////////////////////////////////// |
| #ifndef h_CacheMSG |
| #define h_CacheMSG (){} |
| |
| #define BA_CacheMSG_xLoc 0x0000 |
| #define B16CacheMSG_xLoc 0x0000 |
| #define LSb32CacheMSG_xLoc 0 |
| #define LSb16CacheMSG_xLoc 0 |
| #define bCacheMSG_xLoc 11 |
| #define MSK32CacheMSG_xLoc 0x000007FF |
| |
| #define BA_CacheMSG_xPix 0x0001 |
| #define B16CacheMSG_xPix 0x0000 |
| #define LSb32CacheMSG_xPix 11 |
| #define LSb16CacheMSG_xPix 11 |
| #define bCacheMSG_xPix 5 |
| #define MSK32CacheMSG_xPix 0x0000F800 |
| |
| #define BA_CacheMSG_yLoc 0x0002 |
| #define B16CacheMSG_yLoc 0x0002 |
| #define LSb32CacheMSG_yLoc 16 |
| #define LSb16CacheMSG_yLoc 0 |
| #define bCacheMSG_yLoc 11 |
| #define MSK32CacheMSG_yLoc 0x07FF0000 |
| |
| #define BA_CacheMSG_yPix 0x0003 |
| #define B16CacheMSG_yPix 0x0002 |
| #define LSb32CacheMSG_yPix 27 |
| #define LSb16CacheMSG_yPix 11 |
| #define bCacheMSG_yPix 5 |
| #define MSK32CacheMSG_yPix 0xF8000000 |
| /////////////////////////////////////////////////////////// |
| |
| #define BA_CacheMSG_xLocExp 0x0004 |
| #define B16CacheMSG_xLocExp 0x0004 |
| #define LSb32CacheMSG_xLocExp 0 |
| #define LSb16CacheMSG_xLocExp 0 |
| #define bCacheMSG_xLocExp 5 |
| #define MSK32CacheMSG_xLocExp 0x0000001F |
| |
| #define BA_CacheMSG_xPixExp 0x0004 |
| #define B16CacheMSG_xPixExp 0x0004 |
| #define LSb32CacheMSG_xPixExp 5 |
| #define LSb16CacheMSG_xPixExp 5 |
| #define bCacheMSG_xPixExp 3 |
| #define MSK32CacheMSG_xPixExp 0x000000E0 |
| |
| #define BA_CacheMSG_yLocExp 0x0005 |
| #define B16CacheMSG_yLocExp 0x0004 |
| #define LSb32CacheMSG_yLocExp 8 |
| #define LSb16CacheMSG_yLocExp 8 |
| #define bCacheMSG_yLocExp 5 |
| #define MSK32CacheMSG_yLocExp 0x00001F00 |
| |
| #define BA_CacheMSG_yPixExp 0x0005 |
| #define B16CacheMSG_yPixExp 0x0004 |
| #define LSb32CacheMSG_yPixExp 13 |
| #define LSb16CacheMSG_yPixExp 13 |
| #define bCacheMSG_yPixExp 3 |
| #define MSK32CacheMSG_yPixExp 0x0000E000 |
| |
| #define BA_CacheMSG_rBID 0x0006 |
| #define B16CacheMSG_rBID 0x0006 |
| #define LSb32CacheMSG_rBID 16 |
| #define LSb16CacheMSG_rBID 0 |
| #define bCacheMSG_rBID 6 |
| #define MSK32CacheMSG_rBID 0x003F0000 |
| |
| #define BA_CacheMSG_uv 0x0006 |
| #define B16CacheMSG_uv 0x0006 |
| #define LSb32CacheMSG_uv 22 |
| #define LSb16CacheMSG_uv 6 |
| #define bCacheMSG_uv 1 |
| #define MSK32CacheMSG_uv 0x00400000 |
| |
| #define BA_CacheMSG_fldMB 0x0006 |
| #define B16CacheMSG_fldMB 0x0006 |
| #define LSb32CacheMSG_fldMB 23 |
| #define LSb16CacheMSG_fldMB 7 |
| #define bCacheMSG_fldMB 1 |
| #define MSK32CacheMSG_fldMB 0x00800000 |
| |
| #define BA_CacheMSG_hint 0x0007 |
| #define B16CacheMSG_hint 0x0006 |
| #define LSb32CacheMSG_hint 24 |
| #define LSb16CacheMSG_hint 8 |
| #define bCacheMSG_hint 2 |
| #define MSK32CacheMSG_hint 0x03000000 |
| #define CacheMSG_hint_bypass 0x0 |
| #define CacheMSG_hint_FrmX 0x1 |
| #define CacheMSG_hint_FrmY 0x2 |
| #define CacheMSG_hint_XY 0x3 |
| |
| #define BA_CacheMSG_descID 0x0007 |
| #define B16CacheMSG_descID 0x0006 |
| #define LSb32CacheMSG_descID 26 |
| #define LSb16CacheMSG_descID 10 |
| #define bCacheMSG_descID 5 |
| #define MSK32CacheMSG_descID 0x7C000000 |
| |
| #define BA_CacheMSG_ID 0x0007 |
| #define B16CacheMSG_ID 0x0006 |
| #define LSb32CacheMSG_ID 31 |
| #define LSb16CacheMSG_ID 15 |
| #define bCacheMSG_ID 1 |
| #define MSK32CacheMSG_ID 0x80000000 |
| /////////////////////////////////////////////////////////// |
| |
| typedef struct SIE_CacheMSG { |
| /////////////////////////////////////////////////////////// |
| #define GET32CacheMSG_xLoc(r32) _BFGET_(r32,10, 0) |
| #define SET32CacheMSG_xLoc(r32,v) _BFSET_(r32,10, 0,v) |
| #define GET16CacheMSG_xLoc(r16) _BFGET_(r16,10, 0) |
| #define SET16CacheMSG_xLoc(r16,v) _BFSET_(r16,10, 0,v) |
| |
| #define GET32CacheMSG_xPix(r32) _BFGET_(r32,15,11) |
| #define SET32CacheMSG_xPix(r32,v) _BFSET_(r32,15,11,v) |
| #define GET16CacheMSG_xPix(r16) _BFGET_(r16,15,11) |
| #define SET16CacheMSG_xPix(r16,v) _BFSET_(r16,15,11,v) |
| |
| #define GET32CacheMSG_yLoc(r32) _BFGET_(r32,26,16) |
| #define SET32CacheMSG_yLoc(r32,v) _BFSET_(r32,26,16,v) |
| #define GET16CacheMSG_yLoc(r16) _BFGET_(r16,10, 0) |
| #define SET16CacheMSG_yLoc(r16,v) _BFSET_(r16,10, 0,v) |
| |
| #define GET32CacheMSG_yPix(r32) _BFGET_(r32,31,27) |
| #define SET32CacheMSG_yPix(r32,v) _BFSET_(r32,31,27,v) |
| #define GET16CacheMSG_yPix(r16) _BFGET_(r16,15,11) |
| #define SET16CacheMSG_yPix(r16,v) _BFSET_(r16,15,11,v) |
| |
| UNSG32 u_xLoc : 11; |
| UNSG32 u_xPix : 5; |
| UNSG32 u_yLoc : 11; |
| UNSG32 u_yPix : 5; |
| /////////////////////////////////////////////////////////// |
| #define GET32CacheMSG_xLocExp(r32) _BFGET_(r32, 4, 0) |
| #define SET32CacheMSG_xLocExp(r32,v) _BFSET_(r32, 4, 0,v) |
| #define GET16CacheMSG_xLocExp(r16) _BFGET_(r16, 4, 0) |
| #define SET16CacheMSG_xLocExp(r16,v) _BFSET_(r16, 4, 0,v) |
| |
| #define GET32CacheMSG_xPixExp(r32) _BFGET_(r32, 7, 5) |
| #define SET32CacheMSG_xPixExp(r32,v) _BFSET_(r32, 7, 5,v) |
| #define GET16CacheMSG_xPixExp(r16) _BFGET_(r16, 7, 5) |
| #define SET16CacheMSG_xPixExp(r16,v) _BFSET_(r16, 7, 5,v) |
| |
| #define GET32CacheMSG_yLocExp(r32) _BFGET_(r32,12, 8) |
| #define SET32CacheMSG_yLocExp(r32,v) _BFSET_(r32,12, 8,v) |
| #define GET16CacheMSG_yLocExp(r16) _BFGET_(r16,12, 8) |
| #define SET16CacheMSG_yLocExp(r16,v) _BFSET_(r16,12, 8,v) |
| |
| #define GET32CacheMSG_yPixExp(r32) _BFGET_(r32,15,13) |
| #define SET32CacheMSG_yPixExp(r32,v) _BFSET_(r32,15,13,v) |
| #define GET16CacheMSG_yPixExp(r16) _BFGET_(r16,15,13) |
| #define SET16CacheMSG_yPixExp(r16,v) _BFSET_(r16,15,13,v) |
| |
| #define GET32CacheMSG_rBID(r32) _BFGET_(r32,21,16) |
| #define SET32CacheMSG_rBID(r32,v) _BFSET_(r32,21,16,v) |
| #define GET16CacheMSG_rBID(r16) _BFGET_(r16, 5, 0) |
| #define SET16CacheMSG_rBID(r16,v) _BFSET_(r16, 5, 0,v) |
| |
| #define GET32CacheMSG_uv(r32) _BFGET_(r32,22,22) |
| #define SET32CacheMSG_uv(r32,v) _BFSET_(r32,22,22,v) |
| #define GET16CacheMSG_uv(r16) _BFGET_(r16, 6, 6) |
| #define SET16CacheMSG_uv(r16,v) _BFSET_(r16, 6, 6,v) |
| |
| #define GET32CacheMSG_fldMB(r32) _BFGET_(r32,23,23) |
| #define SET32CacheMSG_fldMB(r32,v) _BFSET_(r32,23,23,v) |
| #define GET16CacheMSG_fldMB(r16) _BFGET_(r16, 7, 7) |
| #define SET16CacheMSG_fldMB(r16,v) _BFSET_(r16, 7, 7,v) |
| |
| #define GET32CacheMSG_hint(r32) _BFGET_(r32,25,24) |
| #define SET32CacheMSG_hint(r32,v) _BFSET_(r32,25,24,v) |
| #define GET16CacheMSG_hint(r16) _BFGET_(r16, 9, 8) |
| #define SET16CacheMSG_hint(r16,v) _BFSET_(r16, 9, 8,v) |
| |
| #define GET32CacheMSG_descID(r32) _BFGET_(r32,30,26) |
| #define SET32CacheMSG_descID(r32,v) _BFSET_(r32,30,26,v) |
| #define GET16CacheMSG_descID(r16) _BFGET_(r16,14,10) |
| #define SET16CacheMSG_descID(r16,v) _BFSET_(r16,14,10,v) |
| |
| #define GET32CacheMSG_ID(r32) _BFGET_(r32,31,31) |
| #define SET32CacheMSG_ID(r32,v) _BFSET_(r32,31,31,v) |
| #define GET16CacheMSG_ID(r16) _BFGET_(r16,15,15) |
| #define SET16CacheMSG_ID(r16,v) _BFSET_(r16,15,15,v) |
| |
| UNSG32 u_xLocExp : 5; |
| UNSG32 u_xPixExp : 3; |
| UNSG32 u_yLocExp : 5; |
| UNSG32 u_yPixExp : 3; |
| UNSG32 u_rBID : 6; |
| UNSG32 u_uv : 1; |
| UNSG32 u_fldMB : 1; |
| UNSG32 u_hint : 2; |
| UNSG32 u_descID : 5; |
| UNSG32 u_ID : 1; |
| /////////////////////////////////////////////////////////// |
| } SIE_CacheMSG; |
| |
| /////////////////////////////////////////////////////////// |
| SIGN32 CacheMSG_drvrd(SIE_CacheMSG *p, UNSG32 base, SIGN32 mem, SIGN32 tst); |
| SIGN32 CacheMSG_drvwr(SIE_CacheMSG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd); |
| void CacheMSG_reset(SIE_CacheMSG *p); |
| SIGN32 CacheMSG_cmp (SIE_CacheMSG *p, SIE_CacheMSG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst); |
| #define CacheMSG_check(p,pie,pfx,hLOG) CacheMSG_cmp(p,pie,pfx,(void*)(hLOG),0,0) |
| #define CacheMSG_print(p, pfx,hLOG) CacheMSG_cmp(p,0, pfx,(void*)(hLOG),0,0) |
| |
| #endif |
| ////// |
| /// ENDOFINTERFACE: CacheMSG |
| //////////////////////////////////////////////////////////// |
| |
| ////// |
| /// |
| /// $INTERFACE CacheCFG (4,4) |
| /// # # ---------------------------------------------------------- |
| /// @ 0x00000 (P) |
| /// %unsigned 32 val |
| /// ### |
| /// * 32b configuration data |
| /// ### |
| /// @ 0x00004 (P) |
| /// %unsigned 26 ptr |
| /// ### |
| /// * Configuration 32b word-address: |
| /// * equivalent as AHB programming byte address b[27:2] |
| /// ### |
| /// %unsigned 5 op |
| /// : CFG 0x0 |
| /// ### |
| /// * 0 for on-the-fly configuration message |
| /// ### |
| /// %unsigned 1 ID |
| /// ### |
| /// * = 1'b1 for special message types |
| /// ### |
| /// # # ---------------------------------------------------------- |
| /// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B |
| //////////////////////////////////////////////////////////// |
| #ifndef h_CacheCFG |
| #define h_CacheCFG (){} |
| |
| #define BA_CacheCFG_val 0x0000 |
| #define B16CacheCFG_val 0x0000 |
| #define LSb32CacheCFG_val 0 |
| #define LSb16CacheCFG_val 0 |
| #define bCacheCFG_val 32 |
| #define MSK32CacheCFG_val 0xFFFFFFFF |
| /////////////////////////////////////////////////////////// |
| |
| #define BA_CacheCFG_ptr 0x0004 |
| #define B16CacheCFG_ptr 0x0004 |
| #define LSb32CacheCFG_ptr 0 |
| #define LSb16CacheCFG_ptr 0 |
| #define bCacheCFG_ptr 26 |
| #define MSK32CacheCFG_ptr 0x03FFFFFF |
| |
| #define BA_CacheCFG_op 0x0007 |
| #define B16CacheCFG_op 0x0006 |
| #define LSb32CacheCFG_op 26 |
| #define LSb16CacheCFG_op 10 |
| #define bCacheCFG_op 5 |
| #define MSK32CacheCFG_op 0x7C000000 |
| #define CacheCFG_op_CFG 0x0 |
| |
| #define BA_CacheCFG_ID 0x0007 |
| #define B16CacheCFG_ID 0x0006 |
| #define LSb32CacheCFG_ID 31 |
| #define LSb16CacheCFG_ID 15 |
| #define bCacheCFG_ID 1 |
| #define MSK32CacheCFG_ID 0x80000000 |
| /////////////////////////////////////////////////////////// |
| |
| typedef struct SIE_CacheCFG { |
| /////////////////////////////////////////////////////////// |
| #define GET32CacheCFG_val(r32) _BFGET_(r32,31, 0) |
| #define SET32CacheCFG_val(r32,v) _BFSET_(r32,31, 0,v) |
| |
| UNSG32 u_val : 32; |
| /////////////////////////////////////////////////////////// |
| #define GET32CacheCFG_ptr(r32) _BFGET_(r32,25, 0) |
| #define SET32CacheCFG_ptr(r32,v) _BFSET_(r32,25, 0,v) |
| |
| #define GET32CacheCFG_op(r32) _BFGET_(r32,30,26) |
| #define SET32CacheCFG_op(r32,v) _BFSET_(r32,30,26,v) |
| #define GET16CacheCFG_op(r16) _BFGET_(r16,14,10) |
| #define SET16CacheCFG_op(r16,v) _BFSET_(r16,14,10,v) |
| |
| #define GET32CacheCFG_ID(r32) _BFGET_(r32,31,31) |
| #define SET32CacheCFG_ID(r32,v) _BFSET_(r32,31,31,v) |
| #define GET16CacheCFG_ID(r16) _BFGET_(r16,15,15) |
| #define SET16CacheCFG_ID(r16,v) _BFSET_(r16,15,15,v) |
| |
| UNSG32 u_ptr : 26; |
| UNSG32 u_op : 5; |
| UNSG32 u_ID : 1; |
| /////////////////////////////////////////////////////////// |
| } SIE_CacheCFG; |
| |
| /////////////////////////////////////////////////////////// |
| SIGN32 CacheCFG_drvrd(SIE_CacheCFG *p, UNSG32 base, SIGN32 mem, SIGN32 tst); |
| SIGN32 CacheCFG_drvwr(SIE_CacheCFG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd); |
| void CacheCFG_reset(SIE_CacheCFG *p); |
| SIGN32 CacheCFG_cmp (SIE_CacheCFG *p, SIE_CacheCFG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst); |
| #define CacheCFG_check(p,pie,pfx,hLOG) CacheCFG_cmp(p,pie,pfx,(void*)(hLOG),0,0) |
| #define CacheCFG_print(p, pfx,hLOG) CacheCFG_cmp(p,0, pfx,(void*)(hLOG),0,0) |
| |
| #endif |
| ////// |
| /// ENDOFINTERFACE: CacheCFG |
| //////////////////////////////////////////////////////////// |
| |
| |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #pragma pack() |
| |
| #endif |
| ////// |
| /// ENDOFFILE: Galois_FuncSpec.h |
| //////////////////////////////////////////////////////////// |
| |