blob: 2ca8060b27761b8c535d3f3198fbd540cf27a297 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright (C) 2019 Synaptics Incorporated */
#ifndef mipiPipeCore_h
#define mipiPipeCore_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 TG_PL (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 X (P)
/// %unsigned 13 start 0x0
/// %unsigned 13 end 0x0
/// %% 6 # Stuffing bits...
/// @ 0x00004 Y (P)
/// %unsigned 12 start 0x0
/// %unsigned 12 end 0x0
/// ###
/// * Horizontal and Vertical Start and End values for a plane
/// ###
/// %% 8 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 50b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TG_PL
#define h_TG_PL (){}
#define RA_TG_PL_X 0x0000
#define BA_TG_PL_X_start 0x0000
#define B16TG_PL_X_start 0x0000
#define LSb32TG_PL_X_start 0
#define LSb16TG_PL_X_start 0
#define bTG_PL_X_start 13
#define MSK32TG_PL_X_start 0x00001FFF
#define BA_TG_PL_X_end 0x0001
#define B16TG_PL_X_end 0x0000
#define LSb32TG_PL_X_end 13
#define LSb16TG_PL_X_end 13
#define bTG_PL_X_end 13
#define MSK32TG_PL_X_end 0x03FFE000
///////////////////////////////////////////////////////////
#define RA_TG_PL_Y 0x0004
#define BA_TG_PL_Y_start 0x0004
#define B16TG_PL_Y_start 0x0004
#define LSb32TG_PL_Y_start 0
#define LSb16TG_PL_Y_start 0
#define bTG_PL_Y_start 12
#define MSK32TG_PL_Y_start 0x00000FFF
#define BA_TG_PL_Y_end 0x0005
#define B16TG_PL_Y_end 0x0004
#define LSb32TG_PL_Y_end 12
#define LSb16TG_PL_Y_end 12
#define bTG_PL_Y_end 12
#define MSK32TG_PL_Y_end 0x00FFF000
///////////////////////////////////////////////////////////
typedef struct SIE_TG_PL {
///////////////////////////////////////////////////////////
#define GET32TG_PL_X_start(r32) _BFGET_(r32,12, 0)
#define SET32TG_PL_X_start(r32,v) _BFSET_(r32,12, 0,v)
#define GET16TG_PL_X_start(r16) _BFGET_(r16,12, 0)
#define SET16TG_PL_X_start(r16,v) _BFSET_(r16,12, 0,v)
#define GET32TG_PL_X_end(r32) _BFGET_(r32,25,13)
#define SET32TG_PL_X_end(r32,v) _BFSET_(r32,25,13,v)
#define w32TG_PL_X {\
UNSG32 uX_start : 13;\
UNSG32 uX_end : 13;\
UNSG32 RSVDx0_b26 : 6;\
}
union { UNSG32 u32TG_PL_X;
struct w32TG_PL_X;
};
///////////////////////////////////////////////////////////
#define GET32TG_PL_Y_start(r32) _BFGET_(r32,11, 0)
#define SET32TG_PL_Y_start(r32,v) _BFSET_(r32,11, 0,v)
#define GET16TG_PL_Y_start(r16) _BFGET_(r16,11, 0)
#define SET16TG_PL_Y_start(r16,v) _BFSET_(r16,11, 0,v)
#define GET32TG_PL_Y_end(r32) _BFGET_(r32,23,12)
#define SET32TG_PL_Y_end(r32,v) _BFSET_(r32,23,12,v)
#define w32TG_PL_Y {\
UNSG32 uY_start : 12;\
UNSG32 uY_end : 12;\
UNSG32 RSVDx4_b24 : 8;\
}
union { UNSG32 u32TG_PL_Y;
struct w32TG_PL_Y;
};
///////////////////////////////////////////////////////////
} SIE_TG_PL;
typedef union T32TG_PL_X
{ UNSG32 u32;
struct w32TG_PL_X;
} T32TG_PL_X;
typedef union T32TG_PL_Y
{ UNSG32 u32;
struct w32TG_PL_Y;
} T32TG_PL_Y;
///////////////////////////////////////////////////////////
typedef union TTG_PL_X
{ UNSG32 u32[1];
struct {
struct w32TG_PL_X;
};
} TTG_PL_X;
typedef union TTG_PL_Y
{ UNSG32 u32[1];
struct {
struct w32TG_PL_Y;
};
} TTG_PL_Y;
///////////////////////////////////////////////////////////
SIGN32 TG_PL_drvrd(SIE_TG_PL *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TG_PL_drvwr(SIE_TG_PL *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TG_PL_reset(SIE_TG_PL *p);
SIGN32 TG_PL_cmp (SIE_TG_PL *p, SIE_TG_PL *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TG_PL_check(p,pie,pfx,hLOG) TG_PL_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TG_PL_print(p, pfx,hLOG) TG_PL_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TG_PL
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TG_PRG (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CTRL (P)
/// %unsigned 2 mode 0x2
/// ###
/// * Generates the hcnt and vcnt with the sref. The different modes programmable are : 0 = free running mode, 1 = sync mode, 2= Semi sync mode
/// ###
/// %unsigned 8 lwin 0xF
/// ###
/// * Used in generation of lock sync and lock active for resetting hcnt and vcnt in TG
/// ###
/// %unsigned 12 frst 0x0
/// ###
/// * Position during vertical blanking time at which frame reset is generated
/// ###
/// %unsigned 10 freeze 0x0
/// ###
/// * Freeze controls for TG; this register should be used by SW when it wants to modify the plane position/size registers so that HW does not pick-up the intermediate values written.
/// ###
/// @ 0x00004 CTRL1 (P)
/// %unsigned 2 sync_ctrl 0x0
/// ###
/// * To provide low latency for pass-through where the latency requirement is less than one frame
/// * [0] : Enable Bit. For low latency pass-through, enable this bit to 1’b1. Default it is zero.
/// * [1] : The SW will get active video start event from Cypress and then it will program SYNC bit SYNC_CTRL[1] to 1’b1 in VPP for low latency graphics (RGB) pass through.
/// ###
/// %unsigned 9 res_change_en 0x0
/// ###
/// * Enable bits for dynamic resolution change of registers used for generating timing signals
/// * [0] – enable bit for Htotal/Vtotal programmable register
/// * [1] - enable bit for VX programmable register
/// * [2] - enable bit for Hsync (start & end) programmable register
/// * [3] - enable bit for Vsync (startY & endY) programmable register
/// * [4] - enable bit for Plane0 (startX & endX) programmable register
/// * [5] - enable bit for Plane0 (startY & endY) programmable register
/// * [6] - enable bit for Field (startX & endX) programmable register
/// * [7] - enable bit for Field (startY & endY) programmable register
/// * [8] - enable bit for Vsync (startX & endX) programmable register
/// ###
/// %% 21 # Stuffing bits...
/// @ 0x00008 Total (P)
/// %unsigned 12 vertical 0x0
/// ###
/// * Vertical Total values (in lines).
/// ###
/// %unsigned 13 horizontal 0x0
/// ###
/// * Horizontal Total values (in pixels)
/// ###
/// %% 7 # Stuffing bits...
/// @ 0x0000C Initial (P)
/// %unsigned 13 xi 0x0
/// ###
/// * Initial Horizontal position value
/// ###
/// %unsigned 12 yi 0x0
/// ###
/// * Initial Vertical position value
/// ###
/// %% 7 # Stuffing bits...
/// @ 0x00010 HSYNC (P)
/// %unsigned 13 h_start 0x0
/// ###
/// * Horizontal Start value indicated for Hsync position
/// ###
/// %unsigned 13 h_end 0x0
/// ###
/// * Horizontal End value indicated for Hsync position
/// ###
/// %% 6 # Stuffing bits...
/// @ 0x00014 VSYNC (P)
/// %unsigned 12 v_start 0x0
/// ###
/// * Vertical Start value indicated for Vsync position
/// ###
/// %unsigned 12 v_end 0x0
/// ###
/// * Vertical End value indicated for Vsync position
/// ###
/// %% 8 # Stuffing bits...
/// @ 0x00018 VS (P)
/// %unsigned 13 h_start 0x0
/// ###
/// * Horizontal Start value indicated for Vsync position
/// ###
/// %unsigned 13 h_end 0x0
/// ###
/// * Horizontal End value indicated for Vsync position
/// ###
/// %% 6 # Stuffing bits...
/// @ 0x0001C FT (P)
/// %unsigned 8 frame 0x0
/// ###
/// * Frame total value
/// ###
/// %% 24 # Stuffing bits...
/// @ 0x00020 VX (P)
/// %unsigned 13 vx 0x0
/// ###
/// * Horizontal positions at which vertical active data
/// ###
/// %% 19 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 36B, bits: 190b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TG_PRG
#define h_TG_PRG (){}
#define RA_TG_PRG_CTRL 0x0000
#define BA_TG_PRG_CTRL_mode 0x0000
#define B16TG_PRG_CTRL_mode 0x0000
#define LSb32TG_PRG_CTRL_mode 0
#define LSb16TG_PRG_CTRL_mode 0
#define bTG_PRG_CTRL_mode 2
#define MSK32TG_PRG_CTRL_mode 0x00000003
#define BA_TG_PRG_CTRL_lwin 0x0000
#define B16TG_PRG_CTRL_lwin 0x0000
#define LSb32TG_PRG_CTRL_lwin 2
#define LSb16TG_PRG_CTRL_lwin 2
#define bTG_PRG_CTRL_lwin 8
#define MSK32TG_PRG_CTRL_lwin 0x000003FC
#define BA_TG_PRG_CTRL_frst 0x0001
#define B16TG_PRG_CTRL_frst 0x0000
#define LSb32TG_PRG_CTRL_frst 10
#define LSb16TG_PRG_CTRL_frst 10
#define bTG_PRG_CTRL_frst 12
#define MSK32TG_PRG_CTRL_frst 0x003FFC00
#define BA_TG_PRG_CTRL_freeze 0x0002
#define B16TG_PRG_CTRL_freeze 0x0002
#define LSb32TG_PRG_CTRL_freeze 22
#define LSb16TG_PRG_CTRL_freeze 6
#define bTG_PRG_CTRL_freeze 10
#define MSK32TG_PRG_CTRL_freeze 0xFFC00000
///////////////////////////////////////////////////////////
#define RA_TG_PRG_CTRL1 0x0004
#define BA_TG_PRG_CTRL1_sync_ctrl 0x0004
#define B16TG_PRG_CTRL1_sync_ctrl 0x0004
#define LSb32TG_PRG_CTRL1_sync_ctrl 0
#define LSb16TG_PRG_CTRL1_sync_ctrl 0
#define bTG_PRG_CTRL1_sync_ctrl 2
#define MSK32TG_PRG_CTRL1_sync_ctrl 0x00000003
#define BA_TG_PRG_CTRL1_res_change_en 0x0004
#define B16TG_PRG_CTRL1_res_change_en 0x0004
#define LSb32TG_PRG_CTRL1_res_change_en 2
#define LSb16TG_PRG_CTRL1_res_change_en 2
#define bTG_PRG_CTRL1_res_change_en 9
#define MSK32TG_PRG_CTRL1_res_change_en 0x000007FC
///////////////////////////////////////////////////////////
#define RA_TG_PRG_Total 0x0008
#define BA_TG_PRG_Total_vertical 0x0008
#define B16TG_PRG_Total_vertical 0x0008
#define LSb32TG_PRG_Total_vertical 0
#define LSb16TG_PRG_Total_vertical 0
#define bTG_PRG_Total_vertical 12
#define MSK32TG_PRG_Total_vertical 0x00000FFF
#define BA_TG_PRG_Total_horizontal 0x0009
#define B16TG_PRG_Total_horizontal 0x0008
#define LSb32TG_PRG_Total_horizontal 12
#define LSb16TG_PRG_Total_horizontal 12
#define bTG_PRG_Total_horizontal 13
#define MSK32TG_PRG_Total_horizontal 0x01FFF000
///////////////////////////////////////////////////////////
#define RA_TG_PRG_Initial 0x000C
#define BA_TG_PRG_Initial_xi 0x000C
#define B16TG_PRG_Initial_xi 0x000C
#define LSb32TG_PRG_Initial_xi 0
#define LSb16TG_PRG_Initial_xi 0
#define bTG_PRG_Initial_xi 13
#define MSK32TG_PRG_Initial_xi 0x00001FFF
#define BA_TG_PRG_Initial_yi 0x000D
#define B16TG_PRG_Initial_yi 0x000C
#define LSb32TG_PRG_Initial_yi 13
#define LSb16TG_PRG_Initial_yi 13
#define bTG_PRG_Initial_yi 12
#define MSK32TG_PRG_Initial_yi 0x01FFE000
///////////////////////////////////////////////////////////
#define RA_TG_PRG_HSYNC 0x0010
#define BA_TG_PRG_HSYNC_h_start 0x0010
#define B16TG_PRG_HSYNC_h_start 0x0010
#define LSb32TG_PRG_HSYNC_h_start 0
#define LSb16TG_PRG_HSYNC_h_start 0
#define bTG_PRG_HSYNC_h_start 13
#define MSK32TG_PRG_HSYNC_h_start 0x00001FFF
#define BA_TG_PRG_HSYNC_h_end 0x0011
#define B16TG_PRG_HSYNC_h_end 0x0010
#define LSb32TG_PRG_HSYNC_h_end 13
#define LSb16TG_PRG_HSYNC_h_end 13
#define bTG_PRG_HSYNC_h_end 13
#define MSK32TG_PRG_HSYNC_h_end 0x03FFE000
///////////////////////////////////////////////////////////
#define RA_TG_PRG_VSYNC 0x0014
#define BA_TG_PRG_VSYNC_v_start 0x0014
#define B16TG_PRG_VSYNC_v_start 0x0014
#define LSb32TG_PRG_VSYNC_v_start 0
#define LSb16TG_PRG_VSYNC_v_start 0
#define bTG_PRG_VSYNC_v_start 12
#define MSK32TG_PRG_VSYNC_v_start 0x00000FFF
#define BA_TG_PRG_VSYNC_v_end 0x0015
#define B16TG_PRG_VSYNC_v_end 0x0014
#define LSb32TG_PRG_VSYNC_v_end 12
#define LSb16TG_PRG_VSYNC_v_end 12
#define bTG_PRG_VSYNC_v_end 12
#define MSK32TG_PRG_VSYNC_v_end 0x00FFF000
///////////////////////////////////////////////////////////
#define RA_TG_PRG_VS 0x0018
#define BA_TG_PRG_VS_h_start 0x0018
#define B16TG_PRG_VS_h_start 0x0018
#define LSb32TG_PRG_VS_h_start 0
#define LSb16TG_PRG_VS_h_start 0
#define bTG_PRG_VS_h_start 13
#define MSK32TG_PRG_VS_h_start 0x00001FFF
#define BA_TG_PRG_VS_h_end 0x0019
#define B16TG_PRG_VS_h_end 0x0018
#define LSb32TG_PRG_VS_h_end 13
#define LSb16TG_PRG_VS_h_end 13
#define bTG_PRG_VS_h_end 13
#define MSK32TG_PRG_VS_h_end 0x03FFE000
///////////////////////////////////////////////////////////
#define RA_TG_PRG_FT 0x001C
#define BA_TG_PRG_FT_frame 0x001C
#define B16TG_PRG_FT_frame 0x001C
#define LSb32TG_PRG_FT_frame 0
#define LSb16TG_PRG_FT_frame 0
#define bTG_PRG_FT_frame 8
#define MSK32TG_PRG_FT_frame 0x000000FF
///////////////////////////////////////////////////////////
#define RA_TG_PRG_VX 0x0020
#define BA_TG_PRG_VX_vx 0x0020
#define B16TG_PRG_VX_vx 0x0020
#define LSb32TG_PRG_VX_vx 0
#define LSb16TG_PRG_VX_vx 0
#define bTG_PRG_VX_vx 13
#define MSK32TG_PRG_VX_vx 0x00001FFF
///////////////////////////////////////////////////////////
typedef struct SIE_TG_PRG {
///////////////////////////////////////////////////////////
#define GET32TG_PRG_CTRL_mode(r32) _BFGET_(r32, 1, 0)
#define SET32TG_PRG_CTRL_mode(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16TG_PRG_CTRL_mode(r16) _BFGET_(r16, 1, 0)
#define SET16TG_PRG_CTRL_mode(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32TG_PRG_CTRL_lwin(r32) _BFGET_(r32, 9, 2)
#define SET32TG_PRG_CTRL_lwin(r32,v) _BFSET_(r32, 9, 2,v)
#define GET16TG_PRG_CTRL_lwin(r16) _BFGET_(r16, 9, 2)
#define SET16TG_PRG_CTRL_lwin(r16,v) _BFSET_(r16, 9, 2,v)
#define GET32TG_PRG_CTRL_frst(r32) _BFGET_(r32,21,10)
#define SET32TG_PRG_CTRL_frst(r32,v) _BFSET_(r32,21,10,v)
#define GET32TG_PRG_CTRL_freeze(r32) _BFGET_(r32,31,22)
#define SET32TG_PRG_CTRL_freeze(r32,v) _BFSET_(r32,31,22,v)
#define GET16TG_PRG_CTRL_freeze(r16) _BFGET_(r16,15, 6)
#define SET16TG_PRG_CTRL_freeze(r16,v) _BFSET_(r16,15, 6,v)
#define w32TG_PRG_CTRL {\
UNSG32 uCTRL_mode : 2;\
UNSG32 uCTRL_lwin : 8;\
UNSG32 uCTRL_frst : 12;\
UNSG32 uCTRL_freeze : 10;\
}
union { UNSG32 u32TG_PRG_CTRL;
struct w32TG_PRG_CTRL;
};
///////////////////////////////////////////////////////////
#define GET32TG_PRG_CTRL1_sync_ctrl(r32) _BFGET_(r32, 1, 0)
#define SET32TG_PRG_CTRL1_sync_ctrl(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16TG_PRG_CTRL1_sync_ctrl(r16) _BFGET_(r16, 1, 0)
#define SET16TG_PRG_CTRL1_sync_ctrl(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32TG_PRG_CTRL1_res_change_en(r32) _BFGET_(r32,10, 2)
#define SET32TG_PRG_CTRL1_res_change_en(r32,v) _BFSET_(r32,10, 2,v)
#define GET16TG_PRG_CTRL1_res_change_en(r16) _BFGET_(r16,10, 2)
#define SET16TG_PRG_CTRL1_res_change_en(r16,v) _BFSET_(r16,10, 2,v)
#define w32TG_PRG_CTRL1 {\
UNSG32 uCTRL1_sync_ctrl : 2;\
UNSG32 uCTRL1_res_change_en : 9;\
UNSG32 RSVDx4_b11 : 21;\
}
union { UNSG32 u32TG_PRG_CTRL1;
struct w32TG_PRG_CTRL1;
};
///////////////////////////////////////////////////////////
#define GET32TG_PRG_Total_vertical(r32) _BFGET_(r32,11, 0)
#define SET32TG_PRG_Total_vertical(r32,v) _BFSET_(r32,11, 0,v)
#define GET16TG_PRG_Total_vertical(r16) _BFGET_(r16,11, 0)
#define SET16TG_PRG_Total_vertical(r16,v) _BFSET_(r16,11, 0,v)
#define GET32TG_PRG_Total_horizontal(r32) _BFGET_(r32,24,12)
#define SET32TG_PRG_Total_horizontal(r32,v) _BFSET_(r32,24,12,v)
#define w32TG_PRG_Total {\
UNSG32 uTotal_vertical : 12;\
UNSG32 uTotal_horizontal : 13;\
UNSG32 RSVDx8_b25 : 7;\
}
union { UNSG32 u32TG_PRG_Total;
struct w32TG_PRG_Total;
};
///////////////////////////////////////////////////////////
#define GET32TG_PRG_Initial_xi(r32) _BFGET_(r32,12, 0)
#define SET32TG_PRG_Initial_xi(r32,v) _BFSET_(r32,12, 0,v)
#define GET16TG_PRG_Initial_xi(r16) _BFGET_(r16,12, 0)
#define SET16TG_PRG_Initial_xi(r16,v) _BFSET_(r16,12, 0,v)
#define GET32TG_PRG_Initial_yi(r32) _BFGET_(r32,24,13)
#define SET32TG_PRG_Initial_yi(r32,v) _BFSET_(r32,24,13,v)
#define w32TG_PRG_Initial {\
UNSG32 uInitial_xi : 13;\
UNSG32 uInitial_yi : 12;\
UNSG32 RSVDxC_b25 : 7;\
}
union { UNSG32 u32TG_PRG_Initial;
struct w32TG_PRG_Initial;
};
///////////////////////////////////////////////////////////
#define GET32TG_PRG_HSYNC_h_start(r32) _BFGET_(r32,12, 0)
#define SET32TG_PRG_HSYNC_h_start(r32,v) _BFSET_(r32,12, 0,v)
#define GET16TG_PRG_HSYNC_h_start(r16) _BFGET_(r16,12, 0)
#define SET16TG_PRG_HSYNC_h_start(r16,v) _BFSET_(r16,12, 0,v)
#define GET32TG_PRG_HSYNC_h_end(r32) _BFGET_(r32,25,13)
#define SET32TG_PRG_HSYNC_h_end(r32,v) _BFSET_(r32,25,13,v)
#define w32TG_PRG_HSYNC {\
UNSG32 uHSYNC_h_start : 13;\
UNSG32 uHSYNC_h_end : 13;\
UNSG32 RSVDx10_b26 : 6;\
}
union { UNSG32 u32TG_PRG_HSYNC;
struct w32TG_PRG_HSYNC;
};
///////////////////////////////////////////////////////////
#define GET32TG_PRG_VSYNC_v_start(r32) _BFGET_(r32,11, 0)
#define SET32TG_PRG_VSYNC_v_start(r32,v) _BFSET_(r32,11, 0,v)
#define GET16TG_PRG_VSYNC_v_start(r16) _BFGET_(r16,11, 0)
#define SET16TG_PRG_VSYNC_v_start(r16,v) _BFSET_(r16,11, 0,v)
#define GET32TG_PRG_VSYNC_v_end(r32) _BFGET_(r32,23,12)
#define SET32TG_PRG_VSYNC_v_end(r32,v) _BFSET_(r32,23,12,v)
#define w32TG_PRG_VSYNC {\
UNSG32 uVSYNC_v_start : 12;\
UNSG32 uVSYNC_v_end : 12;\
UNSG32 RSVDx14_b24 : 8;\
}
union { UNSG32 u32TG_PRG_VSYNC;
struct w32TG_PRG_VSYNC;
};
///////////////////////////////////////////////////////////
#define GET32TG_PRG_VS_h_start(r32) _BFGET_(r32,12, 0)
#define SET32TG_PRG_VS_h_start(r32,v) _BFSET_(r32,12, 0,v)
#define GET16TG_PRG_VS_h_start(r16) _BFGET_(r16,12, 0)
#define SET16TG_PRG_VS_h_start(r16,v) _BFSET_(r16,12, 0,v)
#define GET32TG_PRG_VS_h_end(r32) _BFGET_(r32,25,13)
#define SET32TG_PRG_VS_h_end(r32,v) _BFSET_(r32,25,13,v)
#define w32TG_PRG_VS {\
UNSG32 uVS_h_start : 13;\
UNSG32 uVS_h_end : 13;\
UNSG32 RSVDx18_b26 : 6;\
}
union { UNSG32 u32TG_PRG_VS;
struct w32TG_PRG_VS;
};
///////////////////////////////////////////////////////////
#define GET32TG_PRG_FT_frame(r32) _BFGET_(r32, 7, 0)
#define SET32TG_PRG_FT_frame(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16TG_PRG_FT_frame(r16) _BFGET_(r16, 7, 0)
#define SET16TG_PRG_FT_frame(r16,v) _BFSET_(r16, 7, 0,v)
#define w32TG_PRG_FT {\
UNSG32 uFT_frame : 8;\
UNSG32 RSVDx1C_b8 : 24;\
}
union { UNSG32 u32TG_PRG_FT;
struct w32TG_PRG_FT;
};
///////////////////////////////////////////////////////////
#define GET32TG_PRG_VX_vx(r32) _BFGET_(r32,12, 0)
#define SET32TG_PRG_VX_vx(r32,v) _BFSET_(r32,12, 0,v)
#define GET16TG_PRG_VX_vx(r16) _BFGET_(r16,12, 0)
#define SET16TG_PRG_VX_vx(r16,v) _BFSET_(r16,12, 0,v)
#define w32TG_PRG_VX {\
UNSG32 uVX_vx : 13;\
UNSG32 RSVDx20_b13 : 19;\
}
union { UNSG32 u32TG_PRG_VX;
struct w32TG_PRG_VX;
};
///////////////////////////////////////////////////////////
} SIE_TG_PRG;
typedef union T32TG_PRG_CTRL
{ UNSG32 u32;
struct w32TG_PRG_CTRL;
} T32TG_PRG_CTRL;
typedef union T32TG_PRG_CTRL1
{ UNSG32 u32;
struct w32TG_PRG_CTRL1;
} T32TG_PRG_CTRL1;
typedef union T32TG_PRG_Total
{ UNSG32 u32;
struct w32TG_PRG_Total;
} T32TG_PRG_Total;
typedef union T32TG_PRG_Initial
{ UNSG32 u32;
struct w32TG_PRG_Initial;
} T32TG_PRG_Initial;
typedef union T32TG_PRG_HSYNC
{ UNSG32 u32;
struct w32TG_PRG_HSYNC;
} T32TG_PRG_HSYNC;
typedef union T32TG_PRG_VSYNC
{ UNSG32 u32;
struct w32TG_PRG_VSYNC;
} T32TG_PRG_VSYNC;
typedef union T32TG_PRG_VS
{ UNSG32 u32;
struct w32TG_PRG_VS;
} T32TG_PRG_VS;
typedef union T32TG_PRG_FT
{ UNSG32 u32;
struct w32TG_PRG_FT;
} T32TG_PRG_FT;
typedef union T32TG_PRG_VX
{ UNSG32 u32;
struct w32TG_PRG_VX;
} T32TG_PRG_VX;
///////////////////////////////////////////////////////////
typedef union TTG_PRG_CTRL
{ UNSG32 u32[1];
struct {
struct w32TG_PRG_CTRL;
};
} TTG_PRG_CTRL;
typedef union TTG_PRG_CTRL1
{ UNSG32 u32[1];
struct {
struct w32TG_PRG_CTRL1;
};
} TTG_PRG_CTRL1;
typedef union TTG_PRG_Total
{ UNSG32 u32[1];
struct {
struct w32TG_PRG_Total;
};
} TTG_PRG_Total;
typedef union TTG_PRG_Initial
{ UNSG32 u32[1];
struct {
struct w32TG_PRG_Initial;
};
} TTG_PRG_Initial;
typedef union TTG_PRG_HSYNC
{ UNSG32 u32[1];
struct {
struct w32TG_PRG_HSYNC;
};
} TTG_PRG_HSYNC;
typedef union TTG_PRG_VSYNC
{ UNSG32 u32[1];
struct {
struct w32TG_PRG_VSYNC;
};
} TTG_PRG_VSYNC;
typedef union TTG_PRG_VS
{ UNSG32 u32[1];
struct {
struct w32TG_PRG_VS;
};
} TTG_PRG_VS;
typedef union TTG_PRG_FT
{ UNSG32 u32[1];
struct {
struct w32TG_PRG_FT;
};
} TTG_PRG_FT;
typedef union TTG_PRG_VX
{ UNSG32 u32[1];
struct {
struct w32TG_PRG_VX;
};
} TTG_PRG_VX;
///////////////////////////////////////////////////////////
SIGN32 TG_PRG_drvrd(SIE_TG_PRG *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TG_PRG_drvwr(SIE_TG_PRG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TG_PRG_reset(SIE_TG_PRG *p);
SIGN32 TG_PRG_cmp (SIE_TG_PRG *p, SIE_TG_PRG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TG_PRG_check(p,pie,pfx,hLOG) TG_PRG_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TG_PRG_print(p, pfx,hLOG) TG_PRG_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TG_PRG
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TG biu (4,4)
/// ###
/// * Register specification of interface Timing Generator
/// * There are two counters in the timing generator module. hCntr (from 1 to SIZE_X) and vCntr (from 1 to SIZE_Y).
/// * When start, the initial value will be loaded to the xCnt and yCnt
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 INIT (P)
/// %unsigned 16 Y 0x1
/// ###
/// * Initial Y value which will be used to load Y counter when tg is enabled.
/// ###
/// %unsigned 16 X 0x1
/// ###
/// * Initial X value which will be used to load X counter when tg is enabled.
/// * A whole frame scan size.
/// ###
/// @ 0x00004 SIZE (P)
/// %unsigned 16 Y 0x465
/// ###
/// * Total scan lines per frame.
/// ###
/// %unsigned 16 X 0x898
/// ###
/// * Total scan clock cycles per line.
/// * Hsync
/// ###
/// @ 0x00008 HS (P)
/// %unsigned 16 FE 0x1
/// ###
/// * Hsync front edge. The first pixel position of hsync pulse.
/// ###
/// %unsigned 16 BE 0x2C
/// ###
/// * Hsync back edge. The last pixel position of hsync pulse.
/// * HS = hCntr>=FE & hCntr<=BE
/// * HBlanking
/// ###
/// @ 0x0000C HB (P)
/// %unsigned 16 FE 0x841
/// ###
/// * Hblank front edge. The first pixel position of the hBlank pulse. SIZEX-HFP = 2200-88+1
/// ###
/// %unsigned 16 BE 0xC0
/// ###
/// * Hblank back edge. The last pixel position of the hBlank pulse. HPW + HBP = 44+148
/// * HB = hCntr>=FE || hCntr<=BE.
/// ###
/// @ 0x00010 HB_CR (P)
/// %unsigned 16 FE 0x841
/// ###
/// * Hblank front edge. The first pixel position of the hBlank pulse. SIZEX-HFP = 2200-88+1
/// ###
/// %unsigned 16 BE 0xC0
/// ###
/// * Hblank back edge. The last pixel position of the hBlank pulse. HPW + HBP = 44+148
/// * HB_CR = hCntr>=FE || hCntr<=BE.
/// ###
/// @ 0x00014 HB_CR2 (P)
/// %unsigned 16 FE 0x841
/// ###
/// * Hblank front edge. The first pixel position of the hBlank pulse. SIZEX-HFP = 2200-88+1
/// * Note : to be programmed with different value (only when cropping is required). Else to be programmed same as HB FE (above register)
/// ###
/// %unsigned 16 BE 0xC0
/// ###
/// * Hblank back edge. The last pixel position of the hBlank pulse. HPW + HBP = 44+148
/// * Note : to be programmed with different value (only when cropping is required). Else to be programmed same as HB BE (above register)
/// * HB = hCntr>=FE || hCntr<=BE.
/// * VS0 defines the first first pixel position of the first VSYNC (progressive or interlace mode) pulse.
/// * For example
/// * 1080i60, the VTP is the last pixel of the last line. So set both VLCNT0 and VPCNT0 to 0.
/// ###
/// @ 0x00018 VS0 (P)
/// %unsigned 16 FE 0x1
/// ###
/// * Vsync pulse front edge.
/// * Vsync will be asserted at the beginning of this line.
/// ###
/// %unsigned 16 BE 0x5
/// ###
/// * Vsync pulse back edge.
/// * Vsycn pulse will be de-asserted after the end of this line.
/// * Vsync = (vCntr>=FE & vCntr<=BE)
/// * Vsync pulse 1
/// * defines the first pixel position of the second vSync pulse. For example
/// * 1080i60, the VTP is pixel 1100 of line 563. So set both VLCNT2=563. and VPCNT2 to 1100.
/// ###
/// @ 0x0001C VS1 (P)
/// %unsigned 16 FE 0x233
/// ###
/// * Vsync pulse 1 front edge line position.
/// * Vsync pulse 1 will be asserted at the middle of this line.
/// ###
/// %unsigned 16 BE 0x238
/// ###
/// * Vsync pulse 1 back edge line position.
/// * Vsync pulse 1 will be de-asserted at the middle of this line.
/// * Vsync1 = (vCntr>=FE & hCntr>SIZEX/2) & (vCntr<=BE & hCntr<=SIZEX/2)
/// * Vertical blanking.
/// * VB0 parameter definietion
/// ###
/// @ 0x00020 VB0 (P)
/// %unsigned 16 FE 0x462
/// ###
/// * Vblank front edge line position
/// * The first line of the vertical blanking.
/// ###
/// %unsigned 16 BE 0x29
/// ###
/// * Vblank back edge line position
/// * the last line number of the vertical blanking
/// * The default value is used for 1080p case.
/// * Vblank0 = vCntr>=FE || vCntr<=BE
/// ###
/// @ 0x00024 VB0_CR (P)
/// %unsigned 16 FE 0x462
/// ###
/// * Vblank front edge line position
/// * The first line of the vertical blanking.
/// ###
/// %unsigned 16 BE 0x29
/// ###
/// * Vblank back edge line position
/// * the last line number of the vertical blanking
/// * The default value is used for 1080p case.
/// * Vblank0_CR = vCntr>=FE || vCntr<=BE
/// ###
/// @ 0x00028 VB0_CR2 (P)
/// %unsigned 16 FE 0x462
/// ###
/// * Vblank front edge line position
/// * The first line of the vertical blanking.
/// * Note : to be programmed with different value only when cropping is required. Else to be programmed same as VB0 FE (above register)
/// ###
/// %unsigned 16 BE 0x29
/// ###
/// * Vblank back edge line position
/// * the last line number of the vertical blanking
/// * The default value is used for 1080p case.
/// * Note : to be programmed with different value only when cropping is required. Else to be programmed same as VB0 BE (above register)
/// * Vblank0 = vCntr>=FE || vCntr<=BE
/// ###
/// @ 0x0002C VB1 (P)
/// %unsigned 16 FE 0x231
/// ###
/// * Vblank front edge line postion
/// * The first line number of VB1.
/// ###
/// %unsigned 16 BE 0x247
/// ###
/// * Vblank back edge line postion
/// * the last line numer of VB1.
/// * VB1 = (vCntr>=FE & vCntr<=BE)
/// * SCAN mode
/// ###
/// @ 0x00030 SCAN (P)
/// %unsigned 1 MODE 0x0
/// : PROG 0x0
/// : INTER 0x1
/// ###
/// * Frame done interrupt position
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00034 INTPOS (P)
/// %unsigned 16 FRAME 0x465
/// ###
/// * Frame interrupt status will be set at the end of this line.
/// * Program 0 to this register will disable frame interrupt.
/// ###
/// %unsigned 16 FIELD 0x233
/// ###
/// * Field interrupt status will be set at the end of this line.
/// * Program 0 to this register will disable field interrupt.
/// * MODE
/// ###
/// @ 0x00038 MODE (P)
/// %unsigned 1 EN 0x0
/// : MASTER 0x0
/// : SLAVE 0x1
/// ###
/// * In master mode, TG drive the control signal.
/// * In slave mode, TG take the external hsync and vsync, it generate the internal sync and blank signal based on the programmed register and external hsync and vsync.
/// * HREF input for slave mode.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x0003C HVREF (P)
/// %unsigned 1 SEL 0x0
/// : SYNC 0x0
/// : BLANK 0x1
/// ###
/// * In slave mode, tg will sync to the external tg generated HREF/VREF which could be HSYBC/VSYNC or HBLANK/VBLANK. Currently only HSYNC/VSYNC is supported.
/// * HSYNC and VSYNC have to be come in pair.
/// ###
/// %unsigned 1 POL 0x0
/// : NEG_PULSE 0x0
/// : POS_PULSE 0x1
/// ###
/// * 0 : indicate the input HREF/VREF are negative pulses
/// * 1: indicate the input HREF/VREFare positive pulses.
/// * HREF and VREF have to be the same polarity.
/// * End of TG register group
/// ###
/// %% 30 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 420b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TG
#define h_TG (){}
#define RA_TG_INIT 0x0000
#define BA_TG_INIT_Y 0x0000
#define B16TG_INIT_Y 0x0000
#define LSb32TG_INIT_Y 0
#define LSb16TG_INIT_Y 0
#define bTG_INIT_Y 16
#define MSK32TG_INIT_Y 0x0000FFFF
#define BA_TG_INIT_X 0x0002
#define B16TG_INIT_X 0x0002
#define LSb32TG_INIT_X 16
#define LSb16TG_INIT_X 0
#define bTG_INIT_X 16
#define MSK32TG_INIT_X 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TG_SIZE 0x0004
#define BA_TG_SIZE_Y 0x0004
#define B16TG_SIZE_Y 0x0004
#define LSb32TG_SIZE_Y 0
#define LSb16TG_SIZE_Y 0
#define bTG_SIZE_Y 16
#define MSK32TG_SIZE_Y 0x0000FFFF
#define BA_TG_SIZE_X 0x0006
#define B16TG_SIZE_X 0x0006
#define LSb32TG_SIZE_X 16
#define LSb16TG_SIZE_X 0
#define bTG_SIZE_X 16
#define MSK32TG_SIZE_X 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TG_HS 0x0008
#define BA_TG_HS_FE 0x0008
#define B16TG_HS_FE 0x0008
#define LSb32TG_HS_FE 0
#define LSb16TG_HS_FE 0
#define bTG_HS_FE 16
#define MSK32TG_HS_FE 0x0000FFFF
#define BA_TG_HS_BE 0x000A
#define B16TG_HS_BE 0x000A
#define LSb32TG_HS_BE 16
#define LSb16TG_HS_BE 0
#define bTG_HS_BE 16
#define MSK32TG_HS_BE 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TG_HB 0x000C
#define BA_TG_HB_FE 0x000C
#define B16TG_HB_FE 0x000C
#define LSb32TG_HB_FE 0
#define LSb16TG_HB_FE 0
#define bTG_HB_FE 16
#define MSK32TG_HB_FE 0x0000FFFF
#define BA_TG_HB_BE 0x000E
#define B16TG_HB_BE 0x000E
#define LSb32TG_HB_BE 16
#define LSb16TG_HB_BE 0
#define bTG_HB_BE 16
#define MSK32TG_HB_BE 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TG_HB_CR 0x0010
#define BA_TG_HB_CR_FE 0x0010
#define B16TG_HB_CR_FE 0x0010
#define LSb32TG_HB_CR_FE 0
#define LSb16TG_HB_CR_FE 0
#define bTG_HB_CR_FE 16
#define MSK32TG_HB_CR_FE 0x0000FFFF
#define BA_TG_HB_CR_BE 0x0012
#define B16TG_HB_CR_BE 0x0012
#define LSb32TG_HB_CR_BE 16
#define LSb16TG_HB_CR_BE 0
#define bTG_HB_CR_BE 16
#define MSK32TG_HB_CR_BE 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TG_HB_CR2 0x0014
#define BA_TG_HB_CR2_FE 0x0014
#define B16TG_HB_CR2_FE 0x0014
#define LSb32TG_HB_CR2_FE 0
#define LSb16TG_HB_CR2_FE 0
#define bTG_HB_CR2_FE 16
#define MSK32TG_HB_CR2_FE 0x0000FFFF
#define BA_TG_HB_CR2_BE 0x0016
#define B16TG_HB_CR2_BE 0x0016
#define LSb32TG_HB_CR2_BE 16
#define LSb16TG_HB_CR2_BE 0
#define bTG_HB_CR2_BE 16
#define MSK32TG_HB_CR2_BE 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TG_VS0 0x0018
#define BA_TG_VS0_FE 0x0018
#define B16TG_VS0_FE 0x0018
#define LSb32TG_VS0_FE 0
#define LSb16TG_VS0_FE 0
#define bTG_VS0_FE 16
#define MSK32TG_VS0_FE 0x0000FFFF
#define BA_TG_VS0_BE 0x001A
#define B16TG_VS0_BE 0x001A
#define LSb32TG_VS0_BE 16
#define LSb16TG_VS0_BE 0
#define bTG_VS0_BE 16
#define MSK32TG_VS0_BE 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TG_VS1 0x001C
#define BA_TG_VS1_FE 0x001C
#define B16TG_VS1_FE 0x001C
#define LSb32TG_VS1_FE 0
#define LSb16TG_VS1_FE 0
#define bTG_VS1_FE 16
#define MSK32TG_VS1_FE 0x0000FFFF
#define BA_TG_VS1_BE 0x001E
#define B16TG_VS1_BE 0x001E
#define LSb32TG_VS1_BE 16
#define LSb16TG_VS1_BE 0
#define bTG_VS1_BE 16
#define MSK32TG_VS1_BE 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TG_VB0 0x0020
#define BA_TG_VB0_FE 0x0020
#define B16TG_VB0_FE 0x0020
#define LSb32TG_VB0_FE 0
#define LSb16TG_VB0_FE 0
#define bTG_VB0_FE 16
#define MSK32TG_VB0_FE 0x0000FFFF
#define BA_TG_VB0_BE 0x0022
#define B16TG_VB0_BE 0x0022
#define LSb32TG_VB0_BE 16
#define LSb16TG_VB0_BE 0
#define bTG_VB0_BE 16
#define MSK32TG_VB0_BE 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TG_VB0_CR 0x0024
#define BA_TG_VB0_CR_FE 0x0024
#define B16TG_VB0_CR_FE 0x0024
#define LSb32TG_VB0_CR_FE 0
#define LSb16TG_VB0_CR_FE 0
#define bTG_VB0_CR_FE 16
#define MSK32TG_VB0_CR_FE 0x0000FFFF
#define BA_TG_VB0_CR_BE 0x0026
#define B16TG_VB0_CR_BE 0x0026
#define LSb32TG_VB0_CR_BE 16
#define LSb16TG_VB0_CR_BE 0
#define bTG_VB0_CR_BE 16
#define MSK32TG_VB0_CR_BE 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TG_VB0_CR2 0x0028
#define BA_TG_VB0_CR2_FE 0x0028
#define B16TG_VB0_CR2_FE 0x0028
#define LSb32TG_VB0_CR2_FE 0
#define LSb16TG_VB0_CR2_FE 0
#define bTG_VB0_CR2_FE 16
#define MSK32TG_VB0_CR2_FE 0x0000FFFF
#define BA_TG_VB0_CR2_BE 0x002A
#define B16TG_VB0_CR2_BE 0x002A
#define LSb32TG_VB0_CR2_BE 16
#define LSb16TG_VB0_CR2_BE 0
#define bTG_VB0_CR2_BE 16
#define MSK32TG_VB0_CR2_BE 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TG_VB1 0x002C
#define BA_TG_VB1_FE 0x002C
#define B16TG_VB1_FE 0x002C
#define LSb32TG_VB1_FE 0
#define LSb16TG_VB1_FE 0
#define bTG_VB1_FE 16
#define MSK32TG_VB1_FE 0x0000FFFF
#define BA_TG_VB1_BE 0x002E
#define B16TG_VB1_BE 0x002E
#define LSb32TG_VB1_BE 16
#define LSb16TG_VB1_BE 0
#define bTG_VB1_BE 16
#define MSK32TG_VB1_BE 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TG_SCAN 0x0030
#define BA_TG_SCAN_MODE 0x0030
#define B16TG_SCAN_MODE 0x0030
#define LSb32TG_SCAN_MODE 0
#define LSb16TG_SCAN_MODE 0
#define bTG_SCAN_MODE 1
#define MSK32TG_SCAN_MODE 0x00000001
#define TG_SCAN_MODE_PROG 0x0
#define TG_SCAN_MODE_INTER 0x1
///////////////////////////////////////////////////////////
#define RA_TG_INTPOS 0x0034
#define BA_TG_INTPOS_FRAME 0x0034
#define B16TG_INTPOS_FRAME 0x0034
#define LSb32TG_INTPOS_FRAME 0
#define LSb16TG_INTPOS_FRAME 0
#define bTG_INTPOS_FRAME 16
#define MSK32TG_INTPOS_FRAME 0x0000FFFF
#define BA_TG_INTPOS_FIELD 0x0036
#define B16TG_INTPOS_FIELD 0x0036
#define LSb32TG_INTPOS_FIELD 16
#define LSb16TG_INTPOS_FIELD 0
#define bTG_INTPOS_FIELD 16
#define MSK32TG_INTPOS_FIELD 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TG_MODE 0x0038
#define BA_TG_MODE_EN 0x0038
#define B16TG_MODE_EN 0x0038
#define LSb32TG_MODE_EN 0
#define LSb16TG_MODE_EN 0
#define bTG_MODE_EN 1
#define MSK32TG_MODE_EN 0x00000001
#define TG_MODE_EN_MASTER 0x0
#define TG_MODE_EN_SLAVE 0x1
///////////////////////////////////////////////////////////
#define RA_TG_HVREF 0x003C
#define BA_TG_HVREF_SEL 0x003C
#define B16TG_HVREF_SEL 0x003C
#define LSb32TG_HVREF_SEL 0
#define LSb16TG_HVREF_SEL 0
#define bTG_HVREF_SEL 1
#define MSK32TG_HVREF_SEL 0x00000001
#define TG_HVREF_SEL_SYNC 0x0
#define TG_HVREF_SEL_BLANK 0x1
#define BA_TG_HVREF_POL 0x003C
#define B16TG_HVREF_POL 0x003C
#define LSb32TG_HVREF_POL 1
#define LSb16TG_HVREF_POL 1
#define bTG_HVREF_POL 1
#define MSK32TG_HVREF_POL 0x00000002
#define TG_HVREF_POL_NEG_PULSE 0x0
#define TG_HVREF_POL_POS_PULSE 0x1
///////////////////////////////////////////////////////////
typedef struct SIE_TG {
///////////////////////////////////////////////////////////
#define GET32TG_INIT_Y(r32) _BFGET_(r32,15, 0)
#define SET32TG_INIT_Y(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TG_INIT_Y(r16) _BFGET_(r16,15, 0)
#define SET16TG_INIT_Y(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TG_INIT_X(r32) _BFGET_(r32,31,16)
#define SET32TG_INIT_X(r32,v) _BFSET_(r32,31,16,v)
#define GET16TG_INIT_X(r16) _BFGET_(r16,15, 0)
#define SET16TG_INIT_X(r16,v) _BFSET_(r16,15, 0,v)
#define w32TG_INIT {\
UNSG32 uINIT_Y : 16;\
UNSG32 uINIT_X : 16;\
}
union { UNSG32 u32TG_INIT;
struct w32TG_INIT;
};
///////////////////////////////////////////////////////////
#define GET32TG_SIZE_Y(r32) _BFGET_(r32,15, 0)
#define SET32TG_SIZE_Y(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TG_SIZE_Y(r16) _BFGET_(r16,15, 0)
#define SET16TG_SIZE_Y(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TG_SIZE_X(r32) _BFGET_(r32,31,16)
#define SET32TG_SIZE_X(r32,v) _BFSET_(r32,31,16,v)
#define GET16TG_SIZE_X(r16) _BFGET_(r16,15, 0)
#define SET16TG_SIZE_X(r16,v) _BFSET_(r16,15, 0,v)
#define w32TG_SIZE {\
UNSG32 uSIZE_Y : 16;\
UNSG32 uSIZE_X : 16;\
}
union { UNSG32 u32TG_SIZE;
struct w32TG_SIZE;
};
///////////////////////////////////////////////////////////
#define GET32TG_HS_FE(r32) _BFGET_(r32,15, 0)
#define SET32TG_HS_FE(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TG_HS_FE(r16) _BFGET_(r16,15, 0)
#define SET16TG_HS_FE(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TG_HS_BE(r32) _BFGET_(r32,31,16)
#define SET32TG_HS_BE(r32,v) _BFSET_(r32,31,16,v)
#define GET16TG_HS_BE(r16) _BFGET_(r16,15, 0)
#define SET16TG_HS_BE(r16,v) _BFSET_(r16,15, 0,v)
#define w32TG_HS {\
UNSG32 uHS_FE : 16;\
UNSG32 uHS_BE : 16;\
}
union { UNSG32 u32TG_HS;
struct w32TG_HS;
};
///////////////////////////////////////////////////////////
#define GET32TG_HB_FE(r32) _BFGET_(r32,15, 0)
#define SET32TG_HB_FE(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TG_HB_FE(r16) _BFGET_(r16,15, 0)
#define SET16TG_HB_FE(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TG_HB_BE(r32) _BFGET_(r32,31,16)
#define SET32TG_HB_BE(r32,v) _BFSET_(r32,31,16,v)
#define GET16TG_HB_BE(r16) _BFGET_(r16,15, 0)
#define SET16TG_HB_BE(r16,v) _BFSET_(r16,15, 0,v)
#define w32TG_HB {\
UNSG32 uHB_FE : 16;\
UNSG32 uHB_BE : 16;\
}
union { UNSG32 u32TG_HB;
struct w32TG_HB;
};
///////////////////////////////////////////////////////////
#define GET32TG_HB_CR_FE(r32) _BFGET_(r32,15, 0)
#define SET32TG_HB_CR_FE(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TG_HB_CR_FE(r16) _BFGET_(r16,15, 0)
#define SET16TG_HB_CR_FE(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TG_HB_CR_BE(r32) _BFGET_(r32,31,16)
#define SET32TG_HB_CR_BE(r32,v) _BFSET_(r32,31,16,v)
#define GET16TG_HB_CR_BE(r16) _BFGET_(r16,15, 0)
#define SET16TG_HB_CR_BE(r16,v) _BFSET_(r16,15, 0,v)
#define w32TG_HB_CR {\
UNSG32 uHB_CR_FE : 16;\
UNSG32 uHB_CR_BE : 16;\
}
union { UNSG32 u32TG_HB_CR;
struct w32TG_HB_CR;
};
///////////////////////////////////////////////////////////
#define GET32TG_HB_CR2_FE(r32) _BFGET_(r32,15, 0)
#define SET32TG_HB_CR2_FE(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TG_HB_CR2_FE(r16) _BFGET_(r16,15, 0)
#define SET16TG_HB_CR2_FE(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TG_HB_CR2_BE(r32) _BFGET_(r32,31,16)
#define SET32TG_HB_CR2_BE(r32,v) _BFSET_(r32,31,16,v)
#define GET16TG_HB_CR2_BE(r16) _BFGET_(r16,15, 0)
#define SET16TG_HB_CR2_BE(r16,v) _BFSET_(r16,15, 0,v)
#define w32TG_HB_CR2 {\
UNSG32 uHB_CR2_FE : 16;\
UNSG32 uHB_CR2_BE : 16;\
}
union { UNSG32 u32TG_HB_CR2;
struct w32TG_HB_CR2;
};
///////////////////////////////////////////////////////////
#define GET32TG_VS0_FE(r32) _BFGET_(r32,15, 0)
#define SET32TG_VS0_FE(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TG_VS0_FE(r16) _BFGET_(r16,15, 0)
#define SET16TG_VS0_FE(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TG_VS0_BE(r32) _BFGET_(r32,31,16)
#define SET32TG_VS0_BE(r32,v) _BFSET_(r32,31,16,v)
#define GET16TG_VS0_BE(r16) _BFGET_(r16,15, 0)
#define SET16TG_VS0_BE(r16,v) _BFSET_(r16,15, 0,v)
#define w32TG_VS0 {\
UNSG32 uVS0_FE : 16;\
UNSG32 uVS0_BE : 16;\
}
union { UNSG32 u32TG_VS0;
struct w32TG_VS0;
};
///////////////////////////////////////////////////////////
#define GET32TG_VS1_FE(r32) _BFGET_(r32,15, 0)
#define SET32TG_VS1_FE(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TG_VS1_FE(r16) _BFGET_(r16,15, 0)
#define SET16TG_VS1_FE(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TG_VS1_BE(r32) _BFGET_(r32,31,16)
#define SET32TG_VS1_BE(r32,v) _BFSET_(r32,31,16,v)
#define GET16TG_VS1_BE(r16) _BFGET_(r16,15, 0)
#define SET16TG_VS1_BE(r16,v) _BFSET_(r16,15, 0,v)
#define w32TG_VS1 {\
UNSG32 uVS1_FE : 16;\
UNSG32 uVS1_BE : 16;\
}
union { UNSG32 u32TG_VS1;
struct w32TG_VS1;
};
///////////////////////////////////////////////////////////
#define GET32TG_VB0_FE(r32) _BFGET_(r32,15, 0)
#define SET32TG_VB0_FE(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TG_VB0_FE(r16) _BFGET_(r16,15, 0)
#define SET16TG_VB0_FE(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TG_VB0_BE(r32) _BFGET_(r32,31,16)
#define SET32TG_VB0_BE(r32,v) _BFSET_(r32,31,16,v)
#define GET16TG_VB0_BE(r16) _BFGET_(r16,15, 0)
#define SET16TG_VB0_BE(r16,v) _BFSET_(r16,15, 0,v)
#define w32TG_VB0 {\
UNSG32 uVB0_FE : 16;\
UNSG32 uVB0_BE : 16;\
}
union { UNSG32 u32TG_VB0;
struct w32TG_VB0;
};
///////////////////////////////////////////////////////////
#define GET32TG_VB0_CR_FE(r32) _BFGET_(r32,15, 0)
#define SET32TG_VB0_CR_FE(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TG_VB0_CR_FE(r16) _BFGET_(r16,15, 0)
#define SET16TG_VB0_CR_FE(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TG_VB0_CR_BE(r32) _BFGET_(r32,31,16)
#define SET32TG_VB0_CR_BE(r32,v) _BFSET_(r32,31,16,v)
#define GET16TG_VB0_CR_BE(r16) _BFGET_(r16,15, 0)
#define SET16TG_VB0_CR_BE(r16,v) _BFSET_(r16,15, 0,v)
#define w32TG_VB0_CR {\
UNSG32 uVB0_CR_FE : 16;\
UNSG32 uVB0_CR_BE : 16;\
}
union { UNSG32 u32TG_VB0_CR;
struct w32TG_VB0_CR;
};
///////////////////////////////////////////////////////////
#define GET32TG_VB0_CR2_FE(r32) _BFGET_(r32,15, 0)
#define SET32TG_VB0_CR2_FE(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TG_VB0_CR2_FE(r16) _BFGET_(r16,15, 0)
#define SET16TG_VB0_CR2_FE(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TG_VB0_CR2_BE(r32) _BFGET_(r32,31,16)
#define SET32TG_VB0_CR2_BE(r32,v) _BFSET_(r32,31,16,v)
#define GET16TG_VB0_CR2_BE(r16) _BFGET_(r16,15, 0)
#define SET16TG_VB0_CR2_BE(r16,v) _BFSET_(r16,15, 0,v)
#define w32TG_VB0_CR2 {\
UNSG32 uVB0_CR2_FE : 16;\
UNSG32 uVB0_CR2_BE : 16;\
}
union { UNSG32 u32TG_VB0_CR2;
struct w32TG_VB0_CR2;
};
///////////////////////////////////////////////////////////
#define GET32TG_VB1_FE(r32) _BFGET_(r32,15, 0)
#define SET32TG_VB1_FE(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TG_VB1_FE(r16) _BFGET_(r16,15, 0)
#define SET16TG_VB1_FE(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TG_VB1_BE(r32) _BFGET_(r32,31,16)
#define SET32TG_VB1_BE(r32,v) _BFSET_(r32,31,16,v)
#define GET16TG_VB1_BE(r16) _BFGET_(r16,15, 0)
#define SET16TG_VB1_BE(r16,v) _BFSET_(r16,15, 0,v)
#define w32TG_VB1 {\
UNSG32 uVB1_FE : 16;\
UNSG32 uVB1_BE : 16;\
}
union { UNSG32 u32TG_VB1;
struct w32TG_VB1;
};
///////////////////////////////////////////////////////////
#define GET32TG_SCAN_MODE(r32) _BFGET_(r32, 0, 0)
#define SET32TG_SCAN_MODE(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TG_SCAN_MODE(r16) _BFGET_(r16, 0, 0)
#define SET16TG_SCAN_MODE(r16,v) _BFSET_(r16, 0, 0,v)
#define w32TG_SCAN {\
UNSG32 uSCAN_MODE : 1;\
UNSG32 RSVDx30_b1 : 31;\
}
union { UNSG32 u32TG_SCAN;
struct w32TG_SCAN;
};
///////////////////////////////////////////////////////////
#define GET32TG_INTPOS_FRAME(r32) _BFGET_(r32,15, 0)
#define SET32TG_INTPOS_FRAME(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TG_INTPOS_FRAME(r16) _BFGET_(r16,15, 0)
#define SET16TG_INTPOS_FRAME(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TG_INTPOS_FIELD(r32) _BFGET_(r32,31,16)
#define SET32TG_INTPOS_FIELD(r32,v) _BFSET_(r32,31,16,v)
#define GET16TG_INTPOS_FIELD(r16) _BFGET_(r16,15, 0)
#define SET16TG_INTPOS_FIELD(r16,v) _BFSET_(r16,15, 0,v)
#define w32TG_INTPOS {\
UNSG32 uINTPOS_FRAME : 16;\
UNSG32 uINTPOS_FIELD : 16;\
}
union { UNSG32 u32TG_INTPOS;
struct w32TG_INTPOS;
};
///////////////////////////////////////////////////////////
#define GET32TG_MODE_EN(r32) _BFGET_(r32, 0, 0)
#define SET32TG_MODE_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TG_MODE_EN(r16) _BFGET_(r16, 0, 0)
#define SET16TG_MODE_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32TG_MODE {\
UNSG32 uMODE_EN : 1;\
UNSG32 RSVDx38_b1 : 31;\
}
union { UNSG32 u32TG_MODE;
struct w32TG_MODE;
};
///////////////////////////////////////////////////////////
#define GET32TG_HVREF_SEL(r32) _BFGET_(r32, 0, 0)
#define SET32TG_HVREF_SEL(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TG_HVREF_SEL(r16) _BFGET_(r16, 0, 0)
#define SET16TG_HVREF_SEL(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TG_HVREF_POL(r32) _BFGET_(r32, 1, 1)
#define SET32TG_HVREF_POL(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16TG_HVREF_POL(r16) _BFGET_(r16, 1, 1)
#define SET16TG_HVREF_POL(r16,v) _BFSET_(r16, 1, 1,v)
#define w32TG_HVREF {\
UNSG32 uHVREF_SEL : 1;\
UNSG32 uHVREF_POL : 1;\
UNSG32 RSVDx3C_b2 : 30;\
}
union { UNSG32 u32TG_HVREF;
struct w32TG_HVREF;
};
///////////////////////////////////////////////////////////
} SIE_TG;
typedef union T32TG_INIT
{ UNSG32 u32;
struct w32TG_INIT;
} T32TG_INIT;
typedef union T32TG_SIZE
{ UNSG32 u32;
struct w32TG_SIZE;
} T32TG_SIZE;
typedef union T32TG_HS
{ UNSG32 u32;
struct w32TG_HS;
} T32TG_HS;
typedef union T32TG_HB
{ UNSG32 u32;
struct w32TG_HB;
} T32TG_HB;
typedef union T32TG_HB_CR
{ UNSG32 u32;
struct w32TG_HB_CR;
} T32TG_HB_CR;
typedef union T32TG_HB_CR2
{ UNSG32 u32;
struct w32TG_HB_CR2;
} T32TG_HB_CR2;
typedef union T32TG_VS0
{ UNSG32 u32;
struct w32TG_VS0;
} T32TG_VS0;
typedef union T32TG_VS1
{ UNSG32 u32;
struct w32TG_VS1;
} T32TG_VS1;
typedef union T32TG_VB0
{ UNSG32 u32;
struct w32TG_VB0;
} T32TG_VB0;
typedef union T32TG_VB0_CR
{ UNSG32 u32;
struct w32TG_VB0_CR;
} T32TG_VB0_CR;
typedef union T32TG_VB0_CR2
{ UNSG32 u32;
struct w32TG_VB0_CR2;
} T32TG_VB0_CR2;
typedef union T32TG_VB1
{ UNSG32 u32;
struct w32TG_VB1;
} T32TG_VB1;
typedef union T32TG_SCAN
{ UNSG32 u32;
struct w32TG_SCAN;
} T32TG_SCAN;
typedef union T32TG_INTPOS
{ UNSG32 u32;
struct w32TG_INTPOS;
} T32TG_INTPOS;
typedef union T32TG_MODE
{ UNSG32 u32;
struct w32TG_MODE;
} T32TG_MODE;
typedef union T32TG_HVREF
{ UNSG32 u32;
struct w32TG_HVREF;
} T32TG_HVREF;
///////////////////////////////////////////////////////////
typedef union TTG_INIT
{ UNSG32 u32[1];
struct {
struct w32TG_INIT;
};
} TTG_INIT;
typedef union TTG_SIZE
{ UNSG32 u32[1];
struct {
struct w32TG_SIZE;
};
} TTG_SIZE;
typedef union TTG_HS
{ UNSG32 u32[1];
struct {
struct w32TG_HS;
};
} TTG_HS;
typedef union TTG_HB
{ UNSG32 u32[1];
struct {
struct w32TG_HB;
};
} TTG_HB;
typedef union TTG_HB_CR
{ UNSG32 u32[1];
struct {
struct w32TG_HB_CR;
};
} TTG_HB_CR;
typedef union TTG_HB_CR2
{ UNSG32 u32[1];
struct {
struct w32TG_HB_CR2;
};
} TTG_HB_CR2;
typedef union TTG_VS0
{ UNSG32 u32[1];
struct {
struct w32TG_VS0;
};
} TTG_VS0;
typedef union TTG_VS1
{ UNSG32 u32[1];
struct {
struct w32TG_VS1;
};
} TTG_VS1;
typedef union TTG_VB0
{ UNSG32 u32[1];
struct {
struct w32TG_VB0;
};
} TTG_VB0;
typedef union TTG_VB0_CR
{ UNSG32 u32[1];
struct {
struct w32TG_VB0_CR;
};
} TTG_VB0_CR;
typedef union TTG_VB0_CR2
{ UNSG32 u32[1];
struct {
struct w32TG_VB0_CR2;
};
} TTG_VB0_CR2;
typedef union TTG_VB1
{ UNSG32 u32[1];
struct {
struct w32TG_VB1;
};
} TTG_VB1;
typedef union TTG_SCAN
{ UNSG32 u32[1];
struct {
struct w32TG_SCAN;
};
} TTG_SCAN;
typedef union TTG_INTPOS
{ UNSG32 u32[1];
struct {
struct w32TG_INTPOS;
};
} TTG_INTPOS;
typedef union TTG_MODE
{ UNSG32 u32[1];
struct {
struct w32TG_MODE;
};
} TTG_MODE;
typedef union TTG_HVREF
{ UNSG32 u32[1];
struct {
struct w32TG_HVREF;
};
} TTG_HVREF;
///////////////////////////////////////////////////////////
SIGN32 TG_drvrd(SIE_TG *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TG_drvwr(SIE_TG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TG_reset(SIE_TG *p);
SIGN32 TG_cmp (SIE_TG *p, SIE_TG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TG_check(p,pie,pfx,hLOG) TG_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TG_print(p, pfx,hLOG) TG_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TG
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BITMAP40 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 SEL (P)
/// %unsigned 6 BIT_POS0 0x0
/// %unsigned 6 BIT_POS1 0x1
/// %unsigned 6 BIT_POS2 0x2
/// %unsigned 6 BIT_POS3 0x3
/// %unsigned 6 BIT_POS4 0x4
/// %% 2 # Stuffing bits...
/// # 0x00004 SEL1
/// %unsigned 6 BIT_POS5 0x5
/// %unsigned 6 BIT_POS6 0x6
/// %unsigned 6 BIT_POS7 0x7
/// %unsigned 6 BIT_POS8 0x8
/// %unsigned 6 BIT_POS9 0x9
/// %% 2 # Stuffing bits...
/// # 0x00008 SEL2
/// %unsigned 6 BIT_POS10 0xA
/// %unsigned 6 BIT_POS11 0xB
/// %unsigned 6 BIT_POS12 0xC
/// %unsigned 6 BIT_POS13 0xD
/// %unsigned 6 BIT_POS14 0xE
/// %% 2 # Stuffing bits...
/// # 0x0000C SEL3
/// %unsigned 6 BIT_POS15 0xF
/// %unsigned 6 BIT_POS16 0x10
/// %unsigned 6 BIT_POS17 0x11
/// %unsigned 6 BIT_POS18 0x12
/// %unsigned 6 BIT_POS19 0x13
/// %% 2 # Stuffing bits...
/// # 0x00010 SEL4
/// %unsigned 6 BIT_POS20 0x14
/// %unsigned 6 BIT_POS21 0x15
/// %unsigned 6 BIT_POS22 0x16
/// %unsigned 6 BIT_POS23 0x17
/// %unsigned 6 BIT_POS24 0x18
/// %% 2 # Stuffing bits...
/// # 0x00014 SEL5
/// %unsigned 6 BIT_POS25 0x19
/// %unsigned 6 BIT_POS26 0x1A
/// %unsigned 6 BIT_POS27 0x1B
/// %unsigned 6 BIT_POS28 0x1C
/// %unsigned 6 BIT_POS29 0x1D
/// %% 2 # Stuffing bits...
/// # 0x00018 SEL6
/// %unsigned 6 BIT_POS30 0x1E
/// %unsigned 6 BIT_POS31 0x1F
/// %unsigned 6 BIT_POS32 0x20
/// %unsigned 6 BIT_POS33 0x21
/// %unsigned 6 BIT_POS34 0x22
/// %% 2 # Stuffing bits...
/// # 0x0001C SEL7
/// %unsigned 6 BIT_POS35 0x23
/// %unsigned 6 BIT_POS36 0x24
/// %unsigned 6 BIT_POS37 0x25
/// %unsigned 6 BIT_POS38 0x26
/// %unsigned 6 BIT_POS39 0x27
/// ###
/// * Specifies mapping of new bit locations within 40 bit data from Read Client which need to be used to form pixels for Inverse Scan mode.
/// * Normal dHub data order:
/// * {Y3,Cr2,Y2,Cb2,Y1,Cr0,Y0,Cb0} First pixel in LSB
/// * Inverse Scan dHub data order:
/// * {Y3,Cr2,Y2,Cb2,Y1,Cr0,Y0,Cb0} First pixel in MSB
/// * Following different data orders can be generated to be presented to first UPS in the pipe.
/// ###
/// %% 2 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 240b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BITMAP40
#define h_BITMAP40 (){}
#define RA_BITMAP40_SEL 0x0000
#define BA_BITMAP40_SEL_BIT_POS0 0x0000
#define B16BITMAP40_SEL_BIT_POS0 0x0000
#define LSb32BITMAP40_SEL_BIT_POS0 0
#define LSb16BITMAP40_SEL_BIT_POS0 0
#define bBITMAP40_SEL_BIT_POS0 6
#define MSK32BITMAP40_SEL_BIT_POS0 0x0000003F
#define BA_BITMAP40_SEL_BIT_POS1 0x0000
#define B16BITMAP40_SEL_BIT_POS1 0x0000
#define LSb32BITMAP40_SEL_BIT_POS1 6
#define LSb16BITMAP40_SEL_BIT_POS1 6
#define bBITMAP40_SEL_BIT_POS1 6
#define MSK32BITMAP40_SEL_BIT_POS1 0x00000FC0
#define BA_BITMAP40_SEL_BIT_POS2 0x0001
#define B16BITMAP40_SEL_BIT_POS2 0x0000
#define LSb32BITMAP40_SEL_BIT_POS2 12
#define LSb16BITMAP40_SEL_BIT_POS2 12
#define bBITMAP40_SEL_BIT_POS2 6
#define MSK32BITMAP40_SEL_BIT_POS2 0x0003F000
#define BA_BITMAP40_SEL_BIT_POS3 0x0002
#define B16BITMAP40_SEL_BIT_POS3 0x0002
#define LSb32BITMAP40_SEL_BIT_POS3 18
#define LSb16BITMAP40_SEL_BIT_POS3 2
#define bBITMAP40_SEL_BIT_POS3 6
#define MSK32BITMAP40_SEL_BIT_POS3 0x00FC0000
#define BA_BITMAP40_SEL_BIT_POS4 0x0003
#define B16BITMAP40_SEL_BIT_POS4 0x0002
#define LSb32BITMAP40_SEL_BIT_POS4 24
#define LSb16BITMAP40_SEL_BIT_POS4 8
#define bBITMAP40_SEL_BIT_POS4 6
#define MSK32BITMAP40_SEL_BIT_POS4 0x3F000000
#define RA_BITMAP40_SEL1 0x0004
#define BA_BITMAP40_SEL_BIT_POS5 0x0004
#define B16BITMAP40_SEL_BIT_POS5 0x0004
#define LSb32BITMAP40_SEL_BIT_POS5 0
#define LSb16BITMAP40_SEL_BIT_POS5 0
#define bBITMAP40_SEL_BIT_POS5 6
#define MSK32BITMAP40_SEL_BIT_POS5 0x0000003F
#define BA_BITMAP40_SEL_BIT_POS6 0x0004
#define B16BITMAP40_SEL_BIT_POS6 0x0004
#define LSb32BITMAP40_SEL_BIT_POS6 6
#define LSb16BITMAP40_SEL_BIT_POS6 6
#define bBITMAP40_SEL_BIT_POS6 6
#define MSK32BITMAP40_SEL_BIT_POS6 0x00000FC0
#define BA_BITMAP40_SEL_BIT_POS7 0x0005
#define B16BITMAP40_SEL_BIT_POS7 0x0004
#define LSb32BITMAP40_SEL_BIT_POS7 12
#define LSb16BITMAP40_SEL_BIT_POS7 12
#define bBITMAP40_SEL_BIT_POS7 6
#define MSK32BITMAP40_SEL_BIT_POS7 0x0003F000
#define BA_BITMAP40_SEL_BIT_POS8 0x0006
#define B16BITMAP40_SEL_BIT_POS8 0x0006
#define LSb32BITMAP40_SEL_BIT_POS8 18
#define LSb16BITMAP40_SEL_BIT_POS8 2
#define bBITMAP40_SEL_BIT_POS8 6
#define MSK32BITMAP40_SEL_BIT_POS8 0x00FC0000
#define BA_BITMAP40_SEL_BIT_POS9 0x0007
#define B16BITMAP40_SEL_BIT_POS9 0x0006
#define LSb32BITMAP40_SEL_BIT_POS9 24
#define LSb16BITMAP40_SEL_BIT_POS9 8
#define bBITMAP40_SEL_BIT_POS9 6
#define MSK32BITMAP40_SEL_BIT_POS9 0x3F000000
#define RA_BITMAP40_SEL2 0x0008
#define BA_BITMAP40_SEL_BIT_POS10 0x0008
#define B16BITMAP40_SEL_BIT_POS10 0x0008
#define LSb32BITMAP40_SEL_BIT_POS10 0
#define LSb16BITMAP40_SEL_BIT_POS10 0
#define bBITMAP40_SEL_BIT_POS10 6
#define MSK32BITMAP40_SEL_BIT_POS10 0x0000003F
#define BA_BITMAP40_SEL_BIT_POS11 0x0008
#define B16BITMAP40_SEL_BIT_POS11 0x0008
#define LSb32BITMAP40_SEL_BIT_POS11 6
#define LSb16BITMAP40_SEL_BIT_POS11 6
#define bBITMAP40_SEL_BIT_POS11 6
#define MSK32BITMAP40_SEL_BIT_POS11 0x00000FC0
#define BA_BITMAP40_SEL_BIT_POS12 0x0009
#define B16BITMAP40_SEL_BIT_POS12 0x0008
#define LSb32BITMAP40_SEL_BIT_POS12 12
#define LSb16BITMAP40_SEL_BIT_POS12 12
#define bBITMAP40_SEL_BIT_POS12 6
#define MSK32BITMAP40_SEL_BIT_POS12 0x0003F000
#define BA_BITMAP40_SEL_BIT_POS13 0x000A
#define B16BITMAP40_SEL_BIT_POS13 0x000A
#define LSb32BITMAP40_SEL_BIT_POS13 18
#define LSb16BITMAP40_SEL_BIT_POS13 2
#define bBITMAP40_SEL_BIT_POS13 6
#define MSK32BITMAP40_SEL_BIT_POS13 0x00FC0000
#define BA_BITMAP40_SEL_BIT_POS14 0x000B
#define B16BITMAP40_SEL_BIT_POS14 0x000A
#define LSb32BITMAP40_SEL_BIT_POS14 24
#define LSb16BITMAP40_SEL_BIT_POS14 8
#define bBITMAP40_SEL_BIT_POS14 6
#define MSK32BITMAP40_SEL_BIT_POS14 0x3F000000
#define RA_BITMAP40_SEL3 0x000C
#define BA_BITMAP40_SEL_BIT_POS15 0x000C
#define B16BITMAP40_SEL_BIT_POS15 0x000C
#define LSb32BITMAP40_SEL_BIT_POS15 0
#define LSb16BITMAP40_SEL_BIT_POS15 0
#define bBITMAP40_SEL_BIT_POS15 6
#define MSK32BITMAP40_SEL_BIT_POS15 0x0000003F
#define BA_BITMAP40_SEL_BIT_POS16 0x000C
#define B16BITMAP40_SEL_BIT_POS16 0x000C
#define LSb32BITMAP40_SEL_BIT_POS16 6
#define LSb16BITMAP40_SEL_BIT_POS16 6
#define bBITMAP40_SEL_BIT_POS16 6
#define MSK32BITMAP40_SEL_BIT_POS16 0x00000FC0
#define BA_BITMAP40_SEL_BIT_POS17 0x000D
#define B16BITMAP40_SEL_BIT_POS17 0x000C
#define LSb32BITMAP40_SEL_BIT_POS17 12
#define LSb16BITMAP40_SEL_BIT_POS17 12
#define bBITMAP40_SEL_BIT_POS17 6
#define MSK32BITMAP40_SEL_BIT_POS17 0x0003F000
#define BA_BITMAP40_SEL_BIT_POS18 0x000E
#define B16BITMAP40_SEL_BIT_POS18 0x000E
#define LSb32BITMAP40_SEL_BIT_POS18 18
#define LSb16BITMAP40_SEL_BIT_POS18 2
#define bBITMAP40_SEL_BIT_POS18 6
#define MSK32BITMAP40_SEL_BIT_POS18 0x00FC0000
#define BA_BITMAP40_SEL_BIT_POS19 0x000F
#define B16BITMAP40_SEL_BIT_POS19 0x000E
#define LSb32BITMAP40_SEL_BIT_POS19 24
#define LSb16BITMAP40_SEL_BIT_POS19 8
#define bBITMAP40_SEL_BIT_POS19 6
#define MSK32BITMAP40_SEL_BIT_POS19 0x3F000000
#define RA_BITMAP40_SEL4 0x0010
#define BA_BITMAP40_SEL_BIT_POS20 0x0010
#define B16BITMAP40_SEL_BIT_POS20 0x0010
#define LSb32BITMAP40_SEL_BIT_POS20 0
#define LSb16BITMAP40_SEL_BIT_POS20 0
#define bBITMAP40_SEL_BIT_POS20 6
#define MSK32BITMAP40_SEL_BIT_POS20 0x0000003F
#define BA_BITMAP40_SEL_BIT_POS21 0x0010
#define B16BITMAP40_SEL_BIT_POS21 0x0010
#define LSb32BITMAP40_SEL_BIT_POS21 6
#define LSb16BITMAP40_SEL_BIT_POS21 6
#define bBITMAP40_SEL_BIT_POS21 6
#define MSK32BITMAP40_SEL_BIT_POS21 0x00000FC0
#define BA_BITMAP40_SEL_BIT_POS22 0x0011
#define B16BITMAP40_SEL_BIT_POS22 0x0010
#define LSb32BITMAP40_SEL_BIT_POS22 12
#define LSb16BITMAP40_SEL_BIT_POS22 12
#define bBITMAP40_SEL_BIT_POS22 6
#define MSK32BITMAP40_SEL_BIT_POS22 0x0003F000
#define BA_BITMAP40_SEL_BIT_POS23 0x0012
#define B16BITMAP40_SEL_BIT_POS23 0x0012
#define LSb32BITMAP40_SEL_BIT_POS23 18
#define LSb16BITMAP40_SEL_BIT_POS23 2
#define bBITMAP40_SEL_BIT_POS23 6
#define MSK32BITMAP40_SEL_BIT_POS23 0x00FC0000
#define BA_BITMAP40_SEL_BIT_POS24 0x0013
#define B16BITMAP40_SEL_BIT_POS24 0x0012
#define LSb32BITMAP40_SEL_BIT_POS24 24
#define LSb16BITMAP40_SEL_BIT_POS24 8
#define bBITMAP40_SEL_BIT_POS24 6
#define MSK32BITMAP40_SEL_BIT_POS24 0x3F000000
#define RA_BITMAP40_SEL5 0x0014
#define BA_BITMAP40_SEL_BIT_POS25 0x0014
#define B16BITMAP40_SEL_BIT_POS25 0x0014
#define LSb32BITMAP40_SEL_BIT_POS25 0
#define LSb16BITMAP40_SEL_BIT_POS25 0
#define bBITMAP40_SEL_BIT_POS25 6
#define MSK32BITMAP40_SEL_BIT_POS25 0x0000003F
#define BA_BITMAP40_SEL_BIT_POS26 0x0014
#define B16BITMAP40_SEL_BIT_POS26 0x0014
#define LSb32BITMAP40_SEL_BIT_POS26 6
#define LSb16BITMAP40_SEL_BIT_POS26 6
#define bBITMAP40_SEL_BIT_POS26 6
#define MSK32BITMAP40_SEL_BIT_POS26 0x00000FC0
#define BA_BITMAP40_SEL_BIT_POS27 0x0015
#define B16BITMAP40_SEL_BIT_POS27 0x0014
#define LSb32BITMAP40_SEL_BIT_POS27 12
#define LSb16BITMAP40_SEL_BIT_POS27 12
#define bBITMAP40_SEL_BIT_POS27 6
#define MSK32BITMAP40_SEL_BIT_POS27 0x0003F000
#define BA_BITMAP40_SEL_BIT_POS28 0x0016
#define B16BITMAP40_SEL_BIT_POS28 0x0016
#define LSb32BITMAP40_SEL_BIT_POS28 18
#define LSb16BITMAP40_SEL_BIT_POS28 2
#define bBITMAP40_SEL_BIT_POS28 6
#define MSK32BITMAP40_SEL_BIT_POS28 0x00FC0000
#define BA_BITMAP40_SEL_BIT_POS29 0x0017
#define B16BITMAP40_SEL_BIT_POS29 0x0016
#define LSb32BITMAP40_SEL_BIT_POS29 24
#define LSb16BITMAP40_SEL_BIT_POS29 8
#define bBITMAP40_SEL_BIT_POS29 6
#define MSK32BITMAP40_SEL_BIT_POS29 0x3F000000
#define RA_BITMAP40_SEL6 0x0018
#define BA_BITMAP40_SEL_BIT_POS30 0x0018
#define B16BITMAP40_SEL_BIT_POS30 0x0018
#define LSb32BITMAP40_SEL_BIT_POS30 0
#define LSb16BITMAP40_SEL_BIT_POS30 0
#define bBITMAP40_SEL_BIT_POS30 6
#define MSK32BITMAP40_SEL_BIT_POS30 0x0000003F
#define BA_BITMAP40_SEL_BIT_POS31 0x0018
#define B16BITMAP40_SEL_BIT_POS31 0x0018
#define LSb32BITMAP40_SEL_BIT_POS31 6
#define LSb16BITMAP40_SEL_BIT_POS31 6
#define bBITMAP40_SEL_BIT_POS31 6
#define MSK32BITMAP40_SEL_BIT_POS31 0x00000FC0
#define BA_BITMAP40_SEL_BIT_POS32 0x0019
#define B16BITMAP40_SEL_BIT_POS32 0x0018
#define LSb32BITMAP40_SEL_BIT_POS32 12
#define LSb16BITMAP40_SEL_BIT_POS32 12
#define bBITMAP40_SEL_BIT_POS32 6
#define MSK32BITMAP40_SEL_BIT_POS32 0x0003F000
#define BA_BITMAP40_SEL_BIT_POS33 0x001A
#define B16BITMAP40_SEL_BIT_POS33 0x001A
#define LSb32BITMAP40_SEL_BIT_POS33 18
#define LSb16BITMAP40_SEL_BIT_POS33 2
#define bBITMAP40_SEL_BIT_POS33 6
#define MSK32BITMAP40_SEL_BIT_POS33 0x00FC0000
#define BA_BITMAP40_SEL_BIT_POS34 0x001B
#define B16BITMAP40_SEL_BIT_POS34 0x001A
#define LSb32BITMAP40_SEL_BIT_POS34 24
#define LSb16BITMAP40_SEL_BIT_POS34 8
#define bBITMAP40_SEL_BIT_POS34 6
#define MSK32BITMAP40_SEL_BIT_POS34 0x3F000000
#define RA_BITMAP40_SEL7 0x001C
#define BA_BITMAP40_SEL_BIT_POS35 0x001C
#define B16BITMAP40_SEL_BIT_POS35 0x001C
#define LSb32BITMAP40_SEL_BIT_POS35 0
#define LSb16BITMAP40_SEL_BIT_POS35 0
#define bBITMAP40_SEL_BIT_POS35 6
#define MSK32BITMAP40_SEL_BIT_POS35 0x0000003F
#define BA_BITMAP40_SEL_BIT_POS36 0x001C
#define B16BITMAP40_SEL_BIT_POS36 0x001C
#define LSb32BITMAP40_SEL_BIT_POS36 6
#define LSb16BITMAP40_SEL_BIT_POS36 6
#define bBITMAP40_SEL_BIT_POS36 6
#define MSK32BITMAP40_SEL_BIT_POS36 0x00000FC0
#define BA_BITMAP40_SEL_BIT_POS37 0x001D
#define B16BITMAP40_SEL_BIT_POS37 0x001C
#define LSb32BITMAP40_SEL_BIT_POS37 12
#define LSb16BITMAP40_SEL_BIT_POS37 12
#define bBITMAP40_SEL_BIT_POS37 6
#define MSK32BITMAP40_SEL_BIT_POS37 0x0003F000
#define BA_BITMAP40_SEL_BIT_POS38 0x001E
#define B16BITMAP40_SEL_BIT_POS38 0x001E
#define LSb32BITMAP40_SEL_BIT_POS38 18
#define LSb16BITMAP40_SEL_BIT_POS38 2
#define bBITMAP40_SEL_BIT_POS38 6
#define MSK32BITMAP40_SEL_BIT_POS38 0x00FC0000
#define BA_BITMAP40_SEL_BIT_POS39 0x001F
#define B16BITMAP40_SEL_BIT_POS39 0x001E
#define LSb32BITMAP40_SEL_BIT_POS39 24
#define LSb16BITMAP40_SEL_BIT_POS39 8
#define bBITMAP40_SEL_BIT_POS39 6
#define MSK32BITMAP40_SEL_BIT_POS39 0x3F000000
///////////////////////////////////////////////////////////
typedef struct SIE_BITMAP40 {
///////////////////////////////////////////////////////////
#define GET32BITMAP40_SEL_BIT_POS0(r32) _BFGET_(r32, 5, 0)
#define SET32BITMAP40_SEL_BIT_POS0(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BITMAP40_SEL_BIT_POS0(r16) _BFGET_(r16, 5, 0)
#define SET16BITMAP40_SEL_BIT_POS0(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BITMAP40_SEL_BIT_POS1(r32) _BFGET_(r32,11, 6)
#define SET32BITMAP40_SEL_BIT_POS1(r32,v) _BFSET_(r32,11, 6,v)
#define GET16BITMAP40_SEL_BIT_POS1(r16) _BFGET_(r16,11, 6)
#define SET16BITMAP40_SEL_BIT_POS1(r16,v) _BFSET_(r16,11, 6,v)
#define GET32BITMAP40_SEL_BIT_POS2(r32) _BFGET_(r32,17,12)
#define SET32BITMAP40_SEL_BIT_POS2(r32,v) _BFSET_(r32,17,12,v)
#define GET32BITMAP40_SEL_BIT_POS3(r32) _BFGET_(r32,23,18)
#define SET32BITMAP40_SEL_BIT_POS3(r32,v) _BFSET_(r32,23,18,v)
#define GET16BITMAP40_SEL_BIT_POS3(r16) _BFGET_(r16, 7, 2)
#define SET16BITMAP40_SEL_BIT_POS3(r16,v) _BFSET_(r16, 7, 2,v)
#define GET32BITMAP40_SEL_BIT_POS4(r32) _BFGET_(r32,29,24)
#define SET32BITMAP40_SEL_BIT_POS4(r32,v) _BFSET_(r32,29,24,v)
#define GET16BITMAP40_SEL_BIT_POS4(r16) _BFGET_(r16,13, 8)
#define SET16BITMAP40_SEL_BIT_POS4(r16,v) _BFSET_(r16,13, 8,v)
#define w32BITMAP40_SEL {\
UNSG32 uSEL_BIT_POS0 : 6;\
UNSG32 uSEL_BIT_POS1 : 6;\
UNSG32 uSEL_BIT_POS2 : 6;\
UNSG32 uSEL_BIT_POS3 : 6;\
UNSG32 uSEL_BIT_POS4 : 6;\
UNSG32 RSVDx0_b30 : 2;\
}
union { UNSG32 u32BITMAP40_SEL;
struct w32BITMAP40_SEL;
};
#define GET32BITMAP40_SEL_BIT_POS5(r32) _BFGET_(r32, 5, 0)
#define SET32BITMAP40_SEL_BIT_POS5(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BITMAP40_SEL_BIT_POS5(r16) _BFGET_(r16, 5, 0)
#define SET16BITMAP40_SEL_BIT_POS5(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BITMAP40_SEL_BIT_POS6(r32) _BFGET_(r32,11, 6)
#define SET32BITMAP40_SEL_BIT_POS6(r32,v) _BFSET_(r32,11, 6,v)
#define GET16BITMAP40_SEL_BIT_POS6(r16) _BFGET_(r16,11, 6)
#define SET16BITMAP40_SEL_BIT_POS6(r16,v) _BFSET_(r16,11, 6,v)
#define GET32BITMAP40_SEL_BIT_POS7(r32) _BFGET_(r32,17,12)
#define SET32BITMAP40_SEL_BIT_POS7(r32,v) _BFSET_(r32,17,12,v)
#define GET32BITMAP40_SEL_BIT_POS8(r32) _BFGET_(r32,23,18)
#define SET32BITMAP40_SEL_BIT_POS8(r32,v) _BFSET_(r32,23,18,v)
#define GET16BITMAP40_SEL_BIT_POS8(r16) _BFGET_(r16, 7, 2)
#define SET16BITMAP40_SEL_BIT_POS8(r16,v) _BFSET_(r16, 7, 2,v)
#define GET32BITMAP40_SEL_BIT_POS9(r32) _BFGET_(r32,29,24)
#define SET32BITMAP40_SEL_BIT_POS9(r32,v) _BFSET_(r32,29,24,v)
#define GET16BITMAP40_SEL_BIT_POS9(r16) _BFGET_(r16,13, 8)
#define SET16BITMAP40_SEL_BIT_POS9(r16,v) _BFSET_(r16,13, 8,v)
#define w32BITMAP40_SEL1 {\
UNSG32 uSEL_BIT_POS5 : 6;\
UNSG32 uSEL_BIT_POS6 : 6;\
UNSG32 uSEL_BIT_POS7 : 6;\
UNSG32 uSEL_BIT_POS8 : 6;\
UNSG32 uSEL_BIT_POS9 : 6;\
UNSG32 RSVDx4_b30 : 2;\
}
union { UNSG32 u32BITMAP40_SEL1;
struct w32BITMAP40_SEL1;
};
#define GET32BITMAP40_SEL_BIT_POS10(r32) _BFGET_(r32, 5, 0)
#define SET32BITMAP40_SEL_BIT_POS10(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BITMAP40_SEL_BIT_POS10(r16) _BFGET_(r16, 5, 0)
#define SET16BITMAP40_SEL_BIT_POS10(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BITMAP40_SEL_BIT_POS11(r32) _BFGET_(r32,11, 6)
#define SET32BITMAP40_SEL_BIT_POS11(r32,v) _BFSET_(r32,11, 6,v)
#define GET16BITMAP40_SEL_BIT_POS11(r16) _BFGET_(r16,11, 6)
#define SET16BITMAP40_SEL_BIT_POS11(r16,v) _BFSET_(r16,11, 6,v)
#define GET32BITMAP40_SEL_BIT_POS12(r32) _BFGET_(r32,17,12)
#define SET32BITMAP40_SEL_BIT_POS12(r32,v) _BFSET_(r32,17,12,v)
#define GET32BITMAP40_SEL_BIT_POS13(r32) _BFGET_(r32,23,18)
#define SET32BITMAP40_SEL_BIT_POS13(r32,v) _BFSET_(r32,23,18,v)
#define GET16BITMAP40_SEL_BIT_POS13(r16) _BFGET_(r16, 7, 2)
#define SET16BITMAP40_SEL_BIT_POS13(r16,v) _BFSET_(r16, 7, 2,v)
#define GET32BITMAP40_SEL_BIT_POS14(r32) _BFGET_(r32,29,24)
#define SET32BITMAP40_SEL_BIT_POS14(r32,v) _BFSET_(r32,29,24,v)
#define GET16BITMAP40_SEL_BIT_POS14(r16) _BFGET_(r16,13, 8)
#define SET16BITMAP40_SEL_BIT_POS14(r16,v) _BFSET_(r16,13, 8,v)
#define w32BITMAP40_SEL2 {\
UNSG32 uSEL_BIT_POS10 : 6;\
UNSG32 uSEL_BIT_POS11 : 6;\
UNSG32 uSEL_BIT_POS12 : 6;\
UNSG32 uSEL_BIT_POS13 : 6;\
UNSG32 uSEL_BIT_POS14 : 6;\
UNSG32 RSVDx8_b30 : 2;\
}
union { UNSG32 u32BITMAP40_SEL2;
struct w32BITMAP40_SEL2;
};
#define GET32BITMAP40_SEL_BIT_POS15(r32) _BFGET_(r32, 5, 0)
#define SET32BITMAP40_SEL_BIT_POS15(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BITMAP40_SEL_BIT_POS15(r16) _BFGET_(r16, 5, 0)
#define SET16BITMAP40_SEL_BIT_POS15(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BITMAP40_SEL_BIT_POS16(r32) _BFGET_(r32,11, 6)
#define SET32BITMAP40_SEL_BIT_POS16(r32,v) _BFSET_(r32,11, 6,v)
#define GET16BITMAP40_SEL_BIT_POS16(r16) _BFGET_(r16,11, 6)
#define SET16BITMAP40_SEL_BIT_POS16(r16,v) _BFSET_(r16,11, 6,v)
#define GET32BITMAP40_SEL_BIT_POS17(r32) _BFGET_(r32,17,12)
#define SET32BITMAP40_SEL_BIT_POS17(r32,v) _BFSET_(r32,17,12,v)
#define GET32BITMAP40_SEL_BIT_POS18(r32) _BFGET_(r32,23,18)
#define SET32BITMAP40_SEL_BIT_POS18(r32,v) _BFSET_(r32,23,18,v)
#define GET16BITMAP40_SEL_BIT_POS18(r16) _BFGET_(r16, 7, 2)
#define SET16BITMAP40_SEL_BIT_POS18(r16,v) _BFSET_(r16, 7, 2,v)
#define GET32BITMAP40_SEL_BIT_POS19(r32) _BFGET_(r32,29,24)
#define SET32BITMAP40_SEL_BIT_POS19(r32,v) _BFSET_(r32,29,24,v)
#define GET16BITMAP40_SEL_BIT_POS19(r16) _BFGET_(r16,13, 8)
#define SET16BITMAP40_SEL_BIT_POS19(r16,v) _BFSET_(r16,13, 8,v)
#define w32BITMAP40_SEL3 {\
UNSG32 uSEL_BIT_POS15 : 6;\
UNSG32 uSEL_BIT_POS16 : 6;\
UNSG32 uSEL_BIT_POS17 : 6;\
UNSG32 uSEL_BIT_POS18 : 6;\
UNSG32 uSEL_BIT_POS19 : 6;\
UNSG32 RSVDxC_b30 : 2;\
}
union { UNSG32 u32BITMAP40_SEL3;
struct w32BITMAP40_SEL3;
};
#define GET32BITMAP40_SEL_BIT_POS20(r32) _BFGET_(r32, 5, 0)
#define SET32BITMAP40_SEL_BIT_POS20(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BITMAP40_SEL_BIT_POS20(r16) _BFGET_(r16, 5, 0)
#define SET16BITMAP40_SEL_BIT_POS20(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BITMAP40_SEL_BIT_POS21(r32) _BFGET_(r32,11, 6)
#define SET32BITMAP40_SEL_BIT_POS21(r32,v) _BFSET_(r32,11, 6,v)
#define GET16BITMAP40_SEL_BIT_POS21(r16) _BFGET_(r16,11, 6)
#define SET16BITMAP40_SEL_BIT_POS21(r16,v) _BFSET_(r16,11, 6,v)
#define GET32BITMAP40_SEL_BIT_POS22(r32) _BFGET_(r32,17,12)
#define SET32BITMAP40_SEL_BIT_POS22(r32,v) _BFSET_(r32,17,12,v)
#define GET32BITMAP40_SEL_BIT_POS23(r32) _BFGET_(r32,23,18)
#define SET32BITMAP40_SEL_BIT_POS23(r32,v) _BFSET_(r32,23,18,v)
#define GET16BITMAP40_SEL_BIT_POS23(r16) _BFGET_(r16, 7, 2)
#define SET16BITMAP40_SEL_BIT_POS23(r16,v) _BFSET_(r16, 7, 2,v)
#define GET32BITMAP40_SEL_BIT_POS24(r32) _BFGET_(r32,29,24)
#define SET32BITMAP40_SEL_BIT_POS24(r32,v) _BFSET_(r32,29,24,v)
#define GET16BITMAP40_SEL_BIT_POS24(r16) _BFGET_(r16,13, 8)
#define SET16BITMAP40_SEL_BIT_POS24(r16,v) _BFSET_(r16,13, 8,v)
#define w32BITMAP40_SEL4 {\
UNSG32 uSEL_BIT_POS20 : 6;\
UNSG32 uSEL_BIT_POS21 : 6;\
UNSG32 uSEL_BIT_POS22 : 6;\
UNSG32 uSEL_BIT_POS23 : 6;\
UNSG32 uSEL_BIT_POS24 : 6;\
UNSG32 RSVDx10_b30 : 2;\
}
union { UNSG32 u32BITMAP40_SEL4;
struct w32BITMAP40_SEL4;
};
#define GET32BITMAP40_SEL_BIT_POS25(r32) _BFGET_(r32, 5, 0)
#define SET32BITMAP40_SEL_BIT_POS25(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BITMAP40_SEL_BIT_POS25(r16) _BFGET_(r16, 5, 0)
#define SET16BITMAP40_SEL_BIT_POS25(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BITMAP40_SEL_BIT_POS26(r32) _BFGET_(r32,11, 6)
#define SET32BITMAP40_SEL_BIT_POS26(r32,v) _BFSET_(r32,11, 6,v)
#define GET16BITMAP40_SEL_BIT_POS26(r16) _BFGET_(r16,11, 6)
#define SET16BITMAP40_SEL_BIT_POS26(r16,v) _BFSET_(r16,11, 6,v)
#define GET32BITMAP40_SEL_BIT_POS27(r32) _BFGET_(r32,17,12)
#define SET32BITMAP40_SEL_BIT_POS27(r32,v) _BFSET_(r32,17,12,v)
#define GET32BITMAP40_SEL_BIT_POS28(r32) _BFGET_(r32,23,18)
#define SET32BITMAP40_SEL_BIT_POS28(r32,v) _BFSET_(r32,23,18,v)
#define GET16BITMAP40_SEL_BIT_POS28(r16) _BFGET_(r16, 7, 2)
#define SET16BITMAP40_SEL_BIT_POS28(r16,v) _BFSET_(r16, 7, 2,v)
#define GET32BITMAP40_SEL_BIT_POS29(r32) _BFGET_(r32,29,24)
#define SET32BITMAP40_SEL_BIT_POS29(r32,v) _BFSET_(r32,29,24,v)
#define GET16BITMAP40_SEL_BIT_POS29(r16) _BFGET_(r16,13, 8)
#define SET16BITMAP40_SEL_BIT_POS29(r16,v) _BFSET_(r16,13, 8,v)
#define w32BITMAP40_SEL5 {\
UNSG32 uSEL_BIT_POS25 : 6;\
UNSG32 uSEL_BIT_POS26 : 6;\
UNSG32 uSEL_BIT_POS27 : 6;\
UNSG32 uSEL_BIT_POS28 : 6;\
UNSG32 uSEL_BIT_POS29 : 6;\
UNSG32 RSVDx14_b30 : 2;\
}
union { UNSG32 u32BITMAP40_SEL5;
struct w32BITMAP40_SEL5;
};
#define GET32BITMAP40_SEL_BIT_POS30(r32) _BFGET_(r32, 5, 0)
#define SET32BITMAP40_SEL_BIT_POS30(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BITMAP40_SEL_BIT_POS30(r16) _BFGET_(r16, 5, 0)
#define SET16BITMAP40_SEL_BIT_POS30(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BITMAP40_SEL_BIT_POS31(r32) _BFGET_(r32,11, 6)
#define SET32BITMAP40_SEL_BIT_POS31(r32,v) _BFSET_(r32,11, 6,v)
#define GET16BITMAP40_SEL_BIT_POS31(r16) _BFGET_(r16,11, 6)
#define SET16BITMAP40_SEL_BIT_POS31(r16,v) _BFSET_(r16,11, 6,v)
#define GET32BITMAP40_SEL_BIT_POS32(r32) _BFGET_(r32,17,12)
#define SET32BITMAP40_SEL_BIT_POS32(r32,v) _BFSET_(r32,17,12,v)
#define GET32BITMAP40_SEL_BIT_POS33(r32) _BFGET_(r32,23,18)
#define SET32BITMAP40_SEL_BIT_POS33(r32,v) _BFSET_(r32,23,18,v)
#define GET16BITMAP40_SEL_BIT_POS33(r16) _BFGET_(r16, 7, 2)
#define SET16BITMAP40_SEL_BIT_POS33(r16,v) _BFSET_(r16, 7, 2,v)
#define GET32BITMAP40_SEL_BIT_POS34(r32) _BFGET_(r32,29,24)
#define SET32BITMAP40_SEL_BIT_POS34(r32,v) _BFSET_(r32,29,24,v)
#define GET16BITMAP40_SEL_BIT_POS34(r16) _BFGET_(r16,13, 8)
#define SET16BITMAP40_SEL_BIT_POS34(r16,v) _BFSET_(r16,13, 8,v)
#define w32BITMAP40_SEL6 {\
UNSG32 uSEL_BIT_POS30 : 6;\
UNSG32 uSEL_BIT_POS31 : 6;\
UNSG32 uSEL_BIT_POS32 : 6;\
UNSG32 uSEL_BIT_POS33 : 6;\
UNSG32 uSEL_BIT_POS34 : 6;\
UNSG32 RSVDx18_b30 : 2;\
}
union { UNSG32 u32BITMAP40_SEL6;
struct w32BITMAP40_SEL6;
};
#define GET32BITMAP40_SEL_BIT_POS35(r32) _BFGET_(r32, 5, 0)
#define SET32BITMAP40_SEL_BIT_POS35(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BITMAP40_SEL_BIT_POS35(r16) _BFGET_(r16, 5, 0)
#define SET16BITMAP40_SEL_BIT_POS35(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BITMAP40_SEL_BIT_POS36(r32) _BFGET_(r32,11, 6)
#define SET32BITMAP40_SEL_BIT_POS36(r32,v) _BFSET_(r32,11, 6,v)
#define GET16BITMAP40_SEL_BIT_POS36(r16) _BFGET_(r16,11, 6)
#define SET16BITMAP40_SEL_BIT_POS36(r16,v) _BFSET_(r16,11, 6,v)
#define GET32BITMAP40_SEL_BIT_POS37(r32) _BFGET_(r32,17,12)
#define SET32BITMAP40_SEL_BIT_POS37(r32,v) _BFSET_(r32,17,12,v)
#define GET32BITMAP40_SEL_BIT_POS38(r32) _BFGET_(r32,23,18)
#define SET32BITMAP40_SEL_BIT_POS38(r32,v) _BFSET_(r32,23,18,v)
#define GET16BITMAP40_SEL_BIT_POS38(r16) _BFGET_(r16, 7, 2)
#define SET16BITMAP40_SEL_BIT_POS38(r16,v) _BFSET_(r16, 7, 2,v)
#define GET32BITMAP40_SEL_BIT_POS39(r32) _BFGET_(r32,29,24)
#define SET32BITMAP40_SEL_BIT_POS39(r32,v) _BFSET_(r32,29,24,v)
#define GET16BITMAP40_SEL_BIT_POS39(r16) _BFGET_(r16,13, 8)
#define SET16BITMAP40_SEL_BIT_POS39(r16,v) _BFSET_(r16,13, 8,v)
#define w32BITMAP40_SEL7 {\
UNSG32 uSEL_BIT_POS35 : 6;\
UNSG32 uSEL_BIT_POS36 : 6;\
UNSG32 uSEL_BIT_POS37 : 6;\
UNSG32 uSEL_BIT_POS38 : 6;\
UNSG32 uSEL_BIT_POS39 : 6;\
UNSG32 RSVDx1C_b30 : 2;\
}
union { UNSG32 u32BITMAP40_SEL7;
struct w32BITMAP40_SEL7;
};
///////////////////////////////////////////////////////////
} SIE_BITMAP40;
typedef union T32BITMAP40_SEL
{ UNSG32 u32;
struct w32BITMAP40_SEL;
} T32BITMAP40_SEL;
typedef union T32BITMAP40_SEL1
{ UNSG32 u32;
struct w32BITMAP40_SEL1;
} T32BITMAP40_SEL1;
typedef union T32BITMAP40_SEL2
{ UNSG32 u32;
struct w32BITMAP40_SEL2;
} T32BITMAP40_SEL2;
typedef union T32BITMAP40_SEL3
{ UNSG32 u32;
struct w32BITMAP40_SEL3;
} T32BITMAP40_SEL3;
typedef union T32BITMAP40_SEL4
{ UNSG32 u32;
struct w32BITMAP40_SEL4;
} T32BITMAP40_SEL4;
typedef union T32BITMAP40_SEL5
{ UNSG32 u32;
struct w32BITMAP40_SEL5;
} T32BITMAP40_SEL5;
typedef union T32BITMAP40_SEL6
{ UNSG32 u32;
struct w32BITMAP40_SEL6;
} T32BITMAP40_SEL6;
typedef union T32BITMAP40_SEL7
{ UNSG32 u32;
struct w32BITMAP40_SEL7;
} T32BITMAP40_SEL7;
///////////////////////////////////////////////////////////
typedef union TBITMAP40_SEL
{ UNSG32 u32[8];
struct {
struct w32BITMAP40_SEL;
struct w32BITMAP40_SEL1;
struct w32BITMAP40_SEL2;
struct w32BITMAP40_SEL3;
struct w32BITMAP40_SEL4;
struct w32BITMAP40_SEL5;
struct w32BITMAP40_SEL6;
struct w32BITMAP40_SEL7;
};
} TBITMAP40_SEL;
///////////////////////////////////////////////////////////
SIGN32 BITMAP40_drvrd(SIE_BITMAP40 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BITMAP40_drvwr(SIE_BITMAP40 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BITMAP40_reset(SIE_BITMAP40 *p);
SIGN32 BITMAP40_cmp (SIE_BITMAP40 *p, SIE_BITMAP40 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BITMAP40_check(p,pie,pfx,hLOG) BITMAP40_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BITMAP40_print(p, pfx,hLOG) BITMAP40_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BITMAP40
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BITMAP20 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 SEL (P)
/// %unsigned 5 BIT_POS0 0x0
/// %unsigned 5 BIT_POS1 0x1
/// %unsigned 5 BIT_POS2 0x2
/// %unsigned 5 BIT_POS3 0x3
/// %unsigned 5 BIT_POS4 0x4
/// %unsigned 5 BIT_POS5 0x5
/// %% 2 # Stuffing bits...
/// # 0x00004 SEL1
/// %unsigned 5 BIT_POS6 0x6
/// %unsigned 5 BIT_POS7 0x7
/// %unsigned 5 BIT_POS8 0x8
/// %unsigned 5 BIT_POS9 0x9
/// %unsigned 5 BIT_POS10 0xA
/// %unsigned 5 BIT_POS11 0xB
/// %% 2 # Stuffing bits...
/// # 0x00008 SEL2
/// %unsigned 5 BIT_POS12 0xC
/// %unsigned 5 BIT_POS13 0xD
/// %unsigned 5 BIT_POS14 0xE
/// %unsigned 5 BIT_POS15 0xF
/// %unsigned 5 BIT_POS16 0x10
/// %unsigned 5 BIT_POS17 0x11
/// %% 2 # Stuffing bits...
/// # 0x0000C SEL3
/// %unsigned 5 BIT_POS18 0x12
/// %unsigned 5 BIT_POS19 0x13
/// ###
/// * Specifies mapping of new bit locations within 20 bit data from Read Client which need to be used to form pixels for Inverse Scan mode.
/// * Normal dHub data order:
/// * {Y3,Cr2,Y2,Cb2,Y1,Cr0,Y0,Cb0} First pixel in LSB
/// * Inverse Scan dHub data order:
/// * {Y3,Cr2,Y2,Cb2,Y1,Cr0,Y0,Cb0} First pixel in MSB
/// * Following different data orders can be generated to be presented to first UPS in the pipe.
/// ###
/// %% 22 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 100b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BITMAP20
#define h_BITMAP20 (){}
#define RA_BITMAP20_SEL 0x0000
#define BA_BITMAP20_SEL_BIT_POS0 0x0000
#define B16BITMAP20_SEL_BIT_POS0 0x0000
#define LSb32BITMAP20_SEL_BIT_POS0 0
#define LSb16BITMAP20_SEL_BIT_POS0 0
#define bBITMAP20_SEL_BIT_POS0 5
#define MSK32BITMAP20_SEL_BIT_POS0 0x0000001F
#define BA_BITMAP20_SEL_BIT_POS1 0x0000
#define B16BITMAP20_SEL_BIT_POS1 0x0000
#define LSb32BITMAP20_SEL_BIT_POS1 5
#define LSb16BITMAP20_SEL_BIT_POS1 5
#define bBITMAP20_SEL_BIT_POS1 5
#define MSK32BITMAP20_SEL_BIT_POS1 0x000003E0
#define BA_BITMAP20_SEL_BIT_POS2 0x0001
#define B16BITMAP20_SEL_BIT_POS2 0x0000
#define LSb32BITMAP20_SEL_BIT_POS2 10
#define LSb16BITMAP20_SEL_BIT_POS2 10
#define bBITMAP20_SEL_BIT_POS2 5
#define MSK32BITMAP20_SEL_BIT_POS2 0x00007C00
#define BA_BITMAP20_SEL_BIT_POS3 0x0001
#define B16BITMAP20_SEL_BIT_POS3 0x0000
#define LSb32BITMAP20_SEL_BIT_POS3 15
#define LSb16BITMAP20_SEL_BIT_POS3 15
#define bBITMAP20_SEL_BIT_POS3 5
#define MSK32BITMAP20_SEL_BIT_POS3 0x000F8000
#define BA_BITMAP20_SEL_BIT_POS4 0x0002
#define B16BITMAP20_SEL_BIT_POS4 0x0002
#define LSb32BITMAP20_SEL_BIT_POS4 20
#define LSb16BITMAP20_SEL_BIT_POS4 4
#define bBITMAP20_SEL_BIT_POS4 5
#define MSK32BITMAP20_SEL_BIT_POS4 0x01F00000
#define BA_BITMAP20_SEL_BIT_POS5 0x0003
#define B16BITMAP20_SEL_BIT_POS5 0x0002
#define LSb32BITMAP20_SEL_BIT_POS5 25
#define LSb16BITMAP20_SEL_BIT_POS5 9
#define bBITMAP20_SEL_BIT_POS5 5
#define MSK32BITMAP20_SEL_BIT_POS5 0x3E000000
#define RA_BITMAP20_SEL1 0x0004
#define BA_BITMAP20_SEL_BIT_POS6 0x0004
#define B16BITMAP20_SEL_BIT_POS6 0x0004
#define LSb32BITMAP20_SEL_BIT_POS6 0
#define LSb16BITMAP20_SEL_BIT_POS6 0
#define bBITMAP20_SEL_BIT_POS6 5
#define MSK32BITMAP20_SEL_BIT_POS6 0x0000001F
#define BA_BITMAP20_SEL_BIT_POS7 0x0004
#define B16BITMAP20_SEL_BIT_POS7 0x0004
#define LSb32BITMAP20_SEL_BIT_POS7 5
#define LSb16BITMAP20_SEL_BIT_POS7 5
#define bBITMAP20_SEL_BIT_POS7 5
#define MSK32BITMAP20_SEL_BIT_POS7 0x000003E0
#define BA_BITMAP20_SEL_BIT_POS8 0x0005
#define B16BITMAP20_SEL_BIT_POS8 0x0004
#define LSb32BITMAP20_SEL_BIT_POS8 10
#define LSb16BITMAP20_SEL_BIT_POS8 10
#define bBITMAP20_SEL_BIT_POS8 5
#define MSK32BITMAP20_SEL_BIT_POS8 0x00007C00
#define BA_BITMAP20_SEL_BIT_POS9 0x0005
#define B16BITMAP20_SEL_BIT_POS9 0x0004
#define LSb32BITMAP20_SEL_BIT_POS9 15
#define LSb16BITMAP20_SEL_BIT_POS9 15
#define bBITMAP20_SEL_BIT_POS9 5
#define MSK32BITMAP20_SEL_BIT_POS9 0x000F8000
#define BA_BITMAP20_SEL_BIT_POS10 0x0006
#define B16BITMAP20_SEL_BIT_POS10 0x0006
#define LSb32BITMAP20_SEL_BIT_POS10 20
#define LSb16BITMAP20_SEL_BIT_POS10 4
#define bBITMAP20_SEL_BIT_POS10 5
#define MSK32BITMAP20_SEL_BIT_POS10 0x01F00000
#define BA_BITMAP20_SEL_BIT_POS11 0x0007
#define B16BITMAP20_SEL_BIT_POS11 0x0006
#define LSb32BITMAP20_SEL_BIT_POS11 25
#define LSb16BITMAP20_SEL_BIT_POS11 9
#define bBITMAP20_SEL_BIT_POS11 5
#define MSK32BITMAP20_SEL_BIT_POS11 0x3E000000
#define RA_BITMAP20_SEL2 0x0008
#define BA_BITMAP20_SEL_BIT_POS12 0x0008
#define B16BITMAP20_SEL_BIT_POS12 0x0008
#define LSb32BITMAP20_SEL_BIT_POS12 0
#define LSb16BITMAP20_SEL_BIT_POS12 0
#define bBITMAP20_SEL_BIT_POS12 5
#define MSK32BITMAP20_SEL_BIT_POS12 0x0000001F
#define BA_BITMAP20_SEL_BIT_POS13 0x0008
#define B16BITMAP20_SEL_BIT_POS13 0x0008
#define LSb32BITMAP20_SEL_BIT_POS13 5
#define LSb16BITMAP20_SEL_BIT_POS13 5
#define bBITMAP20_SEL_BIT_POS13 5
#define MSK32BITMAP20_SEL_BIT_POS13 0x000003E0
#define BA_BITMAP20_SEL_BIT_POS14 0x0009
#define B16BITMAP20_SEL_BIT_POS14 0x0008
#define LSb32BITMAP20_SEL_BIT_POS14 10
#define LSb16BITMAP20_SEL_BIT_POS14 10
#define bBITMAP20_SEL_BIT_POS14 5
#define MSK32BITMAP20_SEL_BIT_POS14 0x00007C00
#define BA_BITMAP20_SEL_BIT_POS15 0x0009
#define B16BITMAP20_SEL_BIT_POS15 0x0008
#define LSb32BITMAP20_SEL_BIT_POS15 15
#define LSb16BITMAP20_SEL_BIT_POS15 15
#define bBITMAP20_SEL_BIT_POS15 5
#define MSK32BITMAP20_SEL_BIT_POS15 0x000F8000
#define BA_BITMAP20_SEL_BIT_POS16 0x000A
#define B16BITMAP20_SEL_BIT_POS16 0x000A
#define LSb32BITMAP20_SEL_BIT_POS16 20
#define LSb16BITMAP20_SEL_BIT_POS16 4
#define bBITMAP20_SEL_BIT_POS16 5
#define MSK32BITMAP20_SEL_BIT_POS16 0x01F00000
#define BA_BITMAP20_SEL_BIT_POS17 0x000B
#define B16BITMAP20_SEL_BIT_POS17 0x000A
#define LSb32BITMAP20_SEL_BIT_POS17 25
#define LSb16BITMAP20_SEL_BIT_POS17 9
#define bBITMAP20_SEL_BIT_POS17 5
#define MSK32BITMAP20_SEL_BIT_POS17 0x3E000000
#define RA_BITMAP20_SEL3 0x000C
#define BA_BITMAP20_SEL_BIT_POS18 0x000C
#define B16BITMAP20_SEL_BIT_POS18 0x000C
#define LSb32BITMAP20_SEL_BIT_POS18 0
#define LSb16BITMAP20_SEL_BIT_POS18 0
#define bBITMAP20_SEL_BIT_POS18 5
#define MSK32BITMAP20_SEL_BIT_POS18 0x0000001F
#define BA_BITMAP20_SEL_BIT_POS19 0x000C
#define B16BITMAP20_SEL_BIT_POS19 0x000C
#define LSb32BITMAP20_SEL_BIT_POS19 5
#define LSb16BITMAP20_SEL_BIT_POS19 5
#define bBITMAP20_SEL_BIT_POS19 5
#define MSK32BITMAP20_SEL_BIT_POS19 0x000003E0
///////////////////////////////////////////////////////////
typedef struct SIE_BITMAP20 {
///////////////////////////////////////////////////////////
#define GET32BITMAP20_SEL_BIT_POS0(r32) _BFGET_(r32, 4, 0)
#define SET32BITMAP20_SEL_BIT_POS0(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16BITMAP20_SEL_BIT_POS0(r16) _BFGET_(r16, 4, 0)
#define SET16BITMAP20_SEL_BIT_POS0(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BITMAP20_SEL_BIT_POS1(r32) _BFGET_(r32, 9, 5)
#define SET32BITMAP20_SEL_BIT_POS1(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16BITMAP20_SEL_BIT_POS1(r16) _BFGET_(r16, 9, 5)
#define SET16BITMAP20_SEL_BIT_POS1(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32BITMAP20_SEL_BIT_POS2(r32) _BFGET_(r32,14,10)
#define SET32BITMAP20_SEL_BIT_POS2(r32,v) _BFSET_(r32,14,10,v)
#define GET16BITMAP20_SEL_BIT_POS2(r16) _BFGET_(r16,14,10)
#define SET16BITMAP20_SEL_BIT_POS2(r16,v) _BFSET_(r16,14,10,v)
#define GET32BITMAP20_SEL_BIT_POS3(r32) _BFGET_(r32,19,15)
#define SET32BITMAP20_SEL_BIT_POS3(r32,v) _BFSET_(r32,19,15,v)
#define GET32BITMAP20_SEL_BIT_POS4(r32) _BFGET_(r32,24,20)
#define SET32BITMAP20_SEL_BIT_POS4(r32,v) _BFSET_(r32,24,20,v)
#define GET16BITMAP20_SEL_BIT_POS4(r16) _BFGET_(r16, 8, 4)
#define SET16BITMAP20_SEL_BIT_POS4(r16,v) _BFSET_(r16, 8, 4,v)
#define GET32BITMAP20_SEL_BIT_POS5(r32) _BFGET_(r32,29,25)
#define SET32BITMAP20_SEL_BIT_POS5(r32,v) _BFSET_(r32,29,25,v)
#define GET16BITMAP20_SEL_BIT_POS5(r16) _BFGET_(r16,13, 9)
#define SET16BITMAP20_SEL_BIT_POS5(r16,v) _BFSET_(r16,13, 9,v)
#define w32BITMAP20_SEL {\
UNSG32 uSEL_BIT_POS0 : 5;\
UNSG32 uSEL_BIT_POS1 : 5;\
UNSG32 uSEL_BIT_POS2 : 5;\
UNSG32 uSEL_BIT_POS3 : 5;\
UNSG32 uSEL_BIT_POS4 : 5;\
UNSG32 uSEL_BIT_POS5 : 5;\
UNSG32 RSVDx0_b30 : 2;\
}
union { UNSG32 u32BITMAP20_SEL;
struct w32BITMAP20_SEL;
};
#define GET32BITMAP20_SEL_BIT_POS6(r32) _BFGET_(r32, 4, 0)
#define SET32BITMAP20_SEL_BIT_POS6(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16BITMAP20_SEL_BIT_POS6(r16) _BFGET_(r16, 4, 0)
#define SET16BITMAP20_SEL_BIT_POS6(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BITMAP20_SEL_BIT_POS7(r32) _BFGET_(r32, 9, 5)
#define SET32BITMAP20_SEL_BIT_POS7(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16BITMAP20_SEL_BIT_POS7(r16) _BFGET_(r16, 9, 5)
#define SET16BITMAP20_SEL_BIT_POS7(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32BITMAP20_SEL_BIT_POS8(r32) _BFGET_(r32,14,10)
#define SET32BITMAP20_SEL_BIT_POS8(r32,v) _BFSET_(r32,14,10,v)
#define GET16BITMAP20_SEL_BIT_POS8(r16) _BFGET_(r16,14,10)
#define SET16BITMAP20_SEL_BIT_POS8(r16,v) _BFSET_(r16,14,10,v)
#define GET32BITMAP20_SEL_BIT_POS9(r32) _BFGET_(r32,19,15)
#define SET32BITMAP20_SEL_BIT_POS9(r32,v) _BFSET_(r32,19,15,v)
#define GET32BITMAP20_SEL_BIT_POS10(r32) _BFGET_(r32,24,20)
#define SET32BITMAP20_SEL_BIT_POS10(r32,v) _BFSET_(r32,24,20,v)
#define GET16BITMAP20_SEL_BIT_POS10(r16) _BFGET_(r16, 8, 4)
#define SET16BITMAP20_SEL_BIT_POS10(r16,v) _BFSET_(r16, 8, 4,v)
#define GET32BITMAP20_SEL_BIT_POS11(r32) _BFGET_(r32,29,25)
#define SET32BITMAP20_SEL_BIT_POS11(r32,v) _BFSET_(r32,29,25,v)
#define GET16BITMAP20_SEL_BIT_POS11(r16) _BFGET_(r16,13, 9)
#define SET16BITMAP20_SEL_BIT_POS11(r16,v) _BFSET_(r16,13, 9,v)
#define w32BITMAP20_SEL1 {\
UNSG32 uSEL_BIT_POS6 : 5;\
UNSG32 uSEL_BIT_POS7 : 5;\
UNSG32 uSEL_BIT_POS8 : 5;\
UNSG32 uSEL_BIT_POS9 : 5;\
UNSG32 uSEL_BIT_POS10 : 5;\
UNSG32 uSEL_BIT_POS11 : 5;\
UNSG32 RSVDx4_b30 : 2;\
}
union { UNSG32 u32BITMAP20_SEL1;
struct w32BITMAP20_SEL1;
};
#define GET32BITMAP20_SEL_BIT_POS12(r32) _BFGET_(r32, 4, 0)
#define SET32BITMAP20_SEL_BIT_POS12(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16BITMAP20_SEL_BIT_POS12(r16) _BFGET_(r16, 4, 0)
#define SET16BITMAP20_SEL_BIT_POS12(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BITMAP20_SEL_BIT_POS13(r32) _BFGET_(r32, 9, 5)
#define SET32BITMAP20_SEL_BIT_POS13(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16BITMAP20_SEL_BIT_POS13(r16) _BFGET_(r16, 9, 5)
#define SET16BITMAP20_SEL_BIT_POS13(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32BITMAP20_SEL_BIT_POS14(r32) _BFGET_(r32,14,10)
#define SET32BITMAP20_SEL_BIT_POS14(r32,v) _BFSET_(r32,14,10,v)
#define GET16BITMAP20_SEL_BIT_POS14(r16) _BFGET_(r16,14,10)
#define SET16BITMAP20_SEL_BIT_POS14(r16,v) _BFSET_(r16,14,10,v)
#define GET32BITMAP20_SEL_BIT_POS15(r32) _BFGET_(r32,19,15)
#define SET32BITMAP20_SEL_BIT_POS15(r32,v) _BFSET_(r32,19,15,v)
#define GET32BITMAP20_SEL_BIT_POS16(r32) _BFGET_(r32,24,20)
#define SET32BITMAP20_SEL_BIT_POS16(r32,v) _BFSET_(r32,24,20,v)
#define GET16BITMAP20_SEL_BIT_POS16(r16) _BFGET_(r16, 8, 4)
#define SET16BITMAP20_SEL_BIT_POS16(r16,v) _BFSET_(r16, 8, 4,v)
#define GET32BITMAP20_SEL_BIT_POS17(r32) _BFGET_(r32,29,25)
#define SET32BITMAP20_SEL_BIT_POS17(r32,v) _BFSET_(r32,29,25,v)
#define GET16BITMAP20_SEL_BIT_POS17(r16) _BFGET_(r16,13, 9)
#define SET16BITMAP20_SEL_BIT_POS17(r16,v) _BFSET_(r16,13, 9,v)
#define w32BITMAP20_SEL2 {\
UNSG32 uSEL_BIT_POS12 : 5;\
UNSG32 uSEL_BIT_POS13 : 5;\
UNSG32 uSEL_BIT_POS14 : 5;\
UNSG32 uSEL_BIT_POS15 : 5;\
UNSG32 uSEL_BIT_POS16 : 5;\
UNSG32 uSEL_BIT_POS17 : 5;\
UNSG32 RSVDx8_b30 : 2;\
}
union { UNSG32 u32BITMAP20_SEL2;
struct w32BITMAP20_SEL2;
};
#define GET32BITMAP20_SEL_BIT_POS18(r32) _BFGET_(r32, 4, 0)
#define SET32BITMAP20_SEL_BIT_POS18(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16BITMAP20_SEL_BIT_POS18(r16) _BFGET_(r16, 4, 0)
#define SET16BITMAP20_SEL_BIT_POS18(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BITMAP20_SEL_BIT_POS19(r32) _BFGET_(r32, 9, 5)
#define SET32BITMAP20_SEL_BIT_POS19(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16BITMAP20_SEL_BIT_POS19(r16) _BFGET_(r16, 9, 5)
#define SET16BITMAP20_SEL_BIT_POS19(r16,v) _BFSET_(r16, 9, 5,v)
#define w32BITMAP20_SEL3 {\
UNSG32 uSEL_BIT_POS18 : 5;\
UNSG32 uSEL_BIT_POS19 : 5;\
UNSG32 RSVDxC_b10 : 22;\
}
union { UNSG32 u32BITMAP20_SEL3;
struct w32BITMAP20_SEL3;
};
///////////////////////////////////////////////////////////
} SIE_BITMAP20;
typedef union T32BITMAP20_SEL
{ UNSG32 u32;
struct w32BITMAP20_SEL;
} T32BITMAP20_SEL;
typedef union T32BITMAP20_SEL1
{ UNSG32 u32;
struct w32BITMAP20_SEL1;
} T32BITMAP20_SEL1;
typedef union T32BITMAP20_SEL2
{ UNSG32 u32;
struct w32BITMAP20_SEL2;
} T32BITMAP20_SEL2;
typedef union T32BITMAP20_SEL3
{ UNSG32 u32;
struct w32BITMAP20_SEL3;
} T32BITMAP20_SEL3;
///////////////////////////////////////////////////////////
typedef union TBITMAP20_SEL
{ UNSG32 u32[4];
struct {
struct w32BITMAP20_SEL;
struct w32BITMAP20_SEL1;
struct w32BITMAP20_SEL2;
struct w32BITMAP20_SEL3;
};
} TBITMAP20_SEL;
///////////////////////////////////////////////////////////
SIGN32 BITMAP20_drvrd(SIE_BITMAP20 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BITMAP20_drvwr(SIE_BITMAP20 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BITMAP20_reset(SIE_BITMAP20 *p);
SIGN32 BITMAP20_cmp (SIE_BITMAP20 *p, SIE_BITMAP20 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BITMAP20_check(p,pie,pfx,hLOG) BITMAP20_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BITMAP20_print(p, pfx,hLOG) BITMAP20_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BITMAP20
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BITMAP32 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 SEL (P)
/// %unsigned 5 BIT_POS0 0x0
/// %unsigned 5 BIT_POS1 0x1
/// %unsigned 5 BIT_POS2 0x2
/// %unsigned 5 BIT_POS3 0x3
/// %unsigned 5 BIT_POS4 0x4
/// %unsigned 5 BIT_POS5 0x5
/// %% 2 # Stuffing bits...
/// # 0x00004 SEL1
/// %unsigned 5 BIT_POS6 0x6
/// %unsigned 5 BIT_POS7 0x7
/// %unsigned 5 BIT_POS8 0x8
/// %unsigned 5 BIT_POS9 0x9
/// %unsigned 5 BIT_POS10 0xA
/// %unsigned 5 BIT_POS11 0xB
/// %% 2 # Stuffing bits...
/// # 0x00008 SEL2
/// %unsigned 5 BIT_POS12 0xC
/// %unsigned 5 BIT_POS13 0xD
/// %unsigned 5 BIT_POS14 0xE
/// %unsigned 5 BIT_POS15 0xF
/// %unsigned 5 BIT_POS16 0x10
/// %unsigned 5 BIT_POS17 0x11
/// %% 2 # Stuffing bits...
/// # 0x0000C SEL3
/// %unsigned 5 BIT_POS18 0x12
/// %unsigned 5 BIT_POS19 0x13
/// %unsigned 5 BIT_POS20 0x14
/// %unsigned 5 BIT_POS21 0x15
/// %unsigned 5 BIT_POS22 0x16
/// %unsigned 5 BIT_POS23 0x17
/// %% 2 # Stuffing bits...
/// # 0x00010 SEL4
/// %unsigned 5 BIT_POS24 0x18
/// %unsigned 5 BIT_POS25 0x19
/// %unsigned 5 BIT_POS26 0x1A
/// %unsigned 5 BIT_POS27 0x1B
/// %unsigned 5 BIT_POS28 0x1C
/// %unsigned 5 BIT_POS29 0x1D
/// %% 2 # Stuffing bits...
/// # 0x00014 SEL5
/// %unsigned 5 BIT_POS30 0x1E
/// %unsigned 5 BIT_POS31 0x1F
/// ###
/// * Specifies mapping of 32 bit data from Read Client which need to be used to form pixels for Inverse Scan mode.
/// ###
/// %% 22 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 24B, bits: 160b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BITMAP32
#define h_BITMAP32 (){}
#define RA_BITMAP32_SEL 0x0000
#define BA_BITMAP32_SEL_BIT_POS0 0x0000
#define B16BITMAP32_SEL_BIT_POS0 0x0000
#define LSb32BITMAP32_SEL_BIT_POS0 0
#define LSb16BITMAP32_SEL_BIT_POS0 0
#define bBITMAP32_SEL_BIT_POS0 5
#define MSK32BITMAP32_SEL_BIT_POS0 0x0000001F
#define BA_BITMAP32_SEL_BIT_POS1 0x0000
#define B16BITMAP32_SEL_BIT_POS1 0x0000
#define LSb32BITMAP32_SEL_BIT_POS1 5
#define LSb16BITMAP32_SEL_BIT_POS1 5
#define bBITMAP32_SEL_BIT_POS1 5
#define MSK32BITMAP32_SEL_BIT_POS1 0x000003E0
#define BA_BITMAP32_SEL_BIT_POS2 0x0001
#define B16BITMAP32_SEL_BIT_POS2 0x0000
#define LSb32BITMAP32_SEL_BIT_POS2 10
#define LSb16BITMAP32_SEL_BIT_POS2 10
#define bBITMAP32_SEL_BIT_POS2 5
#define MSK32BITMAP32_SEL_BIT_POS2 0x00007C00
#define BA_BITMAP32_SEL_BIT_POS3 0x0001
#define B16BITMAP32_SEL_BIT_POS3 0x0000
#define LSb32BITMAP32_SEL_BIT_POS3 15
#define LSb16BITMAP32_SEL_BIT_POS3 15
#define bBITMAP32_SEL_BIT_POS3 5
#define MSK32BITMAP32_SEL_BIT_POS3 0x000F8000
#define BA_BITMAP32_SEL_BIT_POS4 0x0002
#define B16BITMAP32_SEL_BIT_POS4 0x0002
#define LSb32BITMAP32_SEL_BIT_POS4 20
#define LSb16BITMAP32_SEL_BIT_POS4 4
#define bBITMAP32_SEL_BIT_POS4 5
#define MSK32BITMAP32_SEL_BIT_POS4 0x01F00000
#define BA_BITMAP32_SEL_BIT_POS5 0x0003
#define B16BITMAP32_SEL_BIT_POS5 0x0002
#define LSb32BITMAP32_SEL_BIT_POS5 25
#define LSb16BITMAP32_SEL_BIT_POS5 9
#define bBITMAP32_SEL_BIT_POS5 5
#define MSK32BITMAP32_SEL_BIT_POS5 0x3E000000
#define RA_BITMAP32_SEL1 0x0004
#define BA_BITMAP32_SEL_BIT_POS6 0x0004
#define B16BITMAP32_SEL_BIT_POS6 0x0004
#define LSb32BITMAP32_SEL_BIT_POS6 0
#define LSb16BITMAP32_SEL_BIT_POS6 0
#define bBITMAP32_SEL_BIT_POS6 5
#define MSK32BITMAP32_SEL_BIT_POS6 0x0000001F
#define BA_BITMAP32_SEL_BIT_POS7 0x0004
#define B16BITMAP32_SEL_BIT_POS7 0x0004
#define LSb32BITMAP32_SEL_BIT_POS7 5
#define LSb16BITMAP32_SEL_BIT_POS7 5
#define bBITMAP32_SEL_BIT_POS7 5
#define MSK32BITMAP32_SEL_BIT_POS7 0x000003E0
#define BA_BITMAP32_SEL_BIT_POS8 0x0005
#define B16BITMAP32_SEL_BIT_POS8 0x0004
#define LSb32BITMAP32_SEL_BIT_POS8 10
#define LSb16BITMAP32_SEL_BIT_POS8 10
#define bBITMAP32_SEL_BIT_POS8 5
#define MSK32BITMAP32_SEL_BIT_POS8 0x00007C00
#define BA_BITMAP32_SEL_BIT_POS9 0x0005
#define B16BITMAP32_SEL_BIT_POS9 0x0004
#define LSb32BITMAP32_SEL_BIT_POS9 15
#define LSb16BITMAP32_SEL_BIT_POS9 15
#define bBITMAP32_SEL_BIT_POS9 5
#define MSK32BITMAP32_SEL_BIT_POS9 0x000F8000
#define BA_BITMAP32_SEL_BIT_POS10 0x0006
#define B16BITMAP32_SEL_BIT_POS10 0x0006
#define LSb32BITMAP32_SEL_BIT_POS10 20
#define LSb16BITMAP32_SEL_BIT_POS10 4
#define bBITMAP32_SEL_BIT_POS10 5
#define MSK32BITMAP32_SEL_BIT_POS10 0x01F00000
#define BA_BITMAP32_SEL_BIT_POS11 0x0007
#define B16BITMAP32_SEL_BIT_POS11 0x0006
#define LSb32BITMAP32_SEL_BIT_POS11 25
#define LSb16BITMAP32_SEL_BIT_POS11 9
#define bBITMAP32_SEL_BIT_POS11 5
#define MSK32BITMAP32_SEL_BIT_POS11 0x3E000000
#define RA_BITMAP32_SEL2 0x0008
#define BA_BITMAP32_SEL_BIT_POS12 0x0008
#define B16BITMAP32_SEL_BIT_POS12 0x0008
#define LSb32BITMAP32_SEL_BIT_POS12 0
#define LSb16BITMAP32_SEL_BIT_POS12 0
#define bBITMAP32_SEL_BIT_POS12 5
#define MSK32BITMAP32_SEL_BIT_POS12 0x0000001F
#define BA_BITMAP32_SEL_BIT_POS13 0x0008
#define B16BITMAP32_SEL_BIT_POS13 0x0008
#define LSb32BITMAP32_SEL_BIT_POS13 5
#define LSb16BITMAP32_SEL_BIT_POS13 5
#define bBITMAP32_SEL_BIT_POS13 5
#define MSK32BITMAP32_SEL_BIT_POS13 0x000003E0
#define BA_BITMAP32_SEL_BIT_POS14 0x0009
#define B16BITMAP32_SEL_BIT_POS14 0x0008
#define LSb32BITMAP32_SEL_BIT_POS14 10
#define LSb16BITMAP32_SEL_BIT_POS14 10
#define bBITMAP32_SEL_BIT_POS14 5
#define MSK32BITMAP32_SEL_BIT_POS14 0x00007C00
#define BA_BITMAP32_SEL_BIT_POS15 0x0009
#define B16BITMAP32_SEL_BIT_POS15 0x0008
#define LSb32BITMAP32_SEL_BIT_POS15 15
#define LSb16BITMAP32_SEL_BIT_POS15 15
#define bBITMAP32_SEL_BIT_POS15 5
#define MSK32BITMAP32_SEL_BIT_POS15 0x000F8000
#define BA_BITMAP32_SEL_BIT_POS16 0x000A
#define B16BITMAP32_SEL_BIT_POS16 0x000A
#define LSb32BITMAP32_SEL_BIT_POS16 20
#define LSb16BITMAP32_SEL_BIT_POS16 4
#define bBITMAP32_SEL_BIT_POS16 5
#define MSK32BITMAP32_SEL_BIT_POS16 0x01F00000
#define BA_BITMAP32_SEL_BIT_POS17 0x000B
#define B16BITMAP32_SEL_BIT_POS17 0x000A
#define LSb32BITMAP32_SEL_BIT_POS17 25
#define LSb16BITMAP32_SEL_BIT_POS17 9
#define bBITMAP32_SEL_BIT_POS17 5
#define MSK32BITMAP32_SEL_BIT_POS17 0x3E000000
#define RA_BITMAP32_SEL3 0x000C
#define BA_BITMAP32_SEL_BIT_POS18 0x000C
#define B16BITMAP32_SEL_BIT_POS18 0x000C
#define LSb32BITMAP32_SEL_BIT_POS18 0
#define LSb16BITMAP32_SEL_BIT_POS18 0
#define bBITMAP32_SEL_BIT_POS18 5
#define MSK32BITMAP32_SEL_BIT_POS18 0x0000001F
#define BA_BITMAP32_SEL_BIT_POS19 0x000C
#define B16BITMAP32_SEL_BIT_POS19 0x000C
#define LSb32BITMAP32_SEL_BIT_POS19 5
#define LSb16BITMAP32_SEL_BIT_POS19 5
#define bBITMAP32_SEL_BIT_POS19 5
#define MSK32BITMAP32_SEL_BIT_POS19 0x000003E0
#define BA_BITMAP32_SEL_BIT_POS20 0x000D
#define B16BITMAP32_SEL_BIT_POS20 0x000C
#define LSb32BITMAP32_SEL_BIT_POS20 10
#define LSb16BITMAP32_SEL_BIT_POS20 10
#define bBITMAP32_SEL_BIT_POS20 5
#define MSK32BITMAP32_SEL_BIT_POS20 0x00007C00
#define BA_BITMAP32_SEL_BIT_POS21 0x000D
#define B16BITMAP32_SEL_BIT_POS21 0x000C
#define LSb32BITMAP32_SEL_BIT_POS21 15
#define LSb16BITMAP32_SEL_BIT_POS21 15
#define bBITMAP32_SEL_BIT_POS21 5
#define MSK32BITMAP32_SEL_BIT_POS21 0x000F8000
#define BA_BITMAP32_SEL_BIT_POS22 0x000E
#define B16BITMAP32_SEL_BIT_POS22 0x000E
#define LSb32BITMAP32_SEL_BIT_POS22 20
#define LSb16BITMAP32_SEL_BIT_POS22 4
#define bBITMAP32_SEL_BIT_POS22 5
#define MSK32BITMAP32_SEL_BIT_POS22 0x01F00000
#define BA_BITMAP32_SEL_BIT_POS23 0x000F
#define B16BITMAP32_SEL_BIT_POS23 0x000E
#define LSb32BITMAP32_SEL_BIT_POS23 25
#define LSb16BITMAP32_SEL_BIT_POS23 9
#define bBITMAP32_SEL_BIT_POS23 5
#define MSK32BITMAP32_SEL_BIT_POS23 0x3E000000
#define RA_BITMAP32_SEL4 0x0010
#define BA_BITMAP32_SEL_BIT_POS24 0x0010
#define B16BITMAP32_SEL_BIT_POS24 0x0010
#define LSb32BITMAP32_SEL_BIT_POS24 0
#define LSb16BITMAP32_SEL_BIT_POS24 0
#define bBITMAP32_SEL_BIT_POS24 5
#define MSK32BITMAP32_SEL_BIT_POS24 0x0000001F
#define BA_BITMAP32_SEL_BIT_POS25 0x0010
#define B16BITMAP32_SEL_BIT_POS25 0x0010
#define LSb32BITMAP32_SEL_BIT_POS25 5
#define LSb16BITMAP32_SEL_BIT_POS25 5
#define bBITMAP32_SEL_BIT_POS25 5
#define MSK32BITMAP32_SEL_BIT_POS25 0x000003E0
#define BA_BITMAP32_SEL_BIT_POS26 0x0011
#define B16BITMAP32_SEL_BIT_POS26 0x0010
#define LSb32BITMAP32_SEL_BIT_POS26 10
#define LSb16BITMAP32_SEL_BIT_POS26 10
#define bBITMAP32_SEL_BIT_POS26 5
#define MSK32BITMAP32_SEL_BIT_POS26 0x00007C00
#define BA_BITMAP32_SEL_BIT_POS27 0x0011
#define B16BITMAP32_SEL_BIT_POS27 0x0010
#define LSb32BITMAP32_SEL_BIT_POS27 15
#define LSb16BITMAP32_SEL_BIT_POS27 15
#define bBITMAP32_SEL_BIT_POS27 5
#define MSK32BITMAP32_SEL_BIT_POS27 0x000F8000
#define BA_BITMAP32_SEL_BIT_POS28 0x0012
#define B16BITMAP32_SEL_BIT_POS28 0x0012
#define LSb32BITMAP32_SEL_BIT_POS28 20
#define LSb16BITMAP32_SEL_BIT_POS28 4
#define bBITMAP32_SEL_BIT_POS28 5
#define MSK32BITMAP32_SEL_BIT_POS28 0x01F00000
#define BA_BITMAP32_SEL_BIT_POS29 0x0013
#define B16BITMAP32_SEL_BIT_POS29 0x0012
#define LSb32BITMAP32_SEL_BIT_POS29 25
#define LSb16BITMAP32_SEL_BIT_POS29 9
#define bBITMAP32_SEL_BIT_POS29 5
#define MSK32BITMAP32_SEL_BIT_POS29 0x3E000000
#define RA_BITMAP32_SEL5 0x0014
#define BA_BITMAP32_SEL_BIT_POS30 0x0014
#define B16BITMAP32_SEL_BIT_POS30 0x0014
#define LSb32BITMAP32_SEL_BIT_POS30 0
#define LSb16BITMAP32_SEL_BIT_POS30 0
#define bBITMAP32_SEL_BIT_POS30 5
#define MSK32BITMAP32_SEL_BIT_POS30 0x0000001F
#define BA_BITMAP32_SEL_BIT_POS31 0x0014
#define B16BITMAP32_SEL_BIT_POS31 0x0014
#define LSb32BITMAP32_SEL_BIT_POS31 5
#define LSb16BITMAP32_SEL_BIT_POS31 5
#define bBITMAP32_SEL_BIT_POS31 5
#define MSK32BITMAP32_SEL_BIT_POS31 0x000003E0
///////////////////////////////////////////////////////////
typedef struct SIE_BITMAP32 {
///////////////////////////////////////////////////////////
#define GET32BITMAP32_SEL_BIT_POS0(r32) _BFGET_(r32, 4, 0)
#define SET32BITMAP32_SEL_BIT_POS0(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16BITMAP32_SEL_BIT_POS0(r16) _BFGET_(r16, 4, 0)
#define SET16BITMAP32_SEL_BIT_POS0(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BITMAP32_SEL_BIT_POS1(r32) _BFGET_(r32, 9, 5)
#define SET32BITMAP32_SEL_BIT_POS1(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16BITMAP32_SEL_BIT_POS1(r16) _BFGET_(r16, 9, 5)
#define SET16BITMAP32_SEL_BIT_POS1(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32BITMAP32_SEL_BIT_POS2(r32) _BFGET_(r32,14,10)
#define SET32BITMAP32_SEL_BIT_POS2(r32,v) _BFSET_(r32,14,10,v)
#define GET16BITMAP32_SEL_BIT_POS2(r16) _BFGET_(r16,14,10)
#define SET16BITMAP32_SEL_BIT_POS2(r16,v) _BFSET_(r16,14,10,v)
#define GET32BITMAP32_SEL_BIT_POS3(r32) _BFGET_(r32,19,15)
#define SET32BITMAP32_SEL_BIT_POS3(r32,v) _BFSET_(r32,19,15,v)
#define GET32BITMAP32_SEL_BIT_POS4(r32) _BFGET_(r32,24,20)
#define SET32BITMAP32_SEL_BIT_POS4(r32,v) _BFSET_(r32,24,20,v)
#define GET16BITMAP32_SEL_BIT_POS4(r16) _BFGET_(r16, 8, 4)
#define SET16BITMAP32_SEL_BIT_POS4(r16,v) _BFSET_(r16, 8, 4,v)
#define GET32BITMAP32_SEL_BIT_POS5(r32) _BFGET_(r32,29,25)
#define SET32BITMAP32_SEL_BIT_POS5(r32,v) _BFSET_(r32,29,25,v)
#define GET16BITMAP32_SEL_BIT_POS5(r16) _BFGET_(r16,13, 9)
#define SET16BITMAP32_SEL_BIT_POS5(r16,v) _BFSET_(r16,13, 9,v)
#define w32BITMAP32_SEL {\
UNSG32 uSEL_BIT_POS0 : 5;\
UNSG32 uSEL_BIT_POS1 : 5;\
UNSG32 uSEL_BIT_POS2 : 5;\
UNSG32 uSEL_BIT_POS3 : 5;\
UNSG32 uSEL_BIT_POS4 : 5;\
UNSG32 uSEL_BIT_POS5 : 5;\
UNSG32 RSVDx0_b30 : 2;\
}
union { UNSG32 u32BITMAP32_SEL;
struct w32BITMAP32_SEL;
};
#define GET32BITMAP32_SEL_BIT_POS6(r32) _BFGET_(r32, 4, 0)
#define SET32BITMAP32_SEL_BIT_POS6(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16BITMAP32_SEL_BIT_POS6(r16) _BFGET_(r16, 4, 0)
#define SET16BITMAP32_SEL_BIT_POS6(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BITMAP32_SEL_BIT_POS7(r32) _BFGET_(r32, 9, 5)
#define SET32BITMAP32_SEL_BIT_POS7(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16BITMAP32_SEL_BIT_POS7(r16) _BFGET_(r16, 9, 5)
#define SET16BITMAP32_SEL_BIT_POS7(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32BITMAP32_SEL_BIT_POS8(r32) _BFGET_(r32,14,10)
#define SET32BITMAP32_SEL_BIT_POS8(r32,v) _BFSET_(r32,14,10,v)
#define GET16BITMAP32_SEL_BIT_POS8(r16) _BFGET_(r16,14,10)
#define SET16BITMAP32_SEL_BIT_POS8(r16,v) _BFSET_(r16,14,10,v)
#define GET32BITMAP32_SEL_BIT_POS9(r32) _BFGET_(r32,19,15)
#define SET32BITMAP32_SEL_BIT_POS9(r32,v) _BFSET_(r32,19,15,v)
#define GET32BITMAP32_SEL_BIT_POS10(r32) _BFGET_(r32,24,20)
#define SET32BITMAP32_SEL_BIT_POS10(r32,v) _BFSET_(r32,24,20,v)
#define GET16BITMAP32_SEL_BIT_POS10(r16) _BFGET_(r16, 8, 4)
#define SET16BITMAP32_SEL_BIT_POS10(r16,v) _BFSET_(r16, 8, 4,v)
#define GET32BITMAP32_SEL_BIT_POS11(r32) _BFGET_(r32,29,25)
#define SET32BITMAP32_SEL_BIT_POS11(r32,v) _BFSET_(r32,29,25,v)
#define GET16BITMAP32_SEL_BIT_POS11(r16) _BFGET_(r16,13, 9)
#define SET16BITMAP32_SEL_BIT_POS11(r16,v) _BFSET_(r16,13, 9,v)
#define w32BITMAP32_SEL1 {\
UNSG32 uSEL_BIT_POS6 : 5;\
UNSG32 uSEL_BIT_POS7 : 5;\
UNSG32 uSEL_BIT_POS8 : 5;\
UNSG32 uSEL_BIT_POS9 : 5;\
UNSG32 uSEL_BIT_POS10 : 5;\
UNSG32 uSEL_BIT_POS11 : 5;\
UNSG32 RSVDx4_b30 : 2;\
}
union { UNSG32 u32BITMAP32_SEL1;
struct w32BITMAP32_SEL1;
};
#define GET32BITMAP32_SEL_BIT_POS12(r32) _BFGET_(r32, 4, 0)
#define SET32BITMAP32_SEL_BIT_POS12(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16BITMAP32_SEL_BIT_POS12(r16) _BFGET_(r16, 4, 0)
#define SET16BITMAP32_SEL_BIT_POS12(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BITMAP32_SEL_BIT_POS13(r32) _BFGET_(r32, 9, 5)
#define SET32BITMAP32_SEL_BIT_POS13(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16BITMAP32_SEL_BIT_POS13(r16) _BFGET_(r16, 9, 5)
#define SET16BITMAP32_SEL_BIT_POS13(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32BITMAP32_SEL_BIT_POS14(r32) _BFGET_(r32,14,10)
#define SET32BITMAP32_SEL_BIT_POS14(r32,v) _BFSET_(r32,14,10,v)
#define GET16BITMAP32_SEL_BIT_POS14(r16) _BFGET_(r16,14,10)
#define SET16BITMAP32_SEL_BIT_POS14(r16,v) _BFSET_(r16,14,10,v)
#define GET32BITMAP32_SEL_BIT_POS15(r32) _BFGET_(r32,19,15)
#define SET32BITMAP32_SEL_BIT_POS15(r32,v) _BFSET_(r32,19,15,v)
#define GET32BITMAP32_SEL_BIT_POS16(r32) _BFGET_(r32,24,20)
#define SET32BITMAP32_SEL_BIT_POS16(r32,v) _BFSET_(r32,24,20,v)
#define GET16BITMAP32_SEL_BIT_POS16(r16) _BFGET_(r16, 8, 4)
#define SET16BITMAP32_SEL_BIT_POS16(r16,v) _BFSET_(r16, 8, 4,v)
#define GET32BITMAP32_SEL_BIT_POS17(r32) _BFGET_(r32,29,25)
#define SET32BITMAP32_SEL_BIT_POS17(r32,v) _BFSET_(r32,29,25,v)
#define GET16BITMAP32_SEL_BIT_POS17(r16) _BFGET_(r16,13, 9)
#define SET16BITMAP32_SEL_BIT_POS17(r16,v) _BFSET_(r16,13, 9,v)
#define w32BITMAP32_SEL2 {\
UNSG32 uSEL_BIT_POS12 : 5;\
UNSG32 uSEL_BIT_POS13 : 5;\
UNSG32 uSEL_BIT_POS14 : 5;\
UNSG32 uSEL_BIT_POS15 : 5;\
UNSG32 uSEL_BIT_POS16 : 5;\
UNSG32 uSEL_BIT_POS17 : 5;\
UNSG32 RSVDx8_b30 : 2;\
}
union { UNSG32 u32BITMAP32_SEL2;
struct w32BITMAP32_SEL2;
};
#define GET32BITMAP32_SEL_BIT_POS18(r32) _BFGET_(r32, 4, 0)
#define SET32BITMAP32_SEL_BIT_POS18(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16BITMAP32_SEL_BIT_POS18(r16) _BFGET_(r16, 4, 0)
#define SET16BITMAP32_SEL_BIT_POS18(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BITMAP32_SEL_BIT_POS19(r32) _BFGET_(r32, 9, 5)
#define SET32BITMAP32_SEL_BIT_POS19(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16BITMAP32_SEL_BIT_POS19(r16) _BFGET_(r16, 9, 5)
#define SET16BITMAP32_SEL_BIT_POS19(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32BITMAP32_SEL_BIT_POS20(r32) _BFGET_(r32,14,10)
#define SET32BITMAP32_SEL_BIT_POS20(r32,v) _BFSET_(r32,14,10,v)
#define GET16BITMAP32_SEL_BIT_POS20(r16) _BFGET_(r16,14,10)
#define SET16BITMAP32_SEL_BIT_POS20(r16,v) _BFSET_(r16,14,10,v)
#define GET32BITMAP32_SEL_BIT_POS21(r32) _BFGET_(r32,19,15)
#define SET32BITMAP32_SEL_BIT_POS21(r32,v) _BFSET_(r32,19,15,v)
#define GET32BITMAP32_SEL_BIT_POS22(r32) _BFGET_(r32,24,20)
#define SET32BITMAP32_SEL_BIT_POS22(r32,v) _BFSET_(r32,24,20,v)
#define GET16BITMAP32_SEL_BIT_POS22(r16) _BFGET_(r16, 8, 4)
#define SET16BITMAP32_SEL_BIT_POS22(r16,v) _BFSET_(r16, 8, 4,v)
#define GET32BITMAP32_SEL_BIT_POS23(r32) _BFGET_(r32,29,25)
#define SET32BITMAP32_SEL_BIT_POS23(r32,v) _BFSET_(r32,29,25,v)
#define GET16BITMAP32_SEL_BIT_POS23(r16) _BFGET_(r16,13, 9)
#define SET16BITMAP32_SEL_BIT_POS23(r16,v) _BFSET_(r16,13, 9,v)
#define w32BITMAP32_SEL3 {\
UNSG32 uSEL_BIT_POS18 : 5;\
UNSG32 uSEL_BIT_POS19 : 5;\
UNSG32 uSEL_BIT_POS20 : 5;\
UNSG32 uSEL_BIT_POS21 : 5;\
UNSG32 uSEL_BIT_POS22 : 5;\
UNSG32 uSEL_BIT_POS23 : 5;\
UNSG32 RSVDxC_b30 : 2;\
}
union { UNSG32 u32BITMAP32_SEL3;
struct w32BITMAP32_SEL3;
};
#define GET32BITMAP32_SEL_BIT_POS24(r32) _BFGET_(r32, 4, 0)
#define SET32BITMAP32_SEL_BIT_POS24(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16BITMAP32_SEL_BIT_POS24(r16) _BFGET_(r16, 4, 0)
#define SET16BITMAP32_SEL_BIT_POS24(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BITMAP32_SEL_BIT_POS25(r32) _BFGET_(r32, 9, 5)
#define SET32BITMAP32_SEL_BIT_POS25(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16BITMAP32_SEL_BIT_POS25(r16) _BFGET_(r16, 9, 5)
#define SET16BITMAP32_SEL_BIT_POS25(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32BITMAP32_SEL_BIT_POS26(r32) _BFGET_(r32,14,10)
#define SET32BITMAP32_SEL_BIT_POS26(r32,v) _BFSET_(r32,14,10,v)
#define GET16BITMAP32_SEL_BIT_POS26(r16) _BFGET_(r16,14,10)
#define SET16BITMAP32_SEL_BIT_POS26(r16,v) _BFSET_(r16,14,10,v)
#define GET32BITMAP32_SEL_BIT_POS27(r32) _BFGET_(r32,19,15)
#define SET32BITMAP32_SEL_BIT_POS27(r32,v) _BFSET_(r32,19,15,v)
#define GET32BITMAP32_SEL_BIT_POS28(r32) _BFGET_(r32,24,20)
#define SET32BITMAP32_SEL_BIT_POS28(r32,v) _BFSET_(r32,24,20,v)
#define GET16BITMAP32_SEL_BIT_POS28(r16) _BFGET_(r16, 8, 4)
#define SET16BITMAP32_SEL_BIT_POS28(r16,v) _BFSET_(r16, 8, 4,v)
#define GET32BITMAP32_SEL_BIT_POS29(r32) _BFGET_(r32,29,25)
#define SET32BITMAP32_SEL_BIT_POS29(r32,v) _BFSET_(r32,29,25,v)
#define GET16BITMAP32_SEL_BIT_POS29(r16) _BFGET_(r16,13, 9)
#define SET16BITMAP32_SEL_BIT_POS29(r16,v) _BFSET_(r16,13, 9,v)
#define w32BITMAP32_SEL4 {\
UNSG32 uSEL_BIT_POS24 : 5;\
UNSG32 uSEL_BIT_POS25 : 5;\
UNSG32 uSEL_BIT_POS26 : 5;\
UNSG32 uSEL_BIT_POS27 : 5;\
UNSG32 uSEL_BIT_POS28 : 5;\
UNSG32 uSEL_BIT_POS29 : 5;\
UNSG32 RSVDx10_b30 : 2;\
}
union { UNSG32 u32BITMAP32_SEL4;
struct w32BITMAP32_SEL4;
};
#define GET32BITMAP32_SEL_BIT_POS30(r32) _BFGET_(r32, 4, 0)
#define SET32BITMAP32_SEL_BIT_POS30(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16BITMAP32_SEL_BIT_POS30(r16) _BFGET_(r16, 4, 0)
#define SET16BITMAP32_SEL_BIT_POS30(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32BITMAP32_SEL_BIT_POS31(r32) _BFGET_(r32, 9, 5)
#define SET32BITMAP32_SEL_BIT_POS31(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16BITMAP32_SEL_BIT_POS31(r16) _BFGET_(r16, 9, 5)
#define SET16BITMAP32_SEL_BIT_POS31(r16,v) _BFSET_(r16, 9, 5,v)
#define w32BITMAP32_SEL5 {\
UNSG32 uSEL_BIT_POS30 : 5;\
UNSG32 uSEL_BIT_POS31 : 5;\
UNSG32 RSVDx14_b10 : 22;\
}
union { UNSG32 u32BITMAP32_SEL5;
struct w32BITMAP32_SEL5;
};
///////////////////////////////////////////////////////////
} SIE_BITMAP32;
typedef union T32BITMAP32_SEL
{ UNSG32 u32;
struct w32BITMAP32_SEL;
} T32BITMAP32_SEL;
typedef union T32BITMAP32_SEL1
{ UNSG32 u32;
struct w32BITMAP32_SEL1;
} T32BITMAP32_SEL1;
typedef union T32BITMAP32_SEL2
{ UNSG32 u32;
struct w32BITMAP32_SEL2;
} T32BITMAP32_SEL2;
typedef union T32BITMAP32_SEL3
{ UNSG32 u32;
struct w32BITMAP32_SEL3;
} T32BITMAP32_SEL3;
typedef union T32BITMAP32_SEL4
{ UNSG32 u32;
struct w32BITMAP32_SEL4;
} T32BITMAP32_SEL4;
typedef union T32BITMAP32_SEL5
{ UNSG32 u32;
struct w32BITMAP32_SEL5;
} T32BITMAP32_SEL5;
///////////////////////////////////////////////////////////
typedef union TBITMAP32_SEL
{ UNSG32 u32[6];
struct {
struct w32BITMAP32_SEL;
struct w32BITMAP32_SEL1;
struct w32BITMAP32_SEL2;
struct w32BITMAP32_SEL3;
struct w32BITMAP32_SEL4;
struct w32BITMAP32_SEL5;
};
} TBITMAP32_SEL;
///////////////////////////////////////////////////////////
SIGN32 BITMAP32_drvrd(SIE_BITMAP32 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BITMAP32_drvwr(SIE_BITMAP32 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BITMAP32_reset(SIE_BITMAP32 *p);
SIGN32 BITMAP32_cmp (SIE_BITMAP32 *p, SIE_BITMAP32 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BITMAP32_check(p,pie,pfx,hLOG) BITMAP32_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BITMAP32_print(p, pfx,hLOG) BITMAP32_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BITMAP32
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BITMAP16 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 SEL (P)
/// %unsigned 4 BIT_POS0 0x0
/// %unsigned 4 BIT_POS1 0x1
/// %unsigned 4 BIT_POS2 0x2
/// %unsigned 4 BIT_POS3 0x3
/// %unsigned 4 BIT_POS4 0x4
/// %unsigned 4 BIT_POS5 0x5
/// %unsigned 4 BIT_POS6 0x6
/// %unsigned 4 BIT_POS7 0x7
/// # 0x00004 SEL1
/// %unsigned 4 BIT_POS8 0x8
/// %unsigned 4 BIT_POS9 0x9
/// %unsigned 4 BIT_POS10 0xA
/// %unsigned 4 BIT_POS11 0xB
/// %unsigned 4 BIT_POS12 0xC
/// %unsigned 4 BIT_POS13 0xD
/// %unsigned 4 BIT_POS14 0xE
/// %unsigned 4 BIT_POS15 0xF
/// ###
/// * Specifies mapping of new bit locations within 16 bit data from Read Client which need to be used to form pixels for Inverse Scan mode.
/// * Normal dHub data order:
/// * {Y3,Cr2,Y2,Cb2,Y1,Cr0,Y0,Cb0} First pixel in LSB
/// * Inverse Scan dHub data order:
/// * {Y3,Cr2,Y2,Cb2,Y1,Cr0,Y0,Cb0} First pixel in MSB
/// * Following different data orders can be generated to be presented to first UPS in the pipe.
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BITMAP16
#define h_BITMAP16 (){}
#define RA_BITMAP16_SEL 0x0000
#define BA_BITMAP16_SEL_BIT_POS0 0x0000
#define B16BITMAP16_SEL_BIT_POS0 0x0000
#define LSb32BITMAP16_SEL_BIT_POS0 0
#define LSb16BITMAP16_SEL_BIT_POS0 0
#define bBITMAP16_SEL_BIT_POS0 4
#define MSK32BITMAP16_SEL_BIT_POS0 0x0000000F
#define BA_BITMAP16_SEL_BIT_POS1 0x0000
#define B16BITMAP16_SEL_BIT_POS1 0x0000
#define LSb32BITMAP16_SEL_BIT_POS1 4
#define LSb16BITMAP16_SEL_BIT_POS1 4
#define bBITMAP16_SEL_BIT_POS1 4
#define MSK32BITMAP16_SEL_BIT_POS1 0x000000F0
#define BA_BITMAP16_SEL_BIT_POS2 0x0001
#define B16BITMAP16_SEL_BIT_POS2 0x0000
#define LSb32BITMAP16_SEL_BIT_POS2 8
#define LSb16BITMAP16_SEL_BIT_POS2 8
#define bBITMAP16_SEL_BIT_POS2 4
#define MSK32BITMAP16_SEL_BIT_POS2 0x00000F00
#define BA_BITMAP16_SEL_BIT_POS3 0x0001
#define B16BITMAP16_SEL_BIT_POS3 0x0000
#define LSb32BITMAP16_SEL_BIT_POS3 12
#define LSb16BITMAP16_SEL_BIT_POS3 12
#define bBITMAP16_SEL_BIT_POS3 4
#define MSK32BITMAP16_SEL_BIT_POS3 0x0000F000
#define BA_BITMAP16_SEL_BIT_POS4 0x0002
#define B16BITMAP16_SEL_BIT_POS4 0x0002
#define LSb32BITMAP16_SEL_BIT_POS4 16
#define LSb16BITMAP16_SEL_BIT_POS4 0
#define bBITMAP16_SEL_BIT_POS4 4
#define MSK32BITMAP16_SEL_BIT_POS4 0x000F0000
#define BA_BITMAP16_SEL_BIT_POS5 0x0002
#define B16BITMAP16_SEL_BIT_POS5 0x0002
#define LSb32BITMAP16_SEL_BIT_POS5 20
#define LSb16BITMAP16_SEL_BIT_POS5 4
#define bBITMAP16_SEL_BIT_POS5 4
#define MSK32BITMAP16_SEL_BIT_POS5 0x00F00000
#define BA_BITMAP16_SEL_BIT_POS6 0x0003
#define B16BITMAP16_SEL_BIT_POS6 0x0002
#define LSb32BITMAP16_SEL_BIT_POS6 24
#define LSb16BITMAP16_SEL_BIT_POS6 8
#define bBITMAP16_SEL_BIT_POS6 4
#define MSK32BITMAP16_SEL_BIT_POS6 0x0F000000
#define BA_BITMAP16_SEL_BIT_POS7 0x0003
#define B16BITMAP16_SEL_BIT_POS7 0x0002
#define LSb32BITMAP16_SEL_BIT_POS7 28
#define LSb16BITMAP16_SEL_BIT_POS7 12
#define bBITMAP16_SEL_BIT_POS7 4
#define MSK32BITMAP16_SEL_BIT_POS7 0xF0000000
#define RA_BITMAP16_SEL1 0x0004
#define BA_BITMAP16_SEL_BIT_POS8 0x0004
#define B16BITMAP16_SEL_BIT_POS8 0x0004
#define LSb32BITMAP16_SEL_BIT_POS8 0
#define LSb16BITMAP16_SEL_BIT_POS8 0
#define bBITMAP16_SEL_BIT_POS8 4
#define MSK32BITMAP16_SEL_BIT_POS8 0x0000000F
#define BA_BITMAP16_SEL_BIT_POS9 0x0004
#define B16BITMAP16_SEL_BIT_POS9 0x0004
#define LSb32BITMAP16_SEL_BIT_POS9 4
#define LSb16BITMAP16_SEL_BIT_POS9 4
#define bBITMAP16_SEL_BIT_POS9 4
#define MSK32BITMAP16_SEL_BIT_POS9 0x000000F0
#define BA_BITMAP16_SEL_BIT_POS10 0x0005
#define B16BITMAP16_SEL_BIT_POS10 0x0004
#define LSb32BITMAP16_SEL_BIT_POS10 8
#define LSb16BITMAP16_SEL_BIT_POS10 8
#define bBITMAP16_SEL_BIT_POS10 4
#define MSK32BITMAP16_SEL_BIT_POS10 0x00000F00
#define BA_BITMAP16_SEL_BIT_POS11 0x0005
#define B16BITMAP16_SEL_BIT_POS11 0x0004
#define LSb32BITMAP16_SEL_BIT_POS11 12
#define LSb16BITMAP16_SEL_BIT_POS11 12
#define bBITMAP16_SEL_BIT_POS11 4
#define MSK32BITMAP16_SEL_BIT_POS11 0x0000F000
#define BA_BITMAP16_SEL_BIT_POS12 0x0006
#define B16BITMAP16_SEL_BIT_POS12 0x0006
#define LSb32BITMAP16_SEL_BIT_POS12 16
#define LSb16BITMAP16_SEL_BIT_POS12 0
#define bBITMAP16_SEL_BIT_POS12 4
#define MSK32BITMAP16_SEL_BIT_POS12 0x000F0000
#define BA_BITMAP16_SEL_BIT_POS13 0x0006
#define B16BITMAP16_SEL_BIT_POS13 0x0006
#define LSb32BITMAP16_SEL_BIT_POS13 20
#define LSb16BITMAP16_SEL_BIT_POS13 4
#define bBITMAP16_SEL_BIT_POS13 4
#define MSK32BITMAP16_SEL_BIT_POS13 0x00F00000
#define BA_BITMAP16_SEL_BIT_POS14 0x0007
#define B16BITMAP16_SEL_BIT_POS14 0x0006
#define LSb32BITMAP16_SEL_BIT_POS14 24
#define LSb16BITMAP16_SEL_BIT_POS14 8
#define bBITMAP16_SEL_BIT_POS14 4
#define MSK32BITMAP16_SEL_BIT_POS14 0x0F000000
#define BA_BITMAP16_SEL_BIT_POS15 0x0007
#define B16BITMAP16_SEL_BIT_POS15 0x0006
#define LSb32BITMAP16_SEL_BIT_POS15 28
#define LSb16BITMAP16_SEL_BIT_POS15 12
#define bBITMAP16_SEL_BIT_POS15 4
#define MSK32BITMAP16_SEL_BIT_POS15 0xF0000000
///////////////////////////////////////////////////////////
typedef struct SIE_BITMAP16 {
///////////////////////////////////////////////////////////
#define GET32BITMAP16_SEL_BIT_POS0(r32) _BFGET_(r32, 3, 0)
#define SET32BITMAP16_SEL_BIT_POS0(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16BITMAP16_SEL_BIT_POS0(r16) _BFGET_(r16, 3, 0)
#define SET16BITMAP16_SEL_BIT_POS0(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32BITMAP16_SEL_BIT_POS1(r32) _BFGET_(r32, 7, 4)
#define SET32BITMAP16_SEL_BIT_POS1(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16BITMAP16_SEL_BIT_POS1(r16) _BFGET_(r16, 7, 4)
#define SET16BITMAP16_SEL_BIT_POS1(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32BITMAP16_SEL_BIT_POS2(r32) _BFGET_(r32,11, 8)
#define SET32BITMAP16_SEL_BIT_POS2(r32,v) _BFSET_(r32,11, 8,v)
#define GET16BITMAP16_SEL_BIT_POS2(r16) _BFGET_(r16,11, 8)
#define SET16BITMAP16_SEL_BIT_POS2(r16,v) _BFSET_(r16,11, 8,v)
#define GET32BITMAP16_SEL_BIT_POS3(r32) _BFGET_(r32,15,12)
#define SET32BITMAP16_SEL_BIT_POS3(r32,v) _BFSET_(r32,15,12,v)
#define GET16BITMAP16_SEL_BIT_POS3(r16) _BFGET_(r16,15,12)
#define SET16BITMAP16_SEL_BIT_POS3(r16,v) _BFSET_(r16,15,12,v)
#define GET32BITMAP16_SEL_BIT_POS4(r32) _BFGET_(r32,19,16)
#define SET32BITMAP16_SEL_BIT_POS4(r32,v) _BFSET_(r32,19,16,v)
#define GET16BITMAP16_SEL_BIT_POS4(r16) _BFGET_(r16, 3, 0)
#define SET16BITMAP16_SEL_BIT_POS4(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32BITMAP16_SEL_BIT_POS5(r32) _BFGET_(r32,23,20)
#define SET32BITMAP16_SEL_BIT_POS5(r32,v) _BFSET_(r32,23,20,v)
#define GET16BITMAP16_SEL_BIT_POS5(r16) _BFGET_(r16, 7, 4)
#define SET16BITMAP16_SEL_BIT_POS5(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32BITMAP16_SEL_BIT_POS6(r32) _BFGET_(r32,27,24)
#define SET32BITMAP16_SEL_BIT_POS6(r32,v) _BFSET_(r32,27,24,v)
#define GET16BITMAP16_SEL_BIT_POS6(r16) _BFGET_(r16,11, 8)
#define SET16BITMAP16_SEL_BIT_POS6(r16,v) _BFSET_(r16,11, 8,v)
#define GET32BITMAP16_SEL_BIT_POS7(r32) _BFGET_(r32,31,28)
#define SET32BITMAP16_SEL_BIT_POS7(r32,v) _BFSET_(r32,31,28,v)
#define GET16BITMAP16_SEL_BIT_POS7(r16) _BFGET_(r16,15,12)
#define SET16BITMAP16_SEL_BIT_POS7(r16,v) _BFSET_(r16,15,12,v)
#define w32BITMAP16_SEL {\
UNSG32 uSEL_BIT_POS0 : 4;\
UNSG32 uSEL_BIT_POS1 : 4;\
UNSG32 uSEL_BIT_POS2 : 4;\
UNSG32 uSEL_BIT_POS3 : 4;\
UNSG32 uSEL_BIT_POS4 : 4;\
UNSG32 uSEL_BIT_POS5 : 4;\
UNSG32 uSEL_BIT_POS6 : 4;\
UNSG32 uSEL_BIT_POS7 : 4;\
}
union { UNSG32 u32BITMAP16_SEL;
struct w32BITMAP16_SEL;
};
#define GET32BITMAP16_SEL_BIT_POS8(r32) _BFGET_(r32, 3, 0)
#define SET32BITMAP16_SEL_BIT_POS8(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16BITMAP16_SEL_BIT_POS8(r16) _BFGET_(r16, 3, 0)
#define SET16BITMAP16_SEL_BIT_POS8(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32BITMAP16_SEL_BIT_POS9(r32) _BFGET_(r32, 7, 4)
#define SET32BITMAP16_SEL_BIT_POS9(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16BITMAP16_SEL_BIT_POS9(r16) _BFGET_(r16, 7, 4)
#define SET16BITMAP16_SEL_BIT_POS9(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32BITMAP16_SEL_BIT_POS10(r32) _BFGET_(r32,11, 8)
#define SET32BITMAP16_SEL_BIT_POS10(r32,v) _BFSET_(r32,11, 8,v)
#define GET16BITMAP16_SEL_BIT_POS10(r16) _BFGET_(r16,11, 8)
#define SET16BITMAP16_SEL_BIT_POS10(r16,v) _BFSET_(r16,11, 8,v)
#define GET32BITMAP16_SEL_BIT_POS11(r32) _BFGET_(r32,15,12)
#define SET32BITMAP16_SEL_BIT_POS11(r32,v) _BFSET_(r32,15,12,v)
#define GET16BITMAP16_SEL_BIT_POS11(r16) _BFGET_(r16,15,12)
#define SET16BITMAP16_SEL_BIT_POS11(r16,v) _BFSET_(r16,15,12,v)
#define GET32BITMAP16_SEL_BIT_POS12(r32) _BFGET_(r32,19,16)
#define SET32BITMAP16_SEL_BIT_POS12(r32,v) _BFSET_(r32,19,16,v)
#define GET16BITMAP16_SEL_BIT_POS12(r16) _BFGET_(r16, 3, 0)
#define SET16BITMAP16_SEL_BIT_POS12(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32BITMAP16_SEL_BIT_POS13(r32) _BFGET_(r32,23,20)
#define SET32BITMAP16_SEL_BIT_POS13(r32,v) _BFSET_(r32,23,20,v)
#define GET16BITMAP16_SEL_BIT_POS13(r16) _BFGET_(r16, 7, 4)
#define SET16BITMAP16_SEL_BIT_POS13(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32BITMAP16_SEL_BIT_POS14(r32) _BFGET_(r32,27,24)
#define SET32BITMAP16_SEL_BIT_POS14(r32,v) _BFSET_(r32,27,24,v)
#define GET16BITMAP16_SEL_BIT_POS14(r16) _BFGET_(r16,11, 8)
#define SET16BITMAP16_SEL_BIT_POS14(r16,v) _BFSET_(r16,11, 8,v)
#define GET32BITMAP16_SEL_BIT_POS15(r32) _BFGET_(r32,31,28)
#define SET32BITMAP16_SEL_BIT_POS15(r32,v) _BFSET_(r32,31,28,v)
#define GET16BITMAP16_SEL_BIT_POS15(r16) _BFGET_(r16,15,12)
#define SET16BITMAP16_SEL_BIT_POS15(r16,v) _BFSET_(r16,15,12,v)
#define w32BITMAP16_SEL1 {\
UNSG32 uSEL_BIT_POS8 : 4;\
UNSG32 uSEL_BIT_POS9 : 4;\
UNSG32 uSEL_BIT_POS10 : 4;\
UNSG32 uSEL_BIT_POS11 : 4;\
UNSG32 uSEL_BIT_POS12 : 4;\
UNSG32 uSEL_BIT_POS13 : 4;\
UNSG32 uSEL_BIT_POS14 : 4;\
UNSG32 uSEL_BIT_POS15 : 4;\
}
union { UNSG32 u32BITMAP16_SEL1;
struct w32BITMAP16_SEL1;
};
///////////////////////////////////////////////////////////
} SIE_BITMAP16;
typedef union T32BITMAP16_SEL
{ UNSG32 u32;
struct w32BITMAP16_SEL;
} T32BITMAP16_SEL;
typedef union T32BITMAP16_SEL1
{ UNSG32 u32;
struct w32BITMAP16_SEL1;
} T32BITMAP16_SEL1;
///////////////////////////////////////////////////////////
typedef union TBITMAP16_SEL
{ UNSG32 u32[2];
struct {
struct w32BITMAP16_SEL;
struct w32BITMAP16_SEL1;
};
} TBITMAP16_SEL;
///////////////////////////////////////////////////////////
SIGN32 BITMAP16_drvrd(SIE_BITMAP16 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BITMAP16_drvwr(SIE_BITMAP16 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BITMAP16_reset(SIE_BITMAP16 *p);
SIGN32 BITMAP16_cmp (SIE_BITMAP16 *p, SIE_BITMAP16 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BITMAP16_check(p,pie,pfx,hLOG) BITMAP16_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BITMAP16_print(p, pfx,hLOG) BITMAP16_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BITMAP16
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BITMAP12 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 SEL (P)
/// %unsigned 4 BIT_POS0 0x0
/// %unsigned 4 BIT_POS1 0x1
/// %unsigned 4 BIT_POS2 0x2
/// %unsigned 4 BIT_POS3 0x3
/// %unsigned 4 BIT_POS4 0x4
/// %unsigned 4 BIT_POS5 0x5
/// %unsigned 4 BIT_POS6 0x6
/// %unsigned 4 BIT_POS7 0x7
/// # 0x00004 SEL1
/// %unsigned 4 BIT_POS8 0x8
/// %unsigned 4 BIT_POS9 0x9
/// %unsigned 4 BIT_POS10 0xA
/// %unsigned 4 BIT_POS11 0xB
/// ###
/// * Specifies mapping of new bit locations within 12 bit data from Read Client which need to be used to form pixels for Inverse Scan mode.
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 48b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BITMAP12
#define h_BITMAP12 (){}
#define RA_BITMAP12_SEL 0x0000
#define BA_BITMAP12_SEL_BIT_POS0 0x0000
#define B16BITMAP12_SEL_BIT_POS0 0x0000
#define LSb32BITMAP12_SEL_BIT_POS0 0
#define LSb16BITMAP12_SEL_BIT_POS0 0
#define bBITMAP12_SEL_BIT_POS0 4
#define MSK32BITMAP12_SEL_BIT_POS0 0x0000000F
#define BA_BITMAP12_SEL_BIT_POS1 0x0000
#define B16BITMAP12_SEL_BIT_POS1 0x0000
#define LSb32BITMAP12_SEL_BIT_POS1 4
#define LSb16BITMAP12_SEL_BIT_POS1 4
#define bBITMAP12_SEL_BIT_POS1 4
#define MSK32BITMAP12_SEL_BIT_POS1 0x000000F0
#define BA_BITMAP12_SEL_BIT_POS2 0x0001
#define B16BITMAP12_SEL_BIT_POS2 0x0000
#define LSb32BITMAP12_SEL_BIT_POS2 8
#define LSb16BITMAP12_SEL_BIT_POS2 8
#define bBITMAP12_SEL_BIT_POS2 4
#define MSK32BITMAP12_SEL_BIT_POS2 0x00000F00
#define BA_BITMAP12_SEL_BIT_POS3 0x0001
#define B16BITMAP12_SEL_BIT_POS3 0x0000
#define LSb32BITMAP12_SEL_BIT_POS3 12
#define LSb16BITMAP12_SEL_BIT_POS3 12
#define bBITMAP12_SEL_BIT_POS3 4
#define MSK32BITMAP12_SEL_BIT_POS3 0x0000F000
#define BA_BITMAP12_SEL_BIT_POS4 0x0002
#define B16BITMAP12_SEL_BIT_POS4 0x0002
#define LSb32BITMAP12_SEL_BIT_POS4 16
#define LSb16BITMAP12_SEL_BIT_POS4 0
#define bBITMAP12_SEL_BIT_POS4 4
#define MSK32BITMAP12_SEL_BIT_POS4 0x000F0000
#define BA_BITMAP12_SEL_BIT_POS5 0x0002
#define B16BITMAP12_SEL_BIT_POS5 0x0002
#define LSb32BITMAP12_SEL_BIT_POS5 20
#define LSb16BITMAP12_SEL_BIT_POS5 4
#define bBITMAP12_SEL_BIT_POS5 4
#define MSK32BITMAP12_SEL_BIT_POS5 0x00F00000
#define BA_BITMAP12_SEL_BIT_POS6 0x0003
#define B16BITMAP12_SEL_BIT_POS6 0x0002
#define LSb32BITMAP12_SEL_BIT_POS6 24
#define LSb16BITMAP12_SEL_BIT_POS6 8
#define bBITMAP12_SEL_BIT_POS6 4
#define MSK32BITMAP12_SEL_BIT_POS6 0x0F000000
#define BA_BITMAP12_SEL_BIT_POS7 0x0003
#define B16BITMAP12_SEL_BIT_POS7 0x0002
#define LSb32BITMAP12_SEL_BIT_POS7 28
#define LSb16BITMAP12_SEL_BIT_POS7 12
#define bBITMAP12_SEL_BIT_POS7 4
#define MSK32BITMAP12_SEL_BIT_POS7 0xF0000000
#define RA_BITMAP12_SEL1 0x0004
#define BA_BITMAP12_SEL_BIT_POS8 0x0004
#define B16BITMAP12_SEL_BIT_POS8 0x0004
#define LSb32BITMAP12_SEL_BIT_POS8 0
#define LSb16BITMAP12_SEL_BIT_POS8 0
#define bBITMAP12_SEL_BIT_POS8 4
#define MSK32BITMAP12_SEL_BIT_POS8 0x0000000F
#define BA_BITMAP12_SEL_BIT_POS9 0x0004
#define B16BITMAP12_SEL_BIT_POS9 0x0004
#define LSb32BITMAP12_SEL_BIT_POS9 4
#define LSb16BITMAP12_SEL_BIT_POS9 4
#define bBITMAP12_SEL_BIT_POS9 4
#define MSK32BITMAP12_SEL_BIT_POS9 0x000000F0
#define BA_BITMAP12_SEL_BIT_POS10 0x0005
#define B16BITMAP12_SEL_BIT_POS10 0x0004
#define LSb32BITMAP12_SEL_BIT_POS10 8
#define LSb16BITMAP12_SEL_BIT_POS10 8
#define bBITMAP12_SEL_BIT_POS10 4
#define MSK32BITMAP12_SEL_BIT_POS10 0x00000F00
#define BA_BITMAP12_SEL_BIT_POS11 0x0005
#define B16BITMAP12_SEL_BIT_POS11 0x0004
#define LSb32BITMAP12_SEL_BIT_POS11 12
#define LSb16BITMAP12_SEL_BIT_POS11 12
#define bBITMAP12_SEL_BIT_POS11 4
#define MSK32BITMAP12_SEL_BIT_POS11 0x0000F000
///////////////////////////////////////////////////////////
typedef struct SIE_BITMAP12 {
///////////////////////////////////////////////////////////
#define GET32BITMAP12_SEL_BIT_POS0(r32) _BFGET_(r32, 3, 0)
#define SET32BITMAP12_SEL_BIT_POS0(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16BITMAP12_SEL_BIT_POS0(r16) _BFGET_(r16, 3, 0)
#define SET16BITMAP12_SEL_BIT_POS0(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32BITMAP12_SEL_BIT_POS1(r32) _BFGET_(r32, 7, 4)
#define SET32BITMAP12_SEL_BIT_POS1(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16BITMAP12_SEL_BIT_POS1(r16) _BFGET_(r16, 7, 4)
#define SET16BITMAP12_SEL_BIT_POS1(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32BITMAP12_SEL_BIT_POS2(r32) _BFGET_(r32,11, 8)
#define SET32BITMAP12_SEL_BIT_POS2(r32,v) _BFSET_(r32,11, 8,v)
#define GET16BITMAP12_SEL_BIT_POS2(r16) _BFGET_(r16,11, 8)
#define SET16BITMAP12_SEL_BIT_POS2(r16,v) _BFSET_(r16,11, 8,v)
#define GET32BITMAP12_SEL_BIT_POS3(r32) _BFGET_(r32,15,12)
#define SET32BITMAP12_SEL_BIT_POS3(r32,v) _BFSET_(r32,15,12,v)
#define GET16BITMAP12_SEL_BIT_POS3(r16) _BFGET_(r16,15,12)
#define SET16BITMAP12_SEL_BIT_POS3(r16,v) _BFSET_(r16,15,12,v)
#define GET32BITMAP12_SEL_BIT_POS4(r32) _BFGET_(r32,19,16)
#define SET32BITMAP12_SEL_BIT_POS4(r32,v) _BFSET_(r32,19,16,v)
#define GET16BITMAP12_SEL_BIT_POS4(r16) _BFGET_(r16, 3, 0)
#define SET16BITMAP12_SEL_BIT_POS4(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32BITMAP12_SEL_BIT_POS5(r32) _BFGET_(r32,23,20)
#define SET32BITMAP12_SEL_BIT_POS5(r32,v) _BFSET_(r32,23,20,v)
#define GET16BITMAP12_SEL_BIT_POS5(r16) _BFGET_(r16, 7, 4)
#define SET16BITMAP12_SEL_BIT_POS5(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32BITMAP12_SEL_BIT_POS6(r32) _BFGET_(r32,27,24)
#define SET32BITMAP12_SEL_BIT_POS6(r32,v) _BFSET_(r32,27,24,v)
#define GET16BITMAP12_SEL_BIT_POS6(r16) _BFGET_(r16,11, 8)
#define SET16BITMAP12_SEL_BIT_POS6(r16,v) _BFSET_(r16,11, 8,v)
#define GET32BITMAP12_SEL_BIT_POS7(r32) _BFGET_(r32,31,28)
#define SET32BITMAP12_SEL_BIT_POS7(r32,v) _BFSET_(r32,31,28,v)
#define GET16BITMAP12_SEL_BIT_POS7(r16) _BFGET_(r16,15,12)
#define SET16BITMAP12_SEL_BIT_POS7(r16,v) _BFSET_(r16,15,12,v)
#define w32BITMAP12_SEL {\
UNSG32 uSEL_BIT_POS0 : 4;\
UNSG32 uSEL_BIT_POS1 : 4;\
UNSG32 uSEL_BIT_POS2 : 4;\
UNSG32 uSEL_BIT_POS3 : 4;\
UNSG32 uSEL_BIT_POS4 : 4;\
UNSG32 uSEL_BIT_POS5 : 4;\
UNSG32 uSEL_BIT_POS6 : 4;\
UNSG32 uSEL_BIT_POS7 : 4;\
}
union { UNSG32 u32BITMAP12_SEL;
struct w32BITMAP12_SEL;
};
#define GET32BITMAP12_SEL_BIT_POS8(r32) _BFGET_(r32, 3, 0)
#define SET32BITMAP12_SEL_BIT_POS8(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16BITMAP12_SEL_BIT_POS8(r16) _BFGET_(r16, 3, 0)
#define SET16BITMAP12_SEL_BIT_POS8(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32BITMAP12_SEL_BIT_POS9(r32) _BFGET_(r32, 7, 4)
#define SET32BITMAP12_SEL_BIT_POS9(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16BITMAP12_SEL_BIT_POS9(r16) _BFGET_(r16, 7, 4)
#define SET16BITMAP12_SEL_BIT_POS9(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32BITMAP12_SEL_BIT_POS10(r32) _BFGET_(r32,11, 8)
#define SET32BITMAP12_SEL_BIT_POS10(r32,v) _BFSET_(r32,11, 8,v)
#define GET16BITMAP12_SEL_BIT_POS10(r16) _BFGET_(r16,11, 8)
#define SET16BITMAP12_SEL_BIT_POS10(r16,v) _BFSET_(r16,11, 8,v)
#define GET32BITMAP12_SEL_BIT_POS11(r32) _BFGET_(r32,15,12)
#define SET32BITMAP12_SEL_BIT_POS11(r32,v) _BFSET_(r32,15,12,v)
#define GET16BITMAP12_SEL_BIT_POS11(r16) _BFGET_(r16,15,12)
#define SET16BITMAP12_SEL_BIT_POS11(r16,v) _BFSET_(r16,15,12,v)
#define w32BITMAP12_SEL1 {\
UNSG32 uSEL_BIT_POS8 : 4;\
UNSG32 uSEL_BIT_POS9 : 4;\
UNSG32 uSEL_BIT_POS10 : 4;\
UNSG32 uSEL_BIT_POS11 : 4;\
UNSG32 RSVDx4_b16 : 16;\
}
union { UNSG32 u32BITMAP12_SEL1;
struct w32BITMAP12_SEL1;
};
///////////////////////////////////////////////////////////
} SIE_BITMAP12;
typedef union T32BITMAP12_SEL
{ UNSG32 u32;
struct w32BITMAP12_SEL;
} T32BITMAP12_SEL;
typedef union T32BITMAP12_SEL1
{ UNSG32 u32;
struct w32BITMAP12_SEL1;
} T32BITMAP12_SEL1;
///////////////////////////////////////////////////////////
typedef union TBITMAP12_SEL
{ UNSG32 u32[2];
struct {
struct w32BITMAP12_SEL;
struct w32BITMAP12_SEL1;
};
} TBITMAP12_SEL;
///////////////////////////////////////////////////////////
SIGN32 BITMAP12_drvrd(SIE_BITMAP12 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BITMAP12_drvwr(SIE_BITMAP12 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BITMAP12_reset(SIE_BITMAP12 *p);
SIGN32 BITMAP12_cmp (SIE_BITMAP12 *p, SIE_BITMAP12 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BITMAP12_check(p,pie,pfx,hLOG) BITMAP12_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BITMAP12_print(p, pfx,hLOG) BITMAP12_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BITMAP12
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ReadClient biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 Rd (P-)
/// %unsigned 1 start 0x0
/// ###
/// * Start bit for the respective clients.
/// * 0 : No effect on hardware.
/// * 1 : start the client.
/// * The write 1 to this register is used to kick the hardware.
/// ###
/// %unsigned 1 clear 0x0
/// ###
/// * 0 : Don't clear, normal state.
/// * 1 : Clear the asynchronous FIFO between the respective client and dHub.
/// ###
/// %% 30 # Stuffing bits...
/// @ 0x00004 Word (P)
/// %unsigned 32 tot 0x64
/// ###
/// * Specifies the total number of 128-bit words that have to be fetched from DDR for read Client. Should be programmed as:
/// * ceil( ohres*ovres*16 / 128 )
/// * Note : In case of resolution which is not integer multiple of 128, word total should be programmed as follows :
/// * For eg if ohres = 116, then (ohres*24/128) = 21.75. Then word total should be (22*ovres)
/// ###
/// @ 0x00008 NonStdRes (P)
/// %unsigned 1 enable 0x0
/// ###
/// * Enable for Read Client when resolution is not integer multiple of 16
/// ###
/// %unsigned 13 pixlineTot 0x64
/// ###
/// * Total number of pixels in a line (for Read Client)
/// ###
/// %unsigned 4 flushCnt 0x5
/// ###
/// * Counter to determine the ready status of Read Client after end of line (only used when NonStdRes_enable = 1)
/// ###
/// %% 14 # Stuffing bits...
/// @ 0x0000C pack (P)
/// %unsigned 4 Sel 0x0
/// ###
/// * PackSel for Read Client (For NNOB = 6)
/// * [0000] : 16 bit packing
/// * [0001] : 18 bit packing
/// * [0010] : 20 bit packing
/// * [0011] : 24 bit packing
/// * [0100] : 30 bit packing
/// * [0101] : 32 bit packing
/// * [0110] : 36 bit packing
/// * [0111] : 36 bit packing
/// * [1000] : 36 bit packing
/// ###
/// %% 28 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 56b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ReadClient
#define h_ReadClient (){}
#define RA_ReadClient_Rd 0x0000
#define BA_ReadClient_Rd_start 0x0000
#define B16ReadClient_Rd_start 0x0000
#define LSb32ReadClient_Rd_start 0
#define LSb16ReadClient_Rd_start 0
#define bReadClient_Rd_start 1
#define MSK32ReadClient_Rd_start 0x00000001
#define BA_ReadClient_Rd_clear 0x0000
#define B16ReadClient_Rd_clear 0x0000
#define LSb32ReadClient_Rd_clear 1
#define LSb16ReadClient_Rd_clear 1
#define bReadClient_Rd_clear 1
#define MSK32ReadClient_Rd_clear 0x00000002
///////////////////////////////////////////////////////////
#define RA_ReadClient_Word 0x0004
#define BA_ReadClient_Word_tot 0x0004
#define B16ReadClient_Word_tot 0x0004
#define LSb32ReadClient_Word_tot 0
#define LSb16ReadClient_Word_tot 0
#define bReadClient_Word_tot 32
#define MSK32ReadClient_Word_tot 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_ReadClient_NonStdRes 0x0008
#define BA_ReadClient_NonStdRes_enable 0x0008
#define B16ReadClient_NonStdRes_enable 0x0008
#define LSb32ReadClient_NonStdRes_enable 0
#define LSb16ReadClient_NonStdRes_enable 0
#define bReadClient_NonStdRes_enable 1
#define MSK32ReadClient_NonStdRes_enable 0x00000001
#define BA_ReadClient_NonStdRes_pixlineTot 0x0008
#define B16ReadClient_NonStdRes_pixlineTot 0x0008
#define LSb32ReadClient_NonStdRes_pixlineTot 1
#define LSb16ReadClient_NonStdRes_pixlineTot 1
#define bReadClient_NonStdRes_pixlineTot 13
#define MSK32ReadClient_NonStdRes_pixlineTot 0x00003FFE
#define BA_ReadClient_NonStdRes_flushCnt 0x0009
#define B16ReadClient_NonStdRes_flushCnt 0x0008
#define LSb32ReadClient_NonStdRes_flushCnt 14
#define LSb16ReadClient_NonStdRes_flushCnt 14
#define bReadClient_NonStdRes_flushCnt 4
#define MSK32ReadClient_NonStdRes_flushCnt 0x0003C000
///////////////////////////////////////////////////////////
#define RA_ReadClient_pack 0x000C
#define BA_ReadClient_pack_Sel 0x000C
#define B16ReadClient_pack_Sel 0x000C
#define LSb32ReadClient_pack_Sel 0
#define LSb16ReadClient_pack_Sel 0
#define bReadClient_pack_Sel 4
#define MSK32ReadClient_pack_Sel 0x0000000F
///////////////////////////////////////////////////////////
typedef struct SIE_ReadClient {
///////////////////////////////////////////////////////////
#define GET32ReadClient_Rd_start(r32) _BFGET_(r32, 0, 0)
#define SET32ReadClient_Rd_start(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16ReadClient_Rd_start(r16) _BFGET_(r16, 0, 0)
#define SET16ReadClient_Rd_start(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32ReadClient_Rd_clear(r32) _BFGET_(r32, 1, 1)
#define SET32ReadClient_Rd_clear(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16ReadClient_Rd_clear(r16) _BFGET_(r16, 1, 1)
#define SET16ReadClient_Rd_clear(r16,v) _BFSET_(r16, 1, 1,v)
#define w32ReadClient_Rd {\
UNSG32 uRd_start : 1;\
UNSG32 uRd_clear : 1;\
UNSG32 RSVDx0_b2 : 30;\
}
union { UNSG32 u32ReadClient_Rd;
struct w32ReadClient_Rd;
};
///////////////////////////////////////////////////////////
#define GET32ReadClient_Word_tot(r32) _BFGET_(r32,31, 0)
#define SET32ReadClient_Word_tot(r32,v) _BFSET_(r32,31, 0,v)
#define w32ReadClient_Word {\
UNSG32 uWord_tot : 32;\
}
union { UNSG32 u32ReadClient_Word;
struct w32ReadClient_Word;
};
///////////////////////////////////////////////////////////
#define GET32ReadClient_NonStdRes_enable(r32) _BFGET_(r32, 0, 0)
#define SET32ReadClient_NonStdRes_enable(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16ReadClient_NonStdRes_enable(r16) _BFGET_(r16, 0, 0)
#define SET16ReadClient_NonStdRes_enable(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32ReadClient_NonStdRes_pixlineTot(r32) _BFGET_(r32,13, 1)
#define SET32ReadClient_NonStdRes_pixlineTot(r32,v) _BFSET_(r32,13, 1,v)
#define GET16ReadClient_NonStdRes_pixlineTot(r16) _BFGET_(r16,13, 1)
#define SET16ReadClient_NonStdRes_pixlineTot(r16,v) _BFSET_(r16,13, 1,v)
#define GET32ReadClient_NonStdRes_flushCnt(r32) _BFGET_(r32,17,14)
#define SET32ReadClient_NonStdRes_flushCnt(r32,v) _BFSET_(r32,17,14,v)
#define w32ReadClient_NonStdRes {\
UNSG32 uNonStdRes_enable : 1;\
UNSG32 uNonStdRes_pixlineTot : 13;\
UNSG32 uNonStdRes_flushCnt : 4;\
UNSG32 RSVDx8_b18 : 14;\
}
union { UNSG32 u32ReadClient_NonStdRes;
struct w32ReadClient_NonStdRes;
};
///////////////////////////////////////////////////////////
#define GET32ReadClient_pack_Sel(r32) _BFGET_(r32, 3, 0)
#define SET32ReadClient_pack_Sel(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16ReadClient_pack_Sel(r16) _BFGET_(r16, 3, 0)
#define SET16ReadClient_pack_Sel(r16,v) _BFSET_(r16, 3, 0,v)
#define w32ReadClient_pack {\
UNSG32 upack_Sel : 4;\
UNSG32 RSVDxC_b4 : 28;\
}
union { UNSG32 u32ReadClient_pack;
struct w32ReadClient_pack;
};
///////////////////////////////////////////////////////////
} SIE_ReadClient;
typedef union T32ReadClient_Rd
{ UNSG32 u32;
struct w32ReadClient_Rd;
} T32ReadClient_Rd;
typedef union T32ReadClient_Word
{ UNSG32 u32;
struct w32ReadClient_Word;
} T32ReadClient_Word;
typedef union T32ReadClient_NonStdRes
{ UNSG32 u32;
struct w32ReadClient_NonStdRes;
} T32ReadClient_NonStdRes;
typedef union T32ReadClient_pack
{ UNSG32 u32;
struct w32ReadClient_pack;
} T32ReadClient_pack;
///////////////////////////////////////////////////////////
typedef union TReadClient_Rd
{ UNSG32 u32[1];
struct {
struct w32ReadClient_Rd;
};
} TReadClient_Rd;
typedef union TReadClient_Word
{ UNSG32 u32[1];
struct {
struct w32ReadClient_Word;
};
} TReadClient_Word;
typedef union TReadClient_NonStdRes
{ UNSG32 u32[1];
struct {
struct w32ReadClient_NonStdRes;
};
} TReadClient_NonStdRes;
typedef union TReadClient_pack
{ UNSG32 u32[1];
struct {
struct w32ReadClient_pack;
};
} TReadClient_pack;
///////////////////////////////////////////////////////////
SIGN32 ReadClient_drvrd(SIE_ReadClient *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ReadClient_drvwr(SIE_ReadClient *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ReadClient_reset(SIE_ReadClient *p);
SIGN32 ReadClient_cmp (SIE_ReadClient *p, SIE_ReadClient *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ReadClient_check(p,pie,pfx,hLOG) ReadClient_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ReadClient_print(p, pfx,hLOG) ReadClient_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ReadClient
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE WriteClient biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 Wr (P-)
/// %unsigned 1 start 0x0
/// ###
/// * Start bit for the respective clients.
/// * 0 : No effect on hardware.
/// * 1 : start the client.
/// * The write 1 to this register is used to kick the hardware.
/// ###
/// %unsigned 1 clear 0x0
/// ###
/// * 0 : Don't clear, normal state.
/// * 1 : Clear the asynchronous FIFO between the respective client and dHub.
/// ###
/// %% 30 # Stuffing bits...
/// @ 0x00004 pix (P)
/// %unsigned 32 tot 0x64
/// ###
/// * Specifies the total number of pixels expected from input to write client. This is used to generate flush in Write client to write the partially formed 128-bit data (if any) to DDR.
/// * Should be programmed with (ovres*ohres).
/// ###
/// @ 0x00008 NonStdRes (P)
/// %unsigned 1 enable 0x0
/// ###
/// * Enable for Read Client when resolution is not integer multiple of 16
/// ###
/// %unsigned 13 pixlineTot 0x64
/// ###
/// * Total number of pixels in a line (for Write Client)
/// ###
/// %% 18 # Stuffing bits...
/// @ 0x0000C pack (P)
/// %unsigned 4 Sel 0x0
/// ###
/// * PackSel for Write Client
/// * [0000] : 8 bit packing
/// * [0001] : 10 bit packing
/// * [0010] : 12 bit packing
/// * [0011] : 15 bit packing
/// * [0100] : 16 bit packing
/// * [0101] : 20 bit packing
/// * [0110] : 24 bit packing
/// * [0111] : 30 bit packing
/// * [1000] : 32 bit packing
/// ###
/// %% 28 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 52b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_WriteClient
#define h_WriteClient (){}
#define RA_WriteClient_Wr 0x0000
#define BA_WriteClient_Wr_start 0x0000
#define B16WriteClient_Wr_start 0x0000
#define LSb32WriteClient_Wr_start 0
#define LSb16WriteClient_Wr_start 0
#define bWriteClient_Wr_start 1
#define MSK32WriteClient_Wr_start 0x00000001
#define BA_WriteClient_Wr_clear 0x0000
#define B16WriteClient_Wr_clear 0x0000
#define LSb32WriteClient_Wr_clear 1
#define LSb16WriteClient_Wr_clear 1
#define bWriteClient_Wr_clear 1
#define MSK32WriteClient_Wr_clear 0x00000002
///////////////////////////////////////////////////////////
#define RA_WriteClient_pix 0x0004
#define BA_WriteClient_pix_tot 0x0004
#define B16WriteClient_pix_tot 0x0004
#define LSb32WriteClient_pix_tot 0
#define LSb16WriteClient_pix_tot 0
#define bWriteClient_pix_tot 32
#define MSK32WriteClient_pix_tot 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_WriteClient_NonStdRes 0x0008
#define BA_WriteClient_NonStdRes_enable 0x0008
#define B16WriteClient_NonStdRes_enable 0x0008
#define LSb32WriteClient_NonStdRes_enable 0
#define LSb16WriteClient_NonStdRes_enable 0
#define bWriteClient_NonStdRes_enable 1
#define MSK32WriteClient_NonStdRes_enable 0x00000001
#define BA_WriteClient_NonStdRes_pixlineTot 0x0008
#define B16WriteClient_NonStdRes_pixlineTot 0x0008
#define LSb32WriteClient_NonStdRes_pixlineTot 1
#define LSb16WriteClient_NonStdRes_pixlineTot 1
#define bWriteClient_NonStdRes_pixlineTot 13
#define MSK32WriteClient_NonStdRes_pixlineTot 0x00003FFE
///////////////////////////////////////////////////////////
#define RA_WriteClient_pack 0x000C
#define BA_WriteClient_pack_Sel 0x000C
#define B16WriteClient_pack_Sel 0x000C
#define LSb32WriteClient_pack_Sel 0
#define LSb16WriteClient_pack_Sel 0
#define bWriteClient_pack_Sel 4
#define MSK32WriteClient_pack_Sel 0x0000000F
///////////////////////////////////////////////////////////
typedef struct SIE_WriteClient {
///////////////////////////////////////////////////////////
#define GET32WriteClient_Wr_start(r32) _BFGET_(r32, 0, 0)
#define SET32WriteClient_Wr_start(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16WriteClient_Wr_start(r16) _BFGET_(r16, 0, 0)
#define SET16WriteClient_Wr_start(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32WriteClient_Wr_clear(r32) _BFGET_(r32, 1, 1)
#define SET32WriteClient_Wr_clear(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16WriteClient_Wr_clear(r16) _BFGET_(r16, 1, 1)
#define SET16WriteClient_Wr_clear(r16,v) _BFSET_(r16, 1, 1,v)
#define w32WriteClient_Wr {\
UNSG32 uWr_start : 1;\
UNSG32 uWr_clear : 1;\
UNSG32 RSVDx0_b2 : 30;\
}
union { UNSG32 u32WriteClient_Wr;
struct w32WriteClient_Wr;
};
///////////////////////////////////////////////////////////
#define GET32WriteClient_pix_tot(r32) _BFGET_(r32,31, 0)
#define SET32WriteClient_pix_tot(r32,v) _BFSET_(r32,31, 0,v)
#define w32WriteClient_pix {\
UNSG32 upix_tot : 32;\
}
union { UNSG32 u32WriteClient_pix;
struct w32WriteClient_pix;
};
///////////////////////////////////////////////////////////
#define GET32WriteClient_NonStdRes_enable(r32) _BFGET_(r32, 0, 0)
#define SET32WriteClient_NonStdRes_enable(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16WriteClient_NonStdRes_enable(r16) _BFGET_(r16, 0, 0)
#define SET16WriteClient_NonStdRes_enable(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32WriteClient_NonStdRes_pixlineTot(r32) _BFGET_(r32,13, 1)
#define SET32WriteClient_NonStdRes_pixlineTot(r32,v) _BFSET_(r32,13, 1,v)
#define GET16WriteClient_NonStdRes_pixlineTot(r16) _BFGET_(r16,13, 1)
#define SET16WriteClient_NonStdRes_pixlineTot(r16,v) _BFSET_(r16,13, 1,v)
#define w32WriteClient_NonStdRes {\
UNSG32 uNonStdRes_enable : 1;\
UNSG32 uNonStdRes_pixlineTot : 13;\
UNSG32 RSVDx8_b14 : 18;\
}
union { UNSG32 u32WriteClient_NonStdRes;
struct w32WriteClient_NonStdRes;
};
///////////////////////////////////////////////////////////
#define GET32WriteClient_pack_Sel(r32) _BFGET_(r32, 3, 0)
#define SET32WriteClient_pack_Sel(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16WriteClient_pack_Sel(r16) _BFGET_(r16, 3, 0)
#define SET16WriteClient_pack_Sel(r16,v) _BFSET_(r16, 3, 0,v)
#define w32WriteClient_pack {\
UNSG32 upack_Sel : 4;\
UNSG32 RSVDxC_b4 : 28;\
}
union { UNSG32 u32WriteClient_pack;
struct w32WriteClient_pack;
};
///////////////////////////////////////////////////////////
} SIE_WriteClient;
typedef union T32WriteClient_Wr
{ UNSG32 u32;
struct w32WriteClient_Wr;
} T32WriteClient_Wr;
typedef union T32WriteClient_pix
{ UNSG32 u32;
struct w32WriteClient_pix;
} T32WriteClient_pix;
typedef union T32WriteClient_NonStdRes
{ UNSG32 u32;
struct w32WriteClient_NonStdRes;
} T32WriteClient_NonStdRes;
typedef union T32WriteClient_pack
{ UNSG32 u32;
struct w32WriteClient_pack;
} T32WriteClient_pack;
///////////////////////////////////////////////////////////
typedef union TWriteClient_Wr
{ UNSG32 u32[1];
struct {
struct w32WriteClient_Wr;
};
} TWriteClient_Wr;
typedef union TWriteClient_pix
{ UNSG32 u32[1];
struct {
struct w32WriteClient_pix;
};
} TWriteClient_pix;
typedef union TWriteClient_NonStdRes
{ UNSG32 u32[1];
struct {
struct w32WriteClient_NonStdRes;
};
} TWriteClient_NonStdRes;
typedef union TWriteClient_pack
{ UNSG32 u32[1];
struct {
struct w32WriteClient_pack;
};
} TWriteClient_pack;
///////////////////////////////////////////////////////////
SIGN32 WriteClient_drvrd(SIE_WriteClient *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 WriteClient_drvwr(SIE_WriteClient *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void WriteClient_reset(SIE_WriteClient *p);
SIGN32 WriteClient_cmp (SIE_WriteClient *p, SIE_WriteClient *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define WriteClient_check(p,pie,pfx,hLOG) WriteClient_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define WriteClient_print(p, pfx,hLOG) WriteClient_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: WriteClient
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BETG biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 PL0
/// $TG_PL PL0 REG
/// ###
/// * Plane 0 Related registers (for Base Plane)
/// ###
/// @ 0x00008 (P)
/// # 0x00008 PL1
/// $TG_PL PL1 REG
/// ###
/// * Plane 1 Related registers (for Main plane)
/// ###
/// @ 0x00010 (P)
/// # 0x00010 PL2
/// $TG_PL PL2 REG
/// ###
/// * Plane 2 Related registers (for PIP/Graphics1 Plane)
/// ###
/// @ 0x00018 (P)
/// # 0x00018 PL3
/// $TG_PL PL3 REG
/// ###
/// * Plane 3 Related registers (for Graphics2 Plane)
/// ###
/// @ 0x00020 (P)
/// # 0x00020 PL4
/// $TG_PL PL4 REG
/// ###
/// * Plane 4 Related registers (for FIX0 Plane)
/// ###
/// @ 0x00028 (P)
/// # 0x00028 PL5
/// $TG_PL PL5 REG
/// ###
/// * Plane 5 Related registers (for FIX1 Plane)
/// ###
/// @ 0x00030 (P)
/// # 0x00030 PL6
/// $TG_PL PL6 REG
/// ###
/// * Plane 6 Related registers (for FIX2 Plane)
/// ###
/// @ 0x00038 (P)
/// # 0x00038 PL7
/// $TG_PL PL7 REG
/// ###
/// * Plane 7 Related registers (for FIX3 Plane)
/// ###
/// @ 0x00040 (P)
/// # 0x00040 PL8
/// $TG_PL PL8 REG
/// ###
/// * Plane 8 Related registers (for overlay output read)
/// ###
/// @ 0x00048 (P)
/// # 0x00048 PL1_CR
/// $TG_PL PL1_CR REG
/// ###
/// * Plane 1 Crop Related registers (for taking cropped input of Main Plane as Overlay Input)
/// ###
/// @ 0x00050 (P)
/// # 0x00050 PL2_CR
/// $TG_PL PL2_CR REG
/// ###
/// * Plane 2 Crop Related registers (for taking cropped input of PIP/Graphics1 Plane as Overlay Input)
/// ###
/// @ 0x00058 (P)
/// # 0x00058 PL3_CR
/// $TG_PL PL3_CR REG
/// ###
/// * Plane 3 Crop Related registers (for taking cropped input of Graphics-2 Plane as Overlay Input)
/// ###
/// @ 0x00060 (P)
/// # 0x00060 PL4_CR
/// $TG_PL PL4_CR REG
/// ###
/// * Plane 4 Crop Related registers
/// ###
/// @ 0x00068 (P)
/// # 0x00068 PL5_CR
/// $TG_PL PL5_CR REG
/// ###
/// * Plane 5 Crop Related registers
/// ###
/// @ 0x00070 (P)
/// # 0x00070 PL6_CR
/// $TG_PL PL6_CR REG
/// ###
/// * Plane 6 Crop Related registers
/// ###
/// @ 0x00078 (P)
/// # 0x00078 PL7_CR
/// $TG_PL PL7_CR REG
/// ###
/// * Plane 7 Crop Related registers
/// ###
/// @ 0x00080 (P)
/// # 0x00080 PL8_CR
/// $TG_PL PL8_CR REG
/// ###
/// * Plane 8 Crop Related registers
/// ###
/// @ 0x00088 (P)
/// # 0x00088 PL_FLD
/// $TG_PL PL_FLD REG
/// ###
/// * Field Related registers
/// ###
/// @ 0x00090 (P)
/// # 0x00090 TG_PRG
/// $TG_PRG TG_PRG REG
/// ###
/// * Timing Generator programming registers
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 180B, bits: 1090b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BETG
#define h_BETG (){}
#define RA_BETG_PL0 0x0000
///////////////////////////////////////////////////////////
#define RA_BETG_PL1 0x0008
///////////////////////////////////////////////////////////
#define RA_BETG_PL2 0x0010
///////////////////////////////////////////////////////////
#define RA_BETG_PL3 0x0018
///////////////////////////////////////////////////////////
#define RA_BETG_PL4 0x0020
///////////////////////////////////////////////////////////
#define RA_BETG_PL5 0x0028
///////////////////////////////////////////////////////////
#define RA_BETG_PL6 0x0030
///////////////////////////////////////////////////////////
#define RA_BETG_PL7 0x0038
///////////////////////////////////////////////////////////
#define RA_BETG_PL8 0x0040
///////////////////////////////////////////////////////////
#define RA_BETG_PL1_CR 0x0048
///////////////////////////////////////////////////////////
#define RA_BETG_PL2_CR 0x0050
///////////////////////////////////////////////////////////
#define RA_BETG_PL3_CR 0x0058
///////////////////////////////////////////////////////////
#define RA_BETG_PL4_CR 0x0060
///////////////////////////////////////////////////////////
#define RA_BETG_PL5_CR 0x0068
///////////////////////////////////////////////////////////
#define RA_BETG_PL6_CR 0x0070
///////////////////////////////////////////////////////////
#define RA_BETG_PL7_CR 0x0078
///////////////////////////////////////////////////////////
#define RA_BETG_PL8_CR 0x0080
///////////////////////////////////////////////////////////
#define RA_BETG_PL_FLD 0x0088
///////////////////////////////////////////////////////////
#define RA_BETG_TG_PRG 0x0090
///////////////////////////////////////////////////////////
typedef struct SIE_BETG {
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL0;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL1;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL2;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL3;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL4;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL5;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL6;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL7;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL8;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL1_CR;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL2_CR;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL3_CR;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL4_CR;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL5_CR;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL6_CR;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL7_CR;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL8_CR;
///////////////////////////////////////////////////////////
SIE_TG_PL ie_PL_FLD;
///////////////////////////////////////////////////////////
SIE_TG_PRG ie_TG_PRG;
///////////////////////////////////////////////////////////
} SIE_BETG;
///////////////////////////////////////////////////////////
SIGN32 BETG_drvrd(SIE_BETG *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BETG_drvwr(SIE_BETG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BETG_reset(SIE_BETG *p);
SIGN32 BETG_cmp (SIE_BETG *p, SIE_BETG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BETG_check(p,pie,pfx,hLOG) BETG_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BETG_print(p, pfx,hLOG) BETG_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BETG
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE PIPE (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CTRL0 (P-)
/// %unsigned 1 tg_start 0x0
/// ###
/// * Start bit for tg
/// * 0 : No effect on hardware.
/// * 1 : start the client.
/// * The write 1 to this register is used to kick the hardware.
/// ###
/// %unsigned 1 tg_clear 0x0
/// ###
/// * 0 : Don't clear, normal state.
/// * 1 : Clear tg
/// ###
/// %% 30 # Stuffing bits...
/// @ 0x00004 CTRL1 (P)
/// %unsigned 1 clken_ctrl0 0x1
/// ###
/// * Clock enable control for TG. Write 0 to make flow control independent of ready status from Read Client0
/// ###
/// %unsigned 1 clken_ctrl1 0x1
/// ###
/// * Clock enable control for TG. Write 0 to make flow control independent of ready status from Read Client1
/// ###
/// %unsigned 1 clken_ctrl2 0x1
/// %unsigned 1 clken_ctrl3 0x1
/// %unsigned 1 clken_ctrl4 0x1
/// %unsigned 1 bitMap_en 0x0
/// ###
/// * Control bit to enable BITMAP
/// ###
/// %unsigned 1 crop_de_en 0x0
/// ###
/// * Enable for cropped de's to be used for cropped input read from Read Client's which is fed to DETILE-UPS420
/// * Write 1 to enable it. Default disabled.
/// ###
/// %unsigned 1 crop_de2_en 0x0
/// ###
/// * Enable for cropped de's to be used for cropped input support for 420-SemiPlanar Input for DETILE in PIP Plane .
/// * Note : crop_de_en bit should be high for this mode and DETILE TG to be programmed accordingly for Luma, Croma and DE (required to fetch data from Read Client)
/// * Write 1 to enable it. Default disabled.
/// ###
/// %unsigned 1 rdsel_422SP 0x0
/// ###
/// * Read select from read client (R0) for 422 SP format case
/// ###
/// %unsigned 1 rdsel_420SP 0x0
/// ###
/// * Read select from read client (R0/1) for 420 SP format case
/// ###
/// %unsigned 1 yuv420sp_2p1c 0x0
/// ###
/// * Switching between 2-pixels-1-cycle and 2-pixels-2-cycles modes for YUV420 (12-bit YcbCr 4:2:0)
/// * 1: Two pixels are read from PIPE and sent on DPI on every clock cycle
/// * 0: Two pixels are read from Client and sent on DPI on every alternate clock cycle
/// ###
/// %unsigned 1 eof_frst_mask 0x0
/// %unsigned 1 eof_frst_sel 0x0
/// %% 19 # Stuffing bits...
/// @ 0x00008 CTRL2 (P)
/// %unsigned 1 clken_rdcli0uf_all 0x0
/// ###
/// * TG Clock enable control in the event of Read Client #0 underflow. Underflow occurs when client gets exhausted of data.
/// * 0: Stops the TG Clock only if Read client #0 underflow event occurs during active period (~rdcli0_rdy && hde && vde)
/// * 1: Stops the TG clock if Read client #0 underflow event occurs during active or blanking period. No dependency on (hde && vde).
/// ###
/// %unsigned 1 clken_rdcli1uf_all 0x0
/// ###
/// * TG Clock enable control in the event of Read Client #1 underflow. Underflow occurs when client gets exhausted of data.
/// * 0x0: Stops the TG Clock only if Read client #1 underflow event occurs during active period (~rdcli1_rdy && hde && vde)
/// * 0x1: Stops the TG clock if Read client #1 underflow event occurs during active or blanking period. No dependency on (hde && vde).
/// ###
/// %% 30 # Stuffing bits...
/// @ 0x0000C MTG (P)
/// %unsigned 1 cfg_rst 0x0
/// ###
/// * Configurable reset to TG
/// ###
/// %unsigned 13 hcnt_rstval 0x0
/// ###
/// * H-Counter reset value
/// ###
/// %unsigned 12 vcnt_rstval 0x0
/// ###
/// * V-Counter reset value
/// ###
/// %unsigned 2 prog_line_dly 0x1
/// ###
/// * Programmable line delay
/// ###
/// %% 4 # Stuffing bits...
/// @ 0x00010 CTRL (P)
/// %unsigned 3 idata_ctrl 0x0
/// ###
/// * Input pixel data format
/// * [000]: 8b-YUV422, if rdSel_422SP=1
/// * RGB565-16bconfig1, if rdSel_422SP=0
/// * [001]: 10b-YUV422, , if rdSel_422SP=1
/// * RGB565-16bconfig2, if rdSel_422SP=0
/// * [010]: 12bYUV422, if rdSel_422SP=1
/// * 12bYUV420, if rdSel_420SP=1
/// * RGB656-16bconfig3, if rdSel_422SP=0 && rdSel_420SP=0
/// * [011]: RGB666-18bconfig1
/// * [100]: RGB666-18bconfig2
/// * [101]: RGB24
/// * [110]: RGB36
/// * [111]: RGB30
/// ###
/// %unsigned 1 sp_dwa_10b_normal_mode 0x0
/// ###
/// * 1: used for only sp DWA 10 bit format support in normal mode.
/// * 0: default path (other formats)
/// ###
/// %unsigned 1 sp_dwa_10b_inverse_mode 0x0
/// ###
/// * 1: used for only sp DWA 10 bit format support in inverse scan mode.
/// * 0: default path (other formats)
/// ###
/// %unsigned 1 cswap 0x0
/// ###
/// * Component swap
/// ###
/// %unsigned 1 rdmain_initval0 0x0
/// ###
/// * Initiallization value for read Mask for MIPI Read Client's (420SP Cases)
/// ###
/// %unsigned 1 rdmain_initval1 0x1
/// ###
/// * Initiallization value for read Mask for MIPI Read Client's (420SP Cases)
/// ###
/// %unsigned 1 rd_mask_sftrst 0x0
/// ###
/// * Soft reset to initialize read mask. Write 1 to initialize read mask with rdmain_initval0
/// ###
/// %unsigned 1 yc_rdmask_sftrst 0x0
/// ###
/// * Soft reset to initialize read mask for alternate pixel. Write 1 to initialize read mask with 0
/// ###
/// %unsigned 1 bitmap40_bypass 0x0
/// ###
/// * Bypass bitmap40 control
/// ###
/// %unsigned 1 dpidataen_pol 0x0
/// ###
/// * dpidataen polarity control. Write 1 to make output port dpidataen active-low.
/// * THIS BIT SHOULD ONLY BE CONFIGURED BEFORE DSI HOST + DPHY POWER-UP PROGRAMMING SEQUENCE
/// ###
/// %unsigned 1 dpivsync_pol 0x0
/// ###
/// * dpivsync polarity control. Write 1 to make output port dpivsync active-low.
/// * THIS BIT SHOULD ONLY BE CONFIGURED BEFORE DSI HOST + DPHY POWER-UP PROGRAMMING SEQUENCE
/// ###
/// %unsigned 1 dpihsync_pol 0x0
/// ###
/// * dpihsync polarity polarity control. Write 1 to make output port dpihsync active-low.
/// * THIS BIT SHOULD ONLY BE CONFIGURED BEFORE DSI HOST + DPHY POWER-UP PROGRAMMING SEQUENCE
/// ###
/// %unsigned 1 dpishutd_pol 0x0
/// ###
/// * dpihshutd polarity control. Write 1 to make output port dpishutd active-low.
/// * THIS BIT SHOULD ONLY BE CONFIGURED BEFORE DSI HOST + DPHY POWER-UP PROGRAMMING SEQUENCE
/// ###
/// %unsigned 1 dpicolorm_pol 0x0
/// ###
/// * dpicolorm polarity control. Write 1 to make output port dpicolorm active-low.
/// * THIS BIT SHOULD ONLY BE CONFIGURED BEFORE DSI HOST + DPHY POWER-UP PROGRAMMING SEQUENCE
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00014 UFSTATUS (WOC-)
/// %unsigned 1 rdcli0_uf 0x0
/// ###
/// * This bit is set by hardware when underflow event occurs. Underflow event occurs when Read Client #0 gets exhausted of data. Underflow can occur during active period (hde && vde) or blanking period.
/// * Hardware sets this bit if underflow occurs in active period.
/// * Hardware sets this bit if underflow occurs in blanking period ONLY IF CTRL2_clken_rdcli0_uf_all bit is 1.
/// * This bit is cleared when software writes 1 to it.
/// ###
/// %unsigned 1 rdcli1_uf 0x0
/// ###
/// * This bit is set by hardware when underflow event occurs. Underflow event occurs when Read Client #1 gets exhausted of data. Underflow can occur during active period (hde && vde) or blanking period.
/// * Hardware sets this bit if underflow occurs in active period.
/// * Hardware sets this bit if underflow occurs in blanking period ONLY IF CTRL2_clken_rdcli1_uf_all bit is 1.
/// * This bit is cleared when software writes 1 to it.
/// ###
/// %unsigned 1 dpite 0x0
/// %% 29 # Stuffing bits...
/// @ 0x00018 DSI (P)
/// %unsigned 1 colormode 0x0
/// ###
/// * Control Signal. It is used to switch between normal color and reduced color mode.
/// ###
/// %unsigned 1 shutdn 0x0
/// ###
/// * Control Signal. It is used to shutdown the display.
/// ###
/// %unsigned 1 hw_updatecfg_on 0x0
/// ###
/// * Control Signal. This signal is used to indicate that the next frame will have new video configuration,through dpiupdatecfg hw pin
/// ###
/// %unsigned 1 hw_tear_effect_on 0x0
/// ###
/// * Control signal to activate Tearing Effect by Hardware
/// ###
/// %unsigned 1 force_pll_on 0x0
/// ###
/// * Control signal to pass force pll signal to AVPLL
/// ###
/// %unsigned 1 tear_request_pulse 0x0
/// ###
/// * activate Tearing Effect
/// ###
/// %unsigned 1 updatecfg_pulse 0x0
/// ###
/// * This signal is used to indicate that the next frame will have new video configuration
/// ###
/// %unsigned 1 edpi_mode 0x0
/// ###
/// * Control to enable edpi mode for DSI
/// ###
/// %unsigned 1 tear_sftrst 0x0
/// ###
/// * Soft reset control to clear tear_wait -timeout
/// ###
/// %% 23 # Stuffing bits...
/// @ 0x0001C DPHY (P)
/// %unsigned 1 turn_disable_lane0 0x0
/// ###
/// * Disable turn around
/// ###
/// %unsigned 1 ftxstopmode_lane0 0x0
/// ###
/// * Force lane into tx mode and generate stop mode
/// ###
/// %unsigned 1 forcerxmode_lane0 0x0
/// ###
/// * Force lane into Rx mode and generate stop mode
/// ###
/// %unsigned 1 csr_cfgrstn 0x0
/// ###
/// * Reset input for CSR
/// ###
/// %% 28 # Stuffing bits...
/// @ 0x00020 INVSCAN (P)
/// %unsigned 1 bitmap128_Rd0_en 0x0
/// %unsigned 1 bitmap128_Rd1_en 0x0
/// ###
/// * [1] : enable for H Inverse Scan.
/// * [0] : Default Value.
/// ###
/// %% 30 # Stuffing bits...
/// @ 0x00024 STATUS (R-)
/// %unsigned 16 vcnt 0x0
/// ###
/// * Vcount status for MIPI TG
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00028 (P)
/// # 0x00028 TG
/// $BETG TG REG
/// ###
/// * TG programming
/// ###
/// @ 0x000DC (P)
/// # 0x000DC BITMAP40
/// $BITMAP40 BITMAP40 REG
/// ###
/// * Bit Map registers for bit mapping of Read Client output data
/// ###
/// @ 0x000FC (P)
/// # 0x000FC RdClient0
/// $ReadClient RdClient0 REG
/// ###
/// * RdClient0 Programming
/// ###
/// @ 0x0010C (P)
/// # 0x0010C RdClient1
/// $ReadClient RdClient1 REG
/// ###
/// * RdClient0 Programming
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 284B, bits: 1537b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_PIPE
#define h_PIPE (){}
#define RA_PIPE_CTRL0 0x0000
#define BA_PIPE_CTRL0_tg_start 0x0000
#define B16PIPE_CTRL0_tg_start 0x0000
#define LSb32PIPE_CTRL0_tg_start 0
#define LSb16PIPE_CTRL0_tg_start 0
#define bPIPE_CTRL0_tg_start 1
#define MSK32PIPE_CTRL0_tg_start 0x00000001
#define BA_PIPE_CTRL0_tg_clear 0x0000
#define B16PIPE_CTRL0_tg_clear 0x0000
#define LSb32PIPE_CTRL0_tg_clear 1
#define LSb16PIPE_CTRL0_tg_clear 1
#define bPIPE_CTRL0_tg_clear 1
#define MSK32PIPE_CTRL0_tg_clear 0x00000002
///////////////////////////////////////////////////////////
#define RA_PIPE_CTRL1 0x0004
#define BA_PIPE_CTRL1_clken_ctrl0 0x0004
#define B16PIPE_CTRL1_clken_ctrl0 0x0004
#define LSb32PIPE_CTRL1_clken_ctrl0 0
#define LSb16PIPE_CTRL1_clken_ctrl0 0
#define bPIPE_CTRL1_clken_ctrl0 1
#define MSK32PIPE_CTRL1_clken_ctrl0 0x00000001
#define BA_PIPE_CTRL1_clken_ctrl1 0x0004
#define B16PIPE_CTRL1_clken_ctrl1 0x0004
#define LSb32PIPE_CTRL1_clken_ctrl1 1
#define LSb16PIPE_CTRL1_clken_ctrl1 1
#define bPIPE_CTRL1_clken_ctrl1 1
#define MSK32PIPE_CTRL1_clken_ctrl1 0x00000002
#define BA_PIPE_CTRL1_clken_ctrl2 0x0004
#define B16PIPE_CTRL1_clken_ctrl2 0x0004
#define LSb32PIPE_CTRL1_clken_ctrl2 2
#define LSb16PIPE_CTRL1_clken_ctrl2 2
#define bPIPE_CTRL1_clken_ctrl2 1
#define MSK32PIPE_CTRL1_clken_ctrl2 0x00000004
#define BA_PIPE_CTRL1_clken_ctrl3 0x0004
#define B16PIPE_CTRL1_clken_ctrl3 0x0004
#define LSb32PIPE_CTRL1_clken_ctrl3 3
#define LSb16PIPE_CTRL1_clken_ctrl3 3
#define bPIPE_CTRL1_clken_ctrl3 1
#define MSK32PIPE_CTRL1_clken_ctrl3 0x00000008
#define BA_PIPE_CTRL1_clken_ctrl4 0x0004
#define B16PIPE_CTRL1_clken_ctrl4 0x0004
#define LSb32PIPE_CTRL1_clken_ctrl4 4
#define LSb16PIPE_CTRL1_clken_ctrl4 4
#define bPIPE_CTRL1_clken_ctrl4 1
#define MSK32PIPE_CTRL1_clken_ctrl4 0x00000010
#define BA_PIPE_CTRL1_bitMap_en 0x0004
#define B16PIPE_CTRL1_bitMap_en 0x0004
#define LSb32PIPE_CTRL1_bitMap_en 5
#define LSb16PIPE_CTRL1_bitMap_en 5
#define bPIPE_CTRL1_bitMap_en 1
#define MSK32PIPE_CTRL1_bitMap_en 0x00000020
#define BA_PIPE_CTRL1_crop_de_en 0x0004
#define B16PIPE_CTRL1_crop_de_en 0x0004
#define LSb32PIPE_CTRL1_crop_de_en 6
#define LSb16PIPE_CTRL1_crop_de_en 6
#define bPIPE_CTRL1_crop_de_en 1
#define MSK32PIPE_CTRL1_crop_de_en 0x00000040
#define BA_PIPE_CTRL1_crop_de2_en 0x0004
#define B16PIPE_CTRL1_crop_de2_en 0x0004
#define LSb32PIPE_CTRL1_crop_de2_en 7
#define LSb16PIPE_CTRL1_crop_de2_en 7
#define bPIPE_CTRL1_crop_de2_en 1
#define MSK32PIPE_CTRL1_crop_de2_en 0x00000080
#define BA_PIPE_CTRL1_rdsel_422SP 0x0005
#define B16PIPE_CTRL1_rdsel_422SP 0x0004
#define LSb32PIPE_CTRL1_rdsel_422SP 8
#define LSb16PIPE_CTRL1_rdsel_422SP 8
#define bPIPE_CTRL1_rdsel_422SP 1
#define MSK32PIPE_CTRL1_rdsel_422SP 0x00000100
#define BA_PIPE_CTRL1_rdsel_420SP 0x0005
#define B16PIPE_CTRL1_rdsel_420SP 0x0004
#define LSb32PIPE_CTRL1_rdsel_420SP 9
#define LSb16PIPE_CTRL1_rdsel_420SP 9
#define bPIPE_CTRL1_rdsel_420SP 1
#define MSK32PIPE_CTRL1_rdsel_420SP 0x00000200
#define BA_PIPE_CTRL1_yuv420sp_2p1c 0x0005
#define B16PIPE_CTRL1_yuv420sp_2p1c 0x0004
#define LSb32PIPE_CTRL1_yuv420sp_2p1c 10
#define LSb16PIPE_CTRL1_yuv420sp_2p1c 10
#define bPIPE_CTRL1_yuv420sp_2p1c 1
#define MSK32PIPE_CTRL1_yuv420sp_2p1c 0x00000400
#define BA_PIPE_CTRL1_eof_frst_mask 0x0005
#define B16PIPE_CTRL1_eof_frst_mask 0x0004
#define LSb32PIPE_CTRL1_eof_frst_mask 11
#define LSb16PIPE_CTRL1_eof_frst_mask 11
#define bPIPE_CTRL1_eof_frst_mask 1
#define MSK32PIPE_CTRL1_eof_frst_mask 0x00000800
#define BA_PIPE_CTRL1_eof_frst_sel 0x0005
#define B16PIPE_CTRL1_eof_frst_sel 0x0004
#define LSb32PIPE_CTRL1_eof_frst_sel 12
#define LSb16PIPE_CTRL1_eof_frst_sel 12
#define bPIPE_CTRL1_eof_frst_sel 1
#define MSK32PIPE_CTRL1_eof_frst_sel 0x00001000
///////////////////////////////////////////////////////////
#define RA_PIPE_CTRL2 0x0008
#define BA_PIPE_CTRL2_clken_rdcli0uf_all 0x0008
#define B16PIPE_CTRL2_clken_rdcli0uf_all 0x0008
#define LSb32PIPE_CTRL2_clken_rdcli0uf_all 0
#define LSb16PIPE_CTRL2_clken_rdcli0uf_all 0
#define bPIPE_CTRL2_clken_rdcli0uf_all 1
#define MSK32PIPE_CTRL2_clken_rdcli0uf_all 0x00000001
#define BA_PIPE_CTRL2_clken_rdcli1uf_all 0x0008
#define B16PIPE_CTRL2_clken_rdcli1uf_all 0x0008
#define LSb32PIPE_CTRL2_clken_rdcli1uf_all 1
#define LSb16PIPE_CTRL2_clken_rdcli1uf_all 1
#define bPIPE_CTRL2_clken_rdcli1uf_all 1
#define MSK32PIPE_CTRL2_clken_rdcli1uf_all 0x00000002
///////////////////////////////////////////////////////////
#define RA_PIPE_MTG 0x000C
#define BA_PIPE_MTG_cfg_rst 0x000C
#define B16PIPE_MTG_cfg_rst 0x000C
#define LSb32PIPE_MTG_cfg_rst 0
#define LSb16PIPE_MTG_cfg_rst 0
#define bPIPE_MTG_cfg_rst 1
#define MSK32PIPE_MTG_cfg_rst 0x00000001
#define BA_PIPE_MTG_hcnt_rstval 0x000C
#define B16PIPE_MTG_hcnt_rstval 0x000C
#define LSb32PIPE_MTG_hcnt_rstval 1
#define LSb16PIPE_MTG_hcnt_rstval 1
#define bPIPE_MTG_hcnt_rstval 13
#define MSK32PIPE_MTG_hcnt_rstval 0x00003FFE
#define BA_PIPE_MTG_vcnt_rstval 0x000D
#define B16PIPE_MTG_vcnt_rstval 0x000C
#define LSb32PIPE_MTG_vcnt_rstval 14
#define LSb16PIPE_MTG_vcnt_rstval 14
#define bPIPE_MTG_vcnt_rstval 12
#define MSK32PIPE_MTG_vcnt_rstval 0x03FFC000
#define BA_PIPE_MTG_prog_line_dly 0x000F
#define B16PIPE_MTG_prog_line_dly 0x000E
#define LSb32PIPE_MTG_prog_line_dly 26
#define LSb16PIPE_MTG_prog_line_dly 10
#define bPIPE_MTG_prog_line_dly 2
#define MSK32PIPE_MTG_prog_line_dly 0x0C000000
///////////////////////////////////////////////////////////
#define RA_PIPE_CTRL 0x0010
#define BA_PIPE_CTRL_idata_ctrl 0x0010
#define B16PIPE_CTRL_idata_ctrl 0x0010
#define LSb32PIPE_CTRL_idata_ctrl 0
#define LSb16PIPE_CTRL_idata_ctrl 0
#define bPIPE_CTRL_idata_ctrl 3
#define MSK32PIPE_CTRL_idata_ctrl 0x00000007
#define BA_PIPE_CTRL_sp_dwa_10b_normal_mode 0x0010
#define B16PIPE_CTRL_sp_dwa_10b_normal_mode 0x0010
#define LSb32PIPE_CTRL_sp_dwa_10b_normal_mode 3
#define LSb16PIPE_CTRL_sp_dwa_10b_normal_mode 3
#define bPIPE_CTRL_sp_dwa_10b_normal_mode 1
#define MSK32PIPE_CTRL_sp_dwa_10b_normal_mode 0x00000008
#define BA_PIPE_CTRL_sp_dwa_10b_inverse_mode 0x0010
#define B16PIPE_CTRL_sp_dwa_10b_inverse_mode 0x0010
#define LSb32PIPE_CTRL_sp_dwa_10b_inverse_mode 4
#define LSb16PIPE_CTRL_sp_dwa_10b_inverse_mode 4
#define bPIPE_CTRL_sp_dwa_10b_inverse_mode 1
#define MSK32PIPE_CTRL_sp_dwa_10b_inverse_mode 0x00000010
#define BA_PIPE_CTRL_cswap 0x0010
#define B16PIPE_CTRL_cswap 0x0010
#define LSb32PIPE_CTRL_cswap 5
#define LSb16PIPE_CTRL_cswap 5
#define bPIPE_CTRL_cswap 1
#define MSK32PIPE_CTRL_cswap 0x00000020
#define BA_PIPE_CTRL_rdmain_initval0 0x0010
#define B16PIPE_CTRL_rdmain_initval0 0x0010
#define LSb32PIPE_CTRL_rdmain_initval0 6
#define LSb16PIPE_CTRL_rdmain_initval0 6
#define bPIPE_CTRL_rdmain_initval0 1
#define MSK32PIPE_CTRL_rdmain_initval0 0x00000040
#define BA_PIPE_CTRL_rdmain_initval1 0x0010
#define B16PIPE_CTRL_rdmain_initval1 0x0010
#define LSb32PIPE_CTRL_rdmain_initval1 7
#define LSb16PIPE_CTRL_rdmain_initval1 7
#define bPIPE_CTRL_rdmain_initval1 1
#define MSK32PIPE_CTRL_rdmain_initval1 0x00000080
#define BA_PIPE_CTRL_rd_mask_sftrst 0x0011
#define B16PIPE_CTRL_rd_mask_sftrst 0x0010
#define LSb32PIPE_CTRL_rd_mask_sftrst 8
#define LSb16PIPE_CTRL_rd_mask_sftrst 8
#define bPIPE_CTRL_rd_mask_sftrst 1
#define MSK32PIPE_CTRL_rd_mask_sftrst 0x00000100
#define BA_PIPE_CTRL_yc_rdmask_sftrst 0x0011
#define B16PIPE_CTRL_yc_rdmask_sftrst 0x0010
#define LSb32PIPE_CTRL_yc_rdmask_sftrst 9
#define LSb16PIPE_CTRL_yc_rdmask_sftrst 9
#define bPIPE_CTRL_yc_rdmask_sftrst 1
#define MSK32PIPE_CTRL_yc_rdmask_sftrst 0x00000200
#define BA_PIPE_CTRL_bitmap40_bypass 0x0011
#define B16PIPE_CTRL_bitmap40_bypass 0x0010
#define LSb32PIPE_CTRL_bitmap40_bypass 10
#define LSb16PIPE_CTRL_bitmap40_bypass 10
#define bPIPE_CTRL_bitmap40_bypass 1
#define MSK32PIPE_CTRL_bitmap40_bypass 0x00000400
#define BA_PIPE_CTRL_dpidataen_pol 0x0011
#define B16PIPE_CTRL_dpidataen_pol 0x0010
#define LSb32PIPE_CTRL_dpidataen_pol 11
#define LSb16PIPE_CTRL_dpidataen_pol 11
#define bPIPE_CTRL_dpidataen_pol 1
#define MSK32PIPE_CTRL_dpidataen_pol 0x00000800
#define BA_PIPE_CTRL_dpivsync_pol 0x0011
#define B16PIPE_CTRL_dpivsync_pol 0x0010
#define LSb32PIPE_CTRL_dpivsync_pol 12
#define LSb16PIPE_CTRL_dpivsync_pol 12
#define bPIPE_CTRL_dpivsync_pol 1
#define MSK32PIPE_CTRL_dpivsync_pol 0x00001000
#define BA_PIPE_CTRL_dpihsync_pol 0x0011
#define B16PIPE_CTRL_dpihsync_pol 0x0010
#define LSb32PIPE_CTRL_dpihsync_pol 13
#define LSb16PIPE_CTRL_dpihsync_pol 13
#define bPIPE_CTRL_dpihsync_pol 1
#define MSK32PIPE_CTRL_dpihsync_pol 0x00002000
#define BA_PIPE_CTRL_dpishutd_pol 0x0011
#define B16PIPE_CTRL_dpishutd_pol 0x0010
#define LSb32PIPE_CTRL_dpishutd_pol 14
#define LSb16PIPE_CTRL_dpishutd_pol 14
#define bPIPE_CTRL_dpishutd_pol 1
#define MSK32PIPE_CTRL_dpishutd_pol 0x00004000
#define BA_PIPE_CTRL_dpicolorm_pol 0x0011
#define B16PIPE_CTRL_dpicolorm_pol 0x0010
#define LSb32PIPE_CTRL_dpicolorm_pol 15
#define LSb16PIPE_CTRL_dpicolorm_pol 15
#define bPIPE_CTRL_dpicolorm_pol 1
#define MSK32PIPE_CTRL_dpicolorm_pol 0x00008000
///////////////////////////////////////////////////////////
#define RA_PIPE_UFSTATUS 0x0014
#define BA_PIPE_UFSTATUS_rdcli0_uf 0x0014
#define B16PIPE_UFSTATUS_rdcli0_uf 0x0014
#define LSb32PIPE_UFSTATUS_rdcli0_uf 0
#define LSb16PIPE_UFSTATUS_rdcli0_uf 0
#define bPIPE_UFSTATUS_rdcli0_uf 1
#define MSK32PIPE_UFSTATUS_rdcli0_uf 0x00000001
#define BA_PIPE_UFSTATUS_rdcli1_uf 0x0014
#define B16PIPE_UFSTATUS_rdcli1_uf 0x0014
#define LSb32PIPE_UFSTATUS_rdcli1_uf 1
#define LSb16PIPE_UFSTATUS_rdcli1_uf 1
#define bPIPE_UFSTATUS_rdcli1_uf 1
#define MSK32PIPE_UFSTATUS_rdcli1_uf 0x00000002
#define BA_PIPE_UFSTATUS_dpite 0x0014
#define B16PIPE_UFSTATUS_dpite 0x0014
#define LSb32PIPE_UFSTATUS_dpite 2
#define LSb16PIPE_UFSTATUS_dpite 2
#define bPIPE_UFSTATUS_dpite 1
#define MSK32PIPE_UFSTATUS_dpite 0x00000004
///////////////////////////////////////////////////////////
#define RA_PIPE_DSI 0x0018
#define BA_PIPE_DSI_colormode 0x0018
#define B16PIPE_DSI_colormode 0x0018
#define LSb32PIPE_DSI_colormode 0
#define LSb16PIPE_DSI_colormode 0
#define bPIPE_DSI_colormode 1
#define MSK32PIPE_DSI_colormode 0x00000001
#define BA_PIPE_DSI_shutdn 0x0018
#define B16PIPE_DSI_shutdn 0x0018
#define LSb32PIPE_DSI_shutdn 1
#define LSb16PIPE_DSI_shutdn 1
#define bPIPE_DSI_shutdn 1
#define MSK32PIPE_DSI_shutdn 0x00000002
#define BA_PIPE_DSI_hw_updatecfg_on 0x0018
#define B16PIPE_DSI_hw_updatecfg_on 0x0018
#define LSb32PIPE_DSI_hw_updatecfg_on 2
#define LSb16PIPE_DSI_hw_updatecfg_on 2
#define bPIPE_DSI_hw_updatecfg_on 1
#define MSK32PIPE_DSI_hw_updatecfg_on 0x00000004
#define BA_PIPE_DSI_hw_tear_effect_on 0x0018
#define B16PIPE_DSI_hw_tear_effect_on 0x0018
#define LSb32PIPE_DSI_hw_tear_effect_on 3
#define LSb16PIPE_DSI_hw_tear_effect_on 3
#define bPIPE_DSI_hw_tear_effect_on 1
#define MSK32PIPE_DSI_hw_tear_effect_on 0x00000008
#define BA_PIPE_DSI_force_pll_on 0x0018
#define B16PIPE_DSI_force_pll_on 0x0018
#define LSb32PIPE_DSI_force_pll_on 4
#define LSb16PIPE_DSI_force_pll_on 4
#define bPIPE_DSI_force_pll_on 1
#define MSK32PIPE_DSI_force_pll_on 0x00000010
#define BA_PIPE_DSI_tear_request_pulse 0x0018
#define B16PIPE_DSI_tear_request_pulse 0x0018
#define LSb32PIPE_DSI_tear_request_pulse 5
#define LSb16PIPE_DSI_tear_request_pulse 5
#define bPIPE_DSI_tear_request_pulse 1
#define MSK32PIPE_DSI_tear_request_pulse 0x00000020
#define BA_PIPE_DSI_updatecfg_pulse 0x0018
#define B16PIPE_DSI_updatecfg_pulse 0x0018
#define LSb32PIPE_DSI_updatecfg_pulse 6
#define LSb16PIPE_DSI_updatecfg_pulse 6
#define bPIPE_DSI_updatecfg_pulse 1
#define MSK32PIPE_DSI_updatecfg_pulse 0x00000040
#define BA_PIPE_DSI_edpi_mode 0x0018
#define B16PIPE_DSI_edpi_mode 0x0018
#define LSb32PIPE_DSI_edpi_mode 7
#define LSb16PIPE_DSI_edpi_mode 7
#define bPIPE_DSI_edpi_mode 1
#define MSK32PIPE_DSI_edpi_mode 0x00000080
#define BA_PIPE_DSI_tear_sftrst 0x0019
#define B16PIPE_DSI_tear_sftrst 0x0018
#define LSb32PIPE_DSI_tear_sftrst 8
#define LSb16PIPE_DSI_tear_sftrst 8
#define bPIPE_DSI_tear_sftrst 1
#define MSK32PIPE_DSI_tear_sftrst 0x00000100
///////////////////////////////////////////////////////////
#define RA_PIPE_DPHY 0x001C
#define BA_PIPE_DPHY_turn_disable_lane0 0x001C
#define B16PIPE_DPHY_turn_disable_lane0 0x001C
#define LSb32PIPE_DPHY_turn_disable_lane0 0
#define LSb16PIPE_DPHY_turn_disable_lane0 0
#define bPIPE_DPHY_turn_disable_lane0 1
#define MSK32PIPE_DPHY_turn_disable_lane0 0x00000001
#define BA_PIPE_DPHY_ftxstopmode_lane0 0x001C
#define B16PIPE_DPHY_ftxstopmode_lane0 0x001C
#define LSb32PIPE_DPHY_ftxstopmode_lane0 1
#define LSb16PIPE_DPHY_ftxstopmode_lane0 1
#define bPIPE_DPHY_ftxstopmode_lane0 1
#define MSK32PIPE_DPHY_ftxstopmode_lane0 0x00000002
#define BA_PIPE_DPHY_forcerxmode_lane0 0x001C
#define B16PIPE_DPHY_forcerxmode_lane0 0x001C
#define LSb32PIPE_DPHY_forcerxmode_lane0 2
#define LSb16PIPE_DPHY_forcerxmode_lane0 2
#define bPIPE_DPHY_forcerxmode_lane0 1
#define MSK32PIPE_DPHY_forcerxmode_lane0 0x00000004
#define BA_PIPE_DPHY_csr_cfgrstn 0x001C
#define B16PIPE_DPHY_csr_cfgrstn 0x001C
#define LSb32PIPE_DPHY_csr_cfgrstn 3
#define LSb16PIPE_DPHY_csr_cfgrstn 3
#define bPIPE_DPHY_csr_cfgrstn 1
#define MSK32PIPE_DPHY_csr_cfgrstn 0x00000008
///////////////////////////////////////////////////////////
#define RA_PIPE_INVSCAN 0x0020
#define BA_PIPE_INVSCAN_bitmap128_Rd0_en 0x0020
#define B16PIPE_INVSCAN_bitmap128_Rd0_en 0x0020
#define LSb32PIPE_INVSCAN_bitmap128_Rd0_en 0
#define LSb16PIPE_INVSCAN_bitmap128_Rd0_en 0
#define bPIPE_INVSCAN_bitmap128_Rd0_en 1
#define MSK32PIPE_INVSCAN_bitmap128_Rd0_en 0x00000001
#define BA_PIPE_INVSCAN_bitmap128_Rd1_en 0x0020
#define B16PIPE_INVSCAN_bitmap128_Rd1_en 0x0020
#define LSb32PIPE_INVSCAN_bitmap128_Rd1_en 1
#define LSb16PIPE_INVSCAN_bitmap128_Rd1_en 1
#define bPIPE_INVSCAN_bitmap128_Rd1_en 1
#define MSK32PIPE_INVSCAN_bitmap128_Rd1_en 0x00000002
///////////////////////////////////////////////////////////
#define RA_PIPE_STATUS 0x0024
#define BA_PIPE_STATUS_vcnt 0x0024
#define B16PIPE_STATUS_vcnt 0x0024
#define LSb32PIPE_STATUS_vcnt 0
#define LSb16PIPE_STATUS_vcnt 0
#define bPIPE_STATUS_vcnt 16
#define MSK32PIPE_STATUS_vcnt 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_PIPE_TG 0x0028
///////////////////////////////////////////////////////////
#define RA_PIPE_BITMAP40 0x00DC
///////////////////////////////////////////////////////////
#define RA_PIPE_RdClient0 0x00FC
///////////////////////////////////////////////////////////
#define RA_PIPE_RdClient1 0x010C
///////////////////////////////////////////////////////////
typedef struct SIE_PIPE {
///////////////////////////////////////////////////////////
#define GET32PIPE_CTRL0_tg_start(r32) _BFGET_(r32, 0, 0)
#define SET32PIPE_CTRL0_tg_start(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16PIPE_CTRL0_tg_start(r16) _BFGET_(r16, 0, 0)
#define SET16PIPE_CTRL0_tg_start(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32PIPE_CTRL0_tg_clear(r32) _BFGET_(r32, 1, 1)
#define SET32PIPE_CTRL0_tg_clear(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16PIPE_CTRL0_tg_clear(r16) _BFGET_(r16, 1, 1)
#define SET16PIPE_CTRL0_tg_clear(r16,v) _BFSET_(r16, 1, 1,v)
#define w32PIPE_CTRL0 {\
UNSG32 uCTRL0_tg_start : 1;\
UNSG32 uCTRL0_tg_clear : 1;\
UNSG32 RSVDx0_b2 : 30;\
}
union { UNSG32 u32PIPE_CTRL0;
struct w32PIPE_CTRL0;
};
///////////////////////////////////////////////////////////
#define GET32PIPE_CTRL1_clken_ctrl0(r32) _BFGET_(r32, 0, 0)
#define SET32PIPE_CTRL1_clken_ctrl0(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16PIPE_CTRL1_clken_ctrl0(r16) _BFGET_(r16, 0, 0)
#define SET16PIPE_CTRL1_clken_ctrl0(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32PIPE_CTRL1_clken_ctrl1(r32) _BFGET_(r32, 1, 1)
#define SET32PIPE_CTRL1_clken_ctrl1(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16PIPE_CTRL1_clken_ctrl1(r16) _BFGET_(r16, 1, 1)
#define SET16PIPE_CTRL1_clken_ctrl1(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32PIPE_CTRL1_clken_ctrl2(r32) _BFGET_(r32, 2, 2)
#define SET32PIPE_CTRL1_clken_ctrl2(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16PIPE_CTRL1_clken_ctrl2(r16) _BFGET_(r16, 2, 2)
#define SET16PIPE_CTRL1_clken_ctrl2(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32PIPE_CTRL1_clken_ctrl3(r32) _BFGET_(r32, 3, 3)
#define SET32PIPE_CTRL1_clken_ctrl3(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16PIPE_CTRL1_clken_ctrl3(r16) _BFGET_(r16, 3, 3)
#define SET16PIPE_CTRL1_clken_ctrl3(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32PIPE_CTRL1_clken_ctrl4(r32) _BFGET_(r32, 4, 4)
#define SET32PIPE_CTRL1_clken_ctrl4(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16PIPE_CTRL1_clken_ctrl4(r16) _BFGET_(r16, 4, 4)
#define SET16PIPE_CTRL1_clken_ctrl4(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32PIPE_CTRL1_bitMap_en(r32) _BFGET_(r32, 5, 5)
#define SET32PIPE_CTRL1_bitMap_en(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16PIPE_CTRL1_bitMap_en(r16) _BFGET_(r16, 5, 5)
#define SET16PIPE_CTRL1_bitMap_en(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32PIPE_CTRL1_crop_de_en(r32) _BFGET_(r32, 6, 6)
#define SET32PIPE_CTRL1_crop_de_en(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16PIPE_CTRL1_crop_de_en(r16) _BFGET_(r16, 6, 6)
#define SET16PIPE_CTRL1_crop_de_en(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32PIPE_CTRL1_crop_de2_en(r32) _BFGET_(r32, 7, 7)
#define SET32PIPE_CTRL1_crop_de2_en(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16PIPE_CTRL1_crop_de2_en(r16) _BFGET_(r16, 7, 7)
#define SET16PIPE_CTRL1_crop_de2_en(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32PIPE_CTRL1_rdsel_422SP(r32) _BFGET_(r32, 8, 8)
#define SET32PIPE_CTRL1_rdsel_422SP(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16PIPE_CTRL1_rdsel_422SP(r16) _BFGET_(r16, 8, 8)
#define SET16PIPE_CTRL1_rdsel_422SP(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32PIPE_CTRL1_rdsel_420SP(r32) _BFGET_(r32, 9, 9)
#define SET32PIPE_CTRL1_rdsel_420SP(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16PIPE_CTRL1_rdsel_420SP(r16) _BFGET_(r16, 9, 9)
#define SET16PIPE_CTRL1_rdsel_420SP(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32PIPE_CTRL1_yuv420sp_2p1c(r32) _BFGET_(r32,10,10)
#define SET32PIPE_CTRL1_yuv420sp_2p1c(r32,v) _BFSET_(r32,10,10,v)
#define GET16PIPE_CTRL1_yuv420sp_2p1c(r16) _BFGET_(r16,10,10)
#define SET16PIPE_CTRL1_yuv420sp_2p1c(r16,v) _BFSET_(r16,10,10,v)
#define GET32PIPE_CTRL1_eof_frst_mask(r32) _BFGET_(r32,11,11)
#define SET32PIPE_CTRL1_eof_frst_mask(r32,v) _BFSET_(r32,11,11,v)
#define GET16PIPE_CTRL1_eof_frst_mask(r16) _BFGET_(r16,11,11)
#define SET16PIPE_CTRL1_eof_frst_mask(r16,v) _BFSET_(r16,11,11,v)
#define GET32PIPE_CTRL1_eof_frst_sel(r32) _BFGET_(r32,12,12)
#define SET32PIPE_CTRL1_eof_frst_sel(r32,v) _BFSET_(r32,12,12,v)
#define GET16PIPE_CTRL1_eof_frst_sel(r16) _BFGET_(r16,12,12)
#define SET16PIPE_CTRL1_eof_frst_sel(r16,v) _BFSET_(r16,12,12,v)
#define w32PIPE_CTRL1 {\
UNSG32 uCTRL1_clken_ctrl0 : 1;\
UNSG32 uCTRL1_clken_ctrl1 : 1;\
UNSG32 uCTRL1_clken_ctrl2 : 1;\
UNSG32 uCTRL1_clken_ctrl3 : 1;\
UNSG32 uCTRL1_clken_ctrl4 : 1;\
UNSG32 uCTRL1_bitMap_en : 1;\
UNSG32 uCTRL1_crop_de_en : 1;\
UNSG32 uCTRL1_crop_de2_en : 1;\
UNSG32 uCTRL1_rdsel_422SP : 1;\
UNSG32 uCTRL1_rdsel_420SP : 1;\
UNSG32 uCTRL1_yuv420sp_2p1c : 1;\
UNSG32 uCTRL1_eof_frst_mask : 1;\
UNSG32 uCTRL1_eof_frst_sel : 1;\
UNSG32 RSVDx4_b13 : 19;\
}
union { UNSG32 u32PIPE_CTRL1;
struct w32PIPE_CTRL1;
};
///////////////////////////////////////////////////////////
#define GET32PIPE_CTRL2_clken_rdcli0uf_all(r32) _BFGET_(r32, 0, 0)
#define SET32PIPE_CTRL2_clken_rdcli0uf_all(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16PIPE_CTRL2_clken_rdcli0uf_all(r16) _BFGET_(r16, 0, 0)
#define SET16PIPE_CTRL2_clken_rdcli0uf_all(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32PIPE_CTRL2_clken_rdcli1uf_all(r32) _BFGET_(r32, 1, 1)
#define SET32PIPE_CTRL2_clken_rdcli1uf_all(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16PIPE_CTRL2_clken_rdcli1uf_all(r16) _BFGET_(r16, 1, 1)
#define SET16PIPE_CTRL2_clken_rdcli1uf_all(r16,v) _BFSET_(r16, 1, 1,v)
#define w32PIPE_CTRL2 {\
UNSG32 uCTRL2_clken_rdcli0uf_all : 1;\
UNSG32 uCTRL2_clken_rdcli1uf_all : 1;\
UNSG32 RSVDx8_b2 : 30;\
}
union { UNSG32 u32PIPE_CTRL2;
struct w32PIPE_CTRL2;
};
///////////////////////////////////////////////////////////
#define GET32PIPE_MTG_cfg_rst(r32) _BFGET_(r32, 0, 0)
#define SET32PIPE_MTG_cfg_rst(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16PIPE_MTG_cfg_rst(r16) _BFGET_(r16, 0, 0)
#define SET16PIPE_MTG_cfg_rst(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32PIPE_MTG_hcnt_rstval(r32) _BFGET_(r32,13, 1)
#define SET32PIPE_MTG_hcnt_rstval(r32,v) _BFSET_(r32,13, 1,v)
#define GET16PIPE_MTG_hcnt_rstval(r16) _BFGET_(r16,13, 1)
#define SET16PIPE_MTG_hcnt_rstval(r16,v) _BFSET_(r16,13, 1,v)
#define GET32PIPE_MTG_vcnt_rstval(r32) _BFGET_(r32,25,14)
#define SET32PIPE_MTG_vcnt_rstval(r32,v) _BFSET_(r32,25,14,v)
#define GET32PIPE_MTG_prog_line_dly(r32) _BFGET_(r32,27,26)
#define SET32PIPE_MTG_prog_line_dly(r32,v) _BFSET_(r32,27,26,v)
#define GET16PIPE_MTG_prog_line_dly(r16) _BFGET_(r16,11,10)
#define SET16PIPE_MTG_prog_line_dly(r16,v) _BFSET_(r16,11,10,v)
#define w32PIPE_MTG {\
UNSG32 uMTG_cfg_rst : 1;\
UNSG32 uMTG_hcnt_rstval : 13;\
UNSG32 uMTG_vcnt_rstval : 12;\
UNSG32 uMTG_prog_line_dly : 2;\
UNSG32 RSVDxC_b28 : 4;\
}
union { UNSG32 u32PIPE_MTG;
struct w32PIPE_MTG;
};
///////////////////////////////////////////////////////////
#define GET32PIPE_CTRL_idata_ctrl(r32) _BFGET_(r32, 2, 0)
#define SET32PIPE_CTRL_idata_ctrl(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16PIPE_CTRL_idata_ctrl(r16) _BFGET_(r16, 2, 0)
#define SET16PIPE_CTRL_idata_ctrl(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32PIPE_CTRL_sp_dwa_10b_normal_mode(r32) _BFGET_(r32, 3, 3)
#define SET32PIPE_CTRL_sp_dwa_10b_normal_mode(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16PIPE_CTRL_sp_dwa_10b_normal_mode(r16) _BFGET_(r16, 3, 3)
#define SET16PIPE_CTRL_sp_dwa_10b_normal_mode(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32PIPE_CTRL_sp_dwa_10b_inverse_mode(r32) _BFGET_(r32, 4, 4)
#define SET32PIPE_CTRL_sp_dwa_10b_inverse_mode(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16PIPE_CTRL_sp_dwa_10b_inverse_mode(r16) _BFGET_(r16, 4, 4)
#define SET16PIPE_CTRL_sp_dwa_10b_inverse_mode(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32PIPE_CTRL_cswap(r32) _BFGET_(r32, 5, 5)
#define SET32PIPE_CTRL_cswap(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16PIPE_CTRL_cswap(r16) _BFGET_(r16, 5, 5)
#define SET16PIPE_CTRL_cswap(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32PIPE_CTRL_rdmain_initval0(r32) _BFGET_(r32, 6, 6)
#define SET32PIPE_CTRL_rdmain_initval0(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16PIPE_CTRL_rdmain_initval0(r16) _BFGET_(r16, 6, 6)
#define SET16PIPE_CTRL_rdmain_initval0(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32PIPE_CTRL_rdmain_initval1(r32) _BFGET_(r32, 7, 7)
#define SET32PIPE_CTRL_rdmain_initval1(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16PIPE_CTRL_rdmain_initval1(r16) _BFGET_(r16, 7, 7)
#define SET16PIPE_CTRL_rdmain_initval1(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32PIPE_CTRL_rd_mask_sftrst(r32) _BFGET_(r32, 8, 8)
#define SET32PIPE_CTRL_rd_mask_sftrst(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16PIPE_CTRL_rd_mask_sftrst(r16) _BFGET_(r16, 8, 8)
#define SET16PIPE_CTRL_rd_mask_sftrst(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32PIPE_CTRL_yc_rdmask_sftrst(r32) _BFGET_(r32, 9, 9)
#define SET32PIPE_CTRL_yc_rdmask_sftrst(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16PIPE_CTRL_yc_rdmask_sftrst(r16) _BFGET_(r16, 9, 9)
#define SET16PIPE_CTRL_yc_rdmask_sftrst(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32PIPE_CTRL_bitmap40_bypass(r32) _BFGET_(r32,10,10)
#define SET32PIPE_CTRL_bitmap40_bypass(r32,v) _BFSET_(r32,10,10,v)
#define GET16PIPE_CTRL_bitmap40_bypass(r16) _BFGET_(r16,10,10)
#define SET16PIPE_CTRL_bitmap40_bypass(r16,v) _BFSET_(r16,10,10,v)
#define GET32PIPE_CTRL_dpidataen_pol(r32) _BFGET_(r32,11,11)
#define SET32PIPE_CTRL_dpidataen_pol(r32,v) _BFSET_(r32,11,11,v)
#define GET16PIPE_CTRL_dpidataen_pol(r16) _BFGET_(r16,11,11)
#define SET16PIPE_CTRL_dpidataen_pol(r16,v) _BFSET_(r16,11,11,v)
#define GET32PIPE_CTRL_dpivsync_pol(r32) _BFGET_(r32,12,12)
#define SET32PIPE_CTRL_dpivsync_pol(r32,v) _BFSET_(r32,12,12,v)
#define GET16PIPE_CTRL_dpivsync_pol(r16) _BFGET_(r16,12,12)
#define SET16PIPE_CTRL_dpivsync_pol(r16,v) _BFSET_(r16,12,12,v)
#define GET32PIPE_CTRL_dpihsync_pol(r32) _BFGET_(r32,13,13)
#define SET32PIPE_CTRL_dpihsync_pol(r32,v) _BFSET_(r32,13,13,v)
#define GET16PIPE_CTRL_dpihsync_pol(r16) _BFGET_(r16,13,13)
#define SET16PIPE_CTRL_dpihsync_pol(r16,v) _BFSET_(r16,13,13,v)
#define GET32PIPE_CTRL_dpishutd_pol(r32) _BFGET_(r32,14,14)
#define SET32PIPE_CTRL_dpishutd_pol(r32,v) _BFSET_(r32,14,14,v)
#define GET16PIPE_CTRL_dpishutd_pol(r16) _BFGET_(r16,14,14)
#define SET16PIPE_CTRL_dpishutd_pol(r16,v) _BFSET_(r16,14,14,v)
#define GET32PIPE_CTRL_dpicolorm_pol(r32) _BFGET_(r32,15,15)
#define SET32PIPE_CTRL_dpicolorm_pol(r32,v) _BFSET_(r32,15,15,v)
#define GET16PIPE_CTRL_dpicolorm_pol(r16) _BFGET_(r16,15,15)
#define SET16PIPE_CTRL_dpicolorm_pol(r16,v) _BFSET_(r16,15,15,v)
#define w32PIPE_CTRL {\
UNSG32 uCTRL_idata_ctrl : 3;\
UNSG32 uCTRL_sp_dwa_10b_normal_mode : 1;\
UNSG32 uCTRL_sp_dwa_10b_inverse_mode : 1;\
UNSG32 uCTRL_cswap : 1;\
UNSG32 uCTRL_rdmain_initval0 : 1;\
UNSG32 uCTRL_rdmain_initval1 : 1;\
UNSG32 uCTRL_rd_mask_sftrst : 1;\
UNSG32 uCTRL_yc_rdmask_sftrst : 1;\
UNSG32 uCTRL_bitmap40_bypass : 1;\
UNSG32 uCTRL_dpidataen_pol : 1;\
UNSG32 uCTRL_dpivsync_pol : 1;\
UNSG32 uCTRL_dpihsync_pol : 1;\
UNSG32 uCTRL_dpishutd_pol : 1;\
UNSG32 uCTRL_dpicolorm_pol : 1;\
UNSG32 RSVDx10_b16 : 16;\
}
union { UNSG32 u32PIPE_CTRL;
struct w32PIPE_CTRL;
};
///////////////////////////////////////////////////////////
#define GET32PIPE_UFSTATUS_rdcli0_uf(r32) _BFGET_(r32, 0, 0)
#define SET32PIPE_UFSTATUS_rdcli0_uf(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16PIPE_UFSTATUS_rdcli0_uf(r16) _BFGET_(r16, 0, 0)
#define SET16PIPE_UFSTATUS_rdcli0_uf(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32PIPE_UFSTATUS_rdcli1_uf(r32) _BFGET_(r32, 1, 1)
#define SET32PIPE_UFSTATUS_rdcli1_uf(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16PIPE_UFSTATUS_rdcli1_uf(r16) _BFGET_(r16, 1, 1)
#define SET16PIPE_UFSTATUS_rdcli1_uf(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32PIPE_UFSTATUS_dpite(r32) _BFGET_(r32, 2, 2)
#define SET32PIPE_UFSTATUS_dpite(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16PIPE_UFSTATUS_dpite(r16) _BFGET_(r16, 2, 2)
#define SET16PIPE_UFSTATUS_dpite(r16,v) _BFSET_(r16, 2, 2,v)
#define w32PIPE_UFSTATUS {\
UNSG32 uUFSTATUS_rdcli0_uf : 1;\
UNSG32 uUFSTATUS_rdcli1_uf : 1;\
UNSG32 uUFSTATUS_dpite : 1;\
UNSG32 RSVDx14_b3 : 29;\
}
union { UNSG32 u32PIPE_UFSTATUS;
struct w32PIPE_UFSTATUS;
};
///////////////////////////////////////////////////////////
#define GET32PIPE_DSI_colormode(r32) _BFGET_(r32, 0, 0)
#define SET32PIPE_DSI_colormode(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16PIPE_DSI_colormode(r16) _BFGET_(r16, 0, 0)
#define SET16PIPE_DSI_colormode(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32PIPE_DSI_shutdn(r32) _BFGET_(r32, 1, 1)
#define SET32PIPE_DSI_shutdn(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16PIPE_DSI_shutdn(r16) _BFGET_(r16, 1, 1)
#define SET16PIPE_DSI_shutdn(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32PIPE_DSI_hw_updatecfg_on(r32) _BFGET_(r32, 2, 2)
#define SET32PIPE_DSI_hw_updatecfg_on(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16PIPE_DSI_hw_updatecfg_on(r16) _BFGET_(r16, 2, 2)
#define SET16PIPE_DSI_hw_updatecfg_on(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32PIPE_DSI_hw_tear_effect_on(r32) _BFGET_(r32, 3, 3)
#define SET32PIPE_DSI_hw_tear_effect_on(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16PIPE_DSI_hw_tear_effect_on(r16) _BFGET_(r16, 3, 3)
#define SET16PIPE_DSI_hw_tear_effect_on(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32PIPE_DSI_force_pll_on(r32) _BFGET_(r32, 4, 4)
#define SET32PIPE_DSI_force_pll_on(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16PIPE_DSI_force_pll_on(r16) _BFGET_(r16, 4, 4)
#define SET16PIPE_DSI_force_pll_on(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32PIPE_DSI_tear_request_pulse(r32) _BFGET_(r32, 5, 5)
#define SET32PIPE_DSI_tear_request_pulse(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16PIPE_DSI_tear_request_pulse(r16) _BFGET_(r16, 5, 5)
#define SET16PIPE_DSI_tear_request_pulse(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32PIPE_DSI_updatecfg_pulse(r32) _BFGET_(r32, 6, 6)
#define SET32PIPE_DSI_updatecfg_pulse(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16PIPE_DSI_updatecfg_pulse(r16) _BFGET_(r16, 6, 6)
#define SET16PIPE_DSI_updatecfg_pulse(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32PIPE_DSI_edpi_mode(r32) _BFGET_(r32, 7, 7)
#define SET32PIPE_DSI_edpi_mode(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16PIPE_DSI_edpi_mode(r16) _BFGET_(r16, 7, 7)
#define SET16PIPE_DSI_edpi_mode(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32PIPE_DSI_tear_sftrst(r32) _BFGET_(r32, 8, 8)
#define SET32PIPE_DSI_tear_sftrst(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16PIPE_DSI_tear_sftrst(r16) _BFGET_(r16, 8, 8)
#define SET16PIPE_DSI_tear_sftrst(r16,v) _BFSET_(r16, 8, 8,v)
#define w32PIPE_DSI {\
UNSG32 uDSI_colormode : 1;\
UNSG32 uDSI_shutdn : 1;\
UNSG32 uDSI_hw_updatecfg_on : 1;\
UNSG32 uDSI_hw_tear_effect_on : 1;\
UNSG32 uDSI_force_pll_on : 1;\
UNSG32 uDSI_tear_request_pulse : 1;\
UNSG32 uDSI_updatecfg_pulse : 1;\
UNSG32 uDSI_edpi_mode : 1;\
UNSG32 uDSI_tear_sftrst : 1;\
UNSG32 RSVDx18_b9 : 23;\
}
union { UNSG32 u32PIPE_DSI;
struct w32PIPE_DSI;
};
///////////////////////////////////////////////////////////
#define GET32PIPE_DPHY_turn_disable_lane0(r32) _BFGET_(r32, 0, 0)
#define SET32PIPE_DPHY_turn_disable_lane0(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16PIPE_DPHY_turn_disable_lane0(r16) _BFGET_(r16, 0, 0)
#define SET16PIPE_DPHY_turn_disable_lane0(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32PIPE_DPHY_ftxstopmode_lane0(r32) _BFGET_(r32, 1, 1)
#define SET32PIPE_DPHY_ftxstopmode_lane0(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16PIPE_DPHY_ftxstopmode_lane0(r16) _BFGET_(r16, 1, 1)
#define SET16PIPE_DPHY_ftxstopmode_lane0(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32PIPE_DPHY_forcerxmode_lane0(r32) _BFGET_(r32, 2, 2)
#define SET32PIPE_DPHY_forcerxmode_lane0(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16PIPE_DPHY_forcerxmode_lane0(r16) _BFGET_(r16, 2, 2)
#define SET16PIPE_DPHY_forcerxmode_lane0(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32PIPE_DPHY_csr_cfgrstn(r32) _BFGET_(r32, 3, 3)
#define SET32PIPE_DPHY_csr_cfgrstn(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16PIPE_DPHY_csr_cfgrstn(r16) _BFGET_(r16, 3, 3)
#define SET16PIPE_DPHY_csr_cfgrstn(r16,v) _BFSET_(r16, 3, 3,v)
#define w32PIPE_DPHY {\
UNSG32 uDPHY_turn_disable_lane0 : 1;\
UNSG32 uDPHY_ftxstopmode_lane0 : 1;\
UNSG32 uDPHY_forcerxmode_lane0 : 1;\
UNSG32 uDPHY_csr_cfgrstn : 1;\
UNSG32 RSVDx1C_b4 : 28;\
}
union { UNSG32 u32PIPE_DPHY;
struct w32PIPE_DPHY;
};
///////////////////////////////////////////////////////////
#define GET32PIPE_INVSCAN_bitmap128_Rd0_en(r32) _BFGET_(r32, 0, 0)
#define SET32PIPE_INVSCAN_bitmap128_Rd0_en(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16PIPE_INVSCAN_bitmap128_Rd0_en(r16) _BFGET_(r16, 0, 0)
#define SET16PIPE_INVSCAN_bitmap128_Rd0_en(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32PIPE_INVSCAN_bitmap128_Rd1_en(r32) _BFGET_(r32, 1, 1)
#define SET32PIPE_INVSCAN_bitmap128_Rd1_en(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16PIPE_INVSCAN_bitmap128_Rd1_en(r16) _BFGET_(r16, 1, 1)
#define SET16PIPE_INVSCAN_bitmap128_Rd1_en(r16,v) _BFSET_(r16, 1, 1,v)
#define w32PIPE_INVSCAN {\
UNSG32 uINVSCAN_bitmap128_Rd0_en : 1;\
UNSG32 uINVSCAN_bitmap128_Rd1_en : 1;\
UNSG32 RSVDx20_b2 : 30;\
}
union { UNSG32 u32PIPE_INVSCAN;
struct w32PIPE_INVSCAN;
};
///////////////////////////////////////////////////////////
#define GET32PIPE_STATUS_vcnt(r32) _BFGET_(r32,15, 0)
#define SET32PIPE_STATUS_vcnt(r32,v) _BFSET_(r32,15, 0,v)
#define GET16PIPE_STATUS_vcnt(r16) _BFGET_(r16,15, 0)
#define SET16PIPE_STATUS_vcnt(r16,v) _BFSET_(r16,15, 0,v)
#define w32PIPE_STATUS {\
UNSG32 uSTATUS_vcnt : 16;\
UNSG32 RSVDx24_b16 : 16;\
}
union { UNSG32 u32PIPE_STATUS;
struct w32PIPE_STATUS;
};
///////////////////////////////////////////////////////////
SIE_BETG ie_TG;
///////////////////////////////////////////////////////////
SIE_BITMAP40 ie_BITMAP40;
///////////////////////////////////////////////////////////
SIE_ReadClient ie_RdClient0;
///////////////////////////////////////////////////////////
SIE_ReadClient ie_RdClient1;
///////////////////////////////////////////////////////////
} SIE_PIPE;
typedef union T32PIPE_CTRL0
{ UNSG32 u32;
struct w32PIPE_CTRL0;
} T32PIPE_CTRL0;
typedef union T32PIPE_CTRL1
{ UNSG32 u32;
struct w32PIPE_CTRL1;
} T32PIPE_CTRL1;
typedef union T32PIPE_CTRL2
{ UNSG32 u32;
struct w32PIPE_CTRL2;
} T32PIPE_CTRL2;
typedef union T32PIPE_MTG
{ UNSG32 u32;
struct w32PIPE_MTG;
} T32PIPE_MTG;
typedef union T32PIPE_CTRL
{ UNSG32 u32;
struct w32PIPE_CTRL;
} T32PIPE_CTRL;
typedef union T32PIPE_UFSTATUS
{ UNSG32 u32;
struct w32PIPE_UFSTATUS;
} T32PIPE_UFSTATUS;
typedef union T32PIPE_DSI
{ UNSG32 u32;
struct w32PIPE_DSI;
} T32PIPE_DSI;
typedef union T32PIPE_DPHY
{ UNSG32 u32;
struct w32PIPE_DPHY;
} T32PIPE_DPHY;
typedef union T32PIPE_INVSCAN
{ UNSG32 u32;
struct w32PIPE_INVSCAN;
} T32PIPE_INVSCAN;
typedef union T32PIPE_STATUS
{ UNSG32 u32;
struct w32PIPE_STATUS;
} T32PIPE_STATUS;
///////////////////////////////////////////////////////////
typedef union TPIPE_CTRL0
{ UNSG32 u32[1];
struct {
struct w32PIPE_CTRL0;
};
} TPIPE_CTRL0;
typedef union TPIPE_CTRL1
{ UNSG32 u32[1];
struct {
struct w32PIPE_CTRL1;
};
} TPIPE_CTRL1;
typedef union TPIPE_CTRL2
{ UNSG32 u32[1];
struct {
struct w32PIPE_CTRL2;
};
} TPIPE_CTRL2;
typedef union TPIPE_MTG
{ UNSG32 u32[1];
struct {
struct w32PIPE_MTG;
};
} TPIPE_MTG;
typedef union TPIPE_CTRL
{ UNSG32 u32[1];
struct {
struct w32PIPE_CTRL;
};
} TPIPE_CTRL;
typedef union TPIPE_UFSTATUS
{ UNSG32 u32[1];
struct {
struct w32PIPE_UFSTATUS;
};
} TPIPE_UFSTATUS;
typedef union TPIPE_DSI
{ UNSG32 u32[1];
struct {
struct w32PIPE_DSI;
};
} TPIPE_DSI;
typedef union TPIPE_DPHY
{ UNSG32 u32[1];
struct {
struct w32PIPE_DPHY;
};
} TPIPE_DPHY;
typedef union TPIPE_INVSCAN
{ UNSG32 u32[1];
struct {
struct w32PIPE_INVSCAN;
};
} TPIPE_INVSCAN;
typedef union TPIPE_STATUS
{ UNSG32 u32[1];
struct {
struct w32PIPE_STATUS;
};
} TPIPE_STATUS;
///////////////////////////////////////////////////////////
SIGN32 PIPE_drvrd(SIE_PIPE *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 PIPE_drvwr(SIE_PIPE *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void PIPE_reset(SIE_PIPE *p);
SIGN32 PIPE_cmp (SIE_PIPE *p, SIE_PIPE *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define PIPE_check(p,pie,pfx,hLOG) PIPE_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define PIPE_print(p, pfx,hLOG) PIPE_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: PIPE
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE MIPI biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 PIPE
/// $PIPE PIPE REG
/// ###
/// * Register specifications for MIPI pipe processing
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 284B, bits: 1537b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_MIPI
#define h_MIPI (){}
#define RA_MIPI_PIPE 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_MIPI {
///////////////////////////////////////////////////////////
SIE_PIPE ie_PIPE;
///////////////////////////////////////////////////////////
} SIE_MIPI;
///////////////////////////////////////////////////////////
SIGN32 MIPI_drvrd(SIE_MIPI *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 MIPI_drvwr(SIE_MIPI *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void MIPI_reset(SIE_MIPI *p);
SIGN32 MIPI_cmp (SIE_MIPI *p, SIE_MIPI *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define MIPI_check(p,pie,pfx,hLOG) MIPI_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define MIPI_print(p, pfx,hLOG) MIPI_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: MIPI
////////////////////////////////////////////////////////////
#ifdef __cplusplus
}
#endif
#pragma pack()
#endif
//////
/// ENDOFFILE: mipiPipeCore.h
////////////////////////////////////////////////////////////