blob: 872d0fae071a5ac38387f033852a9e8ce75dc1be [file] [log] [blame]
/********************************************************************************
* Marvell GPL License Option
*
* If you received this File from Marvell, you may opt to use, redistribute and/or
* modify this File in accordance with the terms and conditions of the General
* Public License Version 2, June 1991 (the "GPL License"), a copy of which is
* available along with the File in the license.txt file or by writing to the Free
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
* on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
*
* THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
* WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
* DISCLAIMED. The GPL License provides additional details about this warranty
* disclaimer.
******************************************************************************/
//////
/// don't edit! auto-generated by docc: tsp.h
////////////////////////////////////////////////////////////
#ifndef tsp_h
#define tsp_h (){}
#include "ctypes.h"
#pragma pack(1)
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _DOCC_H_BITOPS_
#define _DOCC_H_BITOPS_ (){}
#define _bSETMASK_(b) ((b)<32 ? (1<<((b)&31)) : 0)
#define _NSETMASK_(msb,lsb) (_bSETMASK_((msb)+1)-_bSETMASK_(lsb))
#define _bCLRMASK_(b) (~_bSETMASK_(b))
#define _NCLRMASK_(msb,lsb) (~_NSETMASK_(msb,lsb))
#define _BFGET_(r,msb,lsb) (_NSETMASK_((msb)-(lsb),0)&((r)>>(lsb)))
#define _BFSET_(r,msb,lsb,v) do{ (r)&=_NCLRMASK_(msb,lsb); (r)|=_NSETMASK_(msb,lsb)&((v)<<(lsb)); }while(0)
#endif
//////
///
/// $INTERFACE TSP_HBO_FIFO_ID (4,4)
/// ###
/// * FIFO name
/// * FIFO ID
/// * Direction
/// * Consumer/
/// * Producer
/// * description
/// ###
/// # # ----------------------------------------------------------
/// : DS_CMD 0x0
/// ###
/// * From DTCM
/// * Data streamer
/// * Used by data streamer to load commands from DTCM
/// ###
/// : TSI0_PKT 0x1
/// ###
/// * To DTCM
/// * TSI0
/// * Used by TSI0 to save TS packets into DTCM
/// ###
/// : TSI1_PKT 0x2
/// ###
/// * To DTCM
/// * TSI1
/// * Used by TSI1 to save TS packets into DTCM
/// ###
/// : TSI2_PKT 0x3
/// ###
/// * To DTCM
/// * TSI2
/// * Used by TSI2 to save TS packets into DTCM
/// ###
/// : TSI3_PKT 0x4
/// ###
/// * To DTCM
/// * TSI3
/// * Used by TSI3 to save TS packets into DTCM
/// ###
/// : TSI4_PKT 0x5
/// ###
/// * To DTCM
/// * TSI4
/// * Used by TSI4 to save TS packets into DTCM
/// ###
/// : TSO0_PKT 0x6
/// ###
/// * From DTCM
/// * TSO0
/// * Used by TSO0 to load TS packets from DTCM
/// ###
/// : TSO1_PKT 0x7
/// ###
/// * From DTCM
/// * TSO1
/// * Used by TSO1 to load TS packets from DTCM
/// ###
/// : SF_INPUT 0x8
/// ###
/// * From DTCM
/// * Section filter
/// * Used by data section filter to load input data from DTCM
/// ###
/// : SF_OUTPUT 0x9
/// ###
/// * To DTCM
/// * Section filter
/// * Used by data section filter to save output data into DTCM
/// ###
/// : CRYPTO_CMD 0xA
/// ###
/// * From DTCM
/// * Crypto engine
/// * Used by crypto engine to load commands queue 0 from DTCM
/// ###
/// : CRYPTO_CMD_1 0xB
/// ###
/// * From DTCM
/// * Crypto engine
/// * Used by crypto engine to load commands queue 1 from DTCM
/// ###
/// : CRYPTO_CMD_2 0xC
/// ###
/// * From DTCM
/// * Crypto engine
/// * Used by crypto engine to load commands queue 2 from DTCM
/// ###
/// : TSI5_PKT 0xD
/// ###
/// * To DTCM
/// * TSI5
/// * Used by TSI5 to save TS packets into DTCM
/// ###
/// : TSI6_PKT 0xE
/// ###
/// * To DTCM
/// * TSI6
/// * Used by TSI6 to save TS packets into DTCM
/// ###
/// : TSI7_PKT 0xF
/// ###
/// * To DTCM
/// * TSI7
/// * Used by TSI7 to save TS packets into DTCM
/// ###
/// : TSI8_PKT 0x10
/// ###
/// * To DTCM
/// * TSI8
/// * Used by TSI8 to save TS packets into DTCM
/// ###
/// : SWD_CMD 0x11
/// ###
/// * From DTCM
/// * Sync Word Detection
/// * Used by sync word detection to load command from DTCM
/// ###
/// : SWD_RETURN 0x12
/// ###
/// * To DTCM
/// * Sync Word Detection
/// * Used by sync word detection to write return data into DTCM
/// ###
/// : TSI9_PKT 0x13
/// ###
/// * To DTCM
/// * TSI9
/// * Used by TSI8 to save TS packets into DTCM
/// ###
/// : TSI10_PKT 0x14
/// ###
/// * To DTCM
/// * TSI10
/// * Used by TSI8 to save TS packets into DTCM
/// ###
/// : TSI11_PKT 0x15
/// ###
/// * To DTCM
/// * TSI11
/// * Used by TSI8 to save TS packets into DTCM
/// ###
/// : TSI12_PKT 0x16
/// ###
/// * To DTCM
/// * TSI12
/// * Used by TSI8 to save TS packets into DTCM
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 0B, bits: 0b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TSP_HBO_FIFO_ID
#define h_TSP_HBO_FIFO_ID (){}
#define TSP_HBO_FIFO_ID_DS_CMD 0x0
#define TSP_HBO_FIFO_ID_TSI0_PKT 0x1
#define TSP_HBO_FIFO_ID_TSI1_PKT 0x2
#define TSP_HBO_FIFO_ID_TSI2_PKT 0x3
#define TSP_HBO_FIFO_ID_TSI3_PKT 0x4
#define TSP_HBO_FIFO_ID_TSI4_PKT 0x5
#define TSP_HBO_FIFO_ID_TSO0_PKT 0x6
#define TSP_HBO_FIFO_ID_TSO1_PKT 0x7
#define TSP_HBO_FIFO_ID_SF_INPUT 0x8
#define TSP_HBO_FIFO_ID_SF_OUTPUT 0x9
#define TSP_HBO_FIFO_ID_CRYPTO_CMD 0xA
#define TSP_HBO_FIFO_ID_CRYPTO_CMD_1 0xB
#define TSP_HBO_FIFO_ID_CRYPTO_CMD_2 0xC
#define TSP_HBO_FIFO_ID_TSI5_PKT 0xD
#define TSP_HBO_FIFO_ID_TSI6_PKT 0xE
#define TSP_HBO_FIFO_ID_TSI7_PKT 0xF
#define TSP_HBO_FIFO_ID_TSI8_PKT 0x10
#define TSP_HBO_FIFO_ID_SWD_CMD 0x11
#define TSP_HBO_FIFO_ID_SWD_RETURN 0x12
#define TSP_HBO_FIFO_ID_TSI9_PKT 0x13
#define TSP_HBO_FIFO_ID_TSI10_PKT 0x14
#define TSP_HBO_FIFO_ID_TSI11_PKT 0x15
#define TSP_HBO_FIFO_ID_TSI12_PKT 0x16
///////////////////////////////////////////////////////////
#endif
//////
/// ENDOFINTERFACE: TSP_HBO_FIFO_ID
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspTsiPktInfo biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 stc_lower
/// %unsigned 10 stc_upper
/// ###
/// * Value of the captured STC counter value
/// *  
/// *  
/// ###
/// %unsigned 6 reserved_0
/// %unsigned 8 pid_id
/// ###
/// * Copied from pid_id field of the matching entry in the PID table
/// *  
/// *  
/// ###
/// %unsigned 1 reserved_1
/// %unsigned 1 error_async_fifo
/// ###
/// * Asynchronous FIFO error. This bit indicates that there is hardware errors related to TSI interface timing.
/// ###
/// %unsigned 1 error_on_port
/// ###
/// * Port tsError is asserted for this packet.
/// ###
/// %unsigned 1 error_sync_byte
/// ###
/// * Sync byte of the packet does not match the defined value.
/// ###
/// %unsigned 1 error_under_sized
/// ###
/// * The packet from TS ports does not content enough bytes as defined.
/// ###
/// %unsigned 1 error_data_dropped
/// ###
/// * TS data are dropped before this packet because of broken packet structure.
/// ###
/// %unsigned 1 error_data_lost
/// ###
/// * Overflow happened during the capturing of this packet and some bytes are lost and stuffed with zeros.
/// ###
/// %unsigned 1 error_packet_dropped
/// ###
/// * Overflow happened before the capturing of this packet and some packets are entirely dropped.
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspTsiPktInfo
#define h_TspTsiPktInfo (){}
#define BA_TspTsiPktInfo_stc_lower 0x0000
#define B16TspTsiPktInfo_stc_lower 0x0000
#define LSb32TspTsiPktInfo_stc_lower 0
#define LSb16TspTsiPktInfo_stc_lower 0
#define bTspTsiPktInfo_stc_lower 32
#define MSK32TspTsiPktInfo_stc_lower 0xFFFFFFFF
#define BA_TspTsiPktInfo_stc_upper 0x0004
#define B16TspTsiPktInfo_stc_upper 0x0004
#define LSb32TspTsiPktInfo_stc_upper 0
#define LSb16TspTsiPktInfo_stc_upper 0
#define bTspTsiPktInfo_stc_upper 10
#define MSK32TspTsiPktInfo_stc_upper 0x000003FF
#define BA_TspTsiPktInfo_reserved_0 0x0005
#define B16TspTsiPktInfo_reserved_0 0x0004
#define LSb32TspTsiPktInfo_reserved_0 10
#define LSb16TspTsiPktInfo_reserved_0 10
#define bTspTsiPktInfo_reserved_0 6
#define MSK32TspTsiPktInfo_reserved_0 0x0000FC00
#define BA_TspTsiPktInfo_pid_id 0x0006
#define B16TspTsiPktInfo_pid_id 0x0006
#define LSb32TspTsiPktInfo_pid_id 16
#define LSb16TspTsiPktInfo_pid_id 0
#define bTspTsiPktInfo_pid_id 8
#define MSK32TspTsiPktInfo_pid_id 0x00FF0000
#define BA_TspTsiPktInfo_reserved_1 0x0007
#define B16TspTsiPktInfo_reserved_1 0x0006
#define LSb32TspTsiPktInfo_reserved_1 24
#define LSb16TspTsiPktInfo_reserved_1 8
#define bTspTsiPktInfo_reserved_1 1
#define MSK32TspTsiPktInfo_reserved_1 0x01000000
#define BA_TspTsiPktInfo_error_async_fifo 0x0007
#define B16TspTsiPktInfo_error_async_fifo 0x0006
#define LSb32TspTsiPktInfo_error_async_fifo 25
#define LSb16TspTsiPktInfo_error_async_fifo 9
#define bTspTsiPktInfo_error_async_fifo 1
#define MSK32TspTsiPktInfo_error_async_fifo 0x02000000
#define BA_TspTsiPktInfo_error_on_port 0x0007
#define B16TspTsiPktInfo_error_on_port 0x0006
#define LSb32TspTsiPktInfo_error_on_port 26
#define LSb16TspTsiPktInfo_error_on_port 10
#define bTspTsiPktInfo_error_on_port 1
#define MSK32TspTsiPktInfo_error_on_port 0x04000000
#define BA_TspTsiPktInfo_error_sync_byte 0x0007
#define B16TspTsiPktInfo_error_sync_byte 0x0006
#define LSb32TspTsiPktInfo_error_sync_byte 27
#define LSb16TspTsiPktInfo_error_sync_byte 11
#define bTspTsiPktInfo_error_sync_byte 1
#define MSK32TspTsiPktInfo_error_sync_byte 0x08000000
#define BA_TspTsiPktInfo_error_under_sized 0x0007
#define B16TspTsiPktInfo_error_under_sized 0x0006
#define LSb32TspTsiPktInfo_error_under_sized 28
#define LSb16TspTsiPktInfo_error_under_sized 12
#define bTspTsiPktInfo_error_under_sized 1
#define MSK32TspTsiPktInfo_error_under_sized 0x10000000
#define BA_TspTsiPktInfo_error_data_dropped 0x0007
#define B16TspTsiPktInfo_error_data_dropped 0x0006
#define LSb32TspTsiPktInfo_error_data_dropped 29
#define LSb16TspTsiPktInfo_error_data_dropped 13
#define bTspTsiPktInfo_error_data_dropped 1
#define MSK32TspTsiPktInfo_error_data_dropped 0x20000000
#define BA_TspTsiPktInfo_error_data_lost 0x0007
#define B16TspTsiPktInfo_error_data_lost 0x0006
#define LSb32TspTsiPktInfo_error_data_lost 30
#define LSb16TspTsiPktInfo_error_data_lost 14
#define bTspTsiPktInfo_error_data_lost 1
#define MSK32TspTsiPktInfo_error_data_lost 0x40000000
#define BA_TspTsiPktInfo_error_packet_dropped 0x0007
#define B16TspTsiPktInfo_error_packet_dropped 0x0006
#define LSb32TspTsiPktInfo_error_packet_dropped 31
#define LSb16TspTsiPktInfo_error_packet_dropped 15
#define bTspTsiPktInfo_error_packet_dropped 1
#define MSK32TspTsiPktInfo_error_packet_dropped 0x80000000
///////////////////////////////////////////////////////////
typedef struct SIE_TspTsiPktInfo {
///////////////////////////////////////////////////////////
#define GET32TspTsiPktInfo_stc_lower(r32) _BFGET_(r32,31, 0)
#define SET32TspTsiPktInfo_stc_lower(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_stc_lower : 32;
///////////////////////////////////////////////////////////
#define GET32TspTsiPktInfo_stc_upper(r32) _BFGET_(r32, 9, 0)
#define SET32TspTsiPktInfo_stc_upper(r32,v) _BFSET_(r32, 9, 0,v)
#define GET16TspTsiPktInfo_stc_upper(r16) _BFGET_(r16, 9, 0)
#define SET16TspTsiPktInfo_stc_upper(r16,v) _BFSET_(r16, 9, 0,v)
#define GET32TspTsiPktInfo_reserved_0(r32) _BFGET_(r32,15,10)
#define SET32TspTsiPktInfo_reserved_0(r32,v) _BFSET_(r32,15,10,v)
#define GET16TspTsiPktInfo_reserved_0(r16) _BFGET_(r16,15,10)
#define SET16TspTsiPktInfo_reserved_0(r16,v) _BFSET_(r16,15,10,v)
#define GET32TspTsiPktInfo_pid_id(r32) _BFGET_(r32,23,16)
#define SET32TspTsiPktInfo_pid_id(r32,v) _BFSET_(r32,23,16,v)
#define GET16TspTsiPktInfo_pid_id(r16) _BFGET_(r16, 7, 0)
#define SET16TspTsiPktInfo_pid_id(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32TspTsiPktInfo_reserved_1(r32) _BFGET_(r32,24,24)
#define SET32TspTsiPktInfo_reserved_1(r32,v) _BFSET_(r32,24,24,v)
#define GET16TspTsiPktInfo_reserved_1(r16) _BFGET_(r16, 8, 8)
#define SET16TspTsiPktInfo_reserved_1(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32TspTsiPktInfo_error_async_fifo(r32) _BFGET_(r32,25,25)
#define SET32TspTsiPktInfo_error_async_fifo(r32,v) _BFSET_(r32,25,25,v)
#define GET16TspTsiPktInfo_error_async_fifo(r16) _BFGET_(r16, 9, 9)
#define SET16TspTsiPktInfo_error_async_fifo(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32TspTsiPktInfo_error_on_port(r32) _BFGET_(r32,26,26)
#define SET32TspTsiPktInfo_error_on_port(r32,v) _BFSET_(r32,26,26,v)
#define GET16TspTsiPktInfo_error_on_port(r16) _BFGET_(r16,10,10)
#define SET16TspTsiPktInfo_error_on_port(r16,v) _BFSET_(r16,10,10,v)
#define GET32TspTsiPktInfo_error_sync_byte(r32) _BFGET_(r32,27,27)
#define SET32TspTsiPktInfo_error_sync_byte(r32,v) _BFSET_(r32,27,27,v)
#define GET16TspTsiPktInfo_error_sync_byte(r16) _BFGET_(r16,11,11)
#define SET16TspTsiPktInfo_error_sync_byte(r16,v) _BFSET_(r16,11,11,v)
#define GET32TspTsiPktInfo_error_under_sized(r32) _BFGET_(r32,28,28)
#define SET32TspTsiPktInfo_error_under_sized(r32,v) _BFSET_(r32,28,28,v)
#define GET16TspTsiPktInfo_error_under_sized(r16) _BFGET_(r16,12,12)
#define SET16TspTsiPktInfo_error_under_sized(r16,v) _BFSET_(r16,12,12,v)
#define GET32TspTsiPktInfo_error_data_dropped(r32) _BFGET_(r32,29,29)
#define SET32TspTsiPktInfo_error_data_dropped(r32,v) _BFSET_(r32,29,29,v)
#define GET16TspTsiPktInfo_error_data_dropped(r16) _BFGET_(r16,13,13)
#define SET16TspTsiPktInfo_error_data_dropped(r16,v) _BFSET_(r16,13,13,v)
#define GET32TspTsiPktInfo_error_data_lost(r32) _BFGET_(r32,30,30)
#define SET32TspTsiPktInfo_error_data_lost(r32,v) _BFSET_(r32,30,30,v)
#define GET16TspTsiPktInfo_error_data_lost(r16) _BFGET_(r16,14,14)
#define SET16TspTsiPktInfo_error_data_lost(r16,v) _BFSET_(r16,14,14,v)
#define GET32TspTsiPktInfo_error_packet_dropped(r32) _BFGET_(r32,31,31)
#define SET32TspTsiPktInfo_error_packet_dropped(r32,v) _BFSET_(r32,31,31,v)
#define GET16TspTsiPktInfo_error_packet_dropped(r16) _BFGET_(r16,15,15)
#define SET16TspTsiPktInfo_error_packet_dropped(r16,v) _BFSET_(r16,15,15,v)
UNSG32 u_stc_upper : 10;
UNSG32 u_reserved_0 : 6;
UNSG32 u_pid_id : 8;
UNSG32 u_reserved_1 : 1;
UNSG32 u_error_async_fifo : 1;
UNSG32 u_error_on_port : 1;
UNSG32 u_error_sync_byte : 1;
UNSG32 u_error_under_sized : 1;
UNSG32 u_error_data_dropped : 1;
UNSG32 u_error_data_lost : 1;
UNSG32 u_error_packet_dropped : 1;
///////////////////////////////////////////////////////////
} SIE_TspTsiPktInfo;
///////////////////////////////////////////////////////////
SIGN32 TspTsiPktInfo_drvrd(SIE_TspTsiPktInfo *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspTsiPktInfo_drvwr(SIE_TspTsiPktInfo *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspTsiPktInfo_reset(SIE_TspTsiPktInfo *p);
SIGN32 TspTsiPktInfo_cmp (SIE_TspTsiPktInfo *p, SIE_TspTsiPktInfo *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspTsiPktInfo_check(p,pie,pfx,hLOG) TspTsiPktInfo_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspTsiPktInfo_print(p, pfx,hLOG) TspTsiPktInfo_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspTsiPktInfo
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspPidTbl biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 last
/// ###
/// * 1: this is the last entry of the PID table
/// * 0: jump to next entry of PID table after finishing this one.
/// *  
/// *  
/// ###
/// %unsigned 1 match_enable
/// ###
/// * 1: Enable pid and/or ltsid matching for this entry.
/// * 0: Disable matching; this entry will not match any packet. last and next field are still valid, PID filter will go to next entry if last bit is not set.
/// *  
/// ###
/// %unsigned 1 match_ltsid
/// %unsigned 1 match_pid
/// ###
/// * When match_ltsid is one and match_pid is zero, all packets with matching LTSID will be captured, regardless of their PID value.
/// * When match_ltsid is zero and match_pid is one, all packets with matching PID will be captured, regardless of their LTSID value.
/// * When both match_ltsid and match_pid are one, only packets that match both ltsid and pid will be captured.
/// * When both match_ltsid and match_pid are zero, all packets will be captured regardless of their PID and LTSID value.
/// *  
/// *  
/// ###
/// %unsigned 1 stc_select
/// ###
/// * 0: capture STC counter driven by stcClk0
/// * 1: capture STC counter driven by stcClk1
/// *  
/// *  
/// ###
/// %unsigned 3 reserved_0
/// %unsigned 8 ltsid
/// ###
/// * ltsid value
/// *  
/// *  
/// ###
/// %unsigned 13 pid
/// ###
/// * PID value
/// *  
/// *  
/// ###
/// %unsigned 3 reserved_1
/// %unsigned 8 next
/// ###
/// * Address of the next PID table entry
/// *  
/// *  
/// ###
/// %unsigned 8 pid_id
/// ###
/// * In case a packet match with this entry, TSI will save the value in this field into the packet info.
/// *  
/// *  
/// ###
/// %unsigned 16 reserved_2
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspPidTbl
#define h_TspPidTbl (){}
#define BA_TspPidTbl_last 0x0000
#define B16TspPidTbl_last 0x0000
#define LSb32TspPidTbl_last 0
#define LSb16TspPidTbl_last 0
#define bTspPidTbl_last 1
#define MSK32TspPidTbl_last 0x00000001
#define BA_TspPidTbl_match_enable 0x0000
#define B16TspPidTbl_match_enable 0x0000
#define LSb32TspPidTbl_match_enable 1
#define LSb16TspPidTbl_match_enable 1
#define bTspPidTbl_match_enable 1
#define MSK32TspPidTbl_match_enable 0x00000002
#define BA_TspPidTbl_match_ltsid 0x0000
#define B16TspPidTbl_match_ltsid 0x0000
#define LSb32TspPidTbl_match_ltsid 2
#define LSb16TspPidTbl_match_ltsid 2
#define bTspPidTbl_match_ltsid 1
#define MSK32TspPidTbl_match_ltsid 0x00000004
#define BA_TspPidTbl_match_pid 0x0000
#define B16TspPidTbl_match_pid 0x0000
#define LSb32TspPidTbl_match_pid 3
#define LSb16TspPidTbl_match_pid 3
#define bTspPidTbl_match_pid 1
#define MSK32TspPidTbl_match_pid 0x00000008
#define BA_TspPidTbl_stc_select 0x0000
#define B16TspPidTbl_stc_select 0x0000
#define LSb32TspPidTbl_stc_select 4
#define LSb16TspPidTbl_stc_select 4
#define bTspPidTbl_stc_select 1
#define MSK32TspPidTbl_stc_select 0x00000010
#define BA_TspPidTbl_reserved_0 0x0000
#define B16TspPidTbl_reserved_0 0x0000
#define LSb32TspPidTbl_reserved_0 5
#define LSb16TspPidTbl_reserved_0 5
#define bTspPidTbl_reserved_0 3
#define MSK32TspPidTbl_reserved_0 0x000000E0
#define BA_TspPidTbl_ltsid 0x0001
#define B16TspPidTbl_ltsid 0x0000
#define LSb32TspPidTbl_ltsid 8
#define LSb16TspPidTbl_ltsid 8
#define bTspPidTbl_ltsid 8
#define MSK32TspPidTbl_ltsid 0x0000FF00
#define BA_TspPidTbl_pid 0x0002
#define B16TspPidTbl_pid 0x0002
#define LSb32TspPidTbl_pid 16
#define LSb16TspPidTbl_pid 0
#define bTspPidTbl_pid 13
#define MSK32TspPidTbl_pid 0x1FFF0000
#define BA_TspPidTbl_reserved_1 0x0003
#define B16TspPidTbl_reserved_1 0x0002
#define LSb32TspPidTbl_reserved_1 29
#define LSb16TspPidTbl_reserved_1 13
#define bTspPidTbl_reserved_1 3
#define MSK32TspPidTbl_reserved_1 0xE0000000
#define BA_TspPidTbl_next 0x0004
#define B16TspPidTbl_next 0x0004
#define LSb32TspPidTbl_next 0
#define LSb16TspPidTbl_next 0
#define bTspPidTbl_next 8
#define MSK32TspPidTbl_next 0x000000FF
#define BA_TspPidTbl_pid_id 0x0005
#define B16TspPidTbl_pid_id 0x0004
#define LSb32TspPidTbl_pid_id 8
#define LSb16TspPidTbl_pid_id 8
#define bTspPidTbl_pid_id 8
#define MSK32TspPidTbl_pid_id 0x0000FF00
#define BA_TspPidTbl_reserved_2 0x0006
#define B16TspPidTbl_reserved_2 0x0006
#define LSb32TspPidTbl_reserved_2 16
#define LSb16TspPidTbl_reserved_2 0
#define bTspPidTbl_reserved_2 16
#define MSK32TspPidTbl_reserved_2 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_TspPidTbl {
///////////////////////////////////////////////////////////
#define GET32TspPidTbl_last(r32) _BFGET_(r32, 0, 0)
#define SET32TspPidTbl_last(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspPidTbl_last(r16) _BFGET_(r16, 0, 0)
#define SET16TspPidTbl_last(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TspPidTbl_match_enable(r32) _BFGET_(r32, 1, 1)
#define SET32TspPidTbl_match_enable(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16TspPidTbl_match_enable(r16) _BFGET_(r16, 1, 1)
#define SET16TspPidTbl_match_enable(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32TspPidTbl_match_ltsid(r32) _BFGET_(r32, 2, 2)
#define SET32TspPidTbl_match_ltsid(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16TspPidTbl_match_ltsid(r16) _BFGET_(r16, 2, 2)
#define SET16TspPidTbl_match_ltsid(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32TspPidTbl_match_pid(r32) _BFGET_(r32, 3, 3)
#define SET32TspPidTbl_match_pid(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16TspPidTbl_match_pid(r16) _BFGET_(r16, 3, 3)
#define SET16TspPidTbl_match_pid(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32TspPidTbl_stc_select(r32) _BFGET_(r32, 4, 4)
#define SET32TspPidTbl_stc_select(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16TspPidTbl_stc_select(r16) _BFGET_(r16, 4, 4)
#define SET16TspPidTbl_stc_select(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32TspPidTbl_reserved_0(r32) _BFGET_(r32, 7, 5)
#define SET32TspPidTbl_reserved_0(r32,v) _BFSET_(r32, 7, 5,v)
#define GET16TspPidTbl_reserved_0(r16) _BFGET_(r16, 7, 5)
#define SET16TspPidTbl_reserved_0(r16,v) _BFSET_(r16, 7, 5,v)
#define GET32TspPidTbl_ltsid(r32) _BFGET_(r32,15, 8)
#define SET32TspPidTbl_ltsid(r32,v) _BFSET_(r32,15, 8,v)
#define GET16TspPidTbl_ltsid(r16) _BFGET_(r16,15, 8)
#define SET16TspPidTbl_ltsid(r16,v) _BFSET_(r16,15, 8,v)
#define GET32TspPidTbl_pid(r32) _BFGET_(r32,28,16)
#define SET32TspPidTbl_pid(r32,v) _BFSET_(r32,28,16,v)
#define GET16TspPidTbl_pid(r16) _BFGET_(r16,12, 0)
#define SET16TspPidTbl_pid(r16,v) _BFSET_(r16,12, 0,v)
#define GET32TspPidTbl_reserved_1(r32) _BFGET_(r32,31,29)
#define SET32TspPidTbl_reserved_1(r32,v) _BFSET_(r32,31,29,v)
#define GET16TspPidTbl_reserved_1(r16) _BFGET_(r16,15,13)
#define SET16TspPidTbl_reserved_1(r16,v) _BFSET_(r16,15,13,v)
UNSG32 u_last : 1;
UNSG32 u_match_enable : 1;
UNSG32 u_match_ltsid : 1;
UNSG32 u_match_pid : 1;
UNSG32 u_stc_select : 1;
UNSG32 u_reserved_0 : 3;
UNSG32 u_ltsid : 8;
UNSG32 u_pid : 13;
UNSG32 u_reserved_1 : 3;
///////////////////////////////////////////////////////////
#define GET32TspPidTbl_next(r32) _BFGET_(r32, 7, 0)
#define SET32TspPidTbl_next(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16TspPidTbl_next(r16) _BFGET_(r16, 7, 0)
#define SET16TspPidTbl_next(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32TspPidTbl_pid_id(r32) _BFGET_(r32,15, 8)
#define SET32TspPidTbl_pid_id(r32,v) _BFSET_(r32,15, 8,v)
#define GET16TspPidTbl_pid_id(r16) _BFGET_(r16,15, 8)
#define SET16TspPidTbl_pid_id(r16,v) _BFSET_(r16,15, 8,v)
#define GET32TspPidTbl_reserved_2(r32) _BFGET_(r32,31,16)
#define SET32TspPidTbl_reserved_2(r32,v) _BFSET_(r32,31,16,v)
#define GET16TspPidTbl_reserved_2(r16) _BFGET_(r16,15, 0)
#define SET16TspPidTbl_reserved_2(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_next : 8;
UNSG32 u_pid_id : 8;
UNSG32 u_reserved_2 : 16;
///////////////////////////////////////////////////////////
} SIE_TspPidTbl;
///////////////////////////////////////////////////////////
SIGN32 TspPidTbl_drvrd(SIE_TspPidTbl *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspPidTbl_drvwr(SIE_TspPidTbl *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspPidTbl_reset(SIE_TspPidTbl *p);
SIGN32 TspPidTbl_cmp (SIE_TspPidTbl *p, SIE_TspPidTbl *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspPidTbl_check(p,pie,pfx,hLOG) TspPidTbl_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspPidTbl_print(p, pfx,hLOG) TspPidTbl_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspPidTbl
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspSecCmd biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 13 PID 0x0
/// %unsigned 3 TSID 0x0
/// %unsigned 8 TID 0x0
/// %unsigned 1 MATCH 0x0
/// ###
/// * not used in TSC, will be set by section filter
/// *  
/// *  
/// *  
/// *  
/// ###
/// %unsigned 7 FLTID 0x0
/// ###
/// * indicates the ID of matched section filter ID
/// *  
/// *  
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspSecCmd
#define h_TspSecCmd (){}
#define BA_TspSecCmd_PID 0x0000
#define B16TspSecCmd_PID 0x0000
#define LSb32TspSecCmd_PID 0
#define LSb16TspSecCmd_PID 0
#define bTspSecCmd_PID 13
#define MSK32TspSecCmd_PID 0x00001FFF
#define BA_TspSecCmd_TSID 0x0001
#define B16TspSecCmd_TSID 0x0000
#define LSb32TspSecCmd_TSID 13
#define LSb16TspSecCmd_TSID 13
#define bTspSecCmd_TSID 3
#define MSK32TspSecCmd_TSID 0x0000E000
#define BA_TspSecCmd_TID 0x0002
#define B16TspSecCmd_TID 0x0002
#define LSb32TspSecCmd_TID 16
#define LSb16TspSecCmd_TID 0
#define bTspSecCmd_TID 8
#define MSK32TspSecCmd_TID 0x00FF0000
#define BA_TspSecCmd_MATCH 0x0003
#define B16TspSecCmd_MATCH 0x0002
#define LSb32TspSecCmd_MATCH 24
#define LSb16TspSecCmd_MATCH 8
#define bTspSecCmd_MATCH 1
#define MSK32TspSecCmd_MATCH 0x01000000
#define BA_TspSecCmd_FLTID 0x0003
#define B16TspSecCmd_FLTID 0x0002
#define LSb32TspSecCmd_FLTID 25
#define LSb16TspSecCmd_FLTID 9
#define bTspSecCmd_FLTID 7
#define MSK32TspSecCmd_FLTID 0xFE000000
///////////////////////////////////////////////////////////
typedef struct SIE_TspSecCmd {
///////////////////////////////////////////////////////////
#define GET32TspSecCmd_PID(r32) _BFGET_(r32,12, 0)
#define SET32TspSecCmd_PID(r32,v) _BFSET_(r32,12, 0,v)
#define GET16TspSecCmd_PID(r16) _BFGET_(r16,12, 0)
#define SET16TspSecCmd_PID(r16,v) _BFSET_(r16,12, 0,v)
#define GET32TspSecCmd_TSID(r32) _BFGET_(r32,15,13)
#define SET32TspSecCmd_TSID(r32,v) _BFSET_(r32,15,13,v)
#define GET16TspSecCmd_TSID(r16) _BFGET_(r16,15,13)
#define SET16TspSecCmd_TSID(r16,v) _BFSET_(r16,15,13,v)
#define GET32TspSecCmd_TID(r32) _BFGET_(r32,23,16)
#define SET32TspSecCmd_TID(r32,v) _BFSET_(r32,23,16,v)
#define GET16TspSecCmd_TID(r16) _BFGET_(r16, 7, 0)
#define SET16TspSecCmd_TID(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32TspSecCmd_MATCH(r32) _BFGET_(r32,24,24)
#define SET32TspSecCmd_MATCH(r32,v) _BFSET_(r32,24,24,v)
#define GET16TspSecCmd_MATCH(r16) _BFGET_(r16, 8, 8)
#define SET16TspSecCmd_MATCH(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32TspSecCmd_FLTID(r32) _BFGET_(r32,31,25)
#define SET32TspSecCmd_FLTID(r32,v) _BFSET_(r32,31,25,v)
#define GET16TspSecCmd_FLTID(r16) _BFGET_(r16,15, 9)
#define SET16TspSecCmd_FLTID(r16,v) _BFSET_(r16,15, 9,v)
UNSG32 u_PID : 13;
UNSG32 u_TSID : 3;
UNSG32 u_TID : 8;
UNSG32 u_MATCH : 1;
UNSG32 u_FLTID : 7;
///////////////////////////////////////////////////////////
} SIE_TspSecCmd;
///////////////////////////////////////////////////////////
SIGN32 TspSecCmd_drvrd(SIE_TspSecCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspSecCmd_drvwr(SIE_TspSecCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspSecCmd_reset(SIE_TspSecCmd *p);
SIGN32 TspSecCmd_cmp (SIE_TspSecCmd *p, SIE_TspSecCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspSecCmd_check(p,pie,pfx,hLOG) TspSecCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspSecCmd_print(p, pfx,hLOG) TspSecCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspSecCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspSecFilter (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 HDR0 (P)
/// %unsigned 1 ONESHOT 0x0
/// ###
/// * enable one shot filtering
/// *  
/// *  
/// *  
/// *  
/// ###
/// %unsigned 1 PIDCHECKEN 0x0
/// ###
/// * match PID before section filter
/// *  
/// *  
/// *  
/// *  
/// ###
/// %unsigned 1 TIDCHECKEN 0x0
/// ###
/// * match the TID before section filter
/// *  
/// *  
/// *  
/// *  
/// ###
/// %unsigned 11 RULEID 0x0
/// ###
/// * pointer to the next RULE
/// *  
/// *  
/// ###
/// %% 18 # Stuffing bits...
/// @ 0x00004 HDR1 (P)
/// %unsigned 16 EXTPID 0x0
/// ###
/// * This bit field is used to match with the incoming TSCmdTSC.{TSID,PID}, section filter will only active when EXTPID matches
/// *  
/// *  
/// ###
/// %unsigned 8 TID 0x0
/// ###
/// * table ID to be matched
/// *  
/// *  
/// ###
/// %% 8 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 38b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspSecFilter
#define h_TspSecFilter (){}
#define RA_TspSecFilter_HDR0 0x0000
#define BA_TspSecFilter_HDR0_ONESHOT 0x0000
#define B16TspSecFilter_HDR0_ONESHOT 0x0000
#define LSb32TspSecFilter_HDR0_ONESHOT 0
#define LSb16TspSecFilter_HDR0_ONESHOT 0
#define bTspSecFilter_HDR0_ONESHOT 1
#define MSK32TspSecFilter_HDR0_ONESHOT 0x00000001
#define BA_TspSecFilter_HDR0_PIDCHECKEN 0x0000
#define B16TspSecFilter_HDR0_PIDCHECKEN 0x0000
#define LSb32TspSecFilter_HDR0_PIDCHECKEN 1
#define LSb16TspSecFilter_HDR0_PIDCHECKEN 1
#define bTspSecFilter_HDR0_PIDCHECKEN 1
#define MSK32TspSecFilter_HDR0_PIDCHECKEN 0x00000002
#define BA_TspSecFilter_HDR0_TIDCHECKEN 0x0000
#define B16TspSecFilter_HDR0_TIDCHECKEN 0x0000
#define LSb32TspSecFilter_HDR0_TIDCHECKEN 2
#define LSb16TspSecFilter_HDR0_TIDCHECKEN 2
#define bTspSecFilter_HDR0_TIDCHECKEN 1
#define MSK32TspSecFilter_HDR0_TIDCHECKEN 0x00000004
#define BA_TspSecFilter_HDR0_RULEID 0x0000
#define B16TspSecFilter_HDR0_RULEID 0x0000
#define LSb32TspSecFilter_HDR0_RULEID 3
#define LSb16TspSecFilter_HDR0_RULEID 3
#define bTspSecFilter_HDR0_RULEID 11
#define MSK32TspSecFilter_HDR0_RULEID 0x00003FF8
///////////////////////////////////////////////////////////
#define RA_TspSecFilter_HDR1 0x0004
#define BA_TspSecFilter_HDR1_EXTPID 0x0004
#define B16TspSecFilter_HDR1_EXTPID 0x0004
#define LSb32TspSecFilter_HDR1_EXTPID 0
#define LSb16TspSecFilter_HDR1_EXTPID 0
#define bTspSecFilter_HDR1_EXTPID 16
#define MSK32TspSecFilter_HDR1_EXTPID 0x0000FFFF
#define BA_TspSecFilter_HDR1_TID 0x0006
#define B16TspSecFilter_HDR1_TID 0x0006
#define LSb32TspSecFilter_HDR1_TID 16
#define LSb16TspSecFilter_HDR1_TID 0
#define bTspSecFilter_HDR1_TID 8
#define MSK32TspSecFilter_HDR1_TID 0x00FF0000
///////////////////////////////////////////////////////////
typedef struct SIE_TspSecFilter {
///////////////////////////////////////////////////////////
#define GET32TspSecFilter_HDR0_ONESHOT(r32) _BFGET_(r32, 0, 0)
#define SET32TspSecFilter_HDR0_ONESHOT(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspSecFilter_HDR0_ONESHOT(r16) _BFGET_(r16, 0, 0)
#define SET16TspSecFilter_HDR0_ONESHOT(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TspSecFilter_HDR0_PIDCHECKEN(r32) _BFGET_(r32, 1, 1)
#define SET32TspSecFilter_HDR0_PIDCHECKEN(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16TspSecFilter_HDR0_PIDCHECKEN(r16) _BFGET_(r16, 1, 1)
#define SET16TspSecFilter_HDR0_PIDCHECKEN(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32TspSecFilter_HDR0_TIDCHECKEN(r32) _BFGET_(r32, 2, 2)
#define SET32TspSecFilter_HDR0_TIDCHECKEN(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16TspSecFilter_HDR0_TIDCHECKEN(r16) _BFGET_(r16, 2, 2)
#define SET16TspSecFilter_HDR0_TIDCHECKEN(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32TspSecFilter_HDR0_RULEID(r32) _BFGET_(r32,13, 3)
#define SET32TspSecFilter_HDR0_RULEID(r32,v) _BFSET_(r32,13, 3,v)
#define GET16TspSecFilter_HDR0_RULEID(r16) _BFGET_(r16,13, 3)
#define SET16TspSecFilter_HDR0_RULEID(r16,v) _BFSET_(r16,13, 3,v)
#define w32TspSecFilter_HDR0 {\
UNSG32 uHDR0_ONESHOT : 1;\
UNSG32 uHDR0_PIDCHECKEN : 1;\
UNSG32 uHDR0_TIDCHECKEN : 1;\
UNSG32 uHDR0_RULEID : 11;\
UNSG32 RSVDx0_b14 : 18;\
}
union { UNSG32 u32TspSecFilter_HDR0;
struct w32TspSecFilter_HDR0;
};
///////////////////////////////////////////////////////////
#define GET32TspSecFilter_HDR1_EXTPID(r32) _BFGET_(r32,15, 0)
#define SET32TspSecFilter_HDR1_EXTPID(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspSecFilter_HDR1_EXTPID(r16) _BFGET_(r16,15, 0)
#define SET16TspSecFilter_HDR1_EXTPID(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TspSecFilter_HDR1_TID(r32) _BFGET_(r32,23,16)
#define SET32TspSecFilter_HDR1_TID(r32,v) _BFSET_(r32,23,16,v)
#define GET16TspSecFilter_HDR1_TID(r16) _BFGET_(r16, 7, 0)
#define SET16TspSecFilter_HDR1_TID(r16,v) _BFSET_(r16, 7, 0,v)
#define w32TspSecFilter_HDR1 {\
UNSG32 uHDR1_EXTPID : 16;\
UNSG32 uHDR1_TID : 8;\
UNSG32 RSVDx4_b24 : 8;\
}
union { UNSG32 u32TspSecFilter_HDR1;
struct w32TspSecFilter_HDR1;
};
///////////////////////////////////////////////////////////
} SIE_TspSecFilter;
typedef union T32TspSecFilter_HDR0
{ UNSG32 u32;
struct w32TspSecFilter_HDR0;
} T32TspSecFilter_HDR0;
typedef union T32TspSecFilter_HDR1
{ UNSG32 u32;
struct w32TspSecFilter_HDR1;
} T32TspSecFilter_HDR1;
///////////////////////////////////////////////////////////
typedef union TTspSecFilter_HDR0
{ UNSG32 u32[1];
struct {
struct w32TspSecFilter_HDR0;
};
} TTspSecFilter_HDR0;
typedef union TTspSecFilter_HDR1
{ UNSG32 u32[1];
struct {
struct w32TspSecFilter_HDR1;
};
} TTspSecFilter_HDR1;
///////////////////////////////////////////////////////////
SIGN32 TspSecFilter_drvrd(SIE_TspSecFilter *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspSecFilter_drvwr(SIE_TspSecFilter *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspSecFilter_reset(SIE_TspSecFilter *p);
SIGN32 TspSecFilter_cmp (SIE_TspSecFilter *p, SIE_TspSecFilter *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspSecFilter_check(p,pie,pfx,hLOG) TspSecFilter_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspSecFilter_print(p, pfx,hLOG) TspSecFilter_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspSecFilter
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspSecRule biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CTRL (P)
/// %unsigned 5 BYTEOFFSET
/// ###
/// * byte offset into the section data the exact and range match is applied to
/// ###
/// %unsigned 3 BITOFFSET
/// ###
/// * bit offset within first byte the range comparison is applied, this field is ignored when MODE!=RANGE
/// ###
/// %unsigned 1 STOPONMISS
/// %unsigned 1 LAST
/// %unsigned 11 NXT
/// %unsigned 2 MODE
/// : INRANGE 0x0
/// : OUTRANGE 0x1
/// : PMATCH 0x2
/// ###
/// * Section data are direct used to match with pattern
/// ###
/// : NMATCH 0x3
/// ###
/// * Section data are negated before match
/// ###
/// %unsigned 4 LEN
/// ###
/// * if mode = RANGE, this field is ignored ; else, it indicates length of the match filter in DW
/// ###
/// %% 5 # Stuffing bits...
/// @ 0x00004 MINMASK (P)
/// %unsigned 32 VALUE
/// @ 0x00008 MAXCOEFF1DW (P)
/// %unsigned 32 VALUE
/// @ 0x0000C MAXCOEFF2DW (P)
/// %unsigned 32 VALUE
/// @ 0x00010 MAXCOEFF3DW (P)
/// %unsigned 32 VALUE
/// @ 0x00014 MAXCOEFF4DW (P)
/// %unsigned 32 VALUE
/// @ 0x00018 MAXCOEFF5DW (P)
/// %unsigned 32 VALUE
/// @ 0x0001C MAXCOEFF6DW (P)
/// %unsigned 32 VALUE
/// @ 0x00020 MAXCOEFF7DW (P)
/// %unsigned 32 VALUE
/// @ 0x00024 MAXCOEFF8DW (P)
/// %unsigned 32 VALUE
/// @ 0x00028 MAXCOEFF9DW (P)
/// %unsigned 32 VALUE
/// @ 0x0002C MAXCOEFF10DW (P)
/// %unsigned 32 VALUE
/// @ 0x00030 MAXCOEFF11DW (P)
/// %unsigned 32 VALUE
/// @ 0x00034 MAXCOEFF12DW (P)
/// %unsigned 32 VALUE
/// @ 0x00038 MAXCOEFF13DW (P)
/// %unsigned 32 VALUE
/// @ 0x0003C MAXCOEFF14DW (P)
/// %unsigned 32 VALUE
/// @ 0x00040 MAXCOEFF15DW (P)
/// %unsigned 32 VALUE
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 68B, bits: 539b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspSecRule
#define h_TspSecRule (){}
#define RA_TspSecRule_CTRL 0x0000
#define BA_TspSecRule_CTRL_BYTEOFFSET 0x0000
#define B16TspSecRule_CTRL_BYTEOFFSET 0x0000
#define LSb32TspSecRule_CTRL_BYTEOFFSET 0
#define LSb16TspSecRule_CTRL_BYTEOFFSET 0
#define bTspSecRule_CTRL_BYTEOFFSET 5
#define MSK32TspSecRule_CTRL_BYTEOFFSET 0x0000001F
#define BA_TspSecRule_CTRL_BITOFFSET 0x0000
#define B16TspSecRule_CTRL_BITOFFSET 0x0000
#define LSb32TspSecRule_CTRL_BITOFFSET 5
#define LSb16TspSecRule_CTRL_BITOFFSET 5
#define bTspSecRule_CTRL_BITOFFSET 3
#define MSK32TspSecRule_CTRL_BITOFFSET 0x000000E0
#define BA_TspSecRule_CTRL_STOPONMISS 0x0001
#define B16TspSecRule_CTRL_STOPONMISS 0x0000
#define LSb32TspSecRule_CTRL_STOPONMISS 8
#define LSb16TspSecRule_CTRL_STOPONMISS 8
#define bTspSecRule_CTRL_STOPONMISS 1
#define MSK32TspSecRule_CTRL_STOPONMISS 0x00000100
#define BA_TspSecRule_CTRL_LAST 0x0001
#define B16TspSecRule_CTRL_LAST 0x0000
#define LSb32TspSecRule_CTRL_LAST 9
#define LSb16TspSecRule_CTRL_LAST 9
#define bTspSecRule_CTRL_LAST 1
#define MSK32TspSecRule_CTRL_LAST 0x00000200
#define BA_TspSecRule_CTRL_NXT 0x0001
#define B16TspSecRule_CTRL_NXT 0x0000
#define LSb32TspSecRule_CTRL_NXT 10
#define LSb16TspSecRule_CTRL_NXT 10
#define bTspSecRule_CTRL_NXT 11
#define MSK32TspSecRule_CTRL_NXT 0x001FFC00
#define BA_TspSecRule_CTRL_MODE 0x0002
#define B16TspSecRule_CTRL_MODE 0x0002
#define LSb32TspSecRule_CTRL_MODE 21
#define LSb16TspSecRule_CTRL_MODE 5
#define bTspSecRule_CTRL_MODE 2
#define MSK32TspSecRule_CTRL_MODE 0x00600000
#define TspSecRule_CTRL_MODE_INRANGE 0x0
#define TspSecRule_CTRL_MODE_OUTRANGE 0x1
#define TspSecRule_CTRL_MODE_PMATCH 0x2
#define TspSecRule_CTRL_MODE_NMATCH 0x3
#define BA_TspSecRule_CTRL_LEN 0x0002
#define B16TspSecRule_CTRL_LEN 0x0002
#define LSb32TspSecRule_CTRL_LEN 23
#define LSb16TspSecRule_CTRL_LEN 7
#define bTspSecRule_CTRL_LEN 4
#define MSK32TspSecRule_CTRL_LEN 0x07800000
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MINMASK 0x0004
#define BA_TspSecRule_MINMASK_VALUE 0x0004
#define B16TspSecRule_MINMASK_VALUE 0x0004
#define LSb32TspSecRule_MINMASK_VALUE 0
#define LSb16TspSecRule_MINMASK_VALUE 0
#define bTspSecRule_MINMASK_VALUE 32
#define MSK32TspSecRule_MINMASK_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF1DW 0x0008
#define BA_TspSecRule_MAXCOEFF1DW_VALUE 0x0008
#define B16TspSecRule_MAXCOEFF1DW_VALUE 0x0008
#define LSb32TspSecRule_MAXCOEFF1DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF1DW_VALUE 0
#define bTspSecRule_MAXCOEFF1DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF1DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF2DW 0x000C
#define BA_TspSecRule_MAXCOEFF2DW_VALUE 0x000C
#define B16TspSecRule_MAXCOEFF2DW_VALUE 0x000C
#define LSb32TspSecRule_MAXCOEFF2DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF2DW_VALUE 0
#define bTspSecRule_MAXCOEFF2DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF2DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF3DW 0x0010
#define BA_TspSecRule_MAXCOEFF3DW_VALUE 0x0010
#define B16TspSecRule_MAXCOEFF3DW_VALUE 0x0010
#define LSb32TspSecRule_MAXCOEFF3DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF3DW_VALUE 0
#define bTspSecRule_MAXCOEFF3DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF3DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF4DW 0x0014
#define BA_TspSecRule_MAXCOEFF4DW_VALUE 0x0014
#define B16TspSecRule_MAXCOEFF4DW_VALUE 0x0014
#define LSb32TspSecRule_MAXCOEFF4DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF4DW_VALUE 0
#define bTspSecRule_MAXCOEFF4DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF4DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF5DW 0x0018
#define BA_TspSecRule_MAXCOEFF5DW_VALUE 0x0018
#define B16TspSecRule_MAXCOEFF5DW_VALUE 0x0018
#define LSb32TspSecRule_MAXCOEFF5DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF5DW_VALUE 0
#define bTspSecRule_MAXCOEFF5DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF5DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF6DW 0x001C
#define BA_TspSecRule_MAXCOEFF6DW_VALUE 0x001C
#define B16TspSecRule_MAXCOEFF6DW_VALUE 0x001C
#define LSb32TspSecRule_MAXCOEFF6DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF6DW_VALUE 0
#define bTspSecRule_MAXCOEFF6DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF6DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF7DW 0x0020
#define BA_TspSecRule_MAXCOEFF7DW_VALUE 0x0020
#define B16TspSecRule_MAXCOEFF7DW_VALUE 0x0020
#define LSb32TspSecRule_MAXCOEFF7DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF7DW_VALUE 0
#define bTspSecRule_MAXCOEFF7DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF7DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF8DW 0x0024
#define BA_TspSecRule_MAXCOEFF8DW_VALUE 0x0024
#define B16TspSecRule_MAXCOEFF8DW_VALUE 0x0024
#define LSb32TspSecRule_MAXCOEFF8DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF8DW_VALUE 0
#define bTspSecRule_MAXCOEFF8DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF8DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF9DW 0x0028
#define BA_TspSecRule_MAXCOEFF9DW_VALUE 0x0028
#define B16TspSecRule_MAXCOEFF9DW_VALUE 0x0028
#define LSb32TspSecRule_MAXCOEFF9DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF9DW_VALUE 0
#define bTspSecRule_MAXCOEFF9DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF9DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF10DW 0x002C
#define BA_TspSecRule_MAXCOEFF10DW_VALUE 0x002C
#define B16TspSecRule_MAXCOEFF10DW_VALUE 0x002C
#define LSb32TspSecRule_MAXCOEFF10DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF10DW_VALUE 0
#define bTspSecRule_MAXCOEFF10DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF10DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF11DW 0x0030
#define BA_TspSecRule_MAXCOEFF11DW_VALUE 0x0030
#define B16TspSecRule_MAXCOEFF11DW_VALUE 0x0030
#define LSb32TspSecRule_MAXCOEFF11DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF11DW_VALUE 0
#define bTspSecRule_MAXCOEFF11DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF11DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF12DW 0x0034
#define BA_TspSecRule_MAXCOEFF12DW_VALUE 0x0034
#define B16TspSecRule_MAXCOEFF12DW_VALUE 0x0034
#define LSb32TspSecRule_MAXCOEFF12DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF12DW_VALUE 0
#define bTspSecRule_MAXCOEFF12DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF12DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF13DW 0x0038
#define BA_TspSecRule_MAXCOEFF13DW_VALUE 0x0038
#define B16TspSecRule_MAXCOEFF13DW_VALUE 0x0038
#define LSb32TspSecRule_MAXCOEFF13DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF13DW_VALUE 0
#define bTspSecRule_MAXCOEFF13DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF13DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF14DW 0x003C
#define BA_TspSecRule_MAXCOEFF14DW_VALUE 0x003C
#define B16TspSecRule_MAXCOEFF14DW_VALUE 0x003C
#define LSb32TspSecRule_MAXCOEFF14DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF14DW_VALUE 0
#define bTspSecRule_MAXCOEFF14DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF14DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRule_MAXCOEFF15DW 0x0040
#define BA_TspSecRule_MAXCOEFF15DW_VALUE 0x0040
#define B16TspSecRule_MAXCOEFF15DW_VALUE 0x0040
#define LSb32TspSecRule_MAXCOEFF15DW_VALUE 0
#define LSb16TspSecRule_MAXCOEFF15DW_VALUE 0
#define bTspSecRule_MAXCOEFF15DW_VALUE 32
#define MSK32TspSecRule_MAXCOEFF15DW_VALUE 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_TspSecRule {
///////////////////////////////////////////////////////////
#define GET32TspSecRule_CTRL_BYTEOFFSET(r32) _BFGET_(r32, 4, 0)
#define SET32TspSecRule_CTRL_BYTEOFFSET(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16TspSecRule_CTRL_BYTEOFFSET(r16) _BFGET_(r16, 4, 0)
#define SET16TspSecRule_CTRL_BYTEOFFSET(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32TspSecRule_CTRL_BITOFFSET(r32) _BFGET_(r32, 7, 5)
#define SET32TspSecRule_CTRL_BITOFFSET(r32,v) _BFSET_(r32, 7, 5,v)
#define GET16TspSecRule_CTRL_BITOFFSET(r16) _BFGET_(r16, 7, 5)
#define SET16TspSecRule_CTRL_BITOFFSET(r16,v) _BFSET_(r16, 7, 5,v)
#define GET32TspSecRule_CTRL_STOPONMISS(r32) _BFGET_(r32, 8, 8)
#define SET32TspSecRule_CTRL_STOPONMISS(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16TspSecRule_CTRL_STOPONMISS(r16) _BFGET_(r16, 8, 8)
#define SET16TspSecRule_CTRL_STOPONMISS(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32TspSecRule_CTRL_LAST(r32) _BFGET_(r32, 9, 9)
#define SET32TspSecRule_CTRL_LAST(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16TspSecRule_CTRL_LAST(r16) _BFGET_(r16, 9, 9)
#define SET16TspSecRule_CTRL_LAST(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32TspSecRule_CTRL_NXT(r32) _BFGET_(r32,20,10)
#define SET32TspSecRule_CTRL_NXT(r32,v) _BFSET_(r32,20,10,v)
#define GET32TspSecRule_CTRL_MODE(r32) _BFGET_(r32,22,21)
#define SET32TspSecRule_CTRL_MODE(r32,v) _BFSET_(r32,22,21,v)
#define GET16TspSecRule_CTRL_MODE(r16) _BFGET_(r16, 6, 5)
#define SET16TspSecRule_CTRL_MODE(r16,v) _BFSET_(r16, 6, 5,v)
#define GET32TspSecRule_CTRL_LEN(r32) _BFGET_(r32,26,23)
#define SET32TspSecRule_CTRL_LEN(r32,v) _BFSET_(r32,26,23,v)
#define GET16TspSecRule_CTRL_LEN(r16) _BFGET_(r16,10, 7)
#define SET16TspSecRule_CTRL_LEN(r16,v) _BFSET_(r16,10, 7,v)
#define w32TspSecRule_CTRL {\
UNSG32 uCTRL_BYTEOFFSET : 5;\
UNSG32 uCTRL_BITOFFSET : 3;\
UNSG32 uCTRL_STOPONMISS : 1;\
UNSG32 uCTRL_LAST : 1;\
UNSG32 uCTRL_NXT : 11;\
UNSG32 uCTRL_MODE : 2;\
UNSG32 uCTRL_LEN : 4;\
UNSG32 RSVDx0_b27 : 5;\
}
union { UNSG32 u32TspSecRule_CTRL;
struct w32TspSecRule_CTRL;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MINMASK_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MINMASK_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MINMASK {\
UNSG32 uMINMASK_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MINMASK;
struct w32TspSecRule_MINMASK;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF1DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF1DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF1DW {\
UNSG32 uMAXCOEFF1DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF1DW;
struct w32TspSecRule_MAXCOEFF1DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF2DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF2DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF2DW {\
UNSG32 uMAXCOEFF2DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF2DW;
struct w32TspSecRule_MAXCOEFF2DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF3DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF3DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF3DW {\
UNSG32 uMAXCOEFF3DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF3DW;
struct w32TspSecRule_MAXCOEFF3DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF4DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF4DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF4DW {\
UNSG32 uMAXCOEFF4DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF4DW;
struct w32TspSecRule_MAXCOEFF4DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF5DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF5DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF5DW {\
UNSG32 uMAXCOEFF5DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF5DW;
struct w32TspSecRule_MAXCOEFF5DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF6DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF6DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF6DW {\
UNSG32 uMAXCOEFF6DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF6DW;
struct w32TspSecRule_MAXCOEFF6DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF7DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF7DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF7DW {\
UNSG32 uMAXCOEFF7DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF7DW;
struct w32TspSecRule_MAXCOEFF7DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF8DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF8DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF8DW {\
UNSG32 uMAXCOEFF8DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF8DW;
struct w32TspSecRule_MAXCOEFF8DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF9DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF9DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF9DW {\
UNSG32 uMAXCOEFF9DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF9DW;
struct w32TspSecRule_MAXCOEFF9DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF10DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF10DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF10DW {\
UNSG32 uMAXCOEFF10DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF10DW;
struct w32TspSecRule_MAXCOEFF10DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF11DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF11DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF11DW {\
UNSG32 uMAXCOEFF11DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF11DW;
struct w32TspSecRule_MAXCOEFF11DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF12DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF12DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF12DW {\
UNSG32 uMAXCOEFF12DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF12DW;
struct w32TspSecRule_MAXCOEFF12DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF13DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF13DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF13DW {\
UNSG32 uMAXCOEFF13DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF13DW;
struct w32TspSecRule_MAXCOEFF13DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF14DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF14DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF14DW {\
UNSG32 uMAXCOEFF14DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF14DW;
struct w32TspSecRule_MAXCOEFF14DW;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRule_MAXCOEFF15DW_VALUE(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRule_MAXCOEFF15DW_VALUE(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRule_MAXCOEFF15DW {\
UNSG32 uMAXCOEFF15DW_VALUE : 32;\
}
union { UNSG32 u32TspSecRule_MAXCOEFF15DW;
struct w32TspSecRule_MAXCOEFF15DW;
};
///////////////////////////////////////////////////////////
} SIE_TspSecRule;
typedef union T32TspSecRule_CTRL
{ UNSG32 u32;
struct w32TspSecRule_CTRL;
} T32TspSecRule_CTRL;
typedef union T32TspSecRule_MINMASK
{ UNSG32 u32;
struct w32TspSecRule_MINMASK;
} T32TspSecRule_MINMASK;
typedef union T32TspSecRule_MAXCOEFF1DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF1DW;
} T32TspSecRule_MAXCOEFF1DW;
typedef union T32TspSecRule_MAXCOEFF2DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF2DW;
} T32TspSecRule_MAXCOEFF2DW;
typedef union T32TspSecRule_MAXCOEFF3DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF3DW;
} T32TspSecRule_MAXCOEFF3DW;
typedef union T32TspSecRule_MAXCOEFF4DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF4DW;
} T32TspSecRule_MAXCOEFF4DW;
typedef union T32TspSecRule_MAXCOEFF5DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF5DW;
} T32TspSecRule_MAXCOEFF5DW;
typedef union T32TspSecRule_MAXCOEFF6DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF6DW;
} T32TspSecRule_MAXCOEFF6DW;
typedef union T32TspSecRule_MAXCOEFF7DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF7DW;
} T32TspSecRule_MAXCOEFF7DW;
typedef union T32TspSecRule_MAXCOEFF8DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF8DW;
} T32TspSecRule_MAXCOEFF8DW;
typedef union T32TspSecRule_MAXCOEFF9DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF9DW;
} T32TspSecRule_MAXCOEFF9DW;
typedef union T32TspSecRule_MAXCOEFF10DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF10DW;
} T32TspSecRule_MAXCOEFF10DW;
typedef union T32TspSecRule_MAXCOEFF11DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF11DW;
} T32TspSecRule_MAXCOEFF11DW;
typedef union T32TspSecRule_MAXCOEFF12DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF12DW;
} T32TspSecRule_MAXCOEFF12DW;
typedef union T32TspSecRule_MAXCOEFF13DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF13DW;
} T32TspSecRule_MAXCOEFF13DW;
typedef union T32TspSecRule_MAXCOEFF14DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF14DW;
} T32TspSecRule_MAXCOEFF14DW;
typedef union T32TspSecRule_MAXCOEFF15DW
{ UNSG32 u32;
struct w32TspSecRule_MAXCOEFF15DW;
} T32TspSecRule_MAXCOEFF15DW;
///////////////////////////////////////////////////////////
typedef union TTspSecRule_CTRL
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_CTRL;
};
} TTspSecRule_CTRL;
typedef union TTspSecRule_MINMASK
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MINMASK;
};
} TTspSecRule_MINMASK;
typedef union TTspSecRule_MAXCOEFF1DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF1DW;
};
} TTspSecRule_MAXCOEFF1DW;
typedef union TTspSecRule_MAXCOEFF2DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF2DW;
};
} TTspSecRule_MAXCOEFF2DW;
typedef union TTspSecRule_MAXCOEFF3DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF3DW;
};
} TTspSecRule_MAXCOEFF3DW;
typedef union TTspSecRule_MAXCOEFF4DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF4DW;
};
} TTspSecRule_MAXCOEFF4DW;
typedef union TTspSecRule_MAXCOEFF5DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF5DW;
};
} TTspSecRule_MAXCOEFF5DW;
typedef union TTspSecRule_MAXCOEFF6DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF6DW;
};
} TTspSecRule_MAXCOEFF6DW;
typedef union TTspSecRule_MAXCOEFF7DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF7DW;
};
} TTspSecRule_MAXCOEFF7DW;
typedef union TTspSecRule_MAXCOEFF8DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF8DW;
};
} TTspSecRule_MAXCOEFF8DW;
typedef union TTspSecRule_MAXCOEFF9DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF9DW;
};
} TTspSecRule_MAXCOEFF9DW;
typedef union TTspSecRule_MAXCOEFF10DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF10DW;
};
} TTspSecRule_MAXCOEFF10DW;
typedef union TTspSecRule_MAXCOEFF11DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF11DW;
};
} TTspSecRule_MAXCOEFF11DW;
typedef union TTspSecRule_MAXCOEFF12DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF12DW;
};
} TTspSecRule_MAXCOEFF12DW;
typedef union TTspSecRule_MAXCOEFF13DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF13DW;
};
} TTspSecRule_MAXCOEFF13DW;
typedef union TTspSecRule_MAXCOEFF14DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF14DW;
};
} TTspSecRule_MAXCOEFF14DW;
typedef union TTspSecRule_MAXCOEFF15DW
{ UNSG32 u32[1];
struct {
struct w32TspSecRule_MAXCOEFF15DW;
};
} TTspSecRule_MAXCOEFF15DW;
///////////////////////////////////////////////////////////
SIGN32 TspSecRule_drvrd(SIE_TspSecRule *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspSecRule_drvwr(SIE_TspSecRule *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspSecRule_reset(SIE_TspSecRule *p);
SIGN32 TspSecRule_cmp (SIE_TspSecRule *p, SIE_TspSecRule *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspSecRule_check(p,pie,pfx,hLOG) TspSecRule_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspSecRule_print(p, pfx,hLOG) TspSecRule_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspSecRule
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspSecTbl (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 word
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspSecTbl
#define h_TspSecTbl (){}
#define BA_TspSecTbl_word 0x0000
#define B16TspSecTbl_word 0x0000
#define LSb32TspSecTbl_word 0
#define LSb16TspSecTbl_word 0
#define bTspSecTbl_word 32
#define MSK32TspSecTbl_word 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_TspSecTbl {
///////////////////////////////////////////////////////////
#define GET32TspSecTbl_word(r32) _BFGET_(r32,31, 0)
#define SET32TspSecTbl_word(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_word : 32;
///////////////////////////////////////////////////////////
} SIE_TspSecTbl;
///////////////////////////////////////////////////////////
SIGN32 TspSecTbl_drvrd(SIE_TspSecTbl *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspSecTbl_drvwr(SIE_TspSecTbl *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspSecTbl_reset(SIE_TspSecTbl *p);
SIGN32 TspSecTbl_cmp (SIE_TspSecTbl *p, SIE_TspSecTbl *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspSecTbl_check(p,pie,pfx,hLOG) TspSecTbl_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspSecTbl_print(p, pfx,hLOG) TspSecTbl_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspSecTbl
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspCryCmd biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 5 type
/// ###
/// * Crypto function type
/// ###
/// : Copy 0x0
/// : CRC 0x1
/// : INVDVBCSA2 0x2
/// : INVDVBCSA3 0x3
/// : AES 0x4
/// : INVAES 0x5
/// : TDES 0x6
/// : INVTDES 0x7
/// : C2 0x8
/// : INVC2 0x9
/// : WMMAC 0xA
/// : INVWMMAC 0xB
/// : ARIBMULTI2 0xC
/// : INVARIBMULTI2 0xD
/// : RC4 0xE
/// : CSS 0xF
/// %unsigned 2 reserved_0
/// %unsigned 1 write_back_iv
/// ###
/// * 1: crypto engine will overwrite the iv_address with the iv for next block after the execution of the command
/// * 0: crypto engine will not overwrite the iv_address
/// ###
/// %unsigned 8 parameter
/// ###
/// * Parameters of the crypto function
/// * Refer to the description of each crypto block for details
/// ###
/// %unsigned 16 source_address
/// ###
/// * Address of the input data in byte
/// ###
/// %unsigned 16 input_size
/// ###
/// * size of the input data in byte;
/// * If input_size is 0, crypto engine will not process any data. It will still increase the command counter and write out the return word.
/// ###
/// %unsigned 16 desination_address
/// ###
/// * Address of the output buffer in byte;
/// ###
/// %unsigned 16 key_address
/// ###
/// * Address of the key
/// ###
/// %unsigned 16 iv_address
/// ###
/// * Address of the initial vector
/// ###
/// %unsigned 16 key_address_2
/// ###
/// * Address for the second key
/// ###
/// %unsigned 8 parameter_1
/// ###
/// * Additional parameters of the crypto function;
/// * Refer to the description of each crypto block for details;
/// ###
/// %unsigned 8 reserved_1
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspCryCmd
#define h_TspCryCmd (){}
#define BA_TspCryCmd_type 0x0000
#define B16TspCryCmd_type 0x0000
#define LSb32TspCryCmd_type 0
#define LSb16TspCryCmd_type 0
#define bTspCryCmd_type 5
#define MSK32TspCryCmd_type 0x0000001F
#define TspCryCmd_type_Copy 0x0
#define TspCryCmd_type_CRC 0x1
#define TspCryCmd_type_INVDVBCSA2 0x2
#define TspCryCmd_type_INVDVBCSA3 0x3
#define TspCryCmd_type_AES 0x4
#define TspCryCmd_type_INVAES 0x5
#define TspCryCmd_type_TDES 0x6
#define TspCryCmd_type_INVTDES 0x7
#define TspCryCmd_type_C2 0x8
#define TspCryCmd_type_INVC2 0x9
#define TspCryCmd_type_WMMAC 0xA
#define TspCryCmd_type_INVWMMAC 0xB
#define TspCryCmd_type_ARIBMULTI2 0xC
#define TspCryCmd_type_INVARIBMULTI2 0xD
#define TspCryCmd_type_RC4 0xE
#define TspCryCmd_type_CSS 0xF
#define BA_TspCryCmd_reserved_0 0x0000
#define B16TspCryCmd_reserved_0 0x0000
#define LSb32TspCryCmd_reserved_0 5
#define LSb16TspCryCmd_reserved_0 5
#define bTspCryCmd_reserved_0 2
#define MSK32TspCryCmd_reserved_0 0x00000060
#define BA_TspCryCmd_write_back_iv 0x0000
#define B16TspCryCmd_write_back_iv 0x0000
#define LSb32TspCryCmd_write_back_iv 7
#define LSb16TspCryCmd_write_back_iv 7
#define bTspCryCmd_write_back_iv 1
#define MSK32TspCryCmd_write_back_iv 0x00000080
#define BA_TspCryCmd_parameter 0x0001
#define B16TspCryCmd_parameter 0x0000
#define LSb32TspCryCmd_parameter 8
#define LSb16TspCryCmd_parameter 8
#define bTspCryCmd_parameter 8
#define MSK32TspCryCmd_parameter 0x0000FF00
#define BA_TspCryCmd_source_address 0x0002
#define B16TspCryCmd_source_address 0x0002
#define LSb32TspCryCmd_source_address 16
#define LSb16TspCryCmd_source_address 0
#define bTspCryCmd_source_address 16
#define MSK32TspCryCmd_source_address 0xFFFF0000
#define BA_TspCryCmd_input_size 0x0004
#define B16TspCryCmd_input_size 0x0004
#define LSb32TspCryCmd_input_size 0
#define LSb16TspCryCmd_input_size 0
#define bTspCryCmd_input_size 16
#define MSK32TspCryCmd_input_size 0x0000FFFF
#define BA_TspCryCmd_desination_address 0x0006
#define B16TspCryCmd_desination_address 0x0006
#define LSb32TspCryCmd_desination_address 16
#define LSb16TspCryCmd_desination_address 0
#define bTspCryCmd_desination_address 16
#define MSK32TspCryCmd_desination_address 0xFFFF0000
#define BA_TspCryCmd_key_address 0x0008
#define B16TspCryCmd_key_address 0x0008
#define LSb32TspCryCmd_key_address 0
#define LSb16TspCryCmd_key_address 0
#define bTspCryCmd_key_address 16
#define MSK32TspCryCmd_key_address 0x0000FFFF
#define BA_TspCryCmd_iv_address 0x000A
#define B16TspCryCmd_iv_address 0x000A
#define LSb32TspCryCmd_iv_address 16
#define LSb16TspCryCmd_iv_address 0
#define bTspCryCmd_iv_address 16
#define MSK32TspCryCmd_iv_address 0xFFFF0000
#define BA_TspCryCmd_key_address_2 0x000C
#define B16TspCryCmd_key_address_2 0x000C
#define LSb32TspCryCmd_key_address_2 0
#define LSb16TspCryCmd_key_address_2 0
#define bTspCryCmd_key_address_2 16
#define MSK32TspCryCmd_key_address_2 0x0000FFFF
#define BA_TspCryCmd_parameter_1 0x000E
#define B16TspCryCmd_parameter_1 0x000E
#define LSb32TspCryCmd_parameter_1 16
#define LSb16TspCryCmd_parameter_1 0
#define bTspCryCmd_parameter_1 8
#define MSK32TspCryCmd_parameter_1 0x00FF0000
#define BA_TspCryCmd_reserved_1 0x000F
#define B16TspCryCmd_reserved_1 0x000E
#define LSb32TspCryCmd_reserved_1 24
#define LSb16TspCryCmd_reserved_1 8
#define bTspCryCmd_reserved_1 8
#define MSK32TspCryCmd_reserved_1 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_TspCryCmd {
///////////////////////////////////////////////////////////
#define GET32TspCryCmd_type(r32) _BFGET_(r32, 4, 0)
#define SET32TspCryCmd_type(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16TspCryCmd_type(r16) _BFGET_(r16, 4, 0)
#define SET16TspCryCmd_type(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32TspCryCmd_reserved_0(r32) _BFGET_(r32, 6, 5)
#define SET32TspCryCmd_reserved_0(r32,v) _BFSET_(r32, 6, 5,v)
#define GET16TspCryCmd_reserved_0(r16) _BFGET_(r16, 6, 5)
#define SET16TspCryCmd_reserved_0(r16,v) _BFSET_(r16, 6, 5,v)
#define GET32TspCryCmd_write_back_iv(r32) _BFGET_(r32, 7, 7)
#define SET32TspCryCmd_write_back_iv(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16TspCryCmd_write_back_iv(r16) _BFGET_(r16, 7, 7)
#define SET16TspCryCmd_write_back_iv(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32TspCryCmd_parameter(r32) _BFGET_(r32,15, 8)
#define SET32TspCryCmd_parameter(r32,v) _BFSET_(r32,15, 8,v)
#define GET16TspCryCmd_parameter(r16) _BFGET_(r16,15, 8)
#define SET16TspCryCmd_parameter(r16,v) _BFSET_(r16,15, 8,v)
#define GET32TspCryCmd_source_address(r32) _BFGET_(r32,31,16)
#define SET32TspCryCmd_source_address(r32,v) _BFSET_(r32,31,16,v)
#define GET16TspCryCmd_source_address(r16) _BFGET_(r16,15, 0)
#define SET16TspCryCmd_source_address(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_type : 5;
UNSG32 u_reserved_0 : 2;
UNSG32 u_write_back_iv : 1;
UNSG32 u_parameter : 8;
UNSG32 u_source_address : 16;
///////////////////////////////////////////////////////////
#define GET32TspCryCmd_input_size(r32) _BFGET_(r32,15, 0)
#define SET32TspCryCmd_input_size(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryCmd_input_size(r16) _BFGET_(r16,15, 0)
#define SET16TspCryCmd_input_size(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TspCryCmd_desination_address(r32) _BFGET_(r32,31,16)
#define SET32TspCryCmd_desination_address(r32,v) _BFSET_(r32,31,16,v)
#define GET16TspCryCmd_desination_address(r16) _BFGET_(r16,15, 0)
#define SET16TspCryCmd_desination_address(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_input_size : 16;
UNSG32 u_desination_address : 16;
///////////////////////////////////////////////////////////
#define GET32TspCryCmd_key_address(r32) _BFGET_(r32,15, 0)
#define SET32TspCryCmd_key_address(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryCmd_key_address(r16) _BFGET_(r16,15, 0)
#define SET16TspCryCmd_key_address(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TspCryCmd_iv_address(r32) _BFGET_(r32,31,16)
#define SET32TspCryCmd_iv_address(r32,v) _BFSET_(r32,31,16,v)
#define GET16TspCryCmd_iv_address(r16) _BFGET_(r16,15, 0)
#define SET16TspCryCmd_iv_address(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_key_address : 16;
UNSG32 u_iv_address : 16;
///////////////////////////////////////////////////////////
#define GET32TspCryCmd_key_address_2(r32) _BFGET_(r32,15, 0)
#define SET32TspCryCmd_key_address_2(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryCmd_key_address_2(r16) _BFGET_(r16,15, 0)
#define SET16TspCryCmd_key_address_2(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TspCryCmd_parameter_1(r32) _BFGET_(r32,23,16)
#define SET32TspCryCmd_parameter_1(r32,v) _BFSET_(r32,23,16,v)
#define GET16TspCryCmd_parameter_1(r16) _BFGET_(r16, 7, 0)
#define SET16TspCryCmd_parameter_1(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32TspCryCmd_reserved_1(r32) _BFGET_(r32,31,24)
#define SET32TspCryCmd_reserved_1(r32,v) _BFSET_(r32,31,24,v)
#define GET16TspCryCmd_reserved_1(r16) _BFGET_(r16,15, 8)
#define SET16TspCryCmd_reserved_1(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_key_address_2 : 16;
UNSG32 u_parameter_1 : 8;
UNSG32 u_reserved_1 : 8;
///////////////////////////////////////////////////////////
} SIE_TspCryCmd;
///////////////////////////////////////////////////////////
SIGN32 TspCryCmd_drvrd(SIE_TspCryCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspCryCmd_drvwr(SIE_TspCryCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspCryCmd_reset(SIE_TspCryCmd *p);
SIGN32 TspCryCmd_cmp (SIE_TspCryCmd *p, SIE_TspCryCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspCryCmd_check(p,pie,pfx,hLOG) TspCryCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspCryCmd_print(p, pfx,hLOG) TspCryCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspCryCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspCryRtn biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 16 command_count
/// ###
/// * Number of command been executed.
/// * The counter will wrap back to 0 once it reaches 65536.
/// * Firmware can set the initial value through register programming interface.
/// ###
/// %unsigned 16 reserved_0
/// ###
/// * This field will be filled with all zeros
/// ###
/// %unsigned 16 error_command_count
/// ###
/// * command_count of the last error command.
/// ###
/// %unsigned 15 reserved_1
/// ###
/// * This field will be filled with all zeros
/// ###
/// %unsigned 1 error_command_flag
/// ###
/// * Hardware will set this flag bit to one when key mismatch is detected for a crypto command. The flag can only be cleared by firmware. The flag is not reset to zero by hardware after power on, so firmware should clear the flag before it send the first crypto command.
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspCryRtn
#define h_TspCryRtn (){}
#define BA_TspCryRtn_command_count 0x0000
#define B16TspCryRtn_command_count 0x0000
#define LSb32TspCryRtn_command_count 0
#define LSb16TspCryRtn_command_count 0
#define bTspCryRtn_command_count 16
#define MSK32TspCryRtn_command_count 0x0000FFFF
#define BA_TspCryRtn_reserved_0 0x0002
#define B16TspCryRtn_reserved_0 0x0002
#define LSb32TspCryRtn_reserved_0 16
#define LSb16TspCryRtn_reserved_0 0
#define bTspCryRtn_reserved_0 16
#define MSK32TspCryRtn_reserved_0 0xFFFF0000
#define BA_TspCryRtn_error_command_count 0x0004
#define B16TspCryRtn_error_command_count 0x0004
#define LSb32TspCryRtn_error_command_count 0
#define LSb16TspCryRtn_error_command_count 0
#define bTspCryRtn_error_command_count 16
#define MSK32TspCryRtn_error_command_count 0x0000FFFF
#define BA_TspCryRtn_reserved_1 0x0006
#define B16TspCryRtn_reserved_1 0x0006
#define LSb32TspCryRtn_reserved_1 16
#define LSb16TspCryRtn_reserved_1 0
#define bTspCryRtn_reserved_1 15
#define MSK32TspCryRtn_reserved_1 0x7FFF0000
#define BA_TspCryRtn_error_command_flag 0x0007
#define B16TspCryRtn_error_command_flag 0x0006
#define LSb32TspCryRtn_error_command_flag 31
#define LSb16TspCryRtn_error_command_flag 15
#define bTspCryRtn_error_command_flag 1
#define MSK32TspCryRtn_error_command_flag 0x80000000
///////////////////////////////////////////////////////////
typedef struct SIE_TspCryRtn {
///////////////////////////////////////////////////////////
#define GET32TspCryRtn_command_count(r32) _BFGET_(r32,15, 0)
#define SET32TspCryRtn_command_count(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryRtn_command_count(r16) _BFGET_(r16,15, 0)
#define SET16TspCryRtn_command_count(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TspCryRtn_reserved_0(r32) _BFGET_(r32,31,16)
#define SET32TspCryRtn_reserved_0(r32,v) _BFSET_(r32,31,16,v)
#define GET16TspCryRtn_reserved_0(r16) _BFGET_(r16,15, 0)
#define SET16TspCryRtn_reserved_0(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_command_count : 16;
UNSG32 u_reserved_0 : 16;
///////////////////////////////////////////////////////////
#define GET32TspCryRtn_error_command_count(r32) _BFGET_(r32,15, 0)
#define SET32TspCryRtn_error_command_count(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryRtn_error_command_count(r16) _BFGET_(r16,15, 0)
#define SET16TspCryRtn_error_command_count(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TspCryRtn_reserved_1(r32) _BFGET_(r32,30,16)
#define SET32TspCryRtn_reserved_1(r32,v) _BFSET_(r32,30,16,v)
#define GET16TspCryRtn_reserved_1(r16) _BFGET_(r16,14, 0)
#define SET16TspCryRtn_reserved_1(r16,v) _BFSET_(r16,14, 0,v)
#define GET32TspCryRtn_error_command_flag(r32) _BFGET_(r32,31,31)
#define SET32TspCryRtn_error_command_flag(r32,v) _BFSET_(r32,31,31,v)
#define GET16TspCryRtn_error_command_flag(r16) _BFGET_(r16,15,15)
#define SET16TspCryRtn_error_command_flag(r16,v) _BFSET_(r16,15,15,v)
UNSG32 u_error_command_count : 16;
UNSG32 u_reserved_1 : 15;
UNSG32 u_error_command_flag : 1;
///////////////////////////////////////////////////////////
} SIE_TspCryRtn;
///////////////////////////////////////////////////////////
SIGN32 TspCryRtn_drvrd(SIE_TspCryRtn *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspCryRtn_drvwr(SIE_TspCryRtn *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspCryRtn_reset(SIE_TspCryRtn *p);
SIGN32 TspCryRtn_cmp (SIE_TspCryRtn *p, SIE_TspCryRtn *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspCryRtn_check(p,pie,pfx,hLOG) TspCryRtn_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspCryRtn_print(p, pfx,hLOG) TspCryRtn_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspCryRtn
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspKeyTblAdr (4,4)
/// # # ----------------------------------------------------------
/// : TspKeyTblBase 0x8000
/// : Nsk2TsKeyTblBase 0xC000
/// : Nsk2M2mKeyTblBase 0xE000
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 0B, bits: 0b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspKeyTblAdr
#define h_TspKeyTblAdr (){}
#define TspKeyTblAdr_TspKeyTblBase 0x8000
#define TspKeyTblAdr_Nsk2TsKeyTblBase 0xC000
#define TspKeyTblAdr_Nsk2M2mKeyTblBase 0xE000
///////////////////////////////////////////////////////////
#endif
//////
/// ENDOFINTERFACE: TspKeyTblAdr
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspKeyEntry biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 key_lower
/// %unsigned 32 key_upper
/// ###
/// * 64 bits key data of this entry
/// ###
/// %unsigned 5 crypto_type
/// ###
/// * Type of crypto function
/// ###
/// : Copy 0x0
/// : CRC 0x1
/// : INVDVBCSA2 0x2
/// : INVDVBCSA3 0x3
/// : AES 0x4
/// : INVAES 0x5
/// : TDES 0x6
/// : INVTDES 0x7
/// : C2 0x8
/// : INVC2 0x9
/// : WMMAC 0xA
/// : INVWMMAC 0xB
/// : ARIBMULTI2 0xC
/// : INVARIBMULTI2 0xD
/// : RC4 0xE
/// : CSS 0xF
/// %unsigned 1 write_enable
/// ###
/// * 1: enable crypto engine to write to this entry
/// * 0: disable write
/// ###
/// %unsigned 2 data_type
/// ###
/// * Type of data requested by the crypto function
/// * 0: key of crypto function
/// * 1: initial vector of crypto function
/// * 2: second key of crypto function (multi 2 only)
/// * 3: reserved
/// ###
/// : KEY 0x0
/// : IV 0x1
/// : KEY2 0x2
/// %unsigned 8 crypto_param
/// ###
/// * Parameter of the crypto function;
/// * Only effective bits are used for matching. reserved bits are ignored.
/// ###
/// %unsigned 16 reserved_0
/// %unsigned 32 reserved_1
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspKeyEntry
#define h_TspKeyEntry (){}
#define BA_TspKeyEntry_key_lower 0x0000
#define B16TspKeyEntry_key_lower 0x0000
#define LSb32TspKeyEntry_key_lower 0
#define LSb16TspKeyEntry_key_lower 0
#define bTspKeyEntry_key_lower 32
#define MSK32TspKeyEntry_key_lower 0xFFFFFFFF
#define BA_TspKeyEntry_key_upper 0x0004
#define B16TspKeyEntry_key_upper 0x0004
#define LSb32TspKeyEntry_key_upper 0
#define LSb16TspKeyEntry_key_upper 0
#define bTspKeyEntry_key_upper 32
#define MSK32TspKeyEntry_key_upper 0xFFFFFFFF
#define BA_TspKeyEntry_crypto_type 0x0008
#define B16TspKeyEntry_crypto_type 0x0008
#define LSb32TspKeyEntry_crypto_type 0
#define LSb16TspKeyEntry_crypto_type 0
#define bTspKeyEntry_crypto_type 5
#define MSK32TspKeyEntry_crypto_type 0x0000001F
#define TspKeyEntry_crypto_type_Copy 0x0
#define TspKeyEntry_crypto_type_CRC 0x1
#define TspKeyEntry_crypto_type_INVDVBCSA2 0x2
#define TspKeyEntry_crypto_type_INVDVBCSA3 0x3
#define TspKeyEntry_crypto_type_AES 0x4
#define TspKeyEntry_crypto_type_INVAES 0x5
#define TspKeyEntry_crypto_type_TDES 0x6
#define TspKeyEntry_crypto_type_INVTDES 0x7
#define TspKeyEntry_crypto_type_C2 0x8
#define TspKeyEntry_crypto_type_INVC2 0x9
#define TspKeyEntry_crypto_type_WMMAC 0xA
#define TspKeyEntry_crypto_type_INVWMMAC 0xB
#define TspKeyEntry_crypto_type_ARIBMULTI2 0xC
#define TspKeyEntry_crypto_type_INVARIBMULTI2 0xD
#define TspKeyEntry_crypto_type_RC4 0xE
#define TspKeyEntry_crypto_type_CSS 0xF
#define BA_TspKeyEntry_write_enable 0x0008
#define B16TspKeyEntry_write_enable 0x0008
#define LSb32TspKeyEntry_write_enable 5
#define LSb16TspKeyEntry_write_enable 5
#define bTspKeyEntry_write_enable 1
#define MSK32TspKeyEntry_write_enable 0x00000020
#define BA_TspKeyEntry_data_type 0x0008
#define B16TspKeyEntry_data_type 0x0008
#define LSb32TspKeyEntry_data_type 6
#define LSb16TspKeyEntry_data_type 6
#define bTspKeyEntry_data_type 2
#define MSK32TspKeyEntry_data_type 0x000000C0
#define TspKeyEntry_data_type_KEY 0x0
#define TspKeyEntry_data_type_IV 0x1
#define TspKeyEntry_data_type_KEY2 0x2
#define BA_TspKeyEntry_crypto_param 0x0009
#define B16TspKeyEntry_crypto_param 0x0008
#define LSb32TspKeyEntry_crypto_param 8
#define LSb16TspKeyEntry_crypto_param 8
#define bTspKeyEntry_crypto_param 8
#define MSK32TspKeyEntry_crypto_param 0x0000FF00
#define BA_TspKeyEntry_reserved_0 0x000A
#define B16TspKeyEntry_reserved_0 0x000A
#define LSb32TspKeyEntry_reserved_0 16
#define LSb16TspKeyEntry_reserved_0 0
#define bTspKeyEntry_reserved_0 16
#define MSK32TspKeyEntry_reserved_0 0xFFFF0000
#define BA_TspKeyEntry_reserved_1 0x000C
#define B16TspKeyEntry_reserved_1 0x000C
#define LSb32TspKeyEntry_reserved_1 0
#define LSb16TspKeyEntry_reserved_1 0
#define bTspKeyEntry_reserved_1 32
#define MSK32TspKeyEntry_reserved_1 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_TspKeyEntry {
///////////////////////////////////////////////////////////
#define GET32TspKeyEntry_key_lower(r32) _BFGET_(r32,31, 0)
#define SET32TspKeyEntry_key_lower(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_key_lower : 32;
///////////////////////////////////////////////////////////
#define GET32TspKeyEntry_key_upper(r32) _BFGET_(r32,31, 0)
#define SET32TspKeyEntry_key_upper(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_key_upper : 32;
///////////////////////////////////////////////////////////
#define GET32TspKeyEntry_crypto_type(r32) _BFGET_(r32, 4, 0)
#define SET32TspKeyEntry_crypto_type(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16TspKeyEntry_crypto_type(r16) _BFGET_(r16, 4, 0)
#define SET16TspKeyEntry_crypto_type(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32TspKeyEntry_write_enable(r32) _BFGET_(r32, 5, 5)
#define SET32TspKeyEntry_write_enable(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16TspKeyEntry_write_enable(r16) _BFGET_(r16, 5, 5)
#define SET16TspKeyEntry_write_enable(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32TspKeyEntry_data_type(r32) _BFGET_(r32, 7, 6)
#define SET32TspKeyEntry_data_type(r32,v) _BFSET_(r32, 7, 6,v)
#define GET16TspKeyEntry_data_type(r16) _BFGET_(r16, 7, 6)
#define SET16TspKeyEntry_data_type(r16,v) _BFSET_(r16, 7, 6,v)
#define GET32TspKeyEntry_crypto_param(r32) _BFGET_(r32,15, 8)
#define SET32TspKeyEntry_crypto_param(r32,v) _BFSET_(r32,15, 8,v)
#define GET16TspKeyEntry_crypto_param(r16) _BFGET_(r16,15, 8)
#define SET16TspKeyEntry_crypto_param(r16,v) _BFSET_(r16,15, 8,v)
#define GET32TspKeyEntry_reserved_0(r32) _BFGET_(r32,31,16)
#define SET32TspKeyEntry_reserved_0(r32,v) _BFSET_(r32,31,16,v)
#define GET16TspKeyEntry_reserved_0(r16) _BFGET_(r16,15, 0)
#define SET16TspKeyEntry_reserved_0(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_crypto_type : 5;
UNSG32 u_write_enable : 1;
UNSG32 u_data_type : 2;
UNSG32 u_crypto_param : 8;
UNSG32 u_reserved_0 : 16;
///////////////////////////////////////////////////////////
#define GET32TspKeyEntry_reserved_1(r32) _BFGET_(r32,31, 0)
#define SET32TspKeyEntry_reserved_1(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_reserved_1 : 32;
///////////////////////////////////////////////////////////
} SIE_TspKeyEntry;
///////////////////////////////////////////////////////////
SIGN32 TspKeyEntry_drvrd(SIE_TspKeyEntry *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspKeyEntry_drvwr(SIE_TspKeyEntry *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspKeyEntry_reset(SIE_TspKeyEntry *p);
SIGN32 TspKeyEntry_cmp (SIE_TspKeyEntry *p, SIE_TspKeyEntry *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspKeyEntry_check(p,pie,pfx,hLOG) TspKeyEntry_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspKeyEntry_print(p, pfx,hLOG) TspKeyEntry_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspKeyEntry
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspKeyTbl biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 key_entry
/// $TspKeyEntry key_entry MEM [256]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4096B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspKeyTbl
#define h_TspKeyTbl (){}
#define RA_TspKeyTbl_key_entry 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_TspKeyTbl {
///////////////////////////////////////////////////////////
SIE_TspKeyEntry ie_key_entry[256];
///////////////////////////////////////////////////////////
} SIE_TspKeyTbl;
///////////////////////////////////////////////////////////
SIGN32 TspKeyTbl_drvrd(SIE_TspKeyTbl *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspKeyTbl_drvwr(SIE_TspKeyTbl *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspKeyTbl_reset(SIE_TspKeyTbl *p);
SIGN32 TspKeyTbl_cmp (SIE_TspKeyTbl *p, SIE_TspKeyTbl *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspKeyTbl_check(p,pie,pfx,hLOG) TspKeyTbl_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspKeyTbl_print(p, pfx,hLOG) TspKeyTbl_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspKeyTbl
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspCrcParam (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 2 size
/// ###
/// * Size of polynomial
/// ###
/// : CRC8 0x0
/// : CRC16 0x1
/// : CRC32 0x2
/// : CRC64 0x3
/// %unsigned 6 reserved_0
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspCrcParam
#define h_TspCrcParam (){}
#define BA_TspCrcParam_size 0x0000
#define B16TspCrcParam_size 0x0000
#define LSb32TspCrcParam_size 0
#define LSb16TspCrcParam_size 0
#define bTspCrcParam_size 2
#define MSK32TspCrcParam_size 0x00000003
#define TspCrcParam_size_CRC8 0x0
#define TspCrcParam_size_CRC16 0x1
#define TspCrcParam_size_CRC32 0x2
#define TspCrcParam_size_CRC64 0x3
#define BA_TspCrcParam_reserved_0 0x0000
#define B16TspCrcParam_reserved_0 0x0000
#define LSb32TspCrcParam_reserved_0 2
#define LSb16TspCrcParam_reserved_0 2
#define bTspCrcParam_reserved_0 6
#define MSK32TspCrcParam_reserved_0 0x000000FC
///////////////////////////////////////////////////////////
typedef struct SIE_TspCrcParam {
///////////////////////////////////////////////////////////
#define GET32TspCrcParam_size(r32) _BFGET_(r32, 1, 0)
#define SET32TspCrcParam_size(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16TspCrcParam_size(r16) _BFGET_(r16, 1, 0)
#define SET16TspCrcParam_size(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32TspCrcParam_reserved_0(r32) _BFGET_(r32, 7, 2)
#define SET32TspCrcParam_reserved_0(r32,v) _BFSET_(r32, 7, 2,v)
#define GET16TspCrcParam_reserved_0(r16) _BFGET_(r16, 7, 2)
#define SET16TspCrcParam_reserved_0(r16,v) _BFSET_(r16, 7, 2,v)
UNSG32 u_size : 2;
UNSG32 u_reserved_0 : 6;
///////////////////////////////////////////////////////////
} SIE_TspCrcParam;
///////////////////////////////////////////////////////////
SIGN32 TspCrcParam_drvrd(SIE_TspCrcParam *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspCrcParam_drvwr(SIE_TspCrcParam *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspCrcParam_reset(SIE_TspCrcParam *p);
SIGN32 TspCrcParam_cmp (SIE_TspCrcParam *p, SIE_TspCrcParam *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspCrcParam_check(p,pie,pfx,hLOG) TspCrcParam_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspCrcParam_print(p, pfx,hLOG) TspCrcParam_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspCrcParam
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspCsa2Param (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 5 NSK2_SBOX_TABLE 0x1
/// %unsigned 1 Conformance 0x0
/// ###
/// * 1: use the conformance mechanism to transform the key;
/// * 0: use the key as is.
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 6b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspCsa2Param
#define h_TspCsa2Param (){}
#define BA_TspCsa2Param_NSK2_SBOX_TABLE 0x0000
#define B16TspCsa2Param_NSK2_SBOX_TABLE 0x0000
#define LSb32TspCsa2Param_NSK2_SBOX_TABLE 0
#define LSb16TspCsa2Param_NSK2_SBOX_TABLE 0
#define bTspCsa2Param_NSK2_SBOX_TABLE 5
#define MSK32TspCsa2Param_NSK2_SBOX_TABLE 0x0000001F
#define BA_TspCsa2Param_Conformance 0x0000
#define B16TspCsa2Param_Conformance 0x0000
#define LSb32TspCsa2Param_Conformance 5
#define LSb16TspCsa2Param_Conformance 5
#define bTspCsa2Param_Conformance 1
#define MSK32TspCsa2Param_Conformance 0x00000020
///////////////////////////////////////////////////////////
typedef struct SIE_TspCsa2Param {
///////////////////////////////////////////////////////////
#define GET32TspCsa2Param_NSK2_SBOX_TABLE(r32) _BFGET_(r32, 4, 0)
#define SET32TspCsa2Param_NSK2_SBOX_TABLE(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16TspCsa2Param_NSK2_SBOX_TABLE(r16) _BFGET_(r16, 4, 0)
#define SET16TspCsa2Param_NSK2_SBOX_TABLE(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32TspCsa2Param_Conformance(r32) _BFGET_(r32, 5, 5)
#define SET32TspCsa2Param_Conformance(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16TspCsa2Param_Conformance(r16) _BFGET_(r16, 5, 5)
#define SET16TspCsa2Param_Conformance(r16,v) _BFSET_(r16, 5, 5,v)
UNSG32 u_NSK2_SBOX_TABLE : 5;
UNSG32 u_Conformance : 1;
///////////////////////////////////////////////////////////
} SIE_TspCsa2Param;
///////////////////////////////////////////////////////////
SIGN32 TspCsa2Param_drvrd(SIE_TspCsa2Param *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspCsa2Param_drvwr(SIE_TspCsa2Param *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspCsa2Param_reset(SIE_TspCsa2Param *p);
SIGN32 TspCsa2Param_cmp (SIE_TspCsa2Param *p, SIE_TspCsa2Param *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspCsa2Param_check(p,pie,pfx,hLOG) TspCsa2Param_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspCsa2Param_print(p, pfx,hLOG) TspCsa2Param_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspCsa2Param
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspCsa3Param (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 5 NSK2_ConstIndex 0x0
/// %unsigned 3 NSK2_Permutation 0x0
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspCsa3Param
#define h_TspCsa3Param (){}
#define BA_TspCsa3Param_NSK2_ConstIndex 0x0000
#define B16TspCsa3Param_NSK2_ConstIndex 0x0000
#define LSb32TspCsa3Param_NSK2_ConstIndex 0
#define LSb16TspCsa3Param_NSK2_ConstIndex 0
#define bTspCsa3Param_NSK2_ConstIndex 5
#define MSK32TspCsa3Param_NSK2_ConstIndex 0x0000001F
#define BA_TspCsa3Param_NSK2_Permutation 0x0000
#define B16TspCsa3Param_NSK2_Permutation 0x0000
#define LSb32TspCsa3Param_NSK2_Permutation 5
#define LSb16TspCsa3Param_NSK2_Permutation 5
#define bTspCsa3Param_NSK2_Permutation 3
#define MSK32TspCsa3Param_NSK2_Permutation 0x000000E0
///////////////////////////////////////////////////////////
typedef struct SIE_TspCsa3Param {
///////////////////////////////////////////////////////////
#define GET32TspCsa3Param_NSK2_ConstIndex(r32) _BFGET_(r32, 4, 0)
#define SET32TspCsa3Param_NSK2_ConstIndex(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16TspCsa3Param_NSK2_ConstIndex(r16) _BFGET_(r16, 4, 0)
#define SET16TspCsa3Param_NSK2_ConstIndex(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32TspCsa3Param_NSK2_Permutation(r32) _BFGET_(r32, 7, 5)
#define SET32TspCsa3Param_NSK2_Permutation(r32,v) _BFSET_(r32, 7, 5,v)
#define GET16TspCsa3Param_NSK2_Permutation(r16) _BFGET_(r16, 7, 5)
#define SET16TspCsa3Param_NSK2_Permutation(r16,v) _BFSET_(r16, 7, 5,v)
UNSG32 u_NSK2_ConstIndex : 5;
UNSG32 u_NSK2_Permutation : 3;
///////////////////////////////////////////////////////////
} SIE_TspCsa3Param;
///////////////////////////////////////////////////////////
SIGN32 TspCsa3Param_drvrd(SIE_TspCsa3Param *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspCsa3Param_drvwr(SIE_TspCsa3Param *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspCsa3Param_reset(SIE_TspCsa3Param *p);
SIGN32 TspCsa3Param_cmp (SIE_TspCsa3Param *p, SIE_TspCsa3Param *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspCsa3Param_check(p,pie,pfx,hLOG) TspCsa3Param_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspCsa3Param_print(p, pfx,hLOG) TspCsa3Param_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspCsa3Param
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspCsa3Param1 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 NSK2_ModifyXRC 0x0
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 1b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspCsa3Param1
#define h_TspCsa3Param1 (){}
#define BA_TspCsa3Param1_NSK2_ModifyXRC 0x0000
#define B16TspCsa3Param1_NSK2_ModifyXRC 0x0000
#define LSb32TspCsa3Param1_NSK2_ModifyXRC 0
#define LSb16TspCsa3Param1_NSK2_ModifyXRC 0
#define bTspCsa3Param1_NSK2_ModifyXRC 1
#define MSK32TspCsa3Param1_NSK2_ModifyXRC 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_TspCsa3Param1 {
///////////////////////////////////////////////////////////
#define GET32TspCsa3Param1_NSK2_ModifyXRC(r32) _BFGET_(r32, 0, 0)
#define SET32TspCsa3Param1_NSK2_ModifyXRC(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspCsa3Param1_NSK2_ModifyXRC(r16) _BFGET_(r16, 0, 0)
#define SET16TspCsa3Param1_NSK2_ModifyXRC(r16,v) _BFSET_(r16, 0, 0,v)
UNSG32 u_NSK2_ModifyXRC : 1;
///////////////////////////////////////////////////////////
} SIE_TspCsa3Param1;
///////////////////////////////////////////////////////////
SIGN32 TspCsa3Param1_drvrd(SIE_TspCsa3Param1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspCsa3Param1_drvwr(SIE_TspCsa3Param1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspCsa3Param1_reset(SIE_TspCsa3Param1 *p);
SIGN32 TspCsa3Param1_cmp (SIE_TspCsa3Param1 *p, SIE_TspCsa3Param1 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspCsa3Param1_check(p,pie,pfx,hLOG) TspCsa3Param1_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspCsa3Param1_print(p, pfx,hLOG) TspCsa3Param1_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspCsa3Param1
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspMulti2Param (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 mode
/// ###
/// * Mode of the crypto function
/// ###
/// : ECB 0x0
/// : CBC 0x1
/// : OFB 0x2
/// : CTR 0x3
/// ###
/// * All other values are reserved
/// ###
/// %unsigned 5 round
/// ###
/// * round number divided by 4;
/// * 0 is mapped to 32.
/// * For MULTI2 with round number of 32, this field should be set to 8.
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspMulti2Param
#define h_TspMulti2Param (){}
#define BA_TspMulti2Param_mode 0x0000
#define B16TspMulti2Param_mode 0x0000
#define LSb32TspMulti2Param_mode 0
#define LSb16TspMulti2Param_mode 0
#define bTspMulti2Param_mode 3
#define MSK32TspMulti2Param_mode 0x00000007
#define TspMulti2Param_mode_ECB 0x0
#define TspMulti2Param_mode_CBC 0x1
#define TspMulti2Param_mode_OFB 0x2
#define TspMulti2Param_mode_CTR 0x3
#define BA_TspMulti2Param_round 0x0000
#define B16TspMulti2Param_round 0x0000
#define LSb32TspMulti2Param_round 3
#define LSb16TspMulti2Param_round 3
#define bTspMulti2Param_round 5
#define MSK32TspMulti2Param_round 0x000000F8
///////////////////////////////////////////////////////////
typedef struct SIE_TspMulti2Param {
///////////////////////////////////////////////////////////
#define GET32TspMulti2Param_mode(r32) _BFGET_(r32, 2, 0)
#define SET32TspMulti2Param_mode(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16TspMulti2Param_mode(r16) _BFGET_(r16, 2, 0)
#define SET16TspMulti2Param_mode(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32TspMulti2Param_round(r32) _BFGET_(r32, 7, 3)
#define SET32TspMulti2Param_round(r32,v) _BFSET_(r32, 7, 3,v)
#define GET16TspMulti2Param_round(r16) _BFGET_(r16, 7, 3)
#define SET16TspMulti2Param_round(r16,v) _BFSET_(r16, 7, 3,v)
UNSG32 u_mode : 3;
UNSG32 u_round : 5;
///////////////////////////////////////////////////////////
} SIE_TspMulti2Param;
///////////////////////////////////////////////////////////
SIGN32 TspMulti2Param_drvrd(SIE_TspMulti2Param *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspMulti2Param_drvwr(SIE_TspMulti2Param *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspMulti2Param_reset(SIE_TspMulti2Param *p);
SIGN32 TspMulti2Param_cmp (SIE_TspMulti2Param *p, SIE_TspMulti2Param *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspMulti2Param_check(p,pie,pfx,hLOG) TspMulti2Param_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspMulti2Param_print(p, pfx,hLOG) TspMulti2Param_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspMulti2Param
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspAesParam (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 mode
/// ###
/// * Mode of the crypto function
/// ###
/// : ECB 0x0
/// : CBC 0x1
/// : OFB 0x2
/// : CTR 0x3
/// ###
/// * The last four bytes in IV are the counter and increase by one for each input word (16-byte). The rest of the IV (the nonce) is kept same for all input data.
/// ###
/// : RCBC 0x4
/// ###
/// * RCBC mode as defined in DVB-CPCM part 5
/// ###
/// : CTR64 0x5
/// ###
/// * The last eight bytes in IV are the counter and increase by one for each input word (16-byte). The rest of the IV (the nonce) is kept same for all input data.
/// ###
/// : CTR128 0x6
/// ###
/// * The entire 16 bytes in IV are the counter and increase by one for each input word (16-byte).
/// * All other values are reserved
/// ###
/// %unsigned 2 key_length
/// ###
/// * Length of the Key
/// ###
/// : AES128 0x0
/// : AES192 0x1
/// : AES256 0x2
/// ###
/// * All other values are reserved
/// ###
/// %unsigned 3 reserved_0
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspAesParam
#define h_TspAesParam (){}
#define BA_TspAesParam_mode 0x0000
#define B16TspAesParam_mode 0x0000
#define LSb32TspAesParam_mode 0
#define LSb16TspAesParam_mode 0
#define bTspAesParam_mode 3
#define MSK32TspAesParam_mode 0x00000007
#define TspAesParam_mode_ECB 0x0
#define TspAesParam_mode_CBC 0x1
#define TspAesParam_mode_OFB 0x2
#define TspAesParam_mode_CTR 0x3
#define TspAesParam_mode_RCBC 0x4
#define TspAesParam_mode_CTR64 0x5
#define TspAesParam_mode_CTR128 0x6
#define BA_TspAesParam_key_length 0x0000
#define B16TspAesParam_key_length 0x0000
#define LSb32TspAesParam_key_length 3
#define LSb16TspAesParam_key_length 3
#define bTspAesParam_key_length 2
#define MSK32TspAesParam_key_length 0x00000018
#define TspAesParam_key_length_AES128 0x0
#define TspAesParam_key_length_AES192 0x1
#define TspAesParam_key_length_AES256 0x2
#define BA_TspAesParam_reserved_0 0x0000
#define B16TspAesParam_reserved_0 0x0000
#define LSb32TspAesParam_reserved_0 5
#define LSb16TspAesParam_reserved_0 5
#define bTspAesParam_reserved_0 3
#define MSK32TspAesParam_reserved_0 0x000000E0
///////////////////////////////////////////////////////////
typedef struct SIE_TspAesParam {
///////////////////////////////////////////////////////////
#define GET32TspAesParam_mode(r32) _BFGET_(r32, 2, 0)
#define SET32TspAesParam_mode(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16TspAesParam_mode(r16) _BFGET_(r16, 2, 0)
#define SET16TspAesParam_mode(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32TspAesParam_key_length(r32) _BFGET_(r32, 4, 3)
#define SET32TspAesParam_key_length(r32,v) _BFSET_(r32, 4, 3,v)
#define GET16TspAesParam_key_length(r16) _BFGET_(r16, 4, 3)
#define SET16TspAesParam_key_length(r16,v) _BFSET_(r16, 4, 3,v)
#define GET32TspAesParam_reserved_0(r32) _BFGET_(r32, 7, 5)
#define SET32TspAesParam_reserved_0(r32,v) _BFSET_(r32, 7, 5,v)
#define GET16TspAesParam_reserved_0(r16) _BFGET_(r16, 7, 5)
#define SET16TspAesParam_reserved_0(r16,v) _BFSET_(r16, 7, 5,v)
UNSG32 u_mode : 3;
UNSG32 u_key_length : 2;
UNSG32 u_reserved_0 : 3;
///////////////////////////////////////////////////////////
} SIE_TspAesParam;
///////////////////////////////////////////////////////////
SIGN32 TspAesParam_drvrd(SIE_TspAesParam *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspAesParam_drvwr(SIE_TspAesParam *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspAesParam_reset(SIE_TspAesParam *p);
SIGN32 TspAesParam_cmp (SIE_TspAesParam *p, SIE_TspAesParam *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspAesParam_check(p,pie,pfx,hLOG) TspAesParam_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspAesParam_print(p, pfx,hLOG) TspAesParam_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspAesParam
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspTdesParam (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 mode
/// ###
/// * Mode of the crypto function
/// ###
/// : ECB 0x0
/// : CBC 0x1
/// : OFB 0x2
/// : CTR 0x3
/// ###
/// * All other values are reserved
/// ###
/// %unsigned 2 key_length
/// ###
/// * length of the key
/// ###
/// : DES 0x0
/// ###
/// * 64-bit key
/// ###
/// : TDES 0x1
/// ###
/// * 192-bit key
/// ###
/// : TDES128 0x2
/// ###
/// * TDES with 128-bit key; key1 and key3 are the same
/// * All other values are reserved
/// ###
/// %unsigned 3 reserved_0
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspTdesParam
#define h_TspTdesParam (){}
#define BA_TspTdesParam_mode 0x0000
#define B16TspTdesParam_mode 0x0000
#define LSb32TspTdesParam_mode 0
#define LSb16TspTdesParam_mode 0
#define bTspTdesParam_mode 3
#define MSK32TspTdesParam_mode 0x00000007
#define TspTdesParam_mode_ECB 0x0
#define TspTdesParam_mode_CBC 0x1
#define TspTdesParam_mode_OFB 0x2
#define TspTdesParam_mode_CTR 0x3
#define BA_TspTdesParam_key_length 0x0000
#define B16TspTdesParam_key_length 0x0000
#define LSb32TspTdesParam_key_length 3
#define LSb16TspTdesParam_key_length 3
#define bTspTdesParam_key_length 2
#define MSK32TspTdesParam_key_length 0x00000018
#define TspTdesParam_key_length_DES 0x0
#define TspTdesParam_key_length_TDES 0x1
#define TspTdesParam_key_length_TDES128 0x2
#define BA_TspTdesParam_reserved_0 0x0000
#define B16TspTdesParam_reserved_0 0x0000
#define LSb32TspTdesParam_reserved_0 5
#define LSb16TspTdesParam_reserved_0 5
#define bTspTdesParam_reserved_0 3
#define MSK32TspTdesParam_reserved_0 0x000000E0
///////////////////////////////////////////////////////////
typedef struct SIE_TspTdesParam {
///////////////////////////////////////////////////////////
#define GET32TspTdesParam_mode(r32) _BFGET_(r32, 2, 0)
#define SET32TspTdesParam_mode(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16TspTdesParam_mode(r16) _BFGET_(r16, 2, 0)
#define SET16TspTdesParam_mode(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32TspTdesParam_key_length(r32) _BFGET_(r32, 4, 3)
#define SET32TspTdesParam_key_length(r32,v) _BFSET_(r32, 4, 3,v)
#define GET16TspTdesParam_key_length(r16) _BFGET_(r16, 4, 3)
#define SET16TspTdesParam_key_length(r16,v) _BFSET_(r16, 4, 3,v)
#define GET32TspTdesParam_reserved_0(r32) _BFGET_(r32, 7, 5)
#define SET32TspTdesParam_reserved_0(r32,v) _BFSET_(r32, 7, 5,v)
#define GET16TspTdesParam_reserved_0(r16) _BFGET_(r16, 7, 5)
#define SET16TspTdesParam_reserved_0(r16,v) _BFSET_(r16, 7, 5,v)
UNSG32 u_mode : 3;
UNSG32 u_key_length : 2;
UNSG32 u_reserved_0 : 3;
///////////////////////////////////////////////////////////
} SIE_TspTdesParam;
///////////////////////////////////////////////////////////
SIGN32 TspTdesParam_drvrd(SIE_TspTdesParam *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspTdesParam_drvwr(SIE_TspTdesParam *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspTdesParam_reset(SIE_TspTdesParam *p);
SIGN32 TspTdesParam_cmp (SIE_TspTdesParam *p, SIE_TspTdesParam *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspTdesParam_check(p,pie,pfx,hLOG) TspTdesParam_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspTdesParam_print(p, pfx,hLOG) TspTdesParam_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspTdesParam
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspC2Param (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 mode
/// ###
/// * Mode of the crypto function
/// ###
/// : ECB 0x0
/// : CBC 0x1
/// %unsigned 7 reserved_0
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspC2Param
#define h_TspC2Param (){}
#define BA_TspC2Param_mode 0x0000
#define B16TspC2Param_mode 0x0000
#define LSb32TspC2Param_mode 0
#define LSb16TspC2Param_mode 0
#define bTspC2Param_mode 1
#define MSK32TspC2Param_mode 0x00000001
#define TspC2Param_mode_ECB 0x0
#define TspC2Param_mode_CBC 0x1
#define BA_TspC2Param_reserved_0 0x0000
#define B16TspC2Param_reserved_0 0x0000
#define LSb32TspC2Param_reserved_0 1
#define LSb16TspC2Param_reserved_0 1
#define bTspC2Param_reserved_0 7
#define MSK32TspC2Param_reserved_0 0x000000FE
///////////////////////////////////////////////////////////
typedef struct SIE_TspC2Param {
///////////////////////////////////////////////////////////
#define GET32TspC2Param_mode(r32) _BFGET_(r32, 0, 0)
#define SET32TspC2Param_mode(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspC2Param_mode(r16) _BFGET_(r16, 0, 0)
#define SET16TspC2Param_mode(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TspC2Param_reserved_0(r32) _BFGET_(r32, 7, 1)
#define SET32TspC2Param_reserved_0(r32,v) _BFSET_(r32, 7, 1,v)
#define GET16TspC2Param_reserved_0(r16) _BFGET_(r16, 7, 1)
#define SET16TspC2Param_reserved_0(r16,v) _BFSET_(r16, 7, 1,v)
UNSG32 u_mode : 1;
UNSG32 u_reserved_0 : 7;
///////////////////////////////////////////////////////////
} SIE_TspC2Param;
///////////////////////////////////////////////////////////
SIGN32 TspC2Param_drvrd(SIE_TspC2Param *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspC2Param_drvwr(SIE_TspC2Param *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspC2Param_reset(SIE_TspC2Param *p);
SIGN32 TspC2Param_cmp (SIE_TspC2Param *p, SIE_TspC2Param *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspC2Param_check(p,pie,pfx,hLOG) TspC2Param_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspC2Param_print(p, pfx,hLOG) TspC2Param_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspC2Param
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspWmmacParam (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 load_state
/// ###
/// * 1: load state from iv_address
/// * 0: reset the state to 0
/// ###
/// %unsigned 7 reserved_0
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspWmmacParam
#define h_TspWmmacParam (){}
#define BA_TspWmmacParam_load_state 0x0000
#define B16TspWmmacParam_load_state 0x0000
#define LSb32TspWmmacParam_load_state 0
#define LSb16TspWmmacParam_load_state 0
#define bTspWmmacParam_load_state 1
#define MSK32TspWmmacParam_load_state 0x00000001
#define BA_TspWmmacParam_reserved_0 0x0000
#define B16TspWmmacParam_reserved_0 0x0000
#define LSb32TspWmmacParam_reserved_0 1
#define LSb16TspWmmacParam_reserved_0 1
#define bTspWmmacParam_reserved_0 7
#define MSK32TspWmmacParam_reserved_0 0x000000FE
///////////////////////////////////////////////////////////
typedef struct SIE_TspWmmacParam {
///////////////////////////////////////////////////////////
#define GET32TspWmmacParam_load_state(r32) _BFGET_(r32, 0, 0)
#define SET32TspWmmacParam_load_state(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspWmmacParam_load_state(r16) _BFGET_(r16, 0, 0)
#define SET16TspWmmacParam_load_state(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TspWmmacParam_reserved_0(r32) _BFGET_(r32, 7, 1)
#define SET32TspWmmacParam_reserved_0(r32,v) _BFSET_(r32, 7, 1,v)
#define GET16TspWmmacParam_reserved_0(r16) _BFGET_(r16, 7, 1)
#define SET16TspWmmacParam_reserved_0(r16,v) _BFSET_(r16, 7, 1,v)
UNSG32 u_load_state : 1;
UNSG32 u_reserved_0 : 7;
///////////////////////////////////////////////////////////
} SIE_TspWmmacParam;
///////////////////////////////////////////////////////////
SIGN32 TspWmmacParam_drvrd(SIE_TspWmmacParam *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspWmmacParam_drvwr(SIE_TspWmmacParam *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspWmmacParam_reset(SIE_TspWmmacParam *p);
SIGN32 TspWmmacParam_cmp (SIE_TspWmmacParam *p, SIE_TspWmmacParam *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspWmmacParam_check(p,pie,pfx,hLOG) TspWmmacParam_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspWmmacParam_print(p, pfx,hLOG) TspWmmacParam_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspWmmacParam
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspRc4Param (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 init
/// ###
/// * 1: load key from key_address and run KSA to generate the state
/// * 0: load the state from iv_address
/// ###
/// %unsigned 5 key_length
/// ###
/// * Number of bytes in the key;
/// * 0 is mapped to 32;
/// * Valid only when init bit is one.
/// ###
/// %unsigned 2 reserved_0
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspRc4Param
#define h_TspRc4Param (){}
#define BA_TspRc4Param_init 0x0000
#define B16TspRc4Param_init 0x0000
#define LSb32TspRc4Param_init 0
#define LSb16TspRc4Param_init 0
#define bTspRc4Param_init 1
#define MSK32TspRc4Param_init 0x00000001
#define BA_TspRc4Param_key_length 0x0000
#define B16TspRc4Param_key_length 0x0000
#define LSb32TspRc4Param_key_length 1
#define LSb16TspRc4Param_key_length 1
#define bTspRc4Param_key_length 5
#define MSK32TspRc4Param_key_length 0x0000003E
#define BA_TspRc4Param_reserved_0 0x0000
#define B16TspRc4Param_reserved_0 0x0000
#define LSb32TspRc4Param_reserved_0 6
#define LSb16TspRc4Param_reserved_0 6
#define bTspRc4Param_reserved_0 2
#define MSK32TspRc4Param_reserved_0 0x000000C0
///////////////////////////////////////////////////////////
typedef struct SIE_TspRc4Param {
///////////////////////////////////////////////////////////
#define GET32TspRc4Param_init(r32) _BFGET_(r32, 0, 0)
#define SET32TspRc4Param_init(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspRc4Param_init(r16) _BFGET_(r16, 0, 0)
#define SET16TspRc4Param_init(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TspRc4Param_key_length(r32) _BFGET_(r32, 5, 1)
#define SET32TspRc4Param_key_length(r32,v) _BFSET_(r32, 5, 1,v)
#define GET16TspRc4Param_key_length(r16) _BFGET_(r16, 5, 1)
#define SET16TspRc4Param_key_length(r16,v) _BFSET_(r16, 5, 1,v)
#define GET32TspRc4Param_reserved_0(r32) _BFGET_(r32, 7, 6)
#define SET32TspRc4Param_reserved_0(r32,v) _BFSET_(r32, 7, 6,v)
#define GET16TspRc4Param_reserved_0(r16) _BFGET_(r16, 7, 6)
#define SET16TspRc4Param_reserved_0(r16,v) _BFSET_(r16, 7, 6,v)
UNSG32 u_init : 1;
UNSG32 u_key_length : 5;
UNSG32 u_reserved_0 : 2;
///////////////////////////////////////////////////////////
} SIE_TspRc4Param;
///////////////////////////////////////////////////////////
SIGN32 TspRc4Param_drvrd(SIE_TspRc4Param *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspRc4Param_drvwr(SIE_TspRc4Param *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspRc4Param_reset(SIE_TspRc4Param *p);
SIGN32 TspRc4Param_cmp (SIE_TspRc4Param *p, SIE_TspRc4Param *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspRc4Param_check(p,pie,pfx,hLOG) TspRc4Param_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspRc4Param_print(p, pfx,hLOG) TspRc4Param_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspRc4Param
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspSwdCmd biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 7 reserved_0
/// %unsigned 1 save_context
/// ###
/// * 1: overwrite the old context with the new context.
/// * 0: don’t overwrite the old context with the new context
/// ###
/// %unsigned 1 use_specified_sync_word
/// ###
/// * 0: use default sync word (0x000001) for matching.
/// * 1: use sync word specified in context area for matching
/// ###
/// %unsigned 2 sync_word_length
/// ###
/// * Length of the sync word
/// * Valid only when use_specified_syncword is 1.
/// * 1: one byte sync word
/// * 2: two byte sync word
/// * 3: three byte sync word
/// * 0: four byte sync word
/// ###
/// %unsigned 5 reserved_1
/// %unsigned 16 context_address
/// ###
/// * Address of the context;
/// ###
/// %unsigned 16 source_address
/// ###
/// * Address of the input data in byte
/// ###
/// %unsigned 16 input_size
/// ###
/// * size of the input data in byte;
/// * 0 is mapped to 65536
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspSwdCmd
#define h_TspSwdCmd (){}
#define BA_TspSwdCmd_reserved_0 0x0000
#define B16TspSwdCmd_reserved_0 0x0000
#define LSb32TspSwdCmd_reserved_0 0
#define LSb16TspSwdCmd_reserved_0 0
#define bTspSwdCmd_reserved_0 7
#define MSK32TspSwdCmd_reserved_0 0x0000007F
#define BA_TspSwdCmd_save_context 0x0000
#define B16TspSwdCmd_save_context 0x0000
#define LSb32TspSwdCmd_save_context 7
#define LSb16TspSwdCmd_save_context 7
#define bTspSwdCmd_save_context 1
#define MSK32TspSwdCmd_save_context 0x00000080
#define BA_TspSwdCmd_use_specified_sync_word 0x0001
#define B16TspSwdCmd_use_specified_sync_word 0x0000
#define LSb32TspSwdCmd_use_specified_sync_word 8
#define LSb16TspSwdCmd_use_specified_sync_word 8
#define bTspSwdCmd_use_specified_sync_word 1
#define MSK32TspSwdCmd_use_specified_sync_word 0x00000100
#define BA_TspSwdCmd_sync_word_length 0x0001
#define B16TspSwdCmd_sync_word_length 0x0000
#define LSb32TspSwdCmd_sync_word_length 9
#define LSb16TspSwdCmd_sync_word_length 9
#define bTspSwdCmd_sync_word_length 2
#define MSK32TspSwdCmd_sync_word_length 0x00000600
#define BA_TspSwdCmd_reserved_1 0x0001
#define B16TspSwdCmd_reserved_1 0x0000
#define LSb32TspSwdCmd_reserved_1 11
#define LSb16TspSwdCmd_reserved_1 11
#define bTspSwdCmd_reserved_1 5
#define MSK32TspSwdCmd_reserved_1 0x0000F800
#define BA_TspSwdCmd_context_address 0x0002
#define B16TspSwdCmd_context_address 0x0002
#define LSb32TspSwdCmd_context_address 16
#define LSb16TspSwdCmd_context_address 0
#define bTspSwdCmd_context_address 16
#define MSK32TspSwdCmd_context_address 0xFFFF0000
#define BA_TspSwdCmd_source_address 0x0004
#define B16TspSwdCmd_source_address 0x0004
#define LSb32TspSwdCmd_source_address 0
#define LSb16TspSwdCmd_source_address 0
#define bTspSwdCmd_source_address 16
#define MSK32TspSwdCmd_source_address 0x0000FFFF
#define BA_TspSwdCmd_input_size 0x0006
#define B16TspSwdCmd_input_size 0x0006
#define LSb32TspSwdCmd_input_size 16
#define LSb16TspSwdCmd_input_size 0
#define bTspSwdCmd_input_size 16
#define MSK32TspSwdCmd_input_size 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_TspSwdCmd {
///////////////////////////////////////////////////////////
#define GET32TspSwdCmd_reserved_0(r32) _BFGET_(r32, 6, 0)
#define SET32TspSwdCmd_reserved_0(r32,v) _BFSET_(r32, 6, 0,v)
#define GET16TspSwdCmd_reserved_0(r16) _BFGET_(r16, 6, 0)
#define SET16TspSwdCmd_reserved_0(r16,v) _BFSET_(r16, 6, 0,v)
#define GET32TspSwdCmd_save_context(r32) _BFGET_(r32, 7, 7)
#define SET32TspSwdCmd_save_context(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16TspSwdCmd_save_context(r16) _BFGET_(r16, 7, 7)
#define SET16TspSwdCmd_save_context(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32TspSwdCmd_use_specified_sync_word(r32) _BFGET_(r32, 8, 8)
#define SET32TspSwdCmd_use_specified_sync_word(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16TspSwdCmd_use_specified_sync_word(r16) _BFGET_(r16, 8, 8)
#define SET16TspSwdCmd_use_specified_sync_word(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32TspSwdCmd_sync_word_length(r32) _BFGET_(r32,10, 9)
#define SET32TspSwdCmd_sync_word_length(r32,v) _BFSET_(r32,10, 9,v)
#define GET16TspSwdCmd_sync_word_length(r16) _BFGET_(r16,10, 9)
#define SET16TspSwdCmd_sync_word_length(r16,v) _BFSET_(r16,10, 9,v)
#define GET32TspSwdCmd_reserved_1(r32) _BFGET_(r32,15,11)
#define SET32TspSwdCmd_reserved_1(r32,v) _BFSET_(r32,15,11,v)
#define GET16TspSwdCmd_reserved_1(r16) _BFGET_(r16,15,11)
#define SET16TspSwdCmd_reserved_1(r16,v) _BFSET_(r16,15,11,v)
#define GET32TspSwdCmd_context_address(r32) _BFGET_(r32,31,16)
#define SET32TspSwdCmd_context_address(r32,v) _BFSET_(r32,31,16,v)
#define GET16TspSwdCmd_context_address(r16) _BFGET_(r16,15, 0)
#define SET16TspSwdCmd_context_address(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_reserved_0 : 7;
UNSG32 u_save_context : 1;
UNSG32 u_use_specified_sync_word : 1;
UNSG32 u_sync_word_length : 2;
UNSG32 u_reserved_1 : 5;
UNSG32 u_context_address : 16;
///////////////////////////////////////////////////////////
#define GET32TspSwdCmd_source_address(r32) _BFGET_(r32,15, 0)
#define SET32TspSwdCmd_source_address(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspSwdCmd_source_address(r16) _BFGET_(r16,15, 0)
#define SET16TspSwdCmd_source_address(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TspSwdCmd_input_size(r32) _BFGET_(r32,31,16)
#define SET32TspSwdCmd_input_size(r32,v) _BFSET_(r32,31,16,v)
#define GET16TspSwdCmd_input_size(r16) _BFGET_(r16,15, 0)
#define SET16TspSwdCmd_input_size(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_source_address : 16;
UNSG32 u_input_size : 16;
///////////////////////////////////////////////////////////
} SIE_TspSwdCmd;
///////////////////////////////////////////////////////////
SIGN32 TspSwdCmd_drvrd(SIE_TspSwdCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspSwdCmd_drvwr(SIE_TspSwdCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspSwdCmd_reset(SIE_TspSwdCmd *p);
SIGN32 TspSwdCmd_cmp (SIE_TspSwdCmd *p, SIE_TspSwdCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspSwdCmd_check(p,pie,pfx,hLOG) TspSwdCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspSwdCmd_print(p, pfx,hLOG) TspSwdCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspSwdCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspSwdCtx biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 context
/// ###
/// * Value of the context
/// ###
/// %unsigned 32 sync_word
/// ###
/// * Value of the sync word;
/// * Valid only when use_specified_sync_word in TspSwdCmd is one. Valid length of this field is defined by sync_word_length in TspSwdCmd. SWD only use this field for matching, it does not change the value of this field
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspSwdCtx
#define h_TspSwdCtx (){}
#define BA_TspSwdCtx_context 0x0000
#define B16TspSwdCtx_context 0x0000
#define LSb32TspSwdCtx_context 0
#define LSb16TspSwdCtx_context 0
#define bTspSwdCtx_context 32
#define MSK32TspSwdCtx_context 0xFFFFFFFF
#define BA_TspSwdCtx_sync_word 0x0004
#define B16TspSwdCtx_sync_word 0x0004
#define LSb32TspSwdCtx_sync_word 0
#define LSb16TspSwdCtx_sync_word 0
#define bTspSwdCtx_sync_word 32
#define MSK32TspSwdCtx_sync_word 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_TspSwdCtx {
///////////////////////////////////////////////////////////
#define GET32TspSwdCtx_context(r32) _BFGET_(r32,31, 0)
#define SET32TspSwdCtx_context(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_context : 32;
///////////////////////////////////////////////////////////
#define GET32TspSwdCtx_sync_word(r32) _BFGET_(r32,31, 0)
#define SET32TspSwdCtx_sync_word(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_sync_word : 32;
///////////////////////////////////////////////////////////
} SIE_TspSwdCtx;
///////////////////////////////////////////////////////////
SIGN32 TspSwdCtx_drvrd(SIE_TspSwdCtx *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspSwdCtx_drvwr(SIE_TspSwdCtx *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspSwdCtx_reset(SIE_TspSwdCtx *p);
SIGN32 TspSwdCtx_cmp (SIE_TspSwdCtx *p, SIE_TspSwdCtx *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspSwdCtx_check(p,pie,pfx,hLOG) TspSwdCtx_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspSwdCtx_print(p, pfx,hLOG) TspSwdCtx_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspSwdCtx
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspSwdRtn biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 syncword_detected
/// ###
/// * 1: Syncword is found in the input data
/// * 0: no syncword is found in the input data
/// ###
/// %unsigned 15 reserved_0
/// ###
/// * This field will be filled with all zeros
/// ###
/// %unsigned 16 syncword_position
/// ###
/// * Index of the last byte of the detected sync word
/// ###
/// %unsigned 32 reserved_1
/// ###
/// * This field will be filled with all zeros
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspSwdRtn
#define h_TspSwdRtn (){}
#define BA_TspSwdRtn_syncword_detected 0x0000
#define B16TspSwdRtn_syncword_detected 0x0000
#define LSb32TspSwdRtn_syncword_detected 0
#define LSb16TspSwdRtn_syncword_detected 0
#define bTspSwdRtn_syncword_detected 1
#define MSK32TspSwdRtn_syncword_detected 0x00000001
#define BA_TspSwdRtn_reserved_0 0x0000
#define B16TspSwdRtn_reserved_0 0x0000
#define LSb32TspSwdRtn_reserved_0 1
#define LSb16TspSwdRtn_reserved_0 1
#define bTspSwdRtn_reserved_0 15
#define MSK32TspSwdRtn_reserved_0 0x0000FFFE
#define BA_TspSwdRtn_syncword_position 0x0002
#define B16TspSwdRtn_syncword_position 0x0002
#define LSb32TspSwdRtn_syncword_position 16
#define LSb16TspSwdRtn_syncword_position 0
#define bTspSwdRtn_syncword_position 16
#define MSK32TspSwdRtn_syncword_position 0xFFFF0000
#define BA_TspSwdRtn_reserved_1 0x0004
#define B16TspSwdRtn_reserved_1 0x0004
#define LSb32TspSwdRtn_reserved_1 0
#define LSb16TspSwdRtn_reserved_1 0
#define bTspSwdRtn_reserved_1 32
#define MSK32TspSwdRtn_reserved_1 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_TspSwdRtn {
///////////////////////////////////////////////////////////
#define GET32TspSwdRtn_syncword_detected(r32) _BFGET_(r32, 0, 0)
#define SET32TspSwdRtn_syncword_detected(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspSwdRtn_syncword_detected(r16) _BFGET_(r16, 0, 0)
#define SET16TspSwdRtn_syncword_detected(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TspSwdRtn_reserved_0(r32) _BFGET_(r32,15, 1)
#define SET32TspSwdRtn_reserved_0(r32,v) _BFSET_(r32,15, 1,v)
#define GET16TspSwdRtn_reserved_0(r16) _BFGET_(r16,15, 1)
#define SET16TspSwdRtn_reserved_0(r16,v) _BFSET_(r16,15, 1,v)
#define GET32TspSwdRtn_syncword_position(r32) _BFGET_(r32,31,16)
#define SET32TspSwdRtn_syncword_position(r32,v) _BFSET_(r32,31,16,v)
#define GET16TspSwdRtn_syncword_position(r16) _BFGET_(r16,15, 0)
#define SET16TspSwdRtn_syncword_position(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_syncword_detected : 1;
UNSG32 u_reserved_0 : 15;
UNSG32 u_syncword_position : 16;
///////////////////////////////////////////////////////////
#define GET32TspSwdRtn_reserved_1(r32) _BFGET_(r32,31, 0)
#define SET32TspSwdRtn_reserved_1(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_reserved_1 : 32;
///////////////////////////////////////////////////////////
} SIE_TspSwdRtn;
///////////////////////////////////////////////////////////
SIGN32 TspSwdRtn_drvrd(SIE_TspSwdRtn *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspSwdRtn_drvwr(SIE_TspSwdRtn *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspSwdRtn_reset(SIE_TspSwdRtn *p);
SIGN32 TspSwdRtn_cmp (SIE_TspSwdRtn *p, SIE_TspSwdRtn *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspSwdRtn_check(p,pie,pfx,hLOG) TspSwdRtn_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspSwdRtn_print(p, pfx,hLOG) TspSwdRtn_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspSwdRtn
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE SemaINTR (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 mask (W-)
/// %unsigned 1 empty 0x0
/// ###
/// * Enable interrupt on 'empty' condition
/// ###
/// %unsigned 1 full 0x0
/// ###
/// * Enable interrupt on 'full' condition
/// ###
/// %unsigned 1 almostEmpty 0x0
/// ###
/// * Enable interrupt on 'almostEmpty' condition
/// ###
/// %unsigned 1 almostFull 0x0
/// ###
/// * Enable interrupt on 'almostFull' condition
/// ###
/// %% 28 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 4b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SemaINTR
#define h_SemaINTR (){}
#define RA_SemaINTR_mask 0x0000
#define BA_SemaINTR_mask_empty 0x0000
#define B16SemaINTR_mask_empty 0x0000
#define LSb32SemaINTR_mask_empty 0
#define LSb16SemaINTR_mask_empty 0
#define bSemaINTR_mask_empty 1
#define MSK32SemaINTR_mask_empty 0x00000001
#define BA_SemaINTR_mask_full 0x0000
#define B16SemaINTR_mask_full 0x0000
#define LSb32SemaINTR_mask_full 1
#define LSb16SemaINTR_mask_full 1
#define bSemaINTR_mask_full 1
#define MSK32SemaINTR_mask_full 0x00000002
#define BA_SemaINTR_mask_almostEmpty 0x0000
#define B16SemaINTR_mask_almostEmpty 0x0000
#define LSb32SemaINTR_mask_almostEmpty 2
#define LSb16SemaINTR_mask_almostEmpty 2
#define bSemaINTR_mask_almostEmpty 1
#define MSK32SemaINTR_mask_almostEmpty 0x00000004
#define BA_SemaINTR_mask_almostFull 0x0000
#define B16SemaINTR_mask_almostFull 0x0000
#define LSb32SemaINTR_mask_almostFull 3
#define LSb16SemaINTR_mask_almostFull 3
#define bSemaINTR_mask_almostFull 1
#define MSK32SemaINTR_mask_almostFull 0x00000008
///////////////////////////////////////////////////////////
typedef struct SIE_SemaINTR {
///////////////////////////////////////////////////////////
#define GET32SemaINTR_mask_empty(r32) _BFGET_(r32, 0, 0)
#define SET32SemaINTR_mask_empty(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaINTR_mask_empty(r16) _BFGET_(r16, 0, 0)
#define SET16SemaINTR_mask_empty(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaINTR_mask_full(r32) _BFGET_(r32, 1, 1)
#define SET32SemaINTR_mask_full(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaINTR_mask_full(r16) _BFGET_(r16, 1, 1)
#define SET16SemaINTR_mask_full(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaINTR_mask_almostEmpty(r32) _BFGET_(r32, 2, 2)
#define SET32SemaINTR_mask_almostEmpty(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaINTR_mask_almostEmpty(r16) _BFGET_(r16, 2, 2)
#define SET16SemaINTR_mask_almostEmpty(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaINTR_mask_almostFull(r32) _BFGET_(r32, 3, 3)
#define SET32SemaINTR_mask_almostFull(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaINTR_mask_almostFull(r16) _BFGET_(r16, 3, 3)
#define SET16SemaINTR_mask_almostFull(r16,v) _BFSET_(r16, 3, 3,v)
#define w32SemaINTR_mask {\
UNSG32 umask_empty : 1;\
UNSG32 umask_full : 1;\
UNSG32 umask_almostEmpty : 1;\
UNSG32 umask_almostFull : 1;\
UNSG32 RSVDx0_b4 : 28;\
}
union { UNSG32 u32SemaINTR_mask;
struct w32SemaINTR_mask;
};
///////////////////////////////////////////////////////////
} SIE_SemaINTR;
typedef union T32SemaINTR_mask
{ UNSG32 u32;
struct w32SemaINTR_mask;
} T32SemaINTR_mask;
///////////////////////////////////////////////////////////
typedef union TSemaINTR_mask
{ UNSG32 u32[1];
struct {
struct w32SemaINTR_mask;
};
} TSemaINTR_mask;
///////////////////////////////////////////////////////////
SIGN32 SemaINTR_drvrd(SIE_SemaINTR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SemaINTR_drvwr(SIE_SemaINTR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SemaINTR_reset(SIE_SemaINTR *p);
SIGN32 SemaINTR_cmp (SIE_SemaINTR *p, SIE_SemaINTR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SemaINTR_check(p,pie,pfx,hLOG) SemaINTR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SemaINTR_print(p, pfx,hLOG) SemaINTR_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SemaINTR
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE Semaphore biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CFG (W-)
/// %unsigned 16 DEPTH 0xF
/// ###
/// * Max level of semaphore
/// * Note: write this register will trigger counter reset
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00004 (P)
/// # 0x00004 INTR
/// $SemaINTR INTR REG [3]
/// ###
/// * Interrupt mask for 3 CPUs
/// ###
/// @ 0x00010 mask (W-)
/// %unsigned 1 full 0x0
/// %unsigned 1 emp 0x0
/// ###
/// * When full bit is set to one, to the producer, the semaphore will never be full, so that the producer will never be blocked.
/// * When emp bit is set to one, to the consumer, the semaphore will never be empty, so that the consumer will never be blocked.
/// * When the emp/full bit is set, the semaphore/FIFO pointer will be maintained, but the counter will be not correct anymore.
/// ###
/// %% 30 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 20B, bits: 30b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_Semaphore
#define h_Semaphore (){}
#define RA_Semaphore_CFG 0x0000
#define BA_Semaphore_CFG_DEPTH 0x0000
#define B16Semaphore_CFG_DEPTH 0x0000
#define LSb32Semaphore_CFG_DEPTH 0
#define LSb16Semaphore_CFG_DEPTH 0
#define bSemaphore_CFG_DEPTH 16
#define MSK32Semaphore_CFG_DEPTH 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_Semaphore_INTR 0x0004
///////////////////////////////////////////////////////////
#define RA_Semaphore_mask 0x0010
#define BA_Semaphore_mask_full 0x0010
#define B16Semaphore_mask_full 0x0010
#define LSb32Semaphore_mask_full 0
#define LSb16Semaphore_mask_full 0
#define bSemaphore_mask_full 1
#define MSK32Semaphore_mask_full 0x00000001
#define BA_Semaphore_mask_emp 0x0010
#define B16Semaphore_mask_emp 0x0010
#define LSb32Semaphore_mask_emp 1
#define LSb16Semaphore_mask_emp 1
#define bSemaphore_mask_emp 1
#define MSK32Semaphore_mask_emp 0x00000002
///////////////////////////////////////////////////////////
typedef struct SIE_Semaphore {
///////////////////////////////////////////////////////////
#define GET32Semaphore_CFG_DEPTH(r32) _BFGET_(r32,15, 0)
#define SET32Semaphore_CFG_DEPTH(r32,v) _BFSET_(r32,15, 0,v)
#define GET16Semaphore_CFG_DEPTH(r16) _BFGET_(r16,15, 0)
#define SET16Semaphore_CFG_DEPTH(r16,v) _BFSET_(r16,15, 0,v)
#define w32Semaphore_CFG {\
UNSG32 uCFG_DEPTH : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32Semaphore_CFG;
struct w32Semaphore_CFG;
};
///////////////////////////////////////////////////////////
SIE_SemaINTR ie_INTR[3];
///////////////////////////////////////////////////////////
#define GET32Semaphore_mask_full(r32) _BFGET_(r32, 0, 0)
#define SET32Semaphore_mask_full(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16Semaphore_mask_full(r16) _BFGET_(r16, 0, 0)
#define SET16Semaphore_mask_full(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32Semaphore_mask_emp(r32) _BFGET_(r32, 1, 1)
#define SET32Semaphore_mask_emp(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16Semaphore_mask_emp(r16) _BFGET_(r16, 1, 1)
#define SET16Semaphore_mask_emp(r16,v) _BFSET_(r16, 1, 1,v)
#define w32Semaphore_mask {\
UNSG32 umask_full : 1;\
UNSG32 umask_emp : 1;\
UNSG32 RSVDx10_b2 : 30;\
}
union { UNSG32 u32Semaphore_mask;
struct w32Semaphore_mask;
};
///////////////////////////////////////////////////////////
} SIE_Semaphore;
typedef union T32Semaphore_CFG
{ UNSG32 u32;
struct w32Semaphore_CFG;
} T32Semaphore_CFG;
typedef union T32Semaphore_mask
{ UNSG32 u32;
struct w32Semaphore_mask;
} T32Semaphore_mask;
///////////////////////////////////////////////////////////
typedef union TSemaphore_CFG
{ UNSG32 u32[1];
struct {
struct w32Semaphore_CFG;
};
} TSemaphore_CFG;
typedef union TSemaphore_mask
{ UNSG32 u32[1];
struct {
struct w32Semaphore_mask;
};
} TSemaphore_mask;
///////////////////////////////////////////////////////////
SIGN32 Semaphore_drvrd(SIE_Semaphore *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 Semaphore_drvwr(SIE_Semaphore *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void Semaphore_reset(SIE_Semaphore *p);
SIGN32 Semaphore_cmp (SIE_Semaphore *p, SIE_Semaphore *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define Semaphore_check(p,pie,pfx,hLOG) Semaphore_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define Semaphore_print(p, pfx,hLOG) Semaphore_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: Semaphore
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE SemaQuery (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 RESP (R-)
/// %unsigned 16 CNT
/// ###
/// * Semaphore counter level
/// ###
/// %unsigned 16 PTR
/// ###
/// * Semaphore pointer:
/// * producer-wptr or consumer-rptr
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SemaQuery
#define h_SemaQuery (){}
#define RA_SemaQuery_RESP 0x0000
#define BA_SemaQuery_RESP_CNT 0x0000
#define B16SemaQuery_RESP_CNT 0x0000
#define LSb32SemaQuery_RESP_CNT 0
#define LSb16SemaQuery_RESP_CNT 0
#define bSemaQuery_RESP_CNT 16
#define MSK32SemaQuery_RESP_CNT 0x0000FFFF
#define BA_SemaQuery_RESP_PTR 0x0002
#define B16SemaQuery_RESP_PTR 0x0002
#define LSb32SemaQuery_RESP_PTR 16
#define LSb16SemaQuery_RESP_PTR 0
#define bSemaQuery_RESP_PTR 16
#define MSK32SemaQuery_RESP_PTR 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_SemaQuery {
///////////////////////////////////////////////////////////
#define GET32SemaQuery_RESP_CNT(r32) _BFGET_(r32,15, 0)
#define SET32SemaQuery_RESP_CNT(r32,v) _BFSET_(r32,15, 0,v)
#define GET16SemaQuery_RESP_CNT(r16) _BFGET_(r16,15, 0)
#define SET16SemaQuery_RESP_CNT(r16,v) _BFSET_(r16,15, 0,v)
#define GET32SemaQuery_RESP_PTR(r32) _BFGET_(r32,31,16)
#define SET32SemaQuery_RESP_PTR(r32,v) _BFSET_(r32,31,16,v)
#define GET16SemaQuery_RESP_PTR(r16) _BFGET_(r16,15, 0)
#define SET16SemaQuery_RESP_PTR(r16,v) _BFSET_(r16,15, 0,v)
#define w32SemaQuery_RESP {\
UNSG32 uRESP_CNT : 16;\
UNSG32 uRESP_PTR : 16;\
}
union { UNSG32 u32SemaQuery_RESP;
struct w32SemaQuery_RESP;
};
///////////////////////////////////////////////////////////
} SIE_SemaQuery;
typedef union T32SemaQuery_RESP
{ UNSG32 u32;
struct w32SemaQuery_RESP;
} T32SemaQuery_RESP;
///////////////////////////////////////////////////////////
typedef union TSemaQuery_RESP
{ UNSG32 u32[1];
struct {
struct w32SemaQuery_RESP;
};
} TSemaQuery_RESP;
///////////////////////////////////////////////////////////
SIGN32 SemaQuery_drvrd(SIE_SemaQuery *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SemaQuery_drvwr(SIE_SemaQuery *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SemaQuery_reset(SIE_SemaQuery *p);
SIGN32 SemaQuery_cmp (SIE_SemaQuery *p, SIE_SemaQuery *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SemaQuery_check(p,pie,pfx,hLOG) SemaQuery_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SemaQuery_print(p, pfx,hLOG) SemaQuery_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SemaQuery
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE SemaQueryMap (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 ADDR (P)
/// %unsigned 2 byte
/// %unsigned 5 ID
/// ###
/// * Semaphore cell index
/// ###
/// %unsigned 1 master
/// : producer 0x0
/// : consumer 0x1
/// ###
/// * Select which counter to read
/// ###
/// %% 24 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SemaQueryMap
#define h_SemaQueryMap (){}
#define RA_SemaQueryMap_ADDR 0x0000
#define BA_SemaQueryMap_ADDR_byte 0x0000
#define B16SemaQueryMap_ADDR_byte 0x0000
#define LSb32SemaQueryMap_ADDR_byte 0
#define LSb16SemaQueryMap_ADDR_byte 0
#define bSemaQueryMap_ADDR_byte 2
#define MSK32SemaQueryMap_ADDR_byte 0x00000003
#define BA_SemaQueryMap_ADDR_ID 0x0000
#define B16SemaQueryMap_ADDR_ID 0x0000
#define LSb32SemaQueryMap_ADDR_ID 2
#define LSb16SemaQueryMap_ADDR_ID 2
#define bSemaQueryMap_ADDR_ID 5
#define MSK32SemaQueryMap_ADDR_ID 0x0000007C
#define BA_SemaQueryMap_ADDR_master 0x0000
#define B16SemaQueryMap_ADDR_master 0x0000
#define LSb32SemaQueryMap_ADDR_master 7
#define LSb16SemaQueryMap_ADDR_master 7
#define bSemaQueryMap_ADDR_master 1
#define MSK32SemaQueryMap_ADDR_master 0x00000080
#define SemaQueryMap_ADDR_master_producer 0x0
#define SemaQueryMap_ADDR_master_consumer 0x1
///////////////////////////////////////////////////////////
typedef struct SIE_SemaQueryMap {
///////////////////////////////////////////////////////////
#define GET32SemaQueryMap_ADDR_byte(r32) _BFGET_(r32, 1, 0)
#define SET32SemaQueryMap_ADDR_byte(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16SemaQueryMap_ADDR_byte(r16) _BFGET_(r16, 1, 0)
#define SET16SemaQueryMap_ADDR_byte(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32SemaQueryMap_ADDR_ID(r32) _BFGET_(r32, 6, 2)
#define SET32SemaQueryMap_ADDR_ID(r32,v) _BFSET_(r32, 6, 2,v)
#define GET16SemaQueryMap_ADDR_ID(r16) _BFGET_(r16, 6, 2)
#define SET16SemaQueryMap_ADDR_ID(r16,v) _BFSET_(r16, 6, 2,v)
#define GET32SemaQueryMap_ADDR_master(r32) _BFGET_(r32, 7, 7)
#define SET32SemaQueryMap_ADDR_master(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaQueryMap_ADDR_master(r16) _BFGET_(r16, 7, 7)
#define SET16SemaQueryMap_ADDR_master(r16,v) _BFSET_(r16, 7, 7,v)
#define w32SemaQueryMap_ADDR {\
UNSG32 uADDR_byte : 2;\
UNSG32 uADDR_ID : 5;\
UNSG32 uADDR_master : 1;\
UNSG32 RSVDx0_b8 : 24;\
}
union { UNSG32 u32SemaQueryMap_ADDR;
struct w32SemaQueryMap_ADDR;
};
///////////////////////////////////////////////////////////
} SIE_SemaQueryMap;
typedef union T32SemaQueryMap_ADDR
{ UNSG32 u32;
struct w32SemaQueryMap_ADDR;
} T32SemaQueryMap_ADDR;
///////////////////////////////////////////////////////////
typedef union TSemaQueryMap_ADDR
{ UNSG32 u32[1];
struct {
struct w32SemaQueryMap_ADDR;
};
} TSemaQueryMap_ADDR;
///////////////////////////////////////////////////////////
SIGN32 SemaQueryMap_drvrd(SIE_SemaQueryMap *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SemaQueryMap_drvwr(SIE_SemaQueryMap *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SemaQueryMap_reset(SIE_SemaQueryMap *p);
SIGN32 SemaQueryMap_cmp (SIE_SemaQueryMap *p, SIE_SemaQueryMap *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SemaQueryMap_check(p,pie,pfx,hLOG) SemaQueryMap_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SemaQueryMap_print(p, pfx,hLOG) SemaQueryMap_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SemaQueryMap
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE SemaHub biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 Query (R-)
/// # 0x00000 counter
/// $SemaQuery counter MEM [64]
/// ###
/// * Access address as defined above
/// ###
/// @ 0x00100 ARR (P)
/// # 0x00100 cell
/// $Semaphore cell REG [32]
/// ###
/// * Up-to 32 semaphore cells
/// ###
/// @ 0x00380 PUSH (W-)
/// %unsigned 8 ID
/// %unsigned 8 delta
/// ###
/// * CPU increases PCounter by delta (0 as push 256)
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00384 POP (W-)
/// %unsigned 8 ID
/// %unsigned 8 delta
/// ###
/// * CPU decreases CCounter by delta (0 as pop 256)
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00388 empty (WOC-)
/// %unsigned 1 ST_0i 0x0
/// %unsigned 1 ST_1i 0x0
/// %unsigned 1 ST_2i 0x0
/// %unsigned 1 ST_3i 0x0
/// %unsigned 1 ST_4i 0x0
/// %unsigned 1 ST_5i 0x0
/// %unsigned 1 ST_6i 0x0
/// %unsigned 1 ST_7i 0x0
/// %unsigned 1 ST_8i 0x0
/// %unsigned 1 ST_9i 0x0
/// %unsigned 1 ST_10i 0x0
/// %unsigned 1 ST_11i 0x0
/// %unsigned 1 ST_12i 0x0
/// %unsigned 1 ST_13i 0x0
/// %unsigned 1 ST_14i 0x0
/// %unsigned 1 ST_15i 0x0
/// %unsigned 1 ST_16i 0x0
/// %unsigned 1 ST_17i 0x0
/// %unsigned 1 ST_18i 0x0
/// %unsigned 1 ST_19i 0x0
/// %unsigned 1 ST_20i 0x0
/// %unsigned 1 ST_21i 0x0
/// %unsigned 1 ST_22i 0x0
/// %unsigned 1 ST_23i 0x0
/// %unsigned 1 ST_24i 0x0
/// %unsigned 1 ST_25i 0x0
/// %unsigned 1 ST_26i 0x0
/// %unsigned 1 ST_27i 0x0
/// %unsigned 1 ST_28i 0x0
/// %unsigned 1 ST_29i 0x0
/// %unsigned 1 ST_30i 0x0
/// %unsigned 1 ST_31i 0x0
/// ###
/// * All cell 'empty' status
/// ###
/// @ 0x0038C full (WOC-)
/// %unsigned 1 ST_0i 0x0
/// %unsigned 1 ST_1i 0x0
/// %unsigned 1 ST_2i 0x0
/// %unsigned 1 ST_3i 0x0
/// %unsigned 1 ST_4i 0x0
/// %unsigned 1 ST_5i 0x0
/// %unsigned 1 ST_6i 0x0
/// %unsigned 1 ST_7i 0x0
/// %unsigned 1 ST_8i 0x0
/// %unsigned 1 ST_9i 0x0
/// %unsigned 1 ST_10i 0x0
/// %unsigned 1 ST_11i 0x0
/// %unsigned 1 ST_12i 0x0
/// %unsigned 1 ST_13i 0x0
/// %unsigned 1 ST_14i 0x0
/// %unsigned 1 ST_15i 0x0
/// %unsigned 1 ST_16i 0x0
/// %unsigned 1 ST_17i 0x0
/// %unsigned 1 ST_18i 0x0
/// %unsigned 1 ST_19i 0x0
/// %unsigned 1 ST_20i 0x0
/// %unsigned 1 ST_21i 0x0
/// %unsigned 1 ST_22i 0x0
/// %unsigned 1 ST_23i 0x0
/// %unsigned 1 ST_24i 0x0
/// %unsigned 1 ST_25i 0x0
/// %unsigned 1 ST_26i 0x0
/// %unsigned 1 ST_27i 0x0
/// %unsigned 1 ST_28i 0x0
/// %unsigned 1 ST_29i 0x0
/// %unsigned 1 ST_30i 0x0
/// %unsigned 1 ST_31i 0x0
/// ###
/// * All cell 'full' status
/// ###
/// @ 0x00390 almostEmpty (WOC-)
/// %unsigned 1 ST_0i 0x0
/// %unsigned 1 ST_1i 0x0
/// %unsigned 1 ST_2i 0x0
/// %unsigned 1 ST_3i 0x0
/// %unsigned 1 ST_4i 0x0
/// %unsigned 1 ST_5i 0x0
/// %unsigned 1 ST_6i 0x0
/// %unsigned 1 ST_7i 0x0
/// %unsigned 1 ST_8i 0x0
/// %unsigned 1 ST_9i 0x0
/// %unsigned 1 ST_10i 0x0
/// %unsigned 1 ST_11i 0x0
/// %unsigned 1 ST_12i 0x0
/// %unsigned 1 ST_13i 0x0
/// %unsigned 1 ST_14i 0x0
/// %unsigned 1 ST_15i 0x0
/// %unsigned 1 ST_16i 0x0
/// %unsigned 1 ST_17i 0x0
/// %unsigned 1 ST_18i 0x0
/// %unsigned 1 ST_19i 0x0
/// %unsigned 1 ST_20i 0x0
/// %unsigned 1 ST_21i 0x0
/// %unsigned 1 ST_22i 0x0
/// %unsigned 1 ST_23i 0x0
/// %unsigned 1 ST_24i 0x0
/// %unsigned 1 ST_25i 0x0
/// %unsigned 1 ST_26i 0x0
/// %unsigned 1 ST_27i 0x0
/// %unsigned 1 ST_28i 0x0
/// %unsigned 1 ST_29i 0x0
/// %unsigned 1 ST_30i 0x0
/// %unsigned 1 ST_31i 0x0
/// ###
/// * All cell 'almostEmpty' status
/// ###
/// @ 0x00394 almostFull (WOC-)
/// %unsigned 1 ST_0i 0x0
/// %unsigned 1 ST_1i 0x0
/// %unsigned 1 ST_2i 0x0
/// %unsigned 1 ST_3i 0x0
/// %unsigned 1 ST_4i 0x0
/// %unsigned 1 ST_5i 0x0
/// %unsigned 1 ST_6i 0x0
/// %unsigned 1 ST_7i 0x0
/// %unsigned 1 ST_8i 0x0
/// %unsigned 1 ST_9i 0x0
/// %unsigned 1 ST_10i 0x0
/// %unsigned 1 ST_11i 0x0
/// %unsigned 1 ST_12i 0x0
/// %unsigned 1 ST_13i 0x0
/// %unsigned 1 ST_14i 0x0
/// %unsigned 1 ST_15i 0x0
/// %unsigned 1 ST_16i 0x0
/// %unsigned 1 ST_17i 0x0
/// %unsigned 1 ST_18i 0x0
/// %unsigned 1 ST_19i 0x0
/// %unsigned 1 ST_20i 0x0
/// %unsigned 1 ST_21i 0x0
/// %unsigned 1 ST_22i 0x0
/// %unsigned 1 ST_23i 0x0
/// %unsigned 1 ST_24i 0x0
/// %unsigned 1 ST_25i 0x0
/// %unsigned 1 ST_26i 0x0
/// %unsigned 1 ST_27i 0x0
/// %unsigned 1 ST_28i 0x0
/// %unsigned 1 ST_29i 0x0
/// %unsigned 1 ST_30i 0x0
/// %unsigned 1 ST_31i 0x0
/// ###
/// * All cell 'almostFull' status
/// ###
/// @ 0x00398 (W-)
/// # # Stuffing bytes...
/// %% 832
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 1024B, bits: 1152b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SemaHub
#define h_SemaHub (){}
#define RA_SemaHub_Query 0x0000
#define RA_SemaHub_counter 0x0000
///////////////////////////////////////////////////////////
#define RA_SemaHub_ARR 0x0100
#define RA_SemaHub_cell 0x0100
///////////////////////////////////////////////////////////
#define RA_SemaHub_PUSH 0x0380
#define BA_SemaHub_PUSH_ID 0x0380
#define B16SemaHub_PUSH_ID 0x0380
#define LSb32SemaHub_PUSH_ID 0
#define LSb16SemaHub_PUSH_ID 0
#define bSemaHub_PUSH_ID 8
#define MSK32SemaHub_PUSH_ID 0x000000FF
#define BA_SemaHub_PUSH_delta 0x0381
#define B16SemaHub_PUSH_delta 0x0380
#define LSb32SemaHub_PUSH_delta 8
#define LSb16SemaHub_PUSH_delta 8
#define bSemaHub_PUSH_delta 8
#define MSK32SemaHub_PUSH_delta 0x0000FF00
///////////////////////////////////////////////////////////
#define RA_SemaHub_POP 0x0384
#define BA_SemaHub_POP_ID 0x0384
#define B16SemaHub_POP_ID 0x0384
#define LSb32SemaHub_POP_ID 0
#define LSb16SemaHub_POP_ID 0
#define bSemaHub_POP_ID 8
#define MSK32SemaHub_POP_ID 0x000000FF
#define BA_SemaHub_POP_delta 0x0385
#define B16SemaHub_POP_delta 0x0384
#define LSb32SemaHub_POP_delta 8
#define LSb16SemaHub_POP_delta 8
#define bSemaHub_POP_delta 8
#define MSK32SemaHub_POP_delta 0x0000FF00
///////////////////////////////////////////////////////////
#define RA_SemaHub_empty 0x0388
#define BA_SemaHub_empty_ST_0i 0x0388
#define B16SemaHub_empty_ST_0i 0x0388
#define LSb32SemaHub_empty_ST_0i 0
#define LSb16SemaHub_empty_ST_0i 0
#define bSemaHub_empty_ST_0i 1
#define MSK32SemaHub_empty_ST_0i 0x00000001
#define BA_SemaHub_empty_ST_1i 0x0388
#define B16SemaHub_empty_ST_1i 0x0388
#define LSb32SemaHub_empty_ST_1i 1
#define LSb16SemaHub_empty_ST_1i 1
#define bSemaHub_empty_ST_1i 1
#define MSK32SemaHub_empty_ST_1i 0x00000002
#define BA_SemaHub_empty_ST_2i 0x0388
#define B16SemaHub_empty_ST_2i 0x0388
#define LSb32SemaHub_empty_ST_2i 2
#define LSb16SemaHub_empty_ST_2i 2
#define bSemaHub_empty_ST_2i 1
#define MSK32SemaHub_empty_ST_2i 0x00000004
#define BA_SemaHub_empty_ST_3i 0x0388
#define B16SemaHub_empty_ST_3i 0x0388
#define LSb32SemaHub_empty_ST_3i 3
#define LSb16SemaHub_empty_ST_3i 3
#define bSemaHub_empty_ST_3i 1
#define MSK32SemaHub_empty_ST_3i 0x00000008
#define BA_SemaHub_empty_ST_4i 0x0388
#define B16SemaHub_empty_ST_4i 0x0388
#define LSb32SemaHub_empty_ST_4i 4
#define LSb16SemaHub_empty_ST_4i 4
#define bSemaHub_empty_ST_4i 1
#define MSK32SemaHub_empty_ST_4i 0x00000010
#define BA_SemaHub_empty_ST_5i 0x0388
#define B16SemaHub_empty_ST_5i 0x0388
#define LSb32SemaHub_empty_ST_5i 5
#define LSb16SemaHub_empty_ST_5i 5
#define bSemaHub_empty_ST_5i 1
#define MSK32SemaHub_empty_ST_5i 0x00000020
#define BA_SemaHub_empty_ST_6i 0x0388
#define B16SemaHub_empty_ST_6i 0x0388
#define LSb32SemaHub_empty_ST_6i 6
#define LSb16SemaHub_empty_ST_6i 6
#define bSemaHub_empty_ST_6i 1
#define MSK32SemaHub_empty_ST_6i 0x00000040
#define BA_SemaHub_empty_ST_7i 0x0388
#define B16SemaHub_empty_ST_7i 0x0388
#define LSb32SemaHub_empty_ST_7i 7
#define LSb16SemaHub_empty_ST_7i 7
#define bSemaHub_empty_ST_7i 1
#define MSK32SemaHub_empty_ST_7i 0x00000080
#define BA_SemaHub_empty_ST_8i 0x0389
#define B16SemaHub_empty_ST_8i 0x0388
#define LSb32SemaHub_empty_ST_8i 8
#define LSb16SemaHub_empty_ST_8i 8
#define bSemaHub_empty_ST_8i 1
#define MSK32SemaHub_empty_ST_8i 0x00000100
#define BA_SemaHub_empty_ST_9i 0x0389
#define B16SemaHub_empty_ST_9i 0x0388
#define LSb32SemaHub_empty_ST_9i 9
#define LSb16SemaHub_empty_ST_9i 9
#define bSemaHub_empty_ST_9i 1
#define MSK32SemaHub_empty_ST_9i 0x00000200
#define BA_SemaHub_empty_ST_10i 0x0389
#define B16SemaHub_empty_ST_10i 0x0388
#define LSb32SemaHub_empty_ST_10i 10
#define LSb16SemaHub_empty_ST_10i 10
#define bSemaHub_empty_ST_10i 1
#define MSK32SemaHub_empty_ST_10i 0x00000400
#define BA_SemaHub_empty_ST_11i 0x0389
#define B16SemaHub_empty_ST_11i 0x0388
#define LSb32SemaHub_empty_ST_11i 11
#define LSb16SemaHub_empty_ST_11i 11
#define bSemaHub_empty_ST_11i 1
#define MSK32SemaHub_empty_ST_11i 0x00000800
#define BA_SemaHub_empty_ST_12i 0x0389
#define B16SemaHub_empty_ST_12i 0x0388
#define LSb32SemaHub_empty_ST_12i 12
#define LSb16SemaHub_empty_ST_12i 12
#define bSemaHub_empty_ST_12i 1
#define MSK32SemaHub_empty_ST_12i 0x00001000
#define BA_SemaHub_empty_ST_13i 0x0389
#define B16SemaHub_empty_ST_13i 0x0388
#define LSb32SemaHub_empty_ST_13i 13
#define LSb16SemaHub_empty_ST_13i 13
#define bSemaHub_empty_ST_13i 1
#define MSK32SemaHub_empty_ST_13i 0x00002000
#define BA_SemaHub_empty_ST_14i 0x0389
#define B16SemaHub_empty_ST_14i 0x0388
#define LSb32SemaHub_empty_ST_14i 14
#define LSb16SemaHub_empty_ST_14i 14
#define bSemaHub_empty_ST_14i 1
#define MSK32SemaHub_empty_ST_14i 0x00004000
#define BA_SemaHub_empty_ST_15i 0x0389
#define B16SemaHub_empty_ST_15i 0x0388
#define LSb32SemaHub_empty_ST_15i 15
#define LSb16SemaHub_empty_ST_15i 15
#define bSemaHub_empty_ST_15i 1
#define MSK32SemaHub_empty_ST_15i 0x00008000
#define BA_SemaHub_empty_ST_16i 0x038A
#define B16SemaHub_empty_ST_16i 0x038A
#define LSb32SemaHub_empty_ST_16i 16
#define LSb16SemaHub_empty_ST_16i 0
#define bSemaHub_empty_ST_16i 1
#define MSK32SemaHub_empty_ST_16i 0x00010000
#define BA_SemaHub_empty_ST_17i 0x038A
#define B16SemaHub_empty_ST_17i 0x038A
#define LSb32SemaHub_empty_ST_17i 17
#define LSb16SemaHub_empty_ST_17i 1
#define bSemaHub_empty_ST_17i 1
#define MSK32SemaHub_empty_ST_17i 0x00020000
#define BA_SemaHub_empty_ST_18i 0x038A
#define B16SemaHub_empty_ST_18i 0x038A
#define LSb32SemaHub_empty_ST_18i 18
#define LSb16SemaHub_empty_ST_18i 2
#define bSemaHub_empty_ST_18i 1
#define MSK32SemaHub_empty_ST_18i 0x00040000
#define BA_SemaHub_empty_ST_19i 0x038A
#define B16SemaHub_empty_ST_19i 0x038A
#define LSb32SemaHub_empty_ST_19i 19
#define LSb16SemaHub_empty_ST_19i 3
#define bSemaHub_empty_ST_19i 1
#define MSK32SemaHub_empty_ST_19i 0x00080000
#define BA_SemaHub_empty_ST_20i 0x038A
#define B16SemaHub_empty_ST_20i 0x038A
#define LSb32SemaHub_empty_ST_20i 20
#define LSb16SemaHub_empty_ST_20i 4
#define bSemaHub_empty_ST_20i 1
#define MSK32SemaHub_empty_ST_20i 0x00100000
#define BA_SemaHub_empty_ST_21i 0x038A
#define B16SemaHub_empty_ST_21i 0x038A
#define LSb32SemaHub_empty_ST_21i 21
#define LSb16SemaHub_empty_ST_21i 5
#define bSemaHub_empty_ST_21i 1
#define MSK32SemaHub_empty_ST_21i 0x00200000
#define BA_SemaHub_empty_ST_22i 0x038A
#define B16SemaHub_empty_ST_22i 0x038A
#define LSb32SemaHub_empty_ST_22i 22
#define LSb16SemaHub_empty_ST_22i 6
#define bSemaHub_empty_ST_22i 1
#define MSK32SemaHub_empty_ST_22i 0x00400000
#define BA_SemaHub_empty_ST_23i 0x038A
#define B16SemaHub_empty_ST_23i 0x038A
#define LSb32SemaHub_empty_ST_23i 23
#define LSb16SemaHub_empty_ST_23i 7
#define bSemaHub_empty_ST_23i 1
#define MSK32SemaHub_empty_ST_23i 0x00800000
#define BA_SemaHub_empty_ST_24i 0x038B
#define B16SemaHub_empty_ST_24i 0x038A
#define LSb32SemaHub_empty_ST_24i 24
#define LSb16SemaHub_empty_ST_24i 8
#define bSemaHub_empty_ST_24i 1
#define MSK32SemaHub_empty_ST_24i 0x01000000
#define BA_SemaHub_empty_ST_25i 0x038B
#define B16SemaHub_empty_ST_25i 0x038A
#define LSb32SemaHub_empty_ST_25i 25
#define LSb16SemaHub_empty_ST_25i 9
#define bSemaHub_empty_ST_25i 1
#define MSK32SemaHub_empty_ST_25i 0x02000000
#define BA_SemaHub_empty_ST_26i 0x038B
#define B16SemaHub_empty_ST_26i 0x038A
#define LSb32SemaHub_empty_ST_26i 26
#define LSb16SemaHub_empty_ST_26i 10
#define bSemaHub_empty_ST_26i 1
#define MSK32SemaHub_empty_ST_26i 0x04000000
#define BA_SemaHub_empty_ST_27i 0x038B
#define B16SemaHub_empty_ST_27i 0x038A
#define LSb32SemaHub_empty_ST_27i 27
#define LSb16SemaHub_empty_ST_27i 11
#define bSemaHub_empty_ST_27i 1
#define MSK32SemaHub_empty_ST_27i 0x08000000
#define BA_SemaHub_empty_ST_28i 0x038B
#define B16SemaHub_empty_ST_28i 0x038A
#define LSb32SemaHub_empty_ST_28i 28
#define LSb16SemaHub_empty_ST_28i 12
#define bSemaHub_empty_ST_28i 1
#define MSK32SemaHub_empty_ST_28i 0x10000000
#define BA_SemaHub_empty_ST_29i 0x038B
#define B16SemaHub_empty_ST_29i 0x038A
#define LSb32SemaHub_empty_ST_29i 29
#define LSb16SemaHub_empty_ST_29i 13
#define bSemaHub_empty_ST_29i 1
#define MSK32SemaHub_empty_ST_29i 0x20000000
#define BA_SemaHub_empty_ST_30i 0x038B
#define B16SemaHub_empty_ST_30i 0x038A
#define LSb32SemaHub_empty_ST_30i 30
#define LSb16SemaHub_empty_ST_30i 14
#define bSemaHub_empty_ST_30i 1
#define MSK32SemaHub_empty_ST_30i 0x40000000
#define BA_SemaHub_empty_ST_31i 0x038B
#define B16SemaHub_empty_ST_31i 0x038A
#define LSb32SemaHub_empty_ST_31i 31
#define LSb16SemaHub_empty_ST_31i 15
#define bSemaHub_empty_ST_31i 1
#define MSK32SemaHub_empty_ST_31i 0x80000000
///////////////////////////////////////////////////////////
#define RA_SemaHub_full 0x038C
#define BA_SemaHub_full_ST_0i 0x038C
#define B16SemaHub_full_ST_0i 0x038C
#define LSb32SemaHub_full_ST_0i 0
#define LSb16SemaHub_full_ST_0i 0
#define bSemaHub_full_ST_0i 1
#define MSK32SemaHub_full_ST_0i 0x00000001
#define BA_SemaHub_full_ST_1i 0x038C
#define B16SemaHub_full_ST_1i 0x038C
#define LSb32SemaHub_full_ST_1i 1
#define LSb16SemaHub_full_ST_1i 1
#define bSemaHub_full_ST_1i 1
#define MSK32SemaHub_full_ST_1i 0x00000002
#define BA_SemaHub_full_ST_2i 0x038C
#define B16SemaHub_full_ST_2i 0x038C
#define LSb32SemaHub_full_ST_2i 2
#define LSb16SemaHub_full_ST_2i 2
#define bSemaHub_full_ST_2i 1
#define MSK32SemaHub_full_ST_2i 0x00000004
#define BA_SemaHub_full_ST_3i 0x038C
#define B16SemaHub_full_ST_3i 0x038C
#define LSb32SemaHub_full_ST_3i 3
#define LSb16SemaHub_full_ST_3i 3
#define bSemaHub_full_ST_3i 1
#define MSK32SemaHub_full_ST_3i 0x00000008
#define BA_SemaHub_full_ST_4i 0x038C
#define B16SemaHub_full_ST_4i 0x038C
#define LSb32SemaHub_full_ST_4i 4
#define LSb16SemaHub_full_ST_4i 4
#define bSemaHub_full_ST_4i 1
#define MSK32SemaHub_full_ST_4i 0x00000010
#define BA_SemaHub_full_ST_5i 0x038C
#define B16SemaHub_full_ST_5i 0x038C
#define LSb32SemaHub_full_ST_5i 5
#define LSb16SemaHub_full_ST_5i 5
#define bSemaHub_full_ST_5i 1
#define MSK32SemaHub_full_ST_5i 0x00000020
#define BA_SemaHub_full_ST_6i 0x038C
#define B16SemaHub_full_ST_6i 0x038C
#define LSb32SemaHub_full_ST_6i 6
#define LSb16SemaHub_full_ST_6i 6
#define bSemaHub_full_ST_6i 1
#define MSK32SemaHub_full_ST_6i 0x00000040
#define BA_SemaHub_full_ST_7i 0x038C
#define B16SemaHub_full_ST_7i 0x038C
#define LSb32SemaHub_full_ST_7i 7
#define LSb16SemaHub_full_ST_7i 7
#define bSemaHub_full_ST_7i 1
#define MSK32SemaHub_full_ST_7i 0x00000080
#define BA_SemaHub_full_ST_8i 0x038D
#define B16SemaHub_full_ST_8i 0x038C
#define LSb32SemaHub_full_ST_8i 8
#define LSb16SemaHub_full_ST_8i 8
#define bSemaHub_full_ST_8i 1
#define MSK32SemaHub_full_ST_8i 0x00000100
#define BA_SemaHub_full_ST_9i 0x038D
#define B16SemaHub_full_ST_9i 0x038C
#define LSb32SemaHub_full_ST_9i 9
#define LSb16SemaHub_full_ST_9i 9
#define bSemaHub_full_ST_9i 1
#define MSK32SemaHub_full_ST_9i 0x00000200
#define BA_SemaHub_full_ST_10i 0x038D
#define B16SemaHub_full_ST_10i 0x038C
#define LSb32SemaHub_full_ST_10i 10
#define LSb16SemaHub_full_ST_10i 10
#define bSemaHub_full_ST_10i 1
#define MSK32SemaHub_full_ST_10i 0x00000400
#define BA_SemaHub_full_ST_11i 0x038D
#define B16SemaHub_full_ST_11i 0x038C
#define LSb32SemaHub_full_ST_11i 11
#define LSb16SemaHub_full_ST_11i 11
#define bSemaHub_full_ST_11i 1
#define MSK32SemaHub_full_ST_11i 0x00000800
#define BA_SemaHub_full_ST_12i 0x038D
#define B16SemaHub_full_ST_12i 0x038C
#define LSb32SemaHub_full_ST_12i 12
#define LSb16SemaHub_full_ST_12i 12
#define bSemaHub_full_ST_12i 1
#define MSK32SemaHub_full_ST_12i 0x00001000
#define BA_SemaHub_full_ST_13i 0x038D
#define B16SemaHub_full_ST_13i 0x038C
#define LSb32SemaHub_full_ST_13i 13
#define LSb16SemaHub_full_ST_13i 13
#define bSemaHub_full_ST_13i 1
#define MSK32SemaHub_full_ST_13i 0x00002000
#define BA_SemaHub_full_ST_14i 0x038D
#define B16SemaHub_full_ST_14i 0x038C
#define LSb32SemaHub_full_ST_14i 14
#define LSb16SemaHub_full_ST_14i 14
#define bSemaHub_full_ST_14i 1
#define MSK32SemaHub_full_ST_14i 0x00004000
#define BA_SemaHub_full_ST_15i 0x038D
#define B16SemaHub_full_ST_15i 0x038C
#define LSb32SemaHub_full_ST_15i 15
#define LSb16SemaHub_full_ST_15i 15
#define bSemaHub_full_ST_15i 1
#define MSK32SemaHub_full_ST_15i 0x00008000
#define BA_SemaHub_full_ST_16i 0x038E
#define B16SemaHub_full_ST_16i 0x038E
#define LSb32SemaHub_full_ST_16i 16
#define LSb16SemaHub_full_ST_16i 0
#define bSemaHub_full_ST_16i 1
#define MSK32SemaHub_full_ST_16i 0x00010000
#define BA_SemaHub_full_ST_17i 0x038E
#define B16SemaHub_full_ST_17i 0x038E
#define LSb32SemaHub_full_ST_17i 17
#define LSb16SemaHub_full_ST_17i 1
#define bSemaHub_full_ST_17i 1
#define MSK32SemaHub_full_ST_17i 0x00020000
#define BA_SemaHub_full_ST_18i 0x038E
#define B16SemaHub_full_ST_18i 0x038E
#define LSb32SemaHub_full_ST_18i 18
#define LSb16SemaHub_full_ST_18i 2
#define bSemaHub_full_ST_18i 1
#define MSK32SemaHub_full_ST_18i 0x00040000
#define BA_SemaHub_full_ST_19i 0x038E
#define B16SemaHub_full_ST_19i 0x038E
#define LSb32SemaHub_full_ST_19i 19
#define LSb16SemaHub_full_ST_19i 3
#define bSemaHub_full_ST_19i 1
#define MSK32SemaHub_full_ST_19i 0x00080000
#define BA_SemaHub_full_ST_20i 0x038E
#define B16SemaHub_full_ST_20i 0x038E
#define LSb32SemaHub_full_ST_20i 20
#define LSb16SemaHub_full_ST_20i 4
#define bSemaHub_full_ST_20i 1
#define MSK32SemaHub_full_ST_20i 0x00100000
#define BA_SemaHub_full_ST_21i 0x038E
#define B16SemaHub_full_ST_21i 0x038E
#define LSb32SemaHub_full_ST_21i 21
#define LSb16SemaHub_full_ST_21i 5
#define bSemaHub_full_ST_21i 1
#define MSK32SemaHub_full_ST_21i 0x00200000
#define BA_SemaHub_full_ST_22i 0x038E
#define B16SemaHub_full_ST_22i 0x038E
#define LSb32SemaHub_full_ST_22i 22
#define LSb16SemaHub_full_ST_22i 6
#define bSemaHub_full_ST_22i 1
#define MSK32SemaHub_full_ST_22i 0x00400000
#define BA_SemaHub_full_ST_23i 0x038E
#define B16SemaHub_full_ST_23i 0x038E
#define LSb32SemaHub_full_ST_23i 23
#define LSb16SemaHub_full_ST_23i 7
#define bSemaHub_full_ST_23i 1
#define MSK32SemaHub_full_ST_23i 0x00800000
#define BA_SemaHub_full_ST_24i 0x038F
#define B16SemaHub_full_ST_24i 0x038E
#define LSb32SemaHub_full_ST_24i 24
#define LSb16SemaHub_full_ST_24i 8
#define bSemaHub_full_ST_24i 1
#define MSK32SemaHub_full_ST_24i 0x01000000
#define BA_SemaHub_full_ST_25i 0x038F
#define B16SemaHub_full_ST_25i 0x038E
#define LSb32SemaHub_full_ST_25i 25
#define LSb16SemaHub_full_ST_25i 9
#define bSemaHub_full_ST_25i 1
#define MSK32SemaHub_full_ST_25i 0x02000000
#define BA_SemaHub_full_ST_26i 0x038F
#define B16SemaHub_full_ST_26i 0x038E
#define LSb32SemaHub_full_ST_26i 26
#define LSb16SemaHub_full_ST_26i 10
#define bSemaHub_full_ST_26i 1
#define MSK32SemaHub_full_ST_26i 0x04000000
#define BA_SemaHub_full_ST_27i 0x038F
#define B16SemaHub_full_ST_27i 0x038E
#define LSb32SemaHub_full_ST_27i 27
#define LSb16SemaHub_full_ST_27i 11
#define bSemaHub_full_ST_27i 1
#define MSK32SemaHub_full_ST_27i 0x08000000
#define BA_SemaHub_full_ST_28i 0x038F
#define B16SemaHub_full_ST_28i 0x038E
#define LSb32SemaHub_full_ST_28i 28
#define LSb16SemaHub_full_ST_28i 12
#define bSemaHub_full_ST_28i 1
#define MSK32SemaHub_full_ST_28i 0x10000000
#define BA_SemaHub_full_ST_29i 0x038F
#define B16SemaHub_full_ST_29i 0x038E
#define LSb32SemaHub_full_ST_29i 29
#define LSb16SemaHub_full_ST_29i 13
#define bSemaHub_full_ST_29i 1
#define MSK32SemaHub_full_ST_29i 0x20000000
#define BA_SemaHub_full_ST_30i 0x038F
#define B16SemaHub_full_ST_30i 0x038E
#define LSb32SemaHub_full_ST_30i 30
#define LSb16SemaHub_full_ST_30i 14
#define bSemaHub_full_ST_30i 1
#define MSK32SemaHub_full_ST_30i 0x40000000
#define BA_SemaHub_full_ST_31i 0x038F
#define B16SemaHub_full_ST_31i 0x038E
#define LSb32SemaHub_full_ST_31i 31
#define LSb16SemaHub_full_ST_31i 15
#define bSemaHub_full_ST_31i 1
#define MSK32SemaHub_full_ST_31i 0x80000000
///////////////////////////////////////////////////////////
#define RA_SemaHub_almostEmpty 0x0390
#define BA_SemaHub_almostEmpty_ST_0i 0x0390
#define B16SemaHub_almostEmpty_ST_0i 0x0390
#define LSb32SemaHub_almostEmpty_ST_0i 0
#define LSb16SemaHub_almostEmpty_ST_0i 0
#define bSemaHub_almostEmpty_ST_0i 1
#define MSK32SemaHub_almostEmpty_ST_0i 0x00000001
#define BA_SemaHub_almostEmpty_ST_1i 0x0390
#define B16SemaHub_almostEmpty_ST_1i 0x0390
#define LSb32SemaHub_almostEmpty_ST_1i 1
#define LSb16SemaHub_almostEmpty_ST_1i 1
#define bSemaHub_almostEmpty_ST_1i 1
#define MSK32SemaHub_almostEmpty_ST_1i 0x00000002
#define BA_SemaHub_almostEmpty_ST_2i 0x0390
#define B16SemaHub_almostEmpty_ST_2i 0x0390
#define LSb32SemaHub_almostEmpty_ST_2i 2
#define LSb16SemaHub_almostEmpty_ST_2i 2
#define bSemaHub_almostEmpty_ST_2i 1
#define MSK32SemaHub_almostEmpty_ST_2i 0x00000004
#define BA_SemaHub_almostEmpty_ST_3i 0x0390
#define B16SemaHub_almostEmpty_ST_3i 0x0390
#define LSb32SemaHub_almostEmpty_ST_3i 3
#define LSb16SemaHub_almostEmpty_ST_3i 3
#define bSemaHub_almostEmpty_ST_3i 1
#define MSK32SemaHub_almostEmpty_ST_3i 0x00000008
#define BA_SemaHub_almostEmpty_ST_4i 0x0390
#define B16SemaHub_almostEmpty_ST_4i 0x0390
#define LSb32SemaHub_almostEmpty_ST_4i 4
#define LSb16SemaHub_almostEmpty_ST_4i 4
#define bSemaHub_almostEmpty_ST_4i 1
#define MSK32SemaHub_almostEmpty_ST_4i 0x00000010
#define BA_SemaHub_almostEmpty_ST_5i 0x0390
#define B16SemaHub_almostEmpty_ST_5i 0x0390
#define LSb32SemaHub_almostEmpty_ST_5i 5
#define LSb16SemaHub_almostEmpty_ST_5i 5
#define bSemaHub_almostEmpty_ST_5i 1
#define MSK32SemaHub_almostEmpty_ST_5i 0x00000020
#define BA_SemaHub_almostEmpty_ST_6i 0x0390
#define B16SemaHub_almostEmpty_ST_6i 0x0390
#define LSb32SemaHub_almostEmpty_ST_6i 6
#define LSb16SemaHub_almostEmpty_ST_6i 6
#define bSemaHub_almostEmpty_ST_6i 1
#define MSK32SemaHub_almostEmpty_ST_6i 0x00000040
#define BA_SemaHub_almostEmpty_ST_7i 0x0390
#define B16SemaHub_almostEmpty_ST_7i 0x0390
#define LSb32SemaHub_almostEmpty_ST_7i 7
#define LSb16SemaHub_almostEmpty_ST_7i 7
#define bSemaHub_almostEmpty_ST_7i 1
#define MSK32SemaHub_almostEmpty_ST_7i 0x00000080
#define BA_SemaHub_almostEmpty_ST_8i 0x0391
#define B16SemaHub_almostEmpty_ST_8i 0x0390
#define LSb32SemaHub_almostEmpty_ST_8i 8
#define LSb16SemaHub_almostEmpty_ST_8i 8
#define bSemaHub_almostEmpty_ST_8i 1
#define MSK32SemaHub_almostEmpty_ST_8i 0x00000100
#define BA_SemaHub_almostEmpty_ST_9i 0x0391
#define B16SemaHub_almostEmpty_ST_9i 0x0390
#define LSb32SemaHub_almostEmpty_ST_9i 9
#define LSb16SemaHub_almostEmpty_ST_9i 9
#define bSemaHub_almostEmpty_ST_9i 1
#define MSK32SemaHub_almostEmpty_ST_9i 0x00000200
#define BA_SemaHub_almostEmpty_ST_10i 0x0391
#define B16SemaHub_almostEmpty_ST_10i 0x0390
#define LSb32SemaHub_almostEmpty_ST_10i 10
#define LSb16SemaHub_almostEmpty_ST_10i 10
#define bSemaHub_almostEmpty_ST_10i 1
#define MSK32SemaHub_almostEmpty_ST_10i 0x00000400
#define BA_SemaHub_almostEmpty_ST_11i 0x0391
#define B16SemaHub_almostEmpty_ST_11i 0x0390
#define LSb32SemaHub_almostEmpty_ST_11i 11
#define LSb16SemaHub_almostEmpty_ST_11i 11
#define bSemaHub_almostEmpty_ST_11i 1
#define MSK32SemaHub_almostEmpty_ST_11i 0x00000800
#define BA_SemaHub_almostEmpty_ST_12i 0x0391
#define B16SemaHub_almostEmpty_ST_12i 0x0390
#define LSb32SemaHub_almostEmpty_ST_12i 12
#define LSb16SemaHub_almostEmpty_ST_12i 12
#define bSemaHub_almostEmpty_ST_12i 1
#define MSK32SemaHub_almostEmpty_ST_12i 0x00001000
#define BA_SemaHub_almostEmpty_ST_13i 0x0391
#define B16SemaHub_almostEmpty_ST_13i 0x0390
#define LSb32SemaHub_almostEmpty_ST_13i 13
#define LSb16SemaHub_almostEmpty_ST_13i 13
#define bSemaHub_almostEmpty_ST_13i 1
#define MSK32SemaHub_almostEmpty_ST_13i 0x00002000
#define BA_SemaHub_almostEmpty_ST_14i 0x0391
#define B16SemaHub_almostEmpty_ST_14i 0x0390
#define LSb32SemaHub_almostEmpty_ST_14i 14
#define LSb16SemaHub_almostEmpty_ST_14i 14
#define bSemaHub_almostEmpty_ST_14i 1
#define MSK32SemaHub_almostEmpty_ST_14i 0x00004000
#define BA_SemaHub_almostEmpty_ST_15i 0x0391
#define B16SemaHub_almostEmpty_ST_15i 0x0390
#define LSb32SemaHub_almostEmpty_ST_15i 15
#define LSb16SemaHub_almostEmpty_ST_15i 15
#define bSemaHub_almostEmpty_ST_15i 1
#define MSK32SemaHub_almostEmpty_ST_15i 0x00008000
#define BA_SemaHub_almostEmpty_ST_16i 0x0392
#define B16SemaHub_almostEmpty_ST_16i 0x0392
#define LSb32SemaHub_almostEmpty_ST_16i 16
#define LSb16SemaHub_almostEmpty_ST_16i 0
#define bSemaHub_almostEmpty_ST_16i 1
#define MSK32SemaHub_almostEmpty_ST_16i 0x00010000
#define BA_SemaHub_almostEmpty_ST_17i 0x0392
#define B16SemaHub_almostEmpty_ST_17i 0x0392
#define LSb32SemaHub_almostEmpty_ST_17i 17
#define LSb16SemaHub_almostEmpty_ST_17i 1
#define bSemaHub_almostEmpty_ST_17i 1
#define MSK32SemaHub_almostEmpty_ST_17i 0x00020000
#define BA_SemaHub_almostEmpty_ST_18i 0x0392
#define B16SemaHub_almostEmpty_ST_18i 0x0392
#define LSb32SemaHub_almostEmpty_ST_18i 18
#define LSb16SemaHub_almostEmpty_ST_18i 2
#define bSemaHub_almostEmpty_ST_18i 1
#define MSK32SemaHub_almostEmpty_ST_18i 0x00040000
#define BA_SemaHub_almostEmpty_ST_19i 0x0392
#define B16SemaHub_almostEmpty_ST_19i 0x0392
#define LSb32SemaHub_almostEmpty_ST_19i 19
#define LSb16SemaHub_almostEmpty_ST_19i 3
#define bSemaHub_almostEmpty_ST_19i 1
#define MSK32SemaHub_almostEmpty_ST_19i 0x00080000
#define BA_SemaHub_almostEmpty_ST_20i 0x0392
#define B16SemaHub_almostEmpty_ST_20i 0x0392
#define LSb32SemaHub_almostEmpty_ST_20i 20
#define LSb16SemaHub_almostEmpty_ST_20i 4
#define bSemaHub_almostEmpty_ST_20i 1
#define MSK32SemaHub_almostEmpty_ST_20i 0x00100000
#define BA_SemaHub_almostEmpty_ST_21i 0x0392
#define B16SemaHub_almostEmpty_ST_21i 0x0392
#define LSb32SemaHub_almostEmpty_ST_21i 21
#define LSb16SemaHub_almostEmpty_ST_21i 5
#define bSemaHub_almostEmpty_ST_21i 1
#define MSK32SemaHub_almostEmpty_ST_21i 0x00200000
#define BA_SemaHub_almostEmpty_ST_22i 0x0392
#define B16SemaHub_almostEmpty_ST_22i 0x0392
#define LSb32SemaHub_almostEmpty_ST_22i 22
#define LSb16SemaHub_almostEmpty_ST_22i 6
#define bSemaHub_almostEmpty_ST_22i 1
#define MSK32SemaHub_almostEmpty_ST_22i 0x00400000
#define BA_SemaHub_almostEmpty_ST_23i 0x0392
#define B16SemaHub_almostEmpty_ST_23i 0x0392
#define LSb32SemaHub_almostEmpty_ST_23i 23
#define LSb16SemaHub_almostEmpty_ST_23i 7
#define bSemaHub_almostEmpty_ST_23i 1
#define MSK32SemaHub_almostEmpty_ST_23i 0x00800000
#define BA_SemaHub_almostEmpty_ST_24i 0x0393
#define B16SemaHub_almostEmpty_ST_24i 0x0392
#define LSb32SemaHub_almostEmpty_ST_24i 24
#define LSb16SemaHub_almostEmpty_ST_24i 8
#define bSemaHub_almostEmpty_ST_24i 1
#define MSK32SemaHub_almostEmpty_ST_24i 0x01000000
#define BA_SemaHub_almostEmpty_ST_25i 0x0393
#define B16SemaHub_almostEmpty_ST_25i 0x0392
#define LSb32SemaHub_almostEmpty_ST_25i 25
#define LSb16SemaHub_almostEmpty_ST_25i 9
#define bSemaHub_almostEmpty_ST_25i 1
#define MSK32SemaHub_almostEmpty_ST_25i 0x02000000
#define BA_SemaHub_almostEmpty_ST_26i 0x0393
#define B16SemaHub_almostEmpty_ST_26i 0x0392
#define LSb32SemaHub_almostEmpty_ST_26i 26
#define LSb16SemaHub_almostEmpty_ST_26i 10
#define bSemaHub_almostEmpty_ST_26i 1
#define MSK32SemaHub_almostEmpty_ST_26i 0x04000000
#define BA_SemaHub_almostEmpty_ST_27i 0x0393
#define B16SemaHub_almostEmpty_ST_27i 0x0392
#define LSb32SemaHub_almostEmpty_ST_27i 27
#define LSb16SemaHub_almostEmpty_ST_27i 11
#define bSemaHub_almostEmpty_ST_27i 1
#define MSK32SemaHub_almostEmpty_ST_27i 0x08000000
#define BA_SemaHub_almostEmpty_ST_28i 0x0393
#define B16SemaHub_almostEmpty_ST_28i 0x0392
#define LSb32SemaHub_almostEmpty_ST_28i 28
#define LSb16SemaHub_almostEmpty_ST_28i 12
#define bSemaHub_almostEmpty_ST_28i 1
#define MSK32SemaHub_almostEmpty_ST_28i 0x10000000
#define BA_SemaHub_almostEmpty_ST_29i 0x0393
#define B16SemaHub_almostEmpty_ST_29i 0x0392
#define LSb32SemaHub_almostEmpty_ST_29i 29
#define LSb16SemaHub_almostEmpty_ST_29i 13
#define bSemaHub_almostEmpty_ST_29i 1
#define MSK32SemaHub_almostEmpty_ST_29i 0x20000000
#define BA_SemaHub_almostEmpty_ST_30i 0x0393
#define B16SemaHub_almostEmpty_ST_30i 0x0392
#define LSb32SemaHub_almostEmpty_ST_30i 30
#define LSb16SemaHub_almostEmpty_ST_30i 14
#define bSemaHub_almostEmpty_ST_30i 1
#define MSK32SemaHub_almostEmpty_ST_30i 0x40000000
#define BA_SemaHub_almostEmpty_ST_31i 0x0393
#define B16SemaHub_almostEmpty_ST_31i 0x0392
#define LSb32SemaHub_almostEmpty_ST_31i 31
#define LSb16SemaHub_almostEmpty_ST_31i 15
#define bSemaHub_almostEmpty_ST_31i 1
#define MSK32SemaHub_almostEmpty_ST_31i 0x80000000
///////////////////////////////////////////////////////////
#define RA_SemaHub_almostFull 0x0394
#define BA_SemaHub_almostFull_ST_0i 0x0394
#define B16SemaHub_almostFull_ST_0i 0x0394
#define LSb32SemaHub_almostFull_ST_0i 0
#define LSb16SemaHub_almostFull_ST_0i 0
#define bSemaHub_almostFull_ST_0i 1
#define MSK32SemaHub_almostFull_ST_0i 0x00000001
#define BA_SemaHub_almostFull_ST_1i 0x0394
#define B16SemaHub_almostFull_ST_1i 0x0394
#define LSb32SemaHub_almostFull_ST_1i 1
#define LSb16SemaHub_almostFull_ST_1i 1
#define bSemaHub_almostFull_ST_1i 1
#define MSK32SemaHub_almostFull_ST_1i 0x00000002
#define BA_SemaHub_almostFull_ST_2i 0x0394
#define B16SemaHub_almostFull_ST_2i 0x0394
#define LSb32SemaHub_almostFull_ST_2i 2
#define LSb16SemaHub_almostFull_ST_2i 2
#define bSemaHub_almostFull_ST_2i 1
#define MSK32SemaHub_almostFull_ST_2i 0x00000004
#define BA_SemaHub_almostFull_ST_3i 0x0394
#define B16SemaHub_almostFull_ST_3i 0x0394
#define LSb32SemaHub_almostFull_ST_3i 3
#define LSb16SemaHub_almostFull_ST_3i 3
#define bSemaHub_almostFull_ST_3i 1
#define MSK32SemaHub_almostFull_ST_3i 0x00000008
#define BA_SemaHub_almostFull_ST_4i 0x0394
#define B16SemaHub_almostFull_ST_4i 0x0394
#define LSb32SemaHub_almostFull_ST_4i 4
#define LSb16SemaHub_almostFull_ST_4i 4
#define bSemaHub_almostFull_ST_4i 1
#define MSK32SemaHub_almostFull_ST_4i 0x00000010
#define BA_SemaHub_almostFull_ST_5i 0x0394
#define B16SemaHub_almostFull_ST_5i 0x0394
#define LSb32SemaHub_almostFull_ST_5i 5
#define LSb16SemaHub_almostFull_ST_5i 5
#define bSemaHub_almostFull_ST_5i 1
#define MSK32SemaHub_almostFull_ST_5i 0x00000020
#define BA_SemaHub_almostFull_ST_6i 0x0394
#define B16SemaHub_almostFull_ST_6i 0x0394
#define LSb32SemaHub_almostFull_ST_6i 6
#define LSb16SemaHub_almostFull_ST_6i 6
#define bSemaHub_almostFull_ST_6i 1
#define MSK32SemaHub_almostFull_ST_6i 0x00000040
#define BA_SemaHub_almostFull_ST_7i 0x0394
#define B16SemaHub_almostFull_ST_7i 0x0394
#define LSb32SemaHub_almostFull_ST_7i 7
#define LSb16SemaHub_almostFull_ST_7i 7
#define bSemaHub_almostFull_ST_7i 1
#define MSK32SemaHub_almostFull_ST_7i 0x00000080
#define BA_SemaHub_almostFull_ST_8i 0x0395
#define B16SemaHub_almostFull_ST_8i 0x0394
#define LSb32SemaHub_almostFull_ST_8i 8
#define LSb16SemaHub_almostFull_ST_8i 8
#define bSemaHub_almostFull_ST_8i 1
#define MSK32SemaHub_almostFull_ST_8i 0x00000100
#define BA_SemaHub_almostFull_ST_9i 0x0395
#define B16SemaHub_almostFull_ST_9i 0x0394
#define LSb32SemaHub_almostFull_ST_9i 9
#define LSb16SemaHub_almostFull_ST_9i 9
#define bSemaHub_almostFull_ST_9i 1
#define MSK32SemaHub_almostFull_ST_9i 0x00000200
#define BA_SemaHub_almostFull_ST_10i 0x0395
#define B16SemaHub_almostFull_ST_10i 0x0394
#define LSb32SemaHub_almostFull_ST_10i 10
#define LSb16SemaHub_almostFull_ST_10i 10
#define bSemaHub_almostFull_ST_10i 1
#define MSK32SemaHub_almostFull_ST_10i 0x00000400
#define BA_SemaHub_almostFull_ST_11i 0x0395
#define B16SemaHub_almostFull_ST_11i 0x0394
#define LSb32SemaHub_almostFull_ST_11i 11
#define LSb16SemaHub_almostFull_ST_11i 11
#define bSemaHub_almostFull_ST_11i 1
#define MSK32SemaHub_almostFull_ST_11i 0x00000800
#define BA_SemaHub_almostFull_ST_12i 0x0395
#define B16SemaHub_almostFull_ST_12i 0x0394
#define LSb32SemaHub_almostFull_ST_12i 12
#define LSb16SemaHub_almostFull_ST_12i 12
#define bSemaHub_almostFull_ST_12i 1
#define MSK32SemaHub_almostFull_ST_12i 0x00001000
#define BA_SemaHub_almostFull_ST_13i 0x0395
#define B16SemaHub_almostFull_ST_13i 0x0394
#define LSb32SemaHub_almostFull_ST_13i 13
#define LSb16SemaHub_almostFull_ST_13i 13
#define bSemaHub_almostFull_ST_13i 1
#define MSK32SemaHub_almostFull_ST_13i 0x00002000
#define BA_SemaHub_almostFull_ST_14i 0x0395
#define B16SemaHub_almostFull_ST_14i 0x0394
#define LSb32SemaHub_almostFull_ST_14i 14
#define LSb16SemaHub_almostFull_ST_14i 14
#define bSemaHub_almostFull_ST_14i 1
#define MSK32SemaHub_almostFull_ST_14i 0x00004000
#define BA_SemaHub_almostFull_ST_15i 0x0395
#define B16SemaHub_almostFull_ST_15i 0x0394
#define LSb32SemaHub_almostFull_ST_15i 15
#define LSb16SemaHub_almostFull_ST_15i 15
#define bSemaHub_almostFull_ST_15i 1
#define MSK32SemaHub_almostFull_ST_15i 0x00008000
#define BA_SemaHub_almostFull_ST_16i 0x0396
#define B16SemaHub_almostFull_ST_16i 0x0396
#define LSb32SemaHub_almostFull_ST_16i 16
#define LSb16SemaHub_almostFull_ST_16i 0
#define bSemaHub_almostFull_ST_16i 1
#define MSK32SemaHub_almostFull_ST_16i 0x00010000
#define BA_SemaHub_almostFull_ST_17i 0x0396
#define B16SemaHub_almostFull_ST_17i 0x0396
#define LSb32SemaHub_almostFull_ST_17i 17
#define LSb16SemaHub_almostFull_ST_17i 1
#define bSemaHub_almostFull_ST_17i 1
#define MSK32SemaHub_almostFull_ST_17i 0x00020000
#define BA_SemaHub_almostFull_ST_18i 0x0396
#define B16SemaHub_almostFull_ST_18i 0x0396
#define LSb32SemaHub_almostFull_ST_18i 18
#define LSb16SemaHub_almostFull_ST_18i 2
#define bSemaHub_almostFull_ST_18i 1
#define MSK32SemaHub_almostFull_ST_18i 0x00040000
#define BA_SemaHub_almostFull_ST_19i 0x0396
#define B16SemaHub_almostFull_ST_19i 0x0396
#define LSb32SemaHub_almostFull_ST_19i 19
#define LSb16SemaHub_almostFull_ST_19i 3
#define bSemaHub_almostFull_ST_19i 1
#define MSK32SemaHub_almostFull_ST_19i 0x00080000
#define BA_SemaHub_almostFull_ST_20i 0x0396
#define B16SemaHub_almostFull_ST_20i 0x0396
#define LSb32SemaHub_almostFull_ST_20i 20
#define LSb16SemaHub_almostFull_ST_20i 4
#define bSemaHub_almostFull_ST_20i 1
#define MSK32SemaHub_almostFull_ST_20i 0x00100000
#define BA_SemaHub_almostFull_ST_21i 0x0396
#define B16SemaHub_almostFull_ST_21i 0x0396
#define LSb32SemaHub_almostFull_ST_21i 21
#define LSb16SemaHub_almostFull_ST_21i 5
#define bSemaHub_almostFull_ST_21i 1
#define MSK32SemaHub_almostFull_ST_21i 0x00200000
#define BA_SemaHub_almostFull_ST_22i 0x0396
#define B16SemaHub_almostFull_ST_22i 0x0396
#define LSb32SemaHub_almostFull_ST_22i 22
#define LSb16SemaHub_almostFull_ST_22i 6
#define bSemaHub_almostFull_ST_22i 1
#define MSK32SemaHub_almostFull_ST_22i 0x00400000
#define BA_SemaHub_almostFull_ST_23i 0x0396
#define B16SemaHub_almostFull_ST_23i 0x0396
#define LSb32SemaHub_almostFull_ST_23i 23
#define LSb16SemaHub_almostFull_ST_23i 7
#define bSemaHub_almostFull_ST_23i 1
#define MSK32SemaHub_almostFull_ST_23i 0x00800000
#define BA_SemaHub_almostFull_ST_24i 0x0397
#define B16SemaHub_almostFull_ST_24i 0x0396
#define LSb32SemaHub_almostFull_ST_24i 24
#define LSb16SemaHub_almostFull_ST_24i 8
#define bSemaHub_almostFull_ST_24i 1
#define MSK32SemaHub_almostFull_ST_24i 0x01000000
#define BA_SemaHub_almostFull_ST_25i 0x0397
#define B16SemaHub_almostFull_ST_25i 0x0396
#define LSb32SemaHub_almostFull_ST_25i 25
#define LSb16SemaHub_almostFull_ST_25i 9
#define bSemaHub_almostFull_ST_25i 1
#define MSK32SemaHub_almostFull_ST_25i 0x02000000
#define BA_SemaHub_almostFull_ST_26i 0x0397
#define B16SemaHub_almostFull_ST_26i 0x0396
#define LSb32SemaHub_almostFull_ST_26i 26
#define LSb16SemaHub_almostFull_ST_26i 10
#define bSemaHub_almostFull_ST_26i 1
#define MSK32SemaHub_almostFull_ST_26i 0x04000000
#define BA_SemaHub_almostFull_ST_27i 0x0397
#define B16SemaHub_almostFull_ST_27i 0x0396
#define LSb32SemaHub_almostFull_ST_27i 27
#define LSb16SemaHub_almostFull_ST_27i 11
#define bSemaHub_almostFull_ST_27i 1
#define MSK32SemaHub_almostFull_ST_27i 0x08000000
#define BA_SemaHub_almostFull_ST_28i 0x0397
#define B16SemaHub_almostFull_ST_28i 0x0396
#define LSb32SemaHub_almostFull_ST_28i 28
#define LSb16SemaHub_almostFull_ST_28i 12
#define bSemaHub_almostFull_ST_28i 1
#define MSK32SemaHub_almostFull_ST_28i 0x10000000
#define BA_SemaHub_almostFull_ST_29i 0x0397
#define B16SemaHub_almostFull_ST_29i 0x0396
#define LSb32SemaHub_almostFull_ST_29i 29
#define LSb16SemaHub_almostFull_ST_29i 13
#define bSemaHub_almostFull_ST_29i 1
#define MSK32SemaHub_almostFull_ST_29i 0x20000000
#define BA_SemaHub_almostFull_ST_30i 0x0397
#define B16SemaHub_almostFull_ST_30i 0x0396
#define LSb32SemaHub_almostFull_ST_30i 30
#define LSb16SemaHub_almostFull_ST_30i 14
#define bSemaHub_almostFull_ST_30i 1
#define MSK32SemaHub_almostFull_ST_30i 0x40000000
#define BA_SemaHub_almostFull_ST_31i 0x0397
#define B16SemaHub_almostFull_ST_31i 0x0396
#define LSb32SemaHub_almostFull_ST_31i 31
#define LSb16SemaHub_almostFull_ST_31i 15
#define bSemaHub_almostFull_ST_31i 1
#define MSK32SemaHub_almostFull_ST_31i 0x80000000
///////////////////////////////////////////////////////////
typedef struct SIE_SemaHub {
///////////////////////////////////////////////////////////
SIE_SemaQuery ie_counter[64];
///////////////////////////////////////////////////////////
SIE_Semaphore ie_cell[32];
///////////////////////////////////////////////////////////
#define GET32SemaHub_PUSH_ID(r32) _BFGET_(r32, 7, 0)
#define SET32SemaHub_PUSH_ID(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16SemaHub_PUSH_ID(r16) _BFGET_(r16, 7, 0)
#define SET16SemaHub_PUSH_ID(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32SemaHub_PUSH_delta(r32) _BFGET_(r32,15, 8)
#define SET32SemaHub_PUSH_delta(r32,v) _BFSET_(r32,15, 8,v)
#define GET16SemaHub_PUSH_delta(r16) _BFGET_(r16,15, 8)
#define SET16SemaHub_PUSH_delta(r16,v) _BFSET_(r16,15, 8,v)
#define w32SemaHub_PUSH {\
UNSG32 uPUSH_ID : 8;\
UNSG32 uPUSH_delta : 8;\
UNSG32 RSVDx380_b16 : 16;\
}
union { UNSG32 u32SemaHub_PUSH;
struct w32SemaHub_PUSH;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_POP_ID(r32) _BFGET_(r32, 7, 0)
#define SET32SemaHub_POP_ID(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16SemaHub_POP_ID(r16) _BFGET_(r16, 7, 0)
#define SET16SemaHub_POP_ID(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32SemaHub_POP_delta(r32) _BFGET_(r32,15, 8)
#define SET32SemaHub_POP_delta(r32,v) _BFSET_(r32,15, 8,v)
#define GET16SemaHub_POP_delta(r16) _BFGET_(r16,15, 8)
#define SET16SemaHub_POP_delta(r16,v) _BFSET_(r16,15, 8,v)
#define w32SemaHub_POP {\
UNSG32 uPOP_ID : 8;\
UNSG32 uPOP_delta : 8;\
UNSG32 RSVDx384_b16 : 16;\
}
union { UNSG32 u32SemaHub_POP;
struct w32SemaHub_POP;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_empty_ST_0i(r32) _BFGET_(r32, 0, 0)
#define SET32SemaHub_empty_ST_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaHub_empty_ST_0i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_empty_ST_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_empty_ST_1i(r32) _BFGET_(r32, 1, 1)
#define SET32SemaHub_empty_ST_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaHub_empty_ST_1i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_empty_ST_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_empty_ST_2i(r32) _BFGET_(r32, 2, 2)
#define SET32SemaHub_empty_ST_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaHub_empty_ST_2i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_empty_ST_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_empty_ST_3i(r32) _BFGET_(r32, 3, 3)
#define SET32SemaHub_empty_ST_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaHub_empty_ST_3i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_empty_ST_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_empty_ST_4i(r32) _BFGET_(r32, 4, 4)
#define SET32SemaHub_empty_ST_4i(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16SemaHub_empty_ST_4i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_empty_ST_4i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_empty_ST_5i(r32) _BFGET_(r32, 5, 5)
#define SET32SemaHub_empty_ST_5i(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16SemaHub_empty_ST_5i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_empty_ST_5i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_empty_ST_6i(r32) _BFGET_(r32, 6, 6)
#define SET32SemaHub_empty_ST_6i(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16SemaHub_empty_ST_6i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_empty_ST_6i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_empty_ST_7i(r32) _BFGET_(r32, 7, 7)
#define SET32SemaHub_empty_ST_7i(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaHub_empty_ST_7i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_empty_ST_7i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_empty_ST_8i(r32) _BFGET_(r32, 8, 8)
#define SET32SemaHub_empty_ST_8i(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16SemaHub_empty_ST_8i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_empty_ST_8i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_empty_ST_9i(r32) _BFGET_(r32, 9, 9)
#define SET32SemaHub_empty_ST_9i(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16SemaHub_empty_ST_9i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_empty_ST_9i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_empty_ST_10i(r32) _BFGET_(r32,10,10)
#define SET32SemaHub_empty_ST_10i(r32,v) _BFSET_(r32,10,10,v)
#define GET16SemaHub_empty_ST_10i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_empty_ST_10i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_empty_ST_11i(r32) _BFGET_(r32,11,11)
#define SET32SemaHub_empty_ST_11i(r32,v) _BFSET_(r32,11,11,v)
#define GET16SemaHub_empty_ST_11i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_empty_ST_11i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_empty_ST_12i(r32) _BFGET_(r32,12,12)
#define SET32SemaHub_empty_ST_12i(r32,v) _BFSET_(r32,12,12,v)
#define GET16SemaHub_empty_ST_12i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_empty_ST_12i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_empty_ST_13i(r32) _BFGET_(r32,13,13)
#define SET32SemaHub_empty_ST_13i(r32,v) _BFSET_(r32,13,13,v)
#define GET16SemaHub_empty_ST_13i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_empty_ST_13i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_empty_ST_14i(r32) _BFGET_(r32,14,14)
#define SET32SemaHub_empty_ST_14i(r32,v) _BFSET_(r32,14,14,v)
#define GET16SemaHub_empty_ST_14i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_empty_ST_14i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_empty_ST_15i(r32) _BFGET_(r32,15,15)
#define SET32SemaHub_empty_ST_15i(r32,v) _BFSET_(r32,15,15,v)
#define GET16SemaHub_empty_ST_15i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_empty_ST_15i(r16,v) _BFSET_(r16,15,15,v)
#define GET32SemaHub_empty_ST_16i(r32) _BFGET_(r32,16,16)
#define SET32SemaHub_empty_ST_16i(r32,v) _BFSET_(r32,16,16,v)
#define GET16SemaHub_empty_ST_16i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_empty_ST_16i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_empty_ST_17i(r32) _BFGET_(r32,17,17)
#define SET32SemaHub_empty_ST_17i(r32,v) _BFSET_(r32,17,17,v)
#define GET16SemaHub_empty_ST_17i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_empty_ST_17i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_empty_ST_18i(r32) _BFGET_(r32,18,18)
#define SET32SemaHub_empty_ST_18i(r32,v) _BFSET_(r32,18,18,v)
#define GET16SemaHub_empty_ST_18i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_empty_ST_18i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_empty_ST_19i(r32) _BFGET_(r32,19,19)
#define SET32SemaHub_empty_ST_19i(r32,v) _BFSET_(r32,19,19,v)
#define GET16SemaHub_empty_ST_19i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_empty_ST_19i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_empty_ST_20i(r32) _BFGET_(r32,20,20)
#define SET32SemaHub_empty_ST_20i(r32,v) _BFSET_(r32,20,20,v)
#define GET16SemaHub_empty_ST_20i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_empty_ST_20i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_empty_ST_21i(r32) _BFGET_(r32,21,21)
#define SET32SemaHub_empty_ST_21i(r32,v) _BFSET_(r32,21,21,v)
#define GET16SemaHub_empty_ST_21i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_empty_ST_21i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_empty_ST_22i(r32) _BFGET_(r32,22,22)
#define SET32SemaHub_empty_ST_22i(r32,v) _BFSET_(r32,22,22,v)
#define GET16SemaHub_empty_ST_22i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_empty_ST_22i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_empty_ST_23i(r32) _BFGET_(r32,23,23)
#define SET32SemaHub_empty_ST_23i(r32,v) _BFSET_(r32,23,23,v)
#define GET16SemaHub_empty_ST_23i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_empty_ST_23i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_empty_ST_24i(r32) _BFGET_(r32,24,24)
#define SET32SemaHub_empty_ST_24i(r32,v) _BFSET_(r32,24,24,v)
#define GET16SemaHub_empty_ST_24i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_empty_ST_24i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_empty_ST_25i(r32) _BFGET_(r32,25,25)
#define SET32SemaHub_empty_ST_25i(r32,v) _BFSET_(r32,25,25,v)
#define GET16SemaHub_empty_ST_25i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_empty_ST_25i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_empty_ST_26i(r32) _BFGET_(r32,26,26)
#define SET32SemaHub_empty_ST_26i(r32,v) _BFSET_(r32,26,26,v)
#define GET16SemaHub_empty_ST_26i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_empty_ST_26i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_empty_ST_27i(r32) _BFGET_(r32,27,27)
#define SET32SemaHub_empty_ST_27i(r32,v) _BFSET_(r32,27,27,v)
#define GET16SemaHub_empty_ST_27i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_empty_ST_27i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_empty_ST_28i(r32) _BFGET_(r32,28,28)
#define SET32SemaHub_empty_ST_28i(r32,v) _BFSET_(r32,28,28,v)
#define GET16SemaHub_empty_ST_28i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_empty_ST_28i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_empty_ST_29i(r32) _BFGET_(r32,29,29)
#define SET32SemaHub_empty_ST_29i(r32,v) _BFSET_(r32,29,29,v)
#define GET16SemaHub_empty_ST_29i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_empty_ST_29i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_empty_ST_30i(r32) _BFGET_(r32,30,30)
#define SET32SemaHub_empty_ST_30i(r32,v) _BFSET_(r32,30,30,v)
#define GET16SemaHub_empty_ST_30i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_empty_ST_30i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_empty_ST_31i(r32) _BFGET_(r32,31,31)
#define SET32SemaHub_empty_ST_31i(r32,v) _BFSET_(r32,31,31,v)
#define GET16SemaHub_empty_ST_31i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_empty_ST_31i(r16,v) _BFSET_(r16,15,15,v)
#define w32SemaHub_empty {\
UNSG32 uempty_ST_0i : 1;\
UNSG32 uempty_ST_1i : 1;\
UNSG32 uempty_ST_2i : 1;\
UNSG32 uempty_ST_3i : 1;\
UNSG32 uempty_ST_4i : 1;\
UNSG32 uempty_ST_5i : 1;\
UNSG32 uempty_ST_6i : 1;\
UNSG32 uempty_ST_7i : 1;\
UNSG32 uempty_ST_8i : 1;\
UNSG32 uempty_ST_9i : 1;\
UNSG32 uempty_ST_10i : 1;\
UNSG32 uempty_ST_11i : 1;\
UNSG32 uempty_ST_12i : 1;\
UNSG32 uempty_ST_13i : 1;\
UNSG32 uempty_ST_14i : 1;\
UNSG32 uempty_ST_15i : 1;\
UNSG32 uempty_ST_16i : 1;\
UNSG32 uempty_ST_17i : 1;\
UNSG32 uempty_ST_18i : 1;\
UNSG32 uempty_ST_19i : 1;\
UNSG32 uempty_ST_20i : 1;\
UNSG32 uempty_ST_21i : 1;\
UNSG32 uempty_ST_22i : 1;\
UNSG32 uempty_ST_23i : 1;\
UNSG32 uempty_ST_24i : 1;\
UNSG32 uempty_ST_25i : 1;\
UNSG32 uempty_ST_26i : 1;\
UNSG32 uempty_ST_27i : 1;\
UNSG32 uempty_ST_28i : 1;\
UNSG32 uempty_ST_29i : 1;\
UNSG32 uempty_ST_30i : 1;\
UNSG32 uempty_ST_31i : 1;\
}
union { UNSG32 u32SemaHub_empty;
struct w32SemaHub_empty;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_full_ST_0i(r32) _BFGET_(r32, 0, 0)
#define SET32SemaHub_full_ST_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaHub_full_ST_0i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_full_ST_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_full_ST_1i(r32) _BFGET_(r32, 1, 1)
#define SET32SemaHub_full_ST_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaHub_full_ST_1i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_full_ST_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_full_ST_2i(r32) _BFGET_(r32, 2, 2)
#define SET32SemaHub_full_ST_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaHub_full_ST_2i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_full_ST_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_full_ST_3i(r32) _BFGET_(r32, 3, 3)
#define SET32SemaHub_full_ST_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaHub_full_ST_3i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_full_ST_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_full_ST_4i(r32) _BFGET_(r32, 4, 4)
#define SET32SemaHub_full_ST_4i(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16SemaHub_full_ST_4i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_full_ST_4i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_full_ST_5i(r32) _BFGET_(r32, 5, 5)
#define SET32SemaHub_full_ST_5i(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16SemaHub_full_ST_5i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_full_ST_5i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_full_ST_6i(r32) _BFGET_(r32, 6, 6)
#define SET32SemaHub_full_ST_6i(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16SemaHub_full_ST_6i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_full_ST_6i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_full_ST_7i(r32) _BFGET_(r32, 7, 7)
#define SET32SemaHub_full_ST_7i(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaHub_full_ST_7i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_full_ST_7i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_full_ST_8i(r32) _BFGET_(r32, 8, 8)
#define SET32SemaHub_full_ST_8i(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16SemaHub_full_ST_8i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_full_ST_8i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_full_ST_9i(r32) _BFGET_(r32, 9, 9)
#define SET32SemaHub_full_ST_9i(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16SemaHub_full_ST_9i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_full_ST_9i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_full_ST_10i(r32) _BFGET_(r32,10,10)
#define SET32SemaHub_full_ST_10i(r32,v) _BFSET_(r32,10,10,v)
#define GET16SemaHub_full_ST_10i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_full_ST_10i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_full_ST_11i(r32) _BFGET_(r32,11,11)
#define SET32SemaHub_full_ST_11i(r32,v) _BFSET_(r32,11,11,v)
#define GET16SemaHub_full_ST_11i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_full_ST_11i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_full_ST_12i(r32) _BFGET_(r32,12,12)
#define SET32SemaHub_full_ST_12i(r32,v) _BFSET_(r32,12,12,v)
#define GET16SemaHub_full_ST_12i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_full_ST_12i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_full_ST_13i(r32) _BFGET_(r32,13,13)
#define SET32SemaHub_full_ST_13i(r32,v) _BFSET_(r32,13,13,v)
#define GET16SemaHub_full_ST_13i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_full_ST_13i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_full_ST_14i(r32) _BFGET_(r32,14,14)
#define SET32SemaHub_full_ST_14i(r32,v) _BFSET_(r32,14,14,v)
#define GET16SemaHub_full_ST_14i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_full_ST_14i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_full_ST_15i(r32) _BFGET_(r32,15,15)
#define SET32SemaHub_full_ST_15i(r32,v) _BFSET_(r32,15,15,v)
#define GET16SemaHub_full_ST_15i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_full_ST_15i(r16,v) _BFSET_(r16,15,15,v)
#define GET32SemaHub_full_ST_16i(r32) _BFGET_(r32,16,16)
#define SET32SemaHub_full_ST_16i(r32,v) _BFSET_(r32,16,16,v)
#define GET16SemaHub_full_ST_16i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_full_ST_16i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_full_ST_17i(r32) _BFGET_(r32,17,17)
#define SET32SemaHub_full_ST_17i(r32,v) _BFSET_(r32,17,17,v)
#define GET16SemaHub_full_ST_17i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_full_ST_17i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_full_ST_18i(r32) _BFGET_(r32,18,18)
#define SET32SemaHub_full_ST_18i(r32,v) _BFSET_(r32,18,18,v)
#define GET16SemaHub_full_ST_18i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_full_ST_18i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_full_ST_19i(r32) _BFGET_(r32,19,19)
#define SET32SemaHub_full_ST_19i(r32,v) _BFSET_(r32,19,19,v)
#define GET16SemaHub_full_ST_19i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_full_ST_19i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_full_ST_20i(r32) _BFGET_(r32,20,20)
#define SET32SemaHub_full_ST_20i(r32,v) _BFSET_(r32,20,20,v)
#define GET16SemaHub_full_ST_20i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_full_ST_20i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_full_ST_21i(r32) _BFGET_(r32,21,21)
#define SET32SemaHub_full_ST_21i(r32,v) _BFSET_(r32,21,21,v)
#define GET16SemaHub_full_ST_21i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_full_ST_21i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_full_ST_22i(r32) _BFGET_(r32,22,22)
#define SET32SemaHub_full_ST_22i(r32,v) _BFSET_(r32,22,22,v)
#define GET16SemaHub_full_ST_22i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_full_ST_22i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_full_ST_23i(r32) _BFGET_(r32,23,23)
#define SET32SemaHub_full_ST_23i(r32,v) _BFSET_(r32,23,23,v)
#define GET16SemaHub_full_ST_23i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_full_ST_23i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_full_ST_24i(r32) _BFGET_(r32,24,24)
#define SET32SemaHub_full_ST_24i(r32,v) _BFSET_(r32,24,24,v)
#define GET16SemaHub_full_ST_24i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_full_ST_24i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_full_ST_25i(r32) _BFGET_(r32,25,25)
#define SET32SemaHub_full_ST_25i(r32,v) _BFSET_(r32,25,25,v)
#define GET16SemaHub_full_ST_25i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_full_ST_25i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_full_ST_26i(r32) _BFGET_(r32,26,26)
#define SET32SemaHub_full_ST_26i(r32,v) _BFSET_(r32,26,26,v)
#define GET16SemaHub_full_ST_26i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_full_ST_26i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_full_ST_27i(r32) _BFGET_(r32,27,27)
#define SET32SemaHub_full_ST_27i(r32,v) _BFSET_(r32,27,27,v)
#define GET16SemaHub_full_ST_27i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_full_ST_27i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_full_ST_28i(r32) _BFGET_(r32,28,28)
#define SET32SemaHub_full_ST_28i(r32,v) _BFSET_(r32,28,28,v)
#define GET16SemaHub_full_ST_28i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_full_ST_28i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_full_ST_29i(r32) _BFGET_(r32,29,29)
#define SET32SemaHub_full_ST_29i(r32,v) _BFSET_(r32,29,29,v)
#define GET16SemaHub_full_ST_29i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_full_ST_29i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_full_ST_30i(r32) _BFGET_(r32,30,30)
#define SET32SemaHub_full_ST_30i(r32,v) _BFSET_(r32,30,30,v)
#define GET16SemaHub_full_ST_30i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_full_ST_30i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_full_ST_31i(r32) _BFGET_(r32,31,31)
#define SET32SemaHub_full_ST_31i(r32,v) _BFSET_(r32,31,31,v)
#define GET16SemaHub_full_ST_31i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_full_ST_31i(r16,v) _BFSET_(r16,15,15,v)
#define w32SemaHub_full {\
UNSG32 ufull_ST_0i : 1;\
UNSG32 ufull_ST_1i : 1;\
UNSG32 ufull_ST_2i : 1;\
UNSG32 ufull_ST_3i : 1;\
UNSG32 ufull_ST_4i : 1;\
UNSG32 ufull_ST_5i : 1;\
UNSG32 ufull_ST_6i : 1;\
UNSG32 ufull_ST_7i : 1;\
UNSG32 ufull_ST_8i : 1;\
UNSG32 ufull_ST_9i : 1;\
UNSG32 ufull_ST_10i : 1;\
UNSG32 ufull_ST_11i : 1;\
UNSG32 ufull_ST_12i : 1;\
UNSG32 ufull_ST_13i : 1;\
UNSG32 ufull_ST_14i : 1;\
UNSG32 ufull_ST_15i : 1;\
UNSG32 ufull_ST_16i : 1;\
UNSG32 ufull_ST_17i : 1;\
UNSG32 ufull_ST_18i : 1;\
UNSG32 ufull_ST_19i : 1;\
UNSG32 ufull_ST_20i : 1;\
UNSG32 ufull_ST_21i : 1;\
UNSG32 ufull_ST_22i : 1;\
UNSG32 ufull_ST_23i : 1;\
UNSG32 ufull_ST_24i : 1;\
UNSG32 ufull_ST_25i : 1;\
UNSG32 ufull_ST_26i : 1;\
UNSG32 ufull_ST_27i : 1;\
UNSG32 ufull_ST_28i : 1;\
UNSG32 ufull_ST_29i : 1;\
UNSG32 ufull_ST_30i : 1;\
UNSG32 ufull_ST_31i : 1;\
}
union { UNSG32 u32SemaHub_full;
struct w32SemaHub_full;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_almostEmpty_ST_0i(r32) _BFGET_(r32, 0, 0)
#define SET32SemaHub_almostEmpty_ST_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaHub_almostEmpty_ST_0i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_almostEmpty_ST_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_almostEmpty_ST_1i(r32) _BFGET_(r32, 1, 1)
#define SET32SemaHub_almostEmpty_ST_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaHub_almostEmpty_ST_1i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_almostEmpty_ST_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_almostEmpty_ST_2i(r32) _BFGET_(r32, 2, 2)
#define SET32SemaHub_almostEmpty_ST_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaHub_almostEmpty_ST_2i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_almostEmpty_ST_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_almostEmpty_ST_3i(r32) _BFGET_(r32, 3, 3)
#define SET32SemaHub_almostEmpty_ST_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaHub_almostEmpty_ST_3i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_almostEmpty_ST_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_almostEmpty_ST_4i(r32) _BFGET_(r32, 4, 4)
#define SET32SemaHub_almostEmpty_ST_4i(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16SemaHub_almostEmpty_ST_4i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_almostEmpty_ST_4i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_almostEmpty_ST_5i(r32) _BFGET_(r32, 5, 5)
#define SET32SemaHub_almostEmpty_ST_5i(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16SemaHub_almostEmpty_ST_5i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_almostEmpty_ST_5i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_almostEmpty_ST_6i(r32) _BFGET_(r32, 6, 6)
#define SET32SemaHub_almostEmpty_ST_6i(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16SemaHub_almostEmpty_ST_6i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_almostEmpty_ST_6i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_almostEmpty_ST_7i(r32) _BFGET_(r32, 7, 7)
#define SET32SemaHub_almostEmpty_ST_7i(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaHub_almostEmpty_ST_7i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_almostEmpty_ST_7i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_almostEmpty_ST_8i(r32) _BFGET_(r32, 8, 8)
#define SET32SemaHub_almostEmpty_ST_8i(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16SemaHub_almostEmpty_ST_8i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_almostEmpty_ST_8i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_almostEmpty_ST_9i(r32) _BFGET_(r32, 9, 9)
#define SET32SemaHub_almostEmpty_ST_9i(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16SemaHub_almostEmpty_ST_9i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_almostEmpty_ST_9i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_almostEmpty_ST_10i(r32) _BFGET_(r32,10,10)
#define SET32SemaHub_almostEmpty_ST_10i(r32,v) _BFSET_(r32,10,10,v)
#define GET16SemaHub_almostEmpty_ST_10i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_almostEmpty_ST_10i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_almostEmpty_ST_11i(r32) _BFGET_(r32,11,11)
#define SET32SemaHub_almostEmpty_ST_11i(r32,v) _BFSET_(r32,11,11,v)
#define GET16SemaHub_almostEmpty_ST_11i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_almostEmpty_ST_11i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_almostEmpty_ST_12i(r32) _BFGET_(r32,12,12)
#define SET32SemaHub_almostEmpty_ST_12i(r32,v) _BFSET_(r32,12,12,v)
#define GET16SemaHub_almostEmpty_ST_12i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_almostEmpty_ST_12i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_almostEmpty_ST_13i(r32) _BFGET_(r32,13,13)
#define SET32SemaHub_almostEmpty_ST_13i(r32,v) _BFSET_(r32,13,13,v)
#define GET16SemaHub_almostEmpty_ST_13i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_almostEmpty_ST_13i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_almostEmpty_ST_14i(r32) _BFGET_(r32,14,14)
#define SET32SemaHub_almostEmpty_ST_14i(r32,v) _BFSET_(r32,14,14,v)
#define GET16SemaHub_almostEmpty_ST_14i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_almostEmpty_ST_14i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_almostEmpty_ST_15i(r32) _BFGET_(r32,15,15)
#define SET32SemaHub_almostEmpty_ST_15i(r32,v) _BFSET_(r32,15,15,v)
#define GET16SemaHub_almostEmpty_ST_15i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_almostEmpty_ST_15i(r16,v) _BFSET_(r16,15,15,v)
#define GET32SemaHub_almostEmpty_ST_16i(r32) _BFGET_(r32,16,16)
#define SET32SemaHub_almostEmpty_ST_16i(r32,v) _BFSET_(r32,16,16,v)
#define GET16SemaHub_almostEmpty_ST_16i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_almostEmpty_ST_16i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_almostEmpty_ST_17i(r32) _BFGET_(r32,17,17)
#define SET32SemaHub_almostEmpty_ST_17i(r32,v) _BFSET_(r32,17,17,v)
#define GET16SemaHub_almostEmpty_ST_17i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_almostEmpty_ST_17i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_almostEmpty_ST_18i(r32) _BFGET_(r32,18,18)
#define SET32SemaHub_almostEmpty_ST_18i(r32,v) _BFSET_(r32,18,18,v)
#define GET16SemaHub_almostEmpty_ST_18i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_almostEmpty_ST_18i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_almostEmpty_ST_19i(r32) _BFGET_(r32,19,19)
#define SET32SemaHub_almostEmpty_ST_19i(r32,v) _BFSET_(r32,19,19,v)
#define GET16SemaHub_almostEmpty_ST_19i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_almostEmpty_ST_19i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_almostEmpty_ST_20i(r32) _BFGET_(r32,20,20)
#define SET32SemaHub_almostEmpty_ST_20i(r32,v) _BFSET_(r32,20,20,v)
#define GET16SemaHub_almostEmpty_ST_20i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_almostEmpty_ST_20i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_almostEmpty_ST_21i(r32) _BFGET_(r32,21,21)
#define SET32SemaHub_almostEmpty_ST_21i(r32,v) _BFSET_(r32,21,21,v)
#define GET16SemaHub_almostEmpty_ST_21i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_almostEmpty_ST_21i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_almostEmpty_ST_22i(r32) _BFGET_(r32,22,22)
#define SET32SemaHub_almostEmpty_ST_22i(r32,v) _BFSET_(r32,22,22,v)
#define GET16SemaHub_almostEmpty_ST_22i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_almostEmpty_ST_22i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_almostEmpty_ST_23i(r32) _BFGET_(r32,23,23)
#define SET32SemaHub_almostEmpty_ST_23i(r32,v) _BFSET_(r32,23,23,v)
#define GET16SemaHub_almostEmpty_ST_23i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_almostEmpty_ST_23i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_almostEmpty_ST_24i(r32) _BFGET_(r32,24,24)
#define SET32SemaHub_almostEmpty_ST_24i(r32,v) _BFSET_(r32,24,24,v)
#define GET16SemaHub_almostEmpty_ST_24i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_almostEmpty_ST_24i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_almostEmpty_ST_25i(r32) _BFGET_(r32,25,25)
#define SET32SemaHub_almostEmpty_ST_25i(r32,v) _BFSET_(r32,25,25,v)
#define GET16SemaHub_almostEmpty_ST_25i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_almostEmpty_ST_25i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_almostEmpty_ST_26i(r32) _BFGET_(r32,26,26)
#define SET32SemaHub_almostEmpty_ST_26i(r32,v) _BFSET_(r32,26,26,v)
#define GET16SemaHub_almostEmpty_ST_26i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_almostEmpty_ST_26i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_almostEmpty_ST_27i(r32) _BFGET_(r32,27,27)
#define SET32SemaHub_almostEmpty_ST_27i(r32,v) _BFSET_(r32,27,27,v)
#define GET16SemaHub_almostEmpty_ST_27i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_almostEmpty_ST_27i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_almostEmpty_ST_28i(r32) _BFGET_(r32,28,28)
#define SET32SemaHub_almostEmpty_ST_28i(r32,v) _BFSET_(r32,28,28,v)
#define GET16SemaHub_almostEmpty_ST_28i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_almostEmpty_ST_28i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_almostEmpty_ST_29i(r32) _BFGET_(r32,29,29)
#define SET32SemaHub_almostEmpty_ST_29i(r32,v) _BFSET_(r32,29,29,v)
#define GET16SemaHub_almostEmpty_ST_29i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_almostEmpty_ST_29i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_almostEmpty_ST_30i(r32) _BFGET_(r32,30,30)
#define SET32SemaHub_almostEmpty_ST_30i(r32,v) _BFSET_(r32,30,30,v)
#define GET16SemaHub_almostEmpty_ST_30i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_almostEmpty_ST_30i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_almostEmpty_ST_31i(r32) _BFGET_(r32,31,31)
#define SET32SemaHub_almostEmpty_ST_31i(r32,v) _BFSET_(r32,31,31,v)
#define GET16SemaHub_almostEmpty_ST_31i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_almostEmpty_ST_31i(r16,v) _BFSET_(r16,15,15,v)
#define w32SemaHub_almostEmpty {\
UNSG32 ualmostEmpty_ST_0i : 1;\
UNSG32 ualmostEmpty_ST_1i : 1;\
UNSG32 ualmostEmpty_ST_2i : 1;\
UNSG32 ualmostEmpty_ST_3i : 1;\
UNSG32 ualmostEmpty_ST_4i : 1;\
UNSG32 ualmostEmpty_ST_5i : 1;\
UNSG32 ualmostEmpty_ST_6i : 1;\
UNSG32 ualmostEmpty_ST_7i : 1;\
UNSG32 ualmostEmpty_ST_8i : 1;\
UNSG32 ualmostEmpty_ST_9i : 1;\
UNSG32 ualmostEmpty_ST_10i : 1;\
UNSG32 ualmostEmpty_ST_11i : 1;\
UNSG32 ualmostEmpty_ST_12i : 1;\
UNSG32 ualmostEmpty_ST_13i : 1;\
UNSG32 ualmostEmpty_ST_14i : 1;\
UNSG32 ualmostEmpty_ST_15i : 1;\
UNSG32 ualmostEmpty_ST_16i : 1;\
UNSG32 ualmostEmpty_ST_17i : 1;\
UNSG32 ualmostEmpty_ST_18i : 1;\
UNSG32 ualmostEmpty_ST_19i : 1;\
UNSG32 ualmostEmpty_ST_20i : 1;\
UNSG32 ualmostEmpty_ST_21i : 1;\
UNSG32 ualmostEmpty_ST_22i : 1;\
UNSG32 ualmostEmpty_ST_23i : 1;\
UNSG32 ualmostEmpty_ST_24i : 1;\
UNSG32 ualmostEmpty_ST_25i : 1;\
UNSG32 ualmostEmpty_ST_26i : 1;\
UNSG32 ualmostEmpty_ST_27i : 1;\
UNSG32 ualmostEmpty_ST_28i : 1;\
UNSG32 ualmostEmpty_ST_29i : 1;\
UNSG32 ualmostEmpty_ST_30i : 1;\
UNSG32 ualmostEmpty_ST_31i : 1;\
}
union { UNSG32 u32SemaHub_almostEmpty;
struct w32SemaHub_almostEmpty;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_almostFull_ST_0i(r32) _BFGET_(r32, 0, 0)
#define SET32SemaHub_almostFull_ST_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaHub_almostFull_ST_0i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_almostFull_ST_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_almostFull_ST_1i(r32) _BFGET_(r32, 1, 1)
#define SET32SemaHub_almostFull_ST_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaHub_almostFull_ST_1i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_almostFull_ST_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_almostFull_ST_2i(r32) _BFGET_(r32, 2, 2)
#define SET32SemaHub_almostFull_ST_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaHub_almostFull_ST_2i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_almostFull_ST_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_almostFull_ST_3i(r32) _BFGET_(r32, 3, 3)
#define SET32SemaHub_almostFull_ST_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaHub_almostFull_ST_3i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_almostFull_ST_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_almostFull_ST_4i(r32) _BFGET_(r32, 4, 4)
#define SET32SemaHub_almostFull_ST_4i(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16SemaHub_almostFull_ST_4i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_almostFull_ST_4i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_almostFull_ST_5i(r32) _BFGET_(r32, 5, 5)
#define SET32SemaHub_almostFull_ST_5i(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16SemaHub_almostFull_ST_5i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_almostFull_ST_5i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_almostFull_ST_6i(r32) _BFGET_(r32, 6, 6)
#define SET32SemaHub_almostFull_ST_6i(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16SemaHub_almostFull_ST_6i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_almostFull_ST_6i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_almostFull_ST_7i(r32) _BFGET_(r32, 7, 7)
#define SET32SemaHub_almostFull_ST_7i(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaHub_almostFull_ST_7i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_almostFull_ST_7i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_almostFull_ST_8i(r32) _BFGET_(r32, 8, 8)
#define SET32SemaHub_almostFull_ST_8i(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16SemaHub_almostFull_ST_8i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_almostFull_ST_8i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_almostFull_ST_9i(r32) _BFGET_(r32, 9, 9)
#define SET32SemaHub_almostFull_ST_9i(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16SemaHub_almostFull_ST_9i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_almostFull_ST_9i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_almostFull_ST_10i(r32) _BFGET_(r32,10,10)
#define SET32SemaHub_almostFull_ST_10i(r32,v) _BFSET_(r32,10,10,v)
#define GET16SemaHub_almostFull_ST_10i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_almostFull_ST_10i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_almostFull_ST_11i(r32) _BFGET_(r32,11,11)
#define SET32SemaHub_almostFull_ST_11i(r32,v) _BFSET_(r32,11,11,v)
#define GET16SemaHub_almostFull_ST_11i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_almostFull_ST_11i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_almostFull_ST_12i(r32) _BFGET_(r32,12,12)
#define SET32SemaHub_almostFull_ST_12i(r32,v) _BFSET_(r32,12,12,v)
#define GET16SemaHub_almostFull_ST_12i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_almostFull_ST_12i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_almostFull_ST_13i(r32) _BFGET_(r32,13,13)
#define SET32SemaHub_almostFull_ST_13i(r32,v) _BFSET_(r32,13,13,v)
#define GET16SemaHub_almostFull_ST_13i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_almostFull_ST_13i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_almostFull_ST_14i(r32) _BFGET_(r32,14,14)
#define SET32SemaHub_almostFull_ST_14i(r32,v) _BFSET_(r32,14,14,v)
#define GET16SemaHub_almostFull_ST_14i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_almostFull_ST_14i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_almostFull_ST_15i(r32) _BFGET_(r32,15,15)
#define SET32SemaHub_almostFull_ST_15i(r32,v) _BFSET_(r32,15,15,v)
#define GET16SemaHub_almostFull_ST_15i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_almostFull_ST_15i(r16,v) _BFSET_(r16,15,15,v)
#define GET32SemaHub_almostFull_ST_16i(r32) _BFGET_(r32,16,16)
#define SET32SemaHub_almostFull_ST_16i(r32,v) _BFSET_(r32,16,16,v)
#define GET16SemaHub_almostFull_ST_16i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_almostFull_ST_16i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_almostFull_ST_17i(r32) _BFGET_(r32,17,17)
#define SET32SemaHub_almostFull_ST_17i(r32,v) _BFSET_(r32,17,17,v)
#define GET16SemaHub_almostFull_ST_17i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_almostFull_ST_17i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_almostFull_ST_18i(r32) _BFGET_(r32,18,18)
#define SET32SemaHub_almostFull_ST_18i(r32,v) _BFSET_(r32,18,18,v)
#define GET16SemaHub_almostFull_ST_18i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_almostFull_ST_18i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_almostFull_ST_19i(r32) _BFGET_(r32,19,19)
#define SET32SemaHub_almostFull_ST_19i(r32,v) _BFSET_(r32,19,19,v)
#define GET16SemaHub_almostFull_ST_19i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_almostFull_ST_19i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_almostFull_ST_20i(r32) _BFGET_(r32,20,20)
#define SET32SemaHub_almostFull_ST_20i(r32,v) _BFSET_(r32,20,20,v)
#define GET16SemaHub_almostFull_ST_20i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_almostFull_ST_20i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_almostFull_ST_21i(r32) _BFGET_(r32,21,21)
#define SET32SemaHub_almostFull_ST_21i(r32,v) _BFSET_(r32,21,21,v)
#define GET16SemaHub_almostFull_ST_21i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_almostFull_ST_21i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_almostFull_ST_22i(r32) _BFGET_(r32,22,22)
#define SET32SemaHub_almostFull_ST_22i(r32,v) _BFSET_(r32,22,22,v)
#define GET16SemaHub_almostFull_ST_22i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_almostFull_ST_22i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_almostFull_ST_23i(r32) _BFGET_(r32,23,23)
#define SET32SemaHub_almostFull_ST_23i(r32,v) _BFSET_(r32,23,23,v)
#define GET16SemaHub_almostFull_ST_23i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_almostFull_ST_23i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_almostFull_ST_24i(r32) _BFGET_(r32,24,24)
#define SET32SemaHub_almostFull_ST_24i(r32,v) _BFSET_(r32,24,24,v)
#define GET16SemaHub_almostFull_ST_24i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_almostFull_ST_24i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_almostFull_ST_25i(r32) _BFGET_(r32,25,25)
#define SET32SemaHub_almostFull_ST_25i(r32,v) _BFSET_(r32,25,25,v)
#define GET16SemaHub_almostFull_ST_25i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_almostFull_ST_25i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_almostFull_ST_26i(r32) _BFGET_(r32,26,26)
#define SET32SemaHub_almostFull_ST_26i(r32,v) _BFSET_(r32,26,26,v)
#define GET16SemaHub_almostFull_ST_26i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_almostFull_ST_26i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_almostFull_ST_27i(r32) _BFGET_(r32,27,27)
#define SET32SemaHub_almostFull_ST_27i(r32,v) _BFSET_(r32,27,27,v)
#define GET16SemaHub_almostFull_ST_27i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_almostFull_ST_27i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_almostFull_ST_28i(r32) _BFGET_(r32,28,28)
#define SET32SemaHub_almostFull_ST_28i(r32,v) _BFSET_(r32,28,28,v)
#define GET16SemaHub_almostFull_ST_28i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_almostFull_ST_28i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_almostFull_ST_29i(r32) _BFGET_(r32,29,29)
#define SET32SemaHub_almostFull_ST_29i(r32,v) _BFSET_(r32,29,29,v)
#define GET16SemaHub_almostFull_ST_29i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_almostFull_ST_29i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_almostFull_ST_30i(r32) _BFGET_(r32,30,30)
#define SET32SemaHub_almostFull_ST_30i(r32,v) _BFSET_(r32,30,30,v)
#define GET16SemaHub_almostFull_ST_30i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_almostFull_ST_30i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_almostFull_ST_31i(r32) _BFGET_(r32,31,31)
#define SET32SemaHub_almostFull_ST_31i(r32,v) _BFSET_(r32,31,31,v)
#define GET16SemaHub_almostFull_ST_31i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_almostFull_ST_31i(r16,v) _BFSET_(r16,15,15,v)
#define w32SemaHub_almostFull {\
UNSG32 ualmostFull_ST_0i : 1;\
UNSG32 ualmostFull_ST_1i : 1;\
UNSG32 ualmostFull_ST_2i : 1;\
UNSG32 ualmostFull_ST_3i : 1;\
UNSG32 ualmostFull_ST_4i : 1;\
UNSG32 ualmostFull_ST_5i : 1;\
UNSG32 ualmostFull_ST_6i : 1;\
UNSG32 ualmostFull_ST_7i : 1;\
UNSG32 ualmostFull_ST_8i : 1;\
UNSG32 ualmostFull_ST_9i : 1;\
UNSG32 ualmostFull_ST_10i : 1;\
UNSG32 ualmostFull_ST_11i : 1;\
UNSG32 ualmostFull_ST_12i : 1;\
UNSG32 ualmostFull_ST_13i : 1;\
UNSG32 ualmostFull_ST_14i : 1;\
UNSG32 ualmostFull_ST_15i : 1;\
UNSG32 ualmostFull_ST_16i : 1;\
UNSG32 ualmostFull_ST_17i : 1;\
UNSG32 ualmostFull_ST_18i : 1;\
UNSG32 ualmostFull_ST_19i : 1;\
UNSG32 ualmostFull_ST_20i : 1;\
UNSG32 ualmostFull_ST_21i : 1;\
UNSG32 ualmostFull_ST_22i : 1;\
UNSG32 ualmostFull_ST_23i : 1;\
UNSG32 ualmostFull_ST_24i : 1;\
UNSG32 ualmostFull_ST_25i : 1;\
UNSG32 ualmostFull_ST_26i : 1;\
UNSG32 ualmostFull_ST_27i : 1;\
UNSG32 ualmostFull_ST_28i : 1;\
UNSG32 ualmostFull_ST_29i : 1;\
UNSG32 ualmostFull_ST_30i : 1;\
UNSG32 ualmostFull_ST_31i : 1;\
}
union { UNSG32 u32SemaHub_almostFull;
struct w32SemaHub_almostFull;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx398 [104];
///////////////////////////////////////////////////////////
} SIE_SemaHub;
typedef union T32SemaHub_PUSH
{ UNSG32 u32;
struct w32SemaHub_PUSH;
} T32SemaHub_PUSH;
typedef union T32SemaHub_POP
{ UNSG32 u32;
struct w32SemaHub_POP;
} T32SemaHub_POP;
typedef union T32SemaHub_empty
{ UNSG32 u32;
struct w32SemaHub_empty;
} T32SemaHub_empty;
typedef union T32SemaHub_full
{ UNSG32 u32;
struct w32SemaHub_full;
} T32SemaHub_full;
typedef union T32SemaHub_almostEmpty
{ UNSG32 u32;
struct w32SemaHub_almostEmpty;
} T32SemaHub_almostEmpty;
typedef union T32SemaHub_almostFull
{ UNSG32 u32;
struct w32SemaHub_almostFull;
} T32SemaHub_almostFull;
///////////////////////////////////////////////////////////
typedef union TSemaHub_PUSH
{ UNSG32 u32[1];
struct {
struct w32SemaHub_PUSH;
};
} TSemaHub_PUSH;
typedef union TSemaHub_POP
{ UNSG32 u32[1];
struct {
struct w32SemaHub_POP;
};
} TSemaHub_POP;
typedef union TSemaHub_empty
{ UNSG32 u32[1];
struct {
struct w32SemaHub_empty;
};
} TSemaHub_empty;
typedef union TSemaHub_full
{ UNSG32 u32[1];
struct {
struct w32SemaHub_full;
};
} TSemaHub_full;
typedef union TSemaHub_almostEmpty
{ UNSG32 u32[1];
struct {
struct w32SemaHub_almostEmpty;
};
} TSemaHub_almostEmpty;
typedef union TSemaHub_almostFull
{ UNSG32 u32[1];
struct {
struct w32SemaHub_almostFull;
};
} TSemaHub_almostFull;
///////////////////////////////////////////////////////////
SIGN32 SemaHub_drvrd(SIE_SemaHub *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SemaHub_drvwr(SIE_SemaHub *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SemaHub_reset(SIE_SemaHub *p);
SIGN32 SemaHub_cmp (SIE_SemaHub *p, SIE_SemaHub *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SemaHub_check(p,pie,pfx,hLOG) SemaHub_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SemaHub_print(p, pfx,hLOG) SemaHub_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SemaHub
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FiFo biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CFG (W-)
/// %unsigned 20 BASE
/// ###
/// * Base address (byte-address) of a FIFO in the shared SRAM. A channel's read/write pointers will be added to this “BASE” to get exact location of shared SRAM.
/// * Note: aligned with base SRAM data bus.
/// * For example, if SRAM data is 64-bit, then base[2:0] should be 3'b0;
/// ###
/// %% 12 # Stuffing bits...
/// @ 0x00004 START (W-)
/// %unsigned 1 EN 0x0
/// ###
/// * Write 1 to this register will enable this channel, or 0 to this register will disable this channel.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00008 CLEAR (W-)
/// %unsigned 1 EN
/// ###
/// * Write anything to clear FIFO pointers to 0.
/// * Note :
/// * CPU should make sure to disabled the channel (write 0 to START_EN register) before issue clear command, otherwise the clear request will be ignored.
/// * Do not restart the channel when clear operation is in process.
/// * HW will make sure there is no pending transactions before execute the clear operation.
/// * Associated semaphore cell needs reset separately by re-write “CFG_DEPTH”
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x0000C FLUSH (W-)
/// %unsigned 1 EN
/// ###
/// * No support for now
/// ###
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 23b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FiFo
#define h_FiFo (){}
#define RA_FiFo_CFG 0x0000
#define BA_FiFo_CFG_BASE 0x0000
#define B16FiFo_CFG_BASE 0x0000
#define LSb32FiFo_CFG_BASE 0
#define LSb16FiFo_CFG_BASE 0
#define bFiFo_CFG_BASE 20
#define MSK32FiFo_CFG_BASE 0x000FFFFF
///////////////////////////////////////////////////////////
#define RA_FiFo_START 0x0004
#define BA_FiFo_START_EN 0x0004
#define B16FiFo_START_EN 0x0004
#define LSb32FiFo_START_EN 0
#define LSb16FiFo_START_EN 0
#define bFiFo_START_EN 1
#define MSK32FiFo_START_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_FiFo_CLEAR 0x0008
#define BA_FiFo_CLEAR_EN 0x0008
#define B16FiFo_CLEAR_EN 0x0008
#define LSb32FiFo_CLEAR_EN 0
#define LSb16FiFo_CLEAR_EN 0
#define bFiFo_CLEAR_EN 1
#define MSK32FiFo_CLEAR_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_FiFo_FLUSH 0x000C
#define BA_FiFo_FLUSH_EN 0x000C
#define B16FiFo_FLUSH_EN 0x000C
#define LSb32FiFo_FLUSH_EN 0
#define LSb16FiFo_FLUSH_EN 0
#define bFiFo_FLUSH_EN 1
#define MSK32FiFo_FLUSH_EN 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_FiFo {
///////////////////////////////////////////////////////////
#define GET32FiFo_CFG_BASE(r32) _BFGET_(r32,19, 0)
#define SET32FiFo_CFG_BASE(r32,v) _BFSET_(r32,19, 0,v)
#define w32FiFo_CFG {\
UNSG32 uCFG_BASE : 20;\
UNSG32 RSVDx0_b20 : 12;\
}
union { UNSG32 u32FiFo_CFG;
struct w32FiFo_CFG;
};
///////////////////////////////////////////////////////////
#define GET32FiFo_START_EN(r32) _BFGET_(r32, 0, 0)
#define SET32FiFo_START_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FiFo_START_EN(r16) _BFGET_(r16, 0, 0)
#define SET16FiFo_START_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FiFo_START {\
UNSG32 uSTART_EN : 1;\
UNSG32 RSVDx4_b1 : 31;\
}
union { UNSG32 u32FiFo_START;
struct w32FiFo_START;
};
///////////////////////////////////////////////////////////
#define GET32FiFo_CLEAR_EN(r32) _BFGET_(r32, 0, 0)
#define SET32FiFo_CLEAR_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FiFo_CLEAR_EN(r16) _BFGET_(r16, 0, 0)
#define SET16FiFo_CLEAR_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FiFo_CLEAR {\
UNSG32 uCLEAR_EN : 1;\
UNSG32 RSVDx8_b1 : 31;\
}
union { UNSG32 u32FiFo_CLEAR;
struct w32FiFo_CLEAR;
};
///////////////////////////////////////////////////////////
#define GET32FiFo_FLUSH_EN(r32) _BFGET_(r32, 0, 0)
#define SET32FiFo_FLUSH_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FiFo_FLUSH_EN(r16) _BFGET_(r16, 0, 0)
#define SET16FiFo_FLUSH_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FiFo_FLUSH {\
UNSG32 uFLUSH_EN : 1;\
UNSG32 RSVDxC_b1 : 31;\
}
union { UNSG32 u32FiFo_FLUSH;
struct w32FiFo_FLUSH;
};
///////////////////////////////////////////////////////////
} SIE_FiFo;
typedef union T32FiFo_CFG
{ UNSG32 u32;
struct w32FiFo_CFG;
} T32FiFo_CFG;
typedef union T32FiFo_START
{ UNSG32 u32;
struct w32FiFo_START;
} T32FiFo_START;
typedef union T32FiFo_CLEAR
{ UNSG32 u32;
struct w32FiFo_CLEAR;
} T32FiFo_CLEAR;
typedef union T32FiFo_FLUSH
{ UNSG32 u32;
struct w32FiFo_FLUSH;
} T32FiFo_FLUSH;
///////////////////////////////////////////////////////////
typedef union TFiFo_CFG
{ UNSG32 u32[1];
struct {
struct w32FiFo_CFG;
};
} TFiFo_CFG;
typedef union TFiFo_START
{ UNSG32 u32[1];
struct {
struct w32FiFo_START;
};
} TFiFo_START;
typedef union TFiFo_CLEAR
{ UNSG32 u32[1];
struct {
struct w32FiFo_CLEAR;
};
} TFiFo_CLEAR;
typedef union TFiFo_FLUSH
{ UNSG32 u32[1];
struct {
struct w32FiFo_FLUSH;
};
} TFiFo_FLUSH;
///////////////////////////////////////////////////////////
SIGN32 FiFo_drvrd(SIE_FiFo *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FiFo_drvwr(SIE_FiFo *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FiFo_reset(SIE_FiFo *p);
SIGN32 FiFo_cmp (SIE_FiFo *p, SIE_FiFo *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FiFo_check(p,pie,pfx,hLOG) FiFo_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FiFo_print(p, pfx,hLOG) FiFo_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FiFo
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE HBO biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 FiFoCtl
/// $SemaHub FiFoCtl REG
/// @ 0x00400 ARR (P)
/// # 0x00400 FiFo
/// $FiFo FiFo REG [32]
/// ###
/// * Up-to 32 FIFO channels
/// * FiFo[N] is controlled by HBO.FiFoCtl.Channel[N]
/// ###
/// @ 0x00600 BUSY (R-)
/// %unsigned 32 ST
/// ###
/// * Per channel status
/// * Indicate the clear operation status.
/// * 1: clear is in process.
/// * 0 : clear is done.
/// ###
/// @ 0x00604 (W-)
/// # # Stuffing bytes...
/// %% 2016
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 1792B, bits: 1920b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_HBO
#define h_HBO (){}
#define RA_HBO_FiFoCtl 0x0000
///////////////////////////////////////////////////////////
#define RA_HBO_ARR 0x0400
#define RA_HBO_FiFo 0x0400
///////////////////////////////////////////////////////////
#define RA_HBO_BUSY 0x0600
#define BA_HBO_BUSY_ST 0x0600
#define B16HBO_BUSY_ST 0x0600
#define LSb32HBO_BUSY_ST 0
#define LSb16HBO_BUSY_ST 0
#define bHBO_BUSY_ST 32
#define MSK32HBO_BUSY_ST 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_HBO {
///////////////////////////////////////////////////////////
SIE_SemaHub ie_FiFoCtl;
///////////////////////////////////////////////////////////
SIE_FiFo ie_FiFo[32];
///////////////////////////////////////////////////////////
#define GET32HBO_BUSY_ST(r32) _BFGET_(r32,31, 0)
#define SET32HBO_BUSY_ST(r32,v) _BFSET_(r32,31, 0,v)
#define w32HBO_BUSY {\
UNSG32 uBUSY_ST : 32;\
}
union { UNSG32 u32HBO_BUSY;
struct w32HBO_BUSY;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx604 [252];
///////////////////////////////////////////////////////////
} SIE_HBO;
typedef union T32HBO_BUSY
{ UNSG32 u32;
struct w32HBO_BUSY;
} T32HBO_BUSY;
///////////////////////////////////////////////////////////
typedef union THBO_BUSY
{ UNSG32 u32[1];
struct {
struct w32HBO_BUSY;
};
} THBO_BUSY;
///////////////////////////////////////////////////////////
SIGN32 HBO_drvrd(SIE_HBO *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 HBO_drvwr(SIE_HBO *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void HBO_reset(SIE_HBO *p);
SIGN32 HBO_cmp (SIE_HBO *p, SIE_HBO *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define HBO_check(p,pie,pfx,hLOG) HBO_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define HBO_print(p, pfx,hLOG) HBO_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: HBO
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE LLDesFmt biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 mem (P)
/// %unsigned 16 size
/// ###
/// * The size of one piece of scattered memory.
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_LLDesFmt
#define h_LLDesFmt (){}
#define RA_LLDesFmt_mem 0x0000
#define BA_LLDesFmt_mem_size 0x0000
#define B16LLDesFmt_mem_size 0x0000
#define LSb32LLDesFmt_mem_size 0
#define LSb16LLDesFmt_mem_size 0
#define bLLDesFmt_mem_size 16
#define MSK32LLDesFmt_mem_size 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_LLDesFmt {
///////////////////////////////////////////////////////////
#define GET32LLDesFmt_mem_size(r32) _BFGET_(r32,15, 0)
#define SET32LLDesFmt_mem_size(r32,v) _BFSET_(r32,15, 0,v)
#define GET16LLDesFmt_mem_size(r16) _BFGET_(r16,15, 0)
#define SET16LLDesFmt_mem_size(r16,v) _BFSET_(r16,15, 0,v)
#define w32LLDesFmt_mem {\
UNSG32 umem_size : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32LLDesFmt_mem;
struct w32LLDesFmt_mem;
};
///////////////////////////////////////////////////////////
} SIE_LLDesFmt;
typedef union T32LLDesFmt_mem
{ UNSG32 u32;
struct w32LLDesFmt_mem;
} T32LLDesFmt_mem;
///////////////////////////////////////////////////////////
typedef union TLLDesFmt_mem
{ UNSG32 u32[1];
struct {
struct w32LLDesFmt_mem;
};
} TLLDesFmt_mem;
///////////////////////////////////////////////////////////
SIGN32 LLDesFmt_drvrd(SIE_LLDesFmt *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 LLDesFmt_drvwr(SIE_LLDesFmt *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void LLDesFmt_reset(SIE_LLDesFmt *p);
SIGN32 LLDesFmt_cmp (SIE_LLDesFmt *p, SIE_LLDesFmt *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define LLDesFmt_check(p,pie,pfx,hLOG) LLDesFmt_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define LLDesFmt_print(p, pfx,hLOG) LLDesFmt_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: LLDesFmt
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubCmdHDR (4,4)
/// ###
/// * 32-bit dHub command header
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 DESC (W-)
/// %unsigned 16 size
/// ###
/// * amount of data to be transferred, in bytes or MTU.
/// * Size of 0 is forbidden.
/// ###
/// %unsigned 1 sizeMTU
/// ###
/// * 0: size given in bytes;
/// * 1: size given in MTU (see dHubChCtl.CFG.MTU for MTU size definition)
/// ###
/// %unsigned 1 semOpMTU
/// ###
/// * 0: semaphore operations applied on dHubCmd level
/// * 1: semaphore operations applied on MTU level
/// ###
/// %unsigned 5 chkSemId
/// ###
/// * ID of semaphore to check before cmd / MTU;
/// * 0 indicates semaphore check is disabled
/// ###
/// %unsigned 5 updSemId
/// ###
/// * ID of semaphore to update after cmd / MTU;
/// * 0 indicates semaphore update is disabled
/// ###
/// %unsigned 1 interrupt
/// ###
/// * 1: raise interrupt upon command finish
/// * end dHubCmdHDR
/// ###
/// %% 3 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 29b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubCmdHDR
#define h_dHubCmdHDR (){}
#define RA_dHubCmdHDR_DESC 0x0000
#define BA_dHubCmdHDR_DESC_size 0x0000
#define B16dHubCmdHDR_DESC_size 0x0000
#define LSb32dHubCmdHDR_DESC_size 0
#define LSb16dHubCmdHDR_DESC_size 0
#define bdHubCmdHDR_DESC_size 16
#define MSK32dHubCmdHDR_DESC_size 0x0000FFFF
#define BA_dHubCmdHDR_DESC_sizeMTU 0x0002
#define B16dHubCmdHDR_DESC_sizeMTU 0x0002
#define LSb32dHubCmdHDR_DESC_sizeMTU 16
#define LSb16dHubCmdHDR_DESC_sizeMTU 0
#define bdHubCmdHDR_DESC_sizeMTU 1
#define MSK32dHubCmdHDR_DESC_sizeMTU 0x00010000
#define BA_dHubCmdHDR_DESC_semOpMTU 0x0002
#define B16dHubCmdHDR_DESC_semOpMTU 0x0002
#define LSb32dHubCmdHDR_DESC_semOpMTU 17
#define LSb16dHubCmdHDR_DESC_semOpMTU 1
#define bdHubCmdHDR_DESC_semOpMTU 1
#define MSK32dHubCmdHDR_DESC_semOpMTU 0x00020000
#define BA_dHubCmdHDR_DESC_chkSemId 0x0002
#define B16dHubCmdHDR_DESC_chkSemId 0x0002
#define LSb32dHubCmdHDR_DESC_chkSemId 18
#define LSb16dHubCmdHDR_DESC_chkSemId 2
#define bdHubCmdHDR_DESC_chkSemId 5
#define MSK32dHubCmdHDR_DESC_chkSemId 0x007C0000
#define BA_dHubCmdHDR_DESC_updSemId 0x0002
#define B16dHubCmdHDR_DESC_updSemId 0x0002
#define LSb32dHubCmdHDR_DESC_updSemId 23
#define LSb16dHubCmdHDR_DESC_updSemId 7
#define bdHubCmdHDR_DESC_updSemId 5
#define MSK32dHubCmdHDR_DESC_updSemId 0x0F800000
#define BA_dHubCmdHDR_DESC_interrupt 0x0003
#define B16dHubCmdHDR_DESC_interrupt 0x0002
#define LSb32dHubCmdHDR_DESC_interrupt 28
#define LSb16dHubCmdHDR_DESC_interrupt 12
#define bdHubCmdHDR_DESC_interrupt 1
#define MSK32dHubCmdHDR_DESC_interrupt 0x10000000
///////////////////////////////////////////////////////////
typedef struct SIE_dHubCmdHDR {
///////////////////////////////////////////////////////////
#define GET32dHubCmdHDR_DESC_size(r32) _BFGET_(r32,15, 0)
#define SET32dHubCmdHDR_DESC_size(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubCmdHDR_DESC_size(r16) _BFGET_(r16,15, 0)
#define SET16dHubCmdHDR_DESC_size(r16,v) _BFSET_(r16,15, 0,v)
#define GET32dHubCmdHDR_DESC_sizeMTU(r32) _BFGET_(r32,16,16)
#define SET32dHubCmdHDR_DESC_sizeMTU(r32,v) _BFSET_(r32,16,16,v)
#define GET16dHubCmdHDR_DESC_sizeMTU(r16) _BFGET_(r16, 0, 0)
#define SET16dHubCmdHDR_DESC_sizeMTU(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32dHubCmdHDR_DESC_semOpMTU(r32) _BFGET_(r32,17,17)
#define SET32dHubCmdHDR_DESC_semOpMTU(r32,v) _BFSET_(r32,17,17,v)
#define GET16dHubCmdHDR_DESC_semOpMTU(r16) _BFGET_(r16, 1, 1)
#define SET16dHubCmdHDR_DESC_semOpMTU(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32dHubCmdHDR_DESC_chkSemId(r32) _BFGET_(r32,22,18)
#define SET32dHubCmdHDR_DESC_chkSemId(r32,v) _BFSET_(r32,22,18,v)
#define GET16dHubCmdHDR_DESC_chkSemId(r16) _BFGET_(r16, 6, 2)
#define SET16dHubCmdHDR_DESC_chkSemId(r16,v) _BFSET_(r16, 6, 2,v)
#define GET32dHubCmdHDR_DESC_updSemId(r32) _BFGET_(r32,27,23)
#define SET32dHubCmdHDR_DESC_updSemId(r32,v) _BFSET_(r32,27,23,v)
#define GET16dHubCmdHDR_DESC_updSemId(r16) _BFGET_(r16,11, 7)
#define SET16dHubCmdHDR_DESC_updSemId(r16,v) _BFSET_(r16,11, 7,v)
#define GET32dHubCmdHDR_DESC_interrupt(r32) _BFGET_(r32,28,28)
#define SET32dHubCmdHDR_DESC_interrupt(r32,v) _BFSET_(r32,28,28,v)
#define GET16dHubCmdHDR_DESC_interrupt(r16) _BFGET_(r16,12,12)
#define SET16dHubCmdHDR_DESC_interrupt(r16,v) _BFSET_(r16,12,12,v)
#define w32dHubCmdHDR_DESC {\
UNSG32 uDESC_size : 16;\
UNSG32 uDESC_sizeMTU : 1;\
UNSG32 uDESC_semOpMTU : 1;\
UNSG32 uDESC_chkSemId : 5;\
UNSG32 uDESC_updSemId : 5;\
UNSG32 uDESC_interrupt : 1;\
UNSG32 RSVDx0_b29 : 3;\
}
union { UNSG32 u32dHubCmdHDR_DESC;
struct w32dHubCmdHDR_DESC;
};
///////////////////////////////////////////////////////////
} SIE_dHubCmdHDR;
typedef union T32dHubCmdHDR_DESC
{ UNSG32 u32;
struct w32dHubCmdHDR_DESC;
} T32dHubCmdHDR_DESC;
///////////////////////////////////////////////////////////
typedef union TdHubCmdHDR_DESC
{ UNSG32 u32[1];
struct {
struct w32dHubCmdHDR_DESC;
};
} TdHubCmdHDR_DESC;
///////////////////////////////////////////////////////////
SIGN32 dHubCmdHDR_drvrd(SIE_dHubCmdHDR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubCmdHDR_drvwr(SIE_dHubCmdHDR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubCmdHDR_reset(SIE_dHubCmdHDR *p);
SIGN32 dHubCmdHDR_cmp (SIE_dHubCmdHDR *p, SIE_dHubCmdHDR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubCmdHDR_check(p,pie,pfx,hLOG) dHubCmdHDR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubCmdHDR_print(p, pfx,hLOG) dHubCmdHDR_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubCmdHDR
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubCmd biu (4,4)
/// ###
/// * 64-bit dHub command issued by read/write masters
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 MEM (W-)
/// %unsigned 32 addr
/// ###
/// * DRAM data address, in bytes; not necessarily MTU aligned.
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// # 0x00004 HDR
/// $dHubCmdHDR HDR REG
/// ###
/// * end dHubCmd
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 61b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubCmd
#define h_dHubCmd (){}
#define RA_dHubCmd_MEM 0x0000
#define BA_dHubCmd_MEM_addr 0x0000
#define B16dHubCmd_MEM_addr 0x0000
#define LSb32dHubCmd_MEM_addr 0
#define LSb16dHubCmd_MEM_addr 0
#define bdHubCmd_MEM_addr 32
#define MSK32dHubCmd_MEM_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_dHubCmd_HDR 0x0004
///////////////////////////////////////////////////////////
typedef struct SIE_dHubCmd {
///////////////////////////////////////////////////////////
#define GET32dHubCmd_MEM_addr(r32) _BFGET_(r32,31, 0)
#define SET32dHubCmd_MEM_addr(r32,v) _BFSET_(r32,31, 0,v)
#define w32dHubCmd_MEM {\
UNSG32 uMEM_addr : 32;\
}
union { UNSG32 u32dHubCmd_MEM;
struct w32dHubCmd_MEM;
};
///////////////////////////////////////////////////////////
SIE_dHubCmdHDR ie_HDR;
///////////////////////////////////////////////////////////
} SIE_dHubCmd;
typedef union T32dHubCmd_MEM
{ UNSG32 u32;
struct w32dHubCmd_MEM;
} T32dHubCmd_MEM;
///////////////////////////////////////////////////////////
typedef union TdHubCmd_MEM
{ UNSG32 u32[1];
struct {
struct w32dHubCmd_MEM;
};
} TdHubCmd_MEM;
///////////////////////////////////////////////////////////
SIGN32 dHubCmd_drvrd(SIE_dHubCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubCmd_drvwr(SIE_dHubCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubCmd_reset(SIE_dHubCmd *p);
SIGN32 dHubCmd_cmp (SIE_dHubCmd *p, SIE_dHubCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubCmd_check(p,pie,pfx,hLOG) dHubCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubCmd_print(p, pfx,hLOG) dHubCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubChannel biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CFG (W-)
/// %unsigned 2 MTU
/// : 8byte 0x0
/// : 32byte 0x1
/// : 128byte 0x2
/// : 1024byte 0x3
/// ###
/// * Minimum transfer unit of the channel
/// ###
/// %unsigned 1 QoS
/// ###
/// * Write 1 to turn on QoS detection
/// ###
/// %unsigned 1 selfLoop
/// ###
/// * Write 1 to enable cmd looping support; 0 to turn off
/// ###
/// %unsigned 1 intrCtl 0x0
/// : cmdDone 0x0
/// : chIdle 0x1
/// ###
/// * 0 : default vlaue, the interrupt is triggered by the finish of the dHub command if the interrupt bit is defined in the dHub command.
/// * 1 : The interrupt is triggered if the dHub channel is idle ( no busy and no pending and the corresponding dHub command Q is empty).
/// ###
/// %unsigned 1 hScan 0x0
/// : rastScan 0x0
/// : invScan 0x1
/// ###
/// * This parameter will only apply to read channels.
/// * It will affect 1D dHub command for the channel.
/// * When scan is set to 1 (invScan), the data (beat) inside the dHub command will be fetched in the inverse order. ie. The data from the last address will come first and the data (beat) from the first address will come lastly.
/// ###
/// %unsigned 1 vScan 0x0
/// : rastScan 0x0
/// : invScan 0x1
/// ###
/// * This parameter will only apply to read channels.
/// * It will affect 2D channels.
/// * When scan is set to 1 (invScan),
/// * The last address line (1D command) will be fetched first, and the first address line will be fetched lastly.
/// ###
/// %% 25 # Stuffing bits...
/// @ 0x00004 START (W-)
/// %unsigned 1 EN 0x0
/// ###
/// * Write 1 to enable the channel; 0 to pause the channel
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00008 CLEAR (W-)
/// %unsigned 1 EN
/// ###
/// * Write anything to reset the channel controller state
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x0000C FLUSH (W-)
/// %unsigned 1 EN
/// ###
/// * Write anything to start the data flushing process. Invalid for read (M2H) channels
/// * end dHubChannel
/// ###
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 10b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubChannel
#define h_dHubChannel (){}
#define RA_dHubChannel_CFG 0x0000
#define BA_dHubChannel_CFG_MTU 0x0000
#define B16dHubChannel_CFG_MTU 0x0000
#define LSb32dHubChannel_CFG_MTU 0
#define LSb16dHubChannel_CFG_MTU 0
#define bdHubChannel_CFG_MTU 2
#define MSK32dHubChannel_CFG_MTU 0x00000003
#define dHubChannel_CFG_MTU_8byte 0x0
#define dHubChannel_CFG_MTU_32byte 0x1
#define dHubChannel_CFG_MTU_128byte 0x2
#define dHubChannel_CFG_MTU_1024byte 0x3
#define BA_dHubChannel_CFG_QoS 0x0000
#define B16dHubChannel_CFG_QoS 0x0000
#define LSb32dHubChannel_CFG_QoS 2
#define LSb16dHubChannel_CFG_QoS 2
#define bdHubChannel_CFG_QoS 1
#define MSK32dHubChannel_CFG_QoS 0x00000004
#define BA_dHubChannel_CFG_selfLoop 0x0000
#define B16dHubChannel_CFG_selfLoop 0x0000
#define LSb32dHubChannel_CFG_selfLoop 3
#define LSb16dHubChannel_CFG_selfLoop 3
#define bdHubChannel_CFG_selfLoop 1
#define MSK32dHubChannel_CFG_selfLoop 0x00000008
#define BA_dHubChannel_CFG_intrCtl 0x0000
#define B16dHubChannel_CFG_intrCtl 0x0000
#define LSb32dHubChannel_CFG_intrCtl 4
#define LSb16dHubChannel_CFG_intrCtl 4
#define bdHubChannel_CFG_intrCtl 1
#define MSK32dHubChannel_CFG_intrCtl 0x00000010
#define dHubChannel_CFG_intrCtl_cmdDone 0x0
#define dHubChannel_CFG_intrCtl_chIdle 0x1
#define BA_dHubChannel_CFG_hScan 0x0000
#define B16dHubChannel_CFG_hScan 0x0000
#define LSb32dHubChannel_CFG_hScan 5
#define LSb16dHubChannel_CFG_hScan 5
#define bdHubChannel_CFG_hScan 1
#define MSK32dHubChannel_CFG_hScan 0x00000020
#define dHubChannel_CFG_hScan_rastScan 0x0
#define dHubChannel_CFG_hScan_invScan 0x1
#define BA_dHubChannel_CFG_vScan 0x0000
#define B16dHubChannel_CFG_vScan 0x0000
#define LSb32dHubChannel_CFG_vScan 6
#define LSb16dHubChannel_CFG_vScan 6
#define bdHubChannel_CFG_vScan 1
#define MSK32dHubChannel_CFG_vScan 0x00000040
#define dHubChannel_CFG_vScan_rastScan 0x0
#define dHubChannel_CFG_vScan_invScan 0x1
///////////////////////////////////////////////////////////
#define RA_dHubChannel_START 0x0004
#define BA_dHubChannel_START_EN 0x0004
#define B16dHubChannel_START_EN 0x0004
#define LSb32dHubChannel_START_EN 0
#define LSb16dHubChannel_START_EN 0
#define bdHubChannel_START_EN 1
#define MSK32dHubChannel_START_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubChannel_CLEAR 0x0008
#define BA_dHubChannel_CLEAR_EN 0x0008
#define B16dHubChannel_CLEAR_EN 0x0008
#define LSb32dHubChannel_CLEAR_EN 0
#define LSb16dHubChannel_CLEAR_EN 0
#define bdHubChannel_CLEAR_EN 1
#define MSK32dHubChannel_CLEAR_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubChannel_FLUSH 0x000C
#define BA_dHubChannel_FLUSH_EN 0x000C
#define B16dHubChannel_FLUSH_EN 0x000C
#define LSb32dHubChannel_FLUSH_EN 0
#define LSb16dHubChannel_FLUSH_EN 0
#define bdHubChannel_FLUSH_EN 1
#define MSK32dHubChannel_FLUSH_EN 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_dHubChannel {
///////////////////////////////////////////////////////////
#define GET32dHubChannel_CFG_MTU(r32) _BFGET_(r32, 1, 0)
#define SET32dHubChannel_CFG_MTU(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16dHubChannel_CFG_MTU(r16) _BFGET_(r16, 1, 0)
#define SET16dHubChannel_CFG_MTU(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32dHubChannel_CFG_QoS(r32) _BFGET_(r32, 2, 2)
#define SET32dHubChannel_CFG_QoS(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16dHubChannel_CFG_QoS(r16) _BFGET_(r16, 2, 2)
#define SET16dHubChannel_CFG_QoS(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32dHubChannel_CFG_selfLoop(r32) _BFGET_(r32, 3, 3)
#define SET32dHubChannel_CFG_selfLoop(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16dHubChannel_CFG_selfLoop(r16) _BFGET_(r16, 3, 3)
#define SET16dHubChannel_CFG_selfLoop(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32dHubChannel_CFG_intrCtl(r32) _BFGET_(r32, 4, 4)
#define SET32dHubChannel_CFG_intrCtl(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16dHubChannel_CFG_intrCtl(r16) _BFGET_(r16, 4, 4)
#define SET16dHubChannel_CFG_intrCtl(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32dHubChannel_CFG_hScan(r32) _BFGET_(r32, 5, 5)
#define SET32dHubChannel_CFG_hScan(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16dHubChannel_CFG_hScan(r16) _BFGET_(r16, 5, 5)
#define SET16dHubChannel_CFG_hScan(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32dHubChannel_CFG_vScan(r32) _BFGET_(r32, 6, 6)
#define SET32dHubChannel_CFG_vScan(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16dHubChannel_CFG_vScan(r16) _BFGET_(r16, 6, 6)
#define SET16dHubChannel_CFG_vScan(r16,v) _BFSET_(r16, 6, 6,v)
#define w32dHubChannel_CFG {\
UNSG32 uCFG_MTU : 2;\
UNSG32 uCFG_QoS : 1;\
UNSG32 uCFG_selfLoop : 1;\
UNSG32 uCFG_intrCtl : 1;\
UNSG32 uCFG_hScan : 1;\
UNSG32 uCFG_vScan : 1;\
UNSG32 RSVDx0_b7 : 25;\
}
union { UNSG32 u32dHubChannel_CFG;
struct w32dHubChannel_CFG;
};
///////////////////////////////////////////////////////////
#define GET32dHubChannel_START_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubChannel_START_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubChannel_START_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubChannel_START_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubChannel_START {\
UNSG32 uSTART_EN : 1;\
UNSG32 RSVDx4_b1 : 31;\
}
union { UNSG32 u32dHubChannel_START;
struct w32dHubChannel_START;
};
///////////////////////////////////////////////////////////
#define GET32dHubChannel_CLEAR_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubChannel_CLEAR_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubChannel_CLEAR_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubChannel_CLEAR_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubChannel_CLEAR {\
UNSG32 uCLEAR_EN : 1;\
UNSG32 RSVDx8_b1 : 31;\
}
union { UNSG32 u32dHubChannel_CLEAR;
struct w32dHubChannel_CLEAR;
};
///////////////////////////////////////////////////////////
#define GET32dHubChannel_FLUSH_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubChannel_FLUSH_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubChannel_FLUSH_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubChannel_FLUSH_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubChannel_FLUSH {\
UNSG32 uFLUSH_EN : 1;\
UNSG32 RSVDxC_b1 : 31;\
}
union { UNSG32 u32dHubChannel_FLUSH;
struct w32dHubChannel_FLUSH;
};
///////////////////////////////////////////////////////////
} SIE_dHubChannel;
typedef union T32dHubChannel_CFG
{ UNSG32 u32;
struct w32dHubChannel_CFG;
} T32dHubChannel_CFG;
typedef union T32dHubChannel_START
{ UNSG32 u32;
struct w32dHubChannel_START;
} T32dHubChannel_START;
typedef union T32dHubChannel_CLEAR
{ UNSG32 u32;
struct w32dHubChannel_CLEAR;
} T32dHubChannel_CLEAR;
typedef union T32dHubChannel_FLUSH
{ UNSG32 u32;
struct w32dHubChannel_FLUSH;
} T32dHubChannel_FLUSH;
///////////////////////////////////////////////////////////
typedef union TdHubChannel_CFG
{ UNSG32 u32[1];
struct {
struct w32dHubChannel_CFG;
};
} TdHubChannel_CFG;
typedef union TdHubChannel_START
{ UNSG32 u32[1];
struct {
struct w32dHubChannel_START;
};
} TdHubChannel_START;
typedef union TdHubChannel_CLEAR
{ UNSG32 u32[1];
struct {
struct w32dHubChannel_CLEAR;
};
} TdHubChannel_CLEAR;
typedef union TdHubChannel_FLUSH
{ UNSG32 u32[1];
struct {
struct w32dHubChannel_FLUSH;
};
} TdHubChannel_FLUSH;
///////////////////////////////////////////////////////////
SIGN32 dHubChannel_drvrd(SIE_dHubChannel *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubChannel_drvwr(SIE_dHubChannel *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubChannel_reset(SIE_dHubChannel *p);
SIGN32 dHubChannel_cmp (SIE_dHubChannel *p, SIE_dHubChannel *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubChannel_check(p,pie,pfx,hLOG) dHubChannel_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubChannel_print(p, pfx,hLOG) dHubChannel_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubChannel
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubReg biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 SemaHub
/// $SemaHub SemaHub REG
/// ###
/// * For dHub internal interrupts, also provide semaphore service for external (all channels will be opened to external to access).
/// * Channel 0 is used for dHub.HBO interrupt.
/// * Channel N+1 is used for dHub.Channel[N] interrupt.
/// ###
/// @ 0x00400 (P)
/// # 0x00400 HBO
/// $HBO HBO REG
/// ###
/// * For dHub channels (command/data queues), also provide (unused) FIFO service for external.
/// * Channel 2N is used for dHub.Channel[N] command.
/// * Channel 2N+1 is used for dHub.Channel[N] data.
/// ###
/// @ 0x00B00 ARR (P)
/// # 0x00B00 channelCtl
/// $dHubChannel channelCtl REG [16]
/// ###
/// * Up-to 16 channels
/// ###
/// @ 0x00C00 BUSY (R-)
/// %unsigned 16 ST
/// ###
/// * Per channel status
/// * 0: no ongoing command is being processed, and no flushing is taking place
/// * 1: channel controller is busy
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00C04 PENDING (R-)
/// %unsigned 16 ST
/// ###
/// * Per channel status
/// * 0: Response queue is empty, meaning no outstanding AXI transactions
/// * 1: there exist some outstanding AXI transactions
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00C08 busRstEn (RW-)
/// %unsigned 1 reg 0x0
/// ###
/// * Write one to this register will trigger gate-keeper to take over the AXI bus.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00C0C busRstDone (R-)
/// %unsigned 1 reg 0x1
/// ###
/// * After gate-keeper take over the AXI bus, it will assert this bit once there is no outstanding transactions on AXI bus.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00C10 flowCtl (P)
/// %unsigned 8 rAlpha 0x0
/// %unsigned 8 wAlpha 0x0
/// ###
/// * Flow control parameter for read and write axi master.
/// * clkCnt=(alpha*bstLen)>>4.
/// * This # of clock cycles will be blocked for the axi master after an axi command with the burst length of “bstLen”.
/// * When set alpha to be 0, the master will never be blocked.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00C14 axiCmdCol (P)
/// %unsigned 16 rCnt 0x0
/// %unsigned 16 wCnt 0x0
/// ###
/// * Axi command collection. The counter value indicate read/write do the command collection for # of clock cycles, start from the first command pushed to an empty command Q. Here are the conditions that will trigger the Axi master to send out command.
/// * Cmd Q full or the counter count down to “0” from the programmed value.
/// * Set the counter to 0 will disable the command collection.
/// * end dHubReg
/// ###
/// @ 0x00C18 (W-)
/// # # Stuffing bytes...
/// %% 1856
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 3328B, bits: 3314b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubReg
#define h_dHubReg (){}
#define RA_dHubReg_SemaHub 0x0000
///////////////////////////////////////////////////////////
#define RA_dHubReg_HBO 0x0400
///////////////////////////////////////////////////////////
#define RA_dHubReg_ARR 0x0B00
#define RA_dHubReg_channelCtl 0x0B00
///////////////////////////////////////////////////////////
#define RA_dHubReg_BUSY 0x0C00
#define BA_dHubReg_BUSY_ST 0x0C00
#define B16dHubReg_BUSY_ST 0x0C00
#define LSb32dHubReg_BUSY_ST 0
#define LSb16dHubReg_BUSY_ST 0
#define bdHubReg_BUSY_ST 16
#define MSK32dHubReg_BUSY_ST 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_dHubReg_PENDING 0x0C04
#define BA_dHubReg_PENDING_ST 0x0C04
#define B16dHubReg_PENDING_ST 0x0C04
#define LSb32dHubReg_PENDING_ST 0
#define LSb16dHubReg_PENDING_ST 0
#define bdHubReg_PENDING_ST 16
#define MSK32dHubReg_PENDING_ST 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_dHubReg_busRstEn 0x0C08
#define BA_dHubReg_busRstEn_reg 0x0C08
#define B16dHubReg_busRstEn_reg 0x0C08
#define LSb32dHubReg_busRstEn_reg 0
#define LSb16dHubReg_busRstEn_reg 0
#define bdHubReg_busRstEn_reg 1
#define MSK32dHubReg_busRstEn_reg 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubReg_busRstDone 0x0C0C
#define BA_dHubReg_busRstDone_reg 0x0C0C
#define B16dHubReg_busRstDone_reg 0x0C0C
#define LSb32dHubReg_busRstDone_reg 0
#define LSb16dHubReg_busRstDone_reg 0
#define bdHubReg_busRstDone_reg 1
#define MSK32dHubReg_busRstDone_reg 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubReg_flowCtl 0x0C10
#define BA_dHubReg_flowCtl_rAlpha 0x0C10
#define B16dHubReg_flowCtl_rAlpha 0x0C10
#define LSb32dHubReg_flowCtl_rAlpha 0
#define LSb16dHubReg_flowCtl_rAlpha 0
#define bdHubReg_flowCtl_rAlpha 8
#define MSK32dHubReg_flowCtl_rAlpha 0x000000FF
#define BA_dHubReg_flowCtl_wAlpha 0x0C11
#define B16dHubReg_flowCtl_wAlpha 0x0C10
#define LSb32dHubReg_flowCtl_wAlpha 8
#define LSb16dHubReg_flowCtl_wAlpha 8
#define bdHubReg_flowCtl_wAlpha 8
#define MSK32dHubReg_flowCtl_wAlpha 0x0000FF00
///////////////////////////////////////////////////////////
#define RA_dHubReg_axiCmdCol 0x0C14
#define BA_dHubReg_axiCmdCol_rCnt 0x0C14
#define B16dHubReg_axiCmdCol_rCnt 0x0C14
#define LSb32dHubReg_axiCmdCol_rCnt 0
#define LSb16dHubReg_axiCmdCol_rCnt 0
#define bdHubReg_axiCmdCol_rCnt 16
#define MSK32dHubReg_axiCmdCol_rCnt 0x0000FFFF
#define BA_dHubReg_axiCmdCol_wCnt 0x0C16
#define B16dHubReg_axiCmdCol_wCnt 0x0C16
#define LSb32dHubReg_axiCmdCol_wCnt 16
#define LSb16dHubReg_axiCmdCol_wCnt 0
#define bdHubReg_axiCmdCol_wCnt 16
#define MSK32dHubReg_axiCmdCol_wCnt 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_dHubReg {
///////////////////////////////////////////////////////////
SIE_SemaHub ie_SemaHub;
///////////////////////////////////////////////////////////
SIE_HBO ie_HBO;
///////////////////////////////////////////////////////////
SIE_dHubChannel ie_channelCtl[16];
///////////////////////////////////////////////////////////
#define GET32dHubReg_BUSY_ST(r32) _BFGET_(r32,15, 0)
#define SET32dHubReg_BUSY_ST(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubReg_BUSY_ST(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg_BUSY_ST(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubReg_BUSY {\
UNSG32 uBUSY_ST : 16;\
UNSG32 RSVDxC00_b16 : 16;\
}
union { UNSG32 u32dHubReg_BUSY;
struct w32dHubReg_BUSY;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_PENDING_ST(r32) _BFGET_(r32,15, 0)
#define SET32dHubReg_PENDING_ST(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubReg_PENDING_ST(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg_PENDING_ST(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubReg_PENDING {\
UNSG32 uPENDING_ST : 16;\
UNSG32 RSVDxC04_b16 : 16;\
}
union { UNSG32 u32dHubReg_PENDING;
struct w32dHubReg_PENDING;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_busRstEn_reg(r32) _BFGET_(r32, 0, 0)
#define SET32dHubReg_busRstEn_reg(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubReg_busRstEn_reg(r16) _BFGET_(r16, 0, 0)
#define SET16dHubReg_busRstEn_reg(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubReg_busRstEn {\
UNSG32 ubusRstEn_reg : 1;\
UNSG32 RSVDxC08_b1 : 31;\
}
union { UNSG32 u32dHubReg_busRstEn;
struct w32dHubReg_busRstEn;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_busRstDone_reg(r32) _BFGET_(r32, 0, 0)
#define SET32dHubReg_busRstDone_reg(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubReg_busRstDone_reg(r16) _BFGET_(r16, 0, 0)
#define SET16dHubReg_busRstDone_reg(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubReg_busRstDone {\
UNSG32 ubusRstDone_reg : 1;\
UNSG32 RSVDxC0C_b1 : 31;\
}
union { UNSG32 u32dHubReg_busRstDone;
struct w32dHubReg_busRstDone;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_flowCtl_rAlpha(r32) _BFGET_(r32, 7, 0)
#define SET32dHubReg_flowCtl_rAlpha(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16dHubReg_flowCtl_rAlpha(r16) _BFGET_(r16, 7, 0)
#define SET16dHubReg_flowCtl_rAlpha(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32dHubReg_flowCtl_wAlpha(r32) _BFGET_(r32,15, 8)
#define SET32dHubReg_flowCtl_wAlpha(r32,v) _BFSET_(r32,15, 8,v)
#define GET16dHubReg_flowCtl_wAlpha(r16) _BFGET_(r16,15, 8)
#define SET16dHubReg_flowCtl_wAlpha(r16,v) _BFSET_(r16,15, 8,v)
#define w32dHubReg_flowCtl {\
UNSG32 uflowCtl_rAlpha : 8;\
UNSG32 uflowCtl_wAlpha : 8;\
UNSG32 RSVDxC10_b16 : 16;\
}
union { UNSG32 u32dHubReg_flowCtl;
struct w32dHubReg_flowCtl;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_axiCmdCol_rCnt(r32) _BFGET_(r32,15, 0)
#define SET32dHubReg_axiCmdCol_rCnt(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubReg_axiCmdCol_rCnt(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg_axiCmdCol_rCnt(r16,v) _BFSET_(r16,15, 0,v)
#define GET32dHubReg_axiCmdCol_wCnt(r32) _BFGET_(r32,31,16)
#define SET32dHubReg_axiCmdCol_wCnt(r32,v) _BFSET_(r32,31,16,v)
#define GET16dHubReg_axiCmdCol_wCnt(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg_axiCmdCol_wCnt(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubReg_axiCmdCol {\
UNSG32 uaxiCmdCol_rCnt : 16;\
UNSG32 uaxiCmdCol_wCnt : 16;\
}
union { UNSG32 u32dHubReg_axiCmdCol;
struct w32dHubReg_axiCmdCol;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDxC18 [232];
///////////////////////////////////////////////////////////
} SIE_dHubReg;
typedef union T32dHubReg_BUSY
{ UNSG32 u32;
struct w32dHubReg_BUSY;
} T32dHubReg_BUSY;
typedef union T32dHubReg_PENDING
{ UNSG32 u32;
struct w32dHubReg_PENDING;
} T32dHubReg_PENDING;
typedef union T32dHubReg_busRstEn
{ UNSG32 u32;
struct w32dHubReg_busRstEn;
} T32dHubReg_busRstEn;
typedef union T32dHubReg_busRstDone
{ UNSG32 u32;
struct w32dHubReg_busRstDone;
} T32dHubReg_busRstDone;
typedef union T32dHubReg_flowCtl
{ UNSG32 u32;
struct w32dHubReg_flowCtl;
} T32dHubReg_flowCtl;
typedef union T32dHubReg_axiCmdCol
{ UNSG32 u32;
struct w32dHubReg_axiCmdCol;
} T32dHubReg_axiCmdCol;
///////////////////////////////////////////////////////////
typedef union TdHubReg_BUSY
{ UNSG32 u32[1];
struct {
struct w32dHubReg_BUSY;
};
} TdHubReg_BUSY;
typedef union TdHubReg_PENDING
{ UNSG32 u32[1];
struct {
struct w32dHubReg_PENDING;
};
} TdHubReg_PENDING;
typedef union TdHubReg_busRstEn
{ UNSG32 u32[1];
struct {
struct w32dHubReg_busRstEn;
};
} TdHubReg_busRstEn;
typedef union TdHubReg_busRstDone
{ UNSG32 u32[1];
struct {
struct w32dHubReg_busRstDone;
};
} TdHubReg_busRstDone;
typedef union TdHubReg_flowCtl
{ UNSG32 u32[1];
struct {
struct w32dHubReg_flowCtl;
};
} TdHubReg_flowCtl;
typedef union TdHubReg_axiCmdCol
{ UNSG32 u32[1];
struct {
struct w32dHubReg_axiCmdCol;
};
} TdHubReg_axiCmdCol;
///////////////////////////////////////////////////////////
SIGN32 dHubReg_drvrd(SIE_dHubReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubReg_drvwr(SIE_dHubReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubReg_reset(SIE_dHubReg *p);
SIGN32 dHubReg_cmp (SIE_dHubReg *p, SIE_dHubReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubReg_check(p,pie,pfx,hLOG) dHubReg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubReg_print(p, pfx,hLOG) dHubReg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubReg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubCmd2D biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 MEM (W-)
/// %unsigned 32 addr
/// ###
/// * DRAM data address of the 2D buffer, in bytes.
/// ###
/// @ 0x00004 DESC (W-)
/// %unsigned 16 stride
/// ###
/// * Line stride size in bytes
/// ###
/// %unsigned 13 numLine
/// ###
/// * Number of lines in buffer. Size of 0 is forbidden.
/// ###
/// %unsigned 2 hdrLoop
/// ###
/// * Size of line-loop for choosing dHubCmdHDR
/// * 0 is treated as 4
/// ###
/// %unsigned 1 interrupt
/// ###
/// * 1: raise interrupt upon whole 2D command finish.
/// * 1: set the last 1D command interrupt bit.
/// * 0 : use the default 1D command interrupt bit.
/// ###
/// @ 0x00008 START (W-)
/// %unsigned 1 EN 0x0
/// ###
/// * Write 1 to enable the channel; 0 to pause the channel
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x0000C CLEAR (W-)
/// %unsigned 1 EN
/// ###
/// * Write anything to reset the 2D engine.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00010 (P)
/// # 0x00010 HDR
/// $dHubCmdHDR HDR REG [4]
/// ###
/// * Headers used in generating dHubCmd for each line in looping order, loop size (1,2,3,4) specified by DESC_hdrLoop
/// * end dHubCmd2D
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 182b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubCmd2D
#define h_dHubCmd2D (){}
#define RA_dHubCmd2D_MEM 0x0000
#define BA_dHubCmd2D_MEM_addr 0x0000
#define B16dHubCmd2D_MEM_addr 0x0000
#define LSb32dHubCmd2D_MEM_addr 0
#define LSb16dHubCmd2D_MEM_addr 0
#define bdHubCmd2D_MEM_addr 32
#define MSK32dHubCmd2D_MEM_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_dHubCmd2D_DESC 0x0004
#define BA_dHubCmd2D_DESC_stride 0x0004
#define B16dHubCmd2D_DESC_stride 0x0004
#define LSb32dHubCmd2D_DESC_stride 0
#define LSb16dHubCmd2D_DESC_stride 0
#define bdHubCmd2D_DESC_stride 16
#define MSK32dHubCmd2D_DESC_stride 0x0000FFFF
#define BA_dHubCmd2D_DESC_numLine 0x0006
#define B16dHubCmd2D_DESC_numLine 0x0006
#define LSb32dHubCmd2D_DESC_numLine 16
#define LSb16dHubCmd2D_DESC_numLine 0
#define bdHubCmd2D_DESC_numLine 13
#define MSK32dHubCmd2D_DESC_numLine 0x1FFF0000
#define BA_dHubCmd2D_DESC_hdrLoop 0x0007
#define B16dHubCmd2D_DESC_hdrLoop 0x0006
#define LSb32dHubCmd2D_DESC_hdrLoop 29
#define LSb16dHubCmd2D_DESC_hdrLoop 13
#define bdHubCmd2D_DESC_hdrLoop 2
#define MSK32dHubCmd2D_DESC_hdrLoop 0x60000000
#define BA_dHubCmd2D_DESC_interrupt 0x0007
#define B16dHubCmd2D_DESC_interrupt 0x0006
#define LSb32dHubCmd2D_DESC_interrupt 31
#define LSb16dHubCmd2D_DESC_interrupt 15
#define bdHubCmd2D_DESC_interrupt 1
#define MSK32dHubCmd2D_DESC_interrupt 0x80000000
///////////////////////////////////////////////////////////
#define RA_dHubCmd2D_START 0x0008
#define BA_dHubCmd2D_START_EN 0x0008
#define B16dHubCmd2D_START_EN 0x0008
#define LSb32dHubCmd2D_START_EN 0
#define LSb16dHubCmd2D_START_EN 0
#define bdHubCmd2D_START_EN 1
#define MSK32dHubCmd2D_START_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubCmd2D_CLEAR 0x000C
#define BA_dHubCmd2D_CLEAR_EN 0x000C
#define B16dHubCmd2D_CLEAR_EN 0x000C
#define LSb32dHubCmd2D_CLEAR_EN 0
#define LSb16dHubCmd2D_CLEAR_EN 0
#define bdHubCmd2D_CLEAR_EN 1
#define MSK32dHubCmd2D_CLEAR_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubCmd2D_HDR 0x0010
///////////////////////////////////////////////////////////
typedef struct SIE_dHubCmd2D {
///////////////////////////////////////////////////////////
#define GET32dHubCmd2D_MEM_addr(r32) _BFGET_(r32,31, 0)
#define SET32dHubCmd2D_MEM_addr(r32,v) _BFSET_(r32,31, 0,v)
#define w32dHubCmd2D_MEM {\
UNSG32 uMEM_addr : 32;\
}
union { UNSG32 u32dHubCmd2D_MEM;
struct w32dHubCmd2D_MEM;
};
///////////////////////////////////////////////////////////
#define GET32dHubCmd2D_DESC_stride(r32) _BFGET_(r32,15, 0)
#define SET32dHubCmd2D_DESC_stride(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubCmd2D_DESC_stride(r16) _BFGET_(r16,15, 0)
#define SET16dHubCmd2D_DESC_stride(r16,v) _BFSET_(r16,15, 0,v)
#define GET32dHubCmd2D_DESC_numLine(r32) _BFGET_(r32,28,16)
#define SET32dHubCmd2D_DESC_numLine(r32,v) _BFSET_(r32,28,16,v)
#define GET16dHubCmd2D_DESC_numLine(r16) _BFGET_(r16,12, 0)
#define SET16dHubCmd2D_DESC_numLine(r16,v) _BFSET_(r16,12, 0,v)
#define GET32dHubCmd2D_DESC_hdrLoop(r32) _BFGET_(r32,30,29)
#define SET32dHubCmd2D_DESC_hdrLoop(r32,v) _BFSET_(r32,30,29,v)
#define GET16dHubCmd2D_DESC_hdrLoop(r16) _BFGET_(r16,14,13)
#define SET16dHubCmd2D_DESC_hdrLoop(r16,v) _BFSET_(r16,14,13,v)
#define GET32dHubCmd2D_DESC_interrupt(r32) _BFGET_(r32,31,31)
#define SET32dHubCmd2D_DESC_interrupt(r32,v) _BFSET_(r32,31,31,v)
#define GET16dHubCmd2D_DESC_interrupt(r16) _BFGET_(r16,15,15)
#define SET16dHubCmd2D_DESC_interrupt(r16,v) _BFSET_(r16,15,15,v)
#define w32dHubCmd2D_DESC {\
UNSG32 uDESC_stride : 16;\
UNSG32 uDESC_numLine : 13;\
UNSG32 uDESC_hdrLoop : 2;\
UNSG32 uDESC_interrupt : 1;\
}
union { UNSG32 u32dHubCmd2D_DESC;
struct w32dHubCmd2D_DESC;
};
///////////////////////////////////////////////////////////
#define GET32dHubCmd2D_START_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubCmd2D_START_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubCmd2D_START_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubCmd2D_START_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubCmd2D_START {\
UNSG32 uSTART_EN : 1;\
UNSG32 RSVDx8_b1 : 31;\
}
union { UNSG32 u32dHubCmd2D_START;
struct w32dHubCmd2D_START;
};
///////////////////////////////////////////////////////////
#define GET32dHubCmd2D_CLEAR_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubCmd2D_CLEAR_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubCmd2D_CLEAR_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubCmd2D_CLEAR_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubCmd2D_CLEAR {\
UNSG32 uCLEAR_EN : 1;\
UNSG32 RSVDxC_b1 : 31;\
}
union { UNSG32 u32dHubCmd2D_CLEAR;
struct w32dHubCmd2D_CLEAR;
};
///////////////////////////////////////////////////////////
SIE_dHubCmdHDR ie_HDR[4];
///////////////////////////////////////////////////////////
} SIE_dHubCmd2D;
typedef union T32dHubCmd2D_MEM
{ UNSG32 u32;
struct w32dHubCmd2D_MEM;
} T32dHubCmd2D_MEM;
typedef union T32dHubCmd2D_DESC
{ UNSG32 u32;
struct w32dHubCmd2D_DESC;
} T32dHubCmd2D_DESC;
typedef union T32dHubCmd2D_START
{ UNSG32 u32;
struct w32dHubCmd2D_START;
} T32dHubCmd2D_START;
typedef union T32dHubCmd2D_CLEAR
{ UNSG32 u32;
struct w32dHubCmd2D_CLEAR;
} T32dHubCmd2D_CLEAR;
///////////////////////////////////////////////////////////
typedef union TdHubCmd2D_MEM
{ UNSG32 u32[1];
struct {
struct w32dHubCmd2D_MEM;
};
} TdHubCmd2D_MEM;
typedef union TdHubCmd2D_DESC
{ UNSG32 u32[1];
struct {
struct w32dHubCmd2D_DESC;
};
} TdHubCmd2D_DESC;
typedef union TdHubCmd2D_START
{ UNSG32 u32[1];
struct {
struct w32dHubCmd2D_START;
};
} TdHubCmd2D_START;
typedef union TdHubCmd2D_CLEAR
{ UNSG32 u32[1];
struct {
struct w32dHubCmd2D_CLEAR;
};
} TdHubCmd2D_CLEAR;
///////////////////////////////////////////////////////////
SIGN32 dHubCmd2D_drvrd(SIE_dHubCmd2D *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubCmd2D_drvwr(SIE_dHubCmd2D *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubCmd2D_reset(SIE_dHubCmd2D *p);
SIGN32 dHubCmd2D_cmp (SIE_dHubCmd2D *p, SIE_dHubCmd2D *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubCmd2D_check(p,pie,pfx,hLOG) dHubCmd2D_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubCmd2D_print(p, pfx,hLOG) dHubCmd2D_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubCmd2D
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubQuery (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 RESP (R-)
/// %unsigned 16 ST
/// ###
/// * Dhub channel state machine status.
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubQuery
#define h_dHubQuery (){}
#define RA_dHubQuery_RESP 0x0000
#define BA_dHubQuery_RESP_ST 0x0000
#define B16dHubQuery_RESP_ST 0x0000
#define LSb32dHubQuery_RESP_ST 0
#define LSb16dHubQuery_RESP_ST 0
#define bdHubQuery_RESP_ST 16
#define MSK32dHubQuery_RESP_ST 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_dHubQuery {
///////////////////////////////////////////////////////////
#define GET32dHubQuery_RESP_ST(r32) _BFGET_(r32,15, 0)
#define SET32dHubQuery_RESP_ST(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubQuery_RESP_ST(r16) _BFGET_(r16,15, 0)
#define SET16dHubQuery_RESP_ST(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubQuery_RESP {\
UNSG32 uRESP_ST : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32dHubQuery_RESP;
struct w32dHubQuery_RESP;
};
///////////////////////////////////////////////////////////
} SIE_dHubQuery;
typedef union T32dHubQuery_RESP
{ UNSG32 u32;
struct w32dHubQuery_RESP;
} T32dHubQuery_RESP;
///////////////////////////////////////////////////////////
typedef union TdHubQuery_RESP
{ UNSG32 u32[1];
struct {
struct w32dHubQuery_RESP;
};
} TdHubQuery_RESP;
///////////////////////////////////////////////////////////
SIGN32 dHubQuery_drvrd(SIE_dHubQuery *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubQuery_drvwr(SIE_dHubQuery *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubQuery_reset(SIE_dHubQuery *p);
SIGN32 dHubQuery_cmp (SIE_dHubQuery *p, SIE_dHubQuery *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubQuery_check(p,pie,pfx,hLOG) dHubQuery_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubQuery_print(p, pfx,hLOG) dHubQuery_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubQuery
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubReg2D biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 dHub
/// $dHubReg dHub REG
/// @ 0x00D00 ARR (P)
/// # 0x00D00 Cmd2D
/// $dHubCmd2D Cmd2D REG [16]
/// ###
/// * Up-to 16 2D channels.
/// * 2D Channel[N] is connected to dHub.Channel[N] command queue, that is, dHub.HBO.Channel[2N]
/// * Note: Number of 2D channels could be less than dHub channels (rest of are 1D only)
/// ###
/// @ 0x00F00 BUSY (R-)
/// %unsigned 16 ST
/// ###
/// * Per channel status
/// * 0: no ongoing command is being processed
/// * 1: channel controller is busy
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00F04 (W-)
/// # # Stuffing bytes...
/// %% 480
/// @ 0x00F40 (P)
/// # 0x00F40 CH_ST
/// $dHubQuery CH_ST MEM [16]
/// ###
/// * end dHubReg2D
/// ###
/// @ 0x00F80 (W-)
/// # # Stuffing bytes...
/// %% 1024
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4096B, bits: 6274b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubReg2D
#define h_dHubReg2D (){}
#define RA_dHubReg2D_dHub 0x0000
///////////////////////////////////////////////////////////
#define RA_dHubReg2D_ARR 0x0D00
#define RA_dHubReg2D_Cmd2D 0x0D00
///////////////////////////////////////////////////////////
#define RA_dHubReg2D_BUSY 0x0F00
#define BA_dHubReg2D_BUSY_ST 0x0F00
#define B16dHubReg2D_BUSY_ST 0x0F00
#define LSb32dHubReg2D_BUSY_ST 0
#define LSb16dHubReg2D_BUSY_ST 0
#define bdHubReg2D_BUSY_ST 16
#define MSK32dHubReg2D_BUSY_ST 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_dHubReg2D_CH_ST 0x0F40
///////////////////////////////////////////////////////////
typedef struct SIE_dHubReg2D {
///////////////////////////////////////////////////////////
SIE_dHubReg ie_dHub;
///////////////////////////////////////////////////////////
SIE_dHubCmd2D ie_Cmd2D[16];
///////////////////////////////////////////////////////////
#define GET32dHubReg2D_BUSY_ST(r32) _BFGET_(r32,15, 0)
#define SET32dHubReg2D_BUSY_ST(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubReg2D_BUSY_ST(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg2D_BUSY_ST(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubReg2D_BUSY {\
UNSG32 uBUSY_ST : 16;\
UNSG32 RSVDxF00_b16 : 16;\
}
union { UNSG32 u32dHubReg2D_BUSY;
struct w32dHubReg2D_BUSY;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDxF04 [60];
///////////////////////////////////////////////////////////
SIE_dHubQuery ie_CH_ST[16];
///////////////////////////////////////////////////////////
UNSG8 RSVDxF80 [128];
///////////////////////////////////////////////////////////
} SIE_dHubReg2D;
typedef union T32dHubReg2D_BUSY
{ UNSG32 u32;
struct w32dHubReg2D_BUSY;
} T32dHubReg2D_BUSY;
///////////////////////////////////////////////////////////
typedef union TdHubReg2D_BUSY
{ UNSG32 u32[1];
struct {
struct w32dHubReg2D_BUSY;
};
} TdHubReg2D_BUSY;
///////////////////////////////////////////////////////////
SIGN32 dHubReg2D_drvrd(SIE_dHubReg2D *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubReg2D_drvwr(SIE_dHubReg2D *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubReg2D_reset(SIE_dHubReg2D *p);
SIGN32 dHubReg2D_cmp (SIE_dHubReg2D *p, SIE_dHubReg2D *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubReg2D_check(p,pie,pfx,hLOG) dHubReg2D_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubReg2D_print(p, pfx,hLOG) dHubReg2D_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubReg2D
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE DSmsg biu (4,4)
/// ###
/// * Data Streamer message format
/// * [00:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 13 count
/// ###
/// * number of bytes to transfer, the starting address is byte aligned.
/// ###
/// %unsigned 1 NOS
/// ###
/// * No outstanding
/// * 1: this command will not be executed until the completion of all the previous command.
/// * 0: This command can be executed without checking the previous command completion status.
/// ###
/// %unsigned 1 dir
/// : m2h 0x0
/// ###
/// * Data transfer from external memory to HBO
/// ###
/// : h2m 0x1
/// ###
/// * Data transfer from HBO to external memory
/// ###
/// %unsigned 1 intr
/// ###
/// * Setting to 1 forces Data Streamer to raise interrupt after command completion
/// ###
/// %unsigned 16 hboAdr
/// ###
/// * HBO byte address for data transfer
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// %unsigned 32 memAdr
/// ###
/// * Memory address equivalent to DDR addr [31:0];
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_DSmsg
#define h_DSmsg (){}
#define BA_DSmsg_count 0x0000
#define B16DSmsg_count 0x0000
#define LSb32DSmsg_count 0
#define LSb16DSmsg_count 0
#define bDSmsg_count 13
#define MSK32DSmsg_count 0x00001FFF
#define BA_DSmsg_NOS 0x0001
#define B16DSmsg_NOS 0x0000
#define LSb32DSmsg_NOS 13
#define LSb16DSmsg_NOS 13
#define bDSmsg_NOS 1
#define MSK32DSmsg_NOS 0x00002000
#define BA_DSmsg_dir 0x0001
#define B16DSmsg_dir 0x0000
#define LSb32DSmsg_dir 14
#define LSb16DSmsg_dir 14
#define bDSmsg_dir 1
#define MSK32DSmsg_dir 0x00004000
#define DSmsg_dir_m2h 0x0
#define DSmsg_dir_h2m 0x1
#define BA_DSmsg_intr 0x0001
#define B16DSmsg_intr 0x0000
#define LSb32DSmsg_intr 15
#define LSb16DSmsg_intr 15
#define bDSmsg_intr 1
#define MSK32DSmsg_intr 0x00008000
#define BA_DSmsg_hboAdr 0x0002
#define B16DSmsg_hboAdr 0x0002
#define LSb32DSmsg_hboAdr 16
#define LSb16DSmsg_hboAdr 0
#define bDSmsg_hboAdr 16
#define MSK32DSmsg_hboAdr 0xFFFF0000
///////////////////////////////////////////////////////////
#define BA_DSmsg_memAdr 0x0004
#define B16DSmsg_memAdr 0x0004
#define LSb32DSmsg_memAdr 0
#define LSb16DSmsg_memAdr 0
#define bDSmsg_memAdr 32
#define MSK32DSmsg_memAdr 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_DSmsg {
///////////////////////////////////////////////////////////
#define GET32DSmsg_count(r32) _BFGET_(r32,12, 0)
#define SET32DSmsg_count(r32,v) _BFSET_(r32,12, 0,v)
#define GET16DSmsg_count(r16) _BFGET_(r16,12, 0)
#define SET16DSmsg_count(r16,v) _BFSET_(r16,12, 0,v)
#define GET32DSmsg_NOS(r32) _BFGET_(r32,13,13)
#define SET32DSmsg_NOS(r32,v) _BFSET_(r32,13,13,v)
#define GET16DSmsg_NOS(r16) _BFGET_(r16,13,13)
#define SET16DSmsg_NOS(r16,v) _BFSET_(r16,13,13,v)
#define GET32DSmsg_dir(r32) _BFGET_(r32,14,14)
#define SET32DSmsg_dir(r32,v) _BFSET_(r32,14,14,v)
#define GET16DSmsg_dir(r16) _BFGET_(r16,14,14)
#define SET16DSmsg_dir(r16,v) _BFSET_(r16,14,14,v)
#define GET32DSmsg_intr(r32) _BFGET_(r32,15,15)
#define SET32DSmsg_intr(r32,v) _BFSET_(r32,15,15,v)
#define GET16DSmsg_intr(r16) _BFGET_(r16,15,15)
#define SET16DSmsg_intr(r16,v) _BFSET_(r16,15,15,v)
#define GET32DSmsg_hboAdr(r32) _BFGET_(r32,31,16)
#define SET32DSmsg_hboAdr(r32,v) _BFSET_(r32,31,16,v)
#define GET16DSmsg_hboAdr(r16) _BFGET_(r16,15, 0)
#define SET16DSmsg_hboAdr(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_count : 13;
UNSG32 u_NOS : 1;
UNSG32 u_dir : 1;
UNSG32 u_intr : 1;
UNSG32 u_hboAdr : 16;
///////////////////////////////////////////////////////////
#define GET32DSmsg_memAdr(r32) _BFGET_(r32,31, 0)
#define SET32DSmsg_memAdr(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_memAdr : 32;
///////////////////////////////////////////////////////////
} SIE_DSmsg;
///////////////////////////////////////////////////////////
SIGN32 DSmsg_drvrd(SIE_DSmsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 DSmsg_drvwr(SIE_DSmsg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void DSmsg_reset(SIE_DSmsg *p);
SIGN32 DSmsg_cmp (SIE_DSmsg *p, SIE_DSmsg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define DSmsg_check(p,pie,pfx,hLOG) DSmsg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define DSmsg_print(p, pfx,hLOG) DSmsg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: DSmsg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dsCh biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 retID (P)
/// %unsigned 16 addr 0x0
/// ###
/// * The HBO address of the memory location at which the retired command ID is stored
/// * Note : the addr should be 64-bit aligned. Nor the RTL implementation will always put the 16-bit ID to lower 16-bit of the DTCM entry.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00004 initID (P)
/// %unsigned 16 Val 0x0
/// ###
/// * Initial retire id value
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dsCh
#define h_dsCh (){}
#define RA_dsCh_retID 0x0000
#define BA_dsCh_retID_addr 0x0000
#define B16dsCh_retID_addr 0x0000
#define LSb32dsCh_retID_addr 0
#define LSb16dsCh_retID_addr 0
#define bdsCh_retID_addr 16
#define MSK32dsCh_retID_addr 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_dsCh_initID 0x0004
#define BA_dsCh_initID_Val 0x0004
#define B16dsCh_initID_Val 0x0004
#define LSb32dsCh_initID_Val 0
#define LSb16dsCh_initID_Val 0
#define bdsCh_initID_Val 16
#define MSK32dsCh_initID_Val 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_dsCh {
///////////////////////////////////////////////////////////
#define GET32dsCh_retID_addr(r32) _BFGET_(r32,15, 0)
#define SET32dsCh_retID_addr(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dsCh_retID_addr(r16) _BFGET_(r16,15, 0)
#define SET16dsCh_retID_addr(r16,v) _BFSET_(r16,15, 0,v)
#define w32dsCh_retID {\
UNSG32 uretID_addr : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32dsCh_retID;
struct w32dsCh_retID;
};
///////////////////////////////////////////////////////////
#define GET32dsCh_initID_Val(r32) _BFGET_(r32,15, 0)
#define SET32dsCh_initID_Val(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dsCh_initID_Val(r16) _BFGET_(r16,15, 0)
#define SET16dsCh_initID_Val(r16,v) _BFSET_(r16,15, 0,v)
#define w32dsCh_initID {\
UNSG32 uinitID_Val : 16;\
UNSG32 RSVDx4_b16 : 16;\
}
union { UNSG32 u32dsCh_initID;
struct w32dsCh_initID;
};
///////////////////////////////////////////////////////////
} SIE_dsCh;
typedef union T32dsCh_retID
{ UNSG32 u32;
struct w32dsCh_retID;
} T32dsCh_retID;
typedef union T32dsCh_initID
{ UNSG32 u32;
struct w32dsCh_initID;
} T32dsCh_initID;
///////////////////////////////////////////////////////////
typedef union TdsCh_retID
{ UNSG32 u32[1];
struct {
struct w32dsCh_retID;
};
} TdsCh_retID;
typedef union TdsCh_initID
{ UNSG32 u32[1];
struct {
struct w32dsCh_initID;
};
} TdsCh_initID;
///////////////////////////////////////////////////////////
SIGN32 dsCh_drvrd(SIE_dsCh *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dsCh_drvwr(SIE_dsCh *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dsCh_reset(SIE_dsCh *p);
SIGN32 dsCh_cmp (SIE_dsCh *p, SIE_dsCh *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dsCh_check(p,pie,pfx,hLOG) dsCh_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dsCh_print(p, pfx,hLOG) dsCh_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dsCh
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE DataStreamer biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 dsCh (P)
/// # 0x00000 dsCh
/// $dsCh dsCh REG [4]
/// ###
/// * The command that was just finished by Data Streamer generated interrupt; write 1 to clear
/// ###
/// @ 0x00020 intr (WOC-)
/// %unsigned 1 st_0i
/// %unsigned 1 st_1i
/// %unsigned 1 st_2i
/// %unsigned 1 st_3i
/// ###
/// * Interrupt status
/// ###
/// %% 28 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 36B, bits: 132b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_DataStreamer
#define h_DataStreamer (){}
#define RA_DataStreamer_dsCh 0x0000
///////////////////////////////////////////////////////////
#define RA_DataStreamer_intr 0x0020
#define BA_DataStreamer_intr_st_0i 0x0020
#define B16DataStreamer_intr_st_0i 0x0020
#define LSb32DataStreamer_intr_st_0i 0
#define LSb16DataStreamer_intr_st_0i 0
#define bDataStreamer_intr_st_0i 1
#define MSK32DataStreamer_intr_st_0i 0x00000001
#define BA_DataStreamer_intr_st_1i 0x0020
#define B16DataStreamer_intr_st_1i 0x0020
#define LSb32DataStreamer_intr_st_1i 1
#define LSb16DataStreamer_intr_st_1i 1
#define bDataStreamer_intr_st_1i 1
#define MSK32DataStreamer_intr_st_1i 0x00000002
#define BA_DataStreamer_intr_st_2i 0x0020
#define B16DataStreamer_intr_st_2i 0x0020
#define LSb32DataStreamer_intr_st_2i 2
#define LSb16DataStreamer_intr_st_2i 2
#define bDataStreamer_intr_st_2i 1
#define MSK32DataStreamer_intr_st_2i 0x00000004
#define BA_DataStreamer_intr_st_3i 0x0020
#define B16DataStreamer_intr_st_3i 0x0020
#define LSb32DataStreamer_intr_st_3i 3
#define LSb16DataStreamer_intr_st_3i 3
#define bDataStreamer_intr_st_3i 1
#define MSK32DataStreamer_intr_st_3i 0x00000008
///////////////////////////////////////////////////////////
typedef struct SIE_DataStreamer {
///////////////////////////////////////////////////////////
SIE_dsCh ie_dsCh[4];
///////////////////////////////////////////////////////////
#define GET32DataStreamer_intr_st_0i(r32) _BFGET_(r32, 0, 0)
#define SET32DataStreamer_intr_st_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16DataStreamer_intr_st_0i(r16) _BFGET_(r16, 0, 0)
#define SET16DataStreamer_intr_st_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32DataStreamer_intr_st_1i(r32) _BFGET_(r32, 1, 1)
#define SET32DataStreamer_intr_st_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16DataStreamer_intr_st_1i(r16) _BFGET_(r16, 1, 1)
#define SET16DataStreamer_intr_st_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32DataStreamer_intr_st_2i(r32) _BFGET_(r32, 2, 2)
#define SET32DataStreamer_intr_st_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16DataStreamer_intr_st_2i(r16) _BFGET_(r16, 2, 2)
#define SET16DataStreamer_intr_st_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32DataStreamer_intr_st_3i(r32) _BFGET_(r32, 3, 3)
#define SET32DataStreamer_intr_st_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16DataStreamer_intr_st_3i(r16) _BFGET_(r16, 3, 3)
#define SET16DataStreamer_intr_st_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define w32DataStreamer_intr {\
UNSG32 uintr_st_0i : 1;\
UNSG32 uintr_st_1i : 1;\
UNSG32 uintr_st_2i : 1;\
UNSG32 uintr_st_3i : 1;\
UNSG32 RSVDx20_b4 : 28;\
}
union { UNSG32 u32DataStreamer_intr;
struct w32DataStreamer_intr;
};
///////////////////////////////////////////////////////////
} SIE_DataStreamer;
typedef union T32DataStreamer_intr
{ UNSG32 u32;
struct w32DataStreamer_intr;
} T32DataStreamer_intr;
///////////////////////////////////////////////////////////
typedef union TDataStreamer_intr
{ UNSG32 u32[1];
struct {
struct w32DataStreamer_intr;
};
} TDataStreamer_intr;
///////////////////////////////////////////////////////////
SIGN32 DataStreamer_drvrd(SIE_DataStreamer *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 DataStreamer_drvwr(SIE_DataStreamer *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void DataStreamer_reset(SIE_DataStreamer *p);
SIGN32 DataStreamer_cmp (SIE_DataStreamer *p, SIE_DataStreamer *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define DataStreamer_check(p,pie,pfx,hLOG) DataStreamer_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define DataStreamer_print(p, pfx,hLOG) DataStreamer_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: DataStreamer
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ALU64CMD (4,4)
/// ###
/// * 16-bit + 6-bit parameters for A64CMD
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 par (W-)
/// %unsigned 16 rS
/// ###
/// * rS register for A64CMD
/// ###
/// %unsigned 6 q6
/// ###
/// * q6 parameter for A64CMD
/// * end ALU64CMD
/// ###
/// %% 10 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 22b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ALU64CMD
#define h_ALU64CMD (){}
#define RA_ALU64CMD_par 0x0000
#define BA_ALU64CMD_par_rS 0x0000
#define B16ALU64CMD_par_rS 0x0000
#define LSb32ALU64CMD_par_rS 0
#define LSb16ALU64CMD_par_rS 0
#define bALU64CMD_par_rS 16
#define MSK32ALU64CMD_par_rS 0x0000FFFF
#define BA_ALU64CMD_par_q6 0x0002
#define B16ALU64CMD_par_q6 0x0002
#define LSb32ALU64CMD_par_q6 16
#define LSb16ALU64CMD_par_q6 0
#define bALU64CMD_par_q6 6
#define MSK32ALU64CMD_par_q6 0x003F0000
///////////////////////////////////////////////////////////
typedef struct SIE_ALU64CMD {
///////////////////////////////////////////////////////////
#define GET32ALU64CMD_par_rS(r32) _BFGET_(r32,15, 0)
#define SET32ALU64CMD_par_rS(r32,v) _BFSET_(r32,15, 0,v)
#define GET16ALU64CMD_par_rS(r16) _BFGET_(r16,15, 0)
#define SET16ALU64CMD_par_rS(r16,v) _BFSET_(r16,15, 0,v)
#define GET32ALU64CMD_par_q6(r32) _BFGET_(r32,21,16)
#define SET32ALU64CMD_par_q6(r32,v) _BFSET_(r32,21,16,v)
#define GET16ALU64CMD_par_q6(r16) _BFGET_(r16, 5, 0)
#define SET16ALU64CMD_par_q6(r16,v) _BFSET_(r16, 5, 0,v)
#define w32ALU64CMD_par {\
UNSG32 upar_rS : 16;\
UNSG32 upar_q6 : 6;\
UNSG32 RSVDx0_b22 : 10;\
}
union { UNSG32 u32ALU64CMD_par;
struct w32ALU64CMD_par;
};
///////////////////////////////////////////////////////////
} SIE_ALU64CMD;
typedef union T32ALU64CMD_par
{ UNSG32 u32;
struct w32ALU64CMD_par;
} T32ALU64CMD_par;
///////////////////////////////////////////////////////////
typedef union TALU64CMD_par
{ UNSG32 u32[1];
struct {
struct w32ALU64CMD_par;
};
} TALU64CMD_par;
///////////////////////////////////////////////////////////
SIGN32 ALU64CMD_drvrd(SIE_ALU64CMD *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ALU64CMD_drvwr(SIE_ALU64CMD *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ALU64CMD_reset(SIE_ALU64CMD *p);
SIGN32 ALU64CMD_cmp (SIE_ALU64CMD *p, SIE_ALU64CMD *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ALU64CMD_check(p,pie,pfx,hLOG) ALU64CMD_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ALU64CMD_print(p, pfx,hLOG) ALU64CMD_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ALU64CMD
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE A64CmdAll (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 ext (P)
/// # 0x00000 ext
/// $ALU64CMD ext REG [256]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 1024B, bits: 5632b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_A64CmdAll
#define h_A64CmdAll (){}
#define RA_A64CmdAll_ext 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_A64CmdAll {
///////////////////////////////////////////////////////////
SIE_ALU64CMD ie_ext[256];
///////////////////////////////////////////////////////////
} SIE_A64CmdAll;
///////////////////////////////////////////////////////////
SIGN32 A64CmdAll_drvrd(SIE_A64CmdAll *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 A64CmdAll_drvwr(SIE_A64CmdAll *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void A64CmdAll_reset(SIE_A64CmdAll *p);
SIGN32 A64CmdAll_cmp (SIE_A64CmdAll *p, SIE_A64CmdAll *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define A64CmdAll_check(p,pie,pfx,hLOG) A64CmdAll_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define A64CmdAll_print(p, pfx,hLOG) A64CmdAll_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: A64CmdAll
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ALU64DAT (4,4)
/// ###
/// * 64-bit return data from ALU64 extensions
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 low (R-)
/// %unsigned 32 val
/// ###
/// * Lower 32-bit of the ALU64 return value; read triggers ALU64 extension pop
/// ###
/// @ 0x00004 high (R-)
/// %unsigned 32 val
/// ###
/// * Higher 32-bit of the ALU64 return value
/// * end ALU64DAT
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ALU64DAT
#define h_ALU64DAT (){}
#define RA_ALU64DAT_low 0x0000
#define BA_ALU64DAT_low_val 0x0000
#define B16ALU64DAT_low_val 0x0000
#define LSb32ALU64DAT_low_val 0
#define LSb16ALU64DAT_low_val 0
#define bALU64DAT_low_val 32
#define MSK32ALU64DAT_low_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_ALU64DAT_high 0x0004
#define BA_ALU64DAT_high_val 0x0004
#define B16ALU64DAT_high_val 0x0004
#define LSb32ALU64DAT_high_val 0
#define LSb16ALU64DAT_high_val 0
#define bALU64DAT_high_val 32
#define MSK32ALU64DAT_high_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_ALU64DAT {
///////////////////////////////////////////////////////////
#define GET32ALU64DAT_low_val(r32) _BFGET_(r32,31, 0)
#define SET32ALU64DAT_low_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32ALU64DAT_low {\
UNSG32 ulow_val : 32;\
}
union { UNSG32 u32ALU64DAT_low;
struct w32ALU64DAT_low;
};
///////////////////////////////////////////////////////////
#define GET32ALU64DAT_high_val(r32) _BFGET_(r32,31, 0)
#define SET32ALU64DAT_high_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32ALU64DAT_high {\
UNSG32 uhigh_val : 32;\
}
union { UNSG32 u32ALU64DAT_high;
struct w32ALU64DAT_high;
};
///////////////////////////////////////////////////////////
} SIE_ALU64DAT;
typedef union T32ALU64DAT_low
{ UNSG32 u32;
struct w32ALU64DAT_low;
} T32ALU64DAT_low;
typedef union T32ALU64DAT_high
{ UNSG32 u32;
struct w32ALU64DAT_high;
} T32ALU64DAT_high;
///////////////////////////////////////////////////////////
typedef union TALU64DAT_low
{ UNSG32 u32[1];
struct {
struct w32ALU64DAT_low;
};
} TALU64DAT_low;
typedef union TALU64DAT_high
{ UNSG32 u32[1];
struct {
struct w32ALU64DAT_high;
};
} TALU64DAT_high;
///////////////////////////////////////////////////////////
SIGN32 ALU64DAT_drvrd(SIE_ALU64DAT *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ALU64DAT_drvwr(SIE_ALU64DAT *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ALU64DAT_reset(SIE_ALU64DAT *p);
SIGN32 ALU64DAT_cmp (SIE_ALU64DAT *p, SIE_ALU64DAT *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ALU64DAT_check(p,pie,pfx,hLOG) ALU64DAT_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ALU64DAT_print(p, pfx,hLOG) ALU64DAT_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ALU64DAT
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE A64DatAll (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 ext (P)
/// # 0x00000 ext
/// $ALU64DAT ext REG [256]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 2048B, bits: 16384b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_A64DatAll
#define h_A64DatAll (){}
#define RA_A64DatAll_ext 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_A64DatAll {
///////////////////////////////////////////////////////////
SIE_ALU64DAT ie_ext[256];
///////////////////////////////////////////////////////////
} SIE_A64DatAll;
///////////////////////////////////////////////////////////
SIGN32 A64DatAll_drvrd(SIE_A64DatAll *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 A64DatAll_drvwr(SIE_A64DatAll *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void A64DatAll_reset(SIE_A64DatAll *p);
SIGN32 A64DatAll_cmp (SIE_A64DatAll *p, SIE_A64DatAll *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define A64DatAll_check(p,pie,pfx,hLOG) A64DatAll_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define A64DatAll_print(p, pfx,hLOG) A64DatAll_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: A64DatAll
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ALU64 biu (4,4)
/// ###
/// * Registers ports for CPU to access FIGO ALU64 extensions
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 xT_l (P)
/// %unsigned 32 val
/// ###
/// * Higher 32-bit of the FIGO xT register
/// ###
/// @ 0x00004 xT_h (P)
/// %unsigned 32 val
/// ###
/// * Lower 32-bit of the FIGO xT register
/// ###
/// @ 0x00008 X2Q (RW-)
/// %unsigned 6 adr
/// ###
/// * Write triggers a transfer from {xt_H, xt_L} to RF64 selected by the address
/// ###
/// %% 26 # Stuffing bits...
/// @ 0x0000C PopParam (P)
/// %unsigned 16 rS
/// ###
/// * rS register for A64LD
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00010 (W-)
/// # # Stuffing bytes...
/// %% 8064
/// @ 0x00400 Push (P)
/// # 0x00400 a64CmdAll
/// $A64CmdAll a64CmdAll MEM
/// ###
/// * Write triggers A64CMD
/// ###
/// @ 0x00800 Pop (P)
/// # 0x00800 a64DatAll
/// $A64DatAll a64DatAll MEM
/// ###
/// * Read triggers A64LD
/// * ALU64 interface
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4096B, bits: 150b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ALU64
#define h_ALU64 (){}
#define RA_ALU64_xT_l 0x0000
#define BA_ALU64_xT_l_val 0x0000
#define B16ALU64_xT_l_val 0x0000
#define LSb32ALU64_xT_l_val 0
#define LSb16ALU64_xT_l_val 0
#define bALU64_xT_l_val 32
#define MSK32ALU64_xT_l_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_ALU64_xT_h 0x0004
#define BA_ALU64_xT_h_val 0x0004
#define B16ALU64_xT_h_val 0x0004
#define LSb32ALU64_xT_h_val 0
#define LSb16ALU64_xT_h_val 0
#define bALU64_xT_h_val 32
#define MSK32ALU64_xT_h_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_ALU64_X2Q 0x0008
#define BA_ALU64_X2Q_adr 0x0008
#define B16ALU64_X2Q_adr 0x0008
#define LSb32ALU64_X2Q_adr 0
#define LSb16ALU64_X2Q_adr 0
#define bALU64_X2Q_adr 6
#define MSK32ALU64_X2Q_adr 0x0000003F
///////////////////////////////////////////////////////////
#define RA_ALU64_PopParam 0x000C
#define BA_ALU64_PopParam_rS 0x000C
#define B16ALU64_PopParam_rS 0x000C
#define LSb32ALU64_PopParam_rS 0
#define LSb16ALU64_PopParam_rS 0
#define bALU64_PopParam_rS 16
#define MSK32ALU64_PopParam_rS 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_ALU64_Push 0x0400
#define RA_ALU64_a64CmdAll 0x0400
///////////////////////////////////////////////////////////
#define RA_ALU64_Pop 0x0800
#define RA_ALU64_a64DatAll 0x0800
///////////////////////////////////////////////////////////
typedef struct SIE_ALU64 {
///////////////////////////////////////////////////////////
#define GET32ALU64_xT_l_val(r32) _BFGET_(r32,31, 0)
#define SET32ALU64_xT_l_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32ALU64_xT_l {\
UNSG32 uxT_l_val : 32;\
}
union { UNSG32 u32ALU64_xT_l;
struct w32ALU64_xT_l;
};
///////////////////////////////////////////////////////////
#define GET32ALU64_xT_h_val(r32) _BFGET_(r32,31, 0)
#define SET32ALU64_xT_h_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32ALU64_xT_h {\
UNSG32 uxT_h_val : 32;\
}
union { UNSG32 u32ALU64_xT_h;
struct w32ALU64_xT_h;
};
///////////////////////////////////////////////////////////
#define GET32ALU64_X2Q_adr(r32) _BFGET_(r32, 5, 0)
#define SET32ALU64_X2Q_adr(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16ALU64_X2Q_adr(r16) _BFGET_(r16, 5, 0)
#define SET16ALU64_X2Q_adr(r16,v) _BFSET_(r16, 5, 0,v)
#define w32ALU64_X2Q {\
UNSG32 uX2Q_adr : 6;\
UNSG32 RSVDx8_b6 : 26;\
}
union { UNSG32 u32ALU64_X2Q;
struct w32ALU64_X2Q;
};
///////////////////////////////////////////////////////////
#define GET32ALU64_PopParam_rS(r32) _BFGET_(r32,15, 0)
#define SET32ALU64_PopParam_rS(r32,v) _BFSET_(r32,15, 0,v)
#define GET16ALU64_PopParam_rS(r16) _BFGET_(r16,15, 0)
#define SET16ALU64_PopParam_rS(r16,v) _BFSET_(r16,15, 0,v)
#define w32ALU64_PopParam {\
UNSG32 uPopParam_rS : 16;\
UNSG32 RSVDxC_b16 : 16;\
}
union { UNSG32 u32ALU64_PopParam;
struct w32ALU64_PopParam;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx10 [1008];
///////////////////////////////////////////////////////////
SIE_A64CmdAll ie_a64CmdAll;
///////////////////////////////////////////////////////////
SIE_A64DatAll ie_a64DatAll;
///////////////////////////////////////////////////////////
} SIE_ALU64;
typedef union T32ALU64_xT_l
{ UNSG32 u32;
struct w32ALU64_xT_l;
} T32ALU64_xT_l;
typedef union T32ALU64_xT_h
{ UNSG32 u32;
struct w32ALU64_xT_h;
} T32ALU64_xT_h;
typedef union T32ALU64_X2Q
{ UNSG32 u32;
struct w32ALU64_X2Q;
} T32ALU64_X2Q;
typedef union T32ALU64_PopParam
{ UNSG32 u32;
struct w32ALU64_PopParam;
} T32ALU64_PopParam;
///////////////////////////////////////////////////////////
typedef union TALU64_xT_l
{ UNSG32 u32[1];
struct {
struct w32ALU64_xT_l;
};
} TALU64_xT_l;
typedef union TALU64_xT_h
{ UNSG32 u32[1];
struct {
struct w32ALU64_xT_h;
};
} TALU64_xT_h;
typedef union TALU64_X2Q
{ UNSG32 u32[1];
struct {
struct w32ALU64_X2Q;
};
} TALU64_X2Q;
typedef union TALU64_PopParam
{ UNSG32 u32[1];
struct {
struct w32ALU64_PopParam;
};
} TALU64_PopParam;
///////////////////////////////////////////////////////////
SIGN32 ALU64_drvrd(SIE_ALU64 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ALU64_drvwr(SIE_ALU64 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ALU64_reset(SIE_ALU64 *p);
SIGN32 ALU64_cmp (SIE_ALU64 *p, SIE_ALU64 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ALU64_check(p,pie,pfx,hLOG) ALU64_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ALU64_print(p, pfx,hLOG) ALU64_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ALU64
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoTraceBuf biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 entry (P)
/// %unsigned 32 val
/// ###
/// * Register window for the trace buffer
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoTraceBuf
#define h_FigoTraceBuf (){}
#define RA_FigoTraceBuf_entry 0x0000
#define BA_FigoTraceBuf_entry_val 0x0000
#define B16FigoTraceBuf_entry_val 0x0000
#define LSb32FigoTraceBuf_entry_val 0
#define LSb16FigoTraceBuf_entry_val 0
#define bFigoTraceBuf_entry_val 32
#define MSK32FigoTraceBuf_entry_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoTraceBuf {
///////////////////////////////////////////////////////////
#define GET32FigoTraceBuf_entry_val(r32) _BFGET_(r32,31, 0)
#define SET32FigoTraceBuf_entry_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32FigoTraceBuf_entry {\
UNSG32 uentry_val : 32;\
}
union { UNSG32 u32FigoTraceBuf_entry;
struct w32FigoTraceBuf_entry;
};
///////////////////////////////////////////////////////////
} SIE_FigoTraceBuf;
typedef union T32FigoTraceBuf_entry
{ UNSG32 u32;
struct w32FigoTraceBuf_entry;
} T32FigoTraceBuf_entry;
///////////////////////////////////////////////////////////
typedef union TFigoTraceBuf_entry
{ UNSG32 u32[1];
struct {
struct w32FigoTraceBuf_entry;
};
} TFigoTraceBuf_entry;
///////////////////////////////////////////////////////////
SIGN32 FigoTraceBuf_drvrd(SIE_FigoTraceBuf *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoTraceBuf_drvwr(SIE_FigoTraceBuf *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoTraceBuf_reset(SIE_FigoTraceBuf *p);
SIGN32 FigoTraceBuf_cmp (SIE_FigoTraceBuf *p, SIE_FigoTraceBuf *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoTraceBuf_check(p,pie,pfx,hLOG) FigoTraceBuf_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoTraceBuf_print(p, pfx,hLOG) FigoTraceBuf_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoTraceBuf
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoReg16 biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 entry (P)
/// %unsigned 16 val
/// ###
/// * Register window for the trace buffer
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoReg16
#define h_FigoReg16 (){}
#define RA_FigoReg16_entry 0x0000
#define BA_FigoReg16_entry_val 0x0000
#define B16FigoReg16_entry_val 0x0000
#define LSb32FigoReg16_entry_val 0
#define LSb16FigoReg16_entry_val 0
#define bFigoReg16_entry_val 16
#define MSK32FigoReg16_entry_val 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoReg16 {
///////////////////////////////////////////////////////////
#define GET32FigoReg16_entry_val(r32) _BFGET_(r32,15, 0)
#define SET32FigoReg16_entry_val(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoReg16_entry_val(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg16_entry_val(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoReg16_entry {\
UNSG32 uentry_val : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32FigoReg16_entry;
struct w32FigoReg16_entry;
};
///////////////////////////////////////////////////////////
} SIE_FigoReg16;
typedef union T32FigoReg16_entry
{ UNSG32 u32;
struct w32FigoReg16_entry;
} T32FigoReg16_entry;
///////////////////////////////////////////////////////////
typedef union TFigoReg16_entry
{ UNSG32 u32[1];
struct {
struct w32FigoReg16_entry;
};
} TFigoReg16_entry;
///////////////////////////////////////////////////////////
SIGN32 FigoReg16_drvrd(SIE_FigoReg16 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoReg16_drvwr(SIE_FigoReg16 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoReg16_reset(SIE_FigoReg16 *p);
SIGN32 FigoReg16_cmp (SIE_FigoReg16 *p, SIE_FigoReg16 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoReg16_check(p,pie,pfx,hLOG) FigoReg16_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoReg16_print(p, pfx,hLOG) FigoReg16_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoReg16
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoRF16Reg biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 entry (RW)
/// %unsigned 16 val 0x0
/// ###
/// * Register window for the RF16 access in debug mode
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoRF16Reg
#define h_FigoRF16Reg (){}
#define RA_FigoRF16Reg_entry 0x0000
#define BA_FigoRF16Reg_entry_val 0x0000
#define B16FigoRF16Reg_entry_val 0x0000
#define LSb32FigoRF16Reg_entry_val 0
#define LSb16FigoRF16Reg_entry_val 0
#define bFigoRF16Reg_entry_val 16
#define MSK32FigoRF16Reg_entry_val 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoRF16Reg {
///////////////////////////////////////////////////////////
#define GET32FigoRF16Reg_entry_val(r32) _BFGET_(r32,15, 0)
#define SET32FigoRF16Reg_entry_val(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoRF16Reg_entry_val(r16) _BFGET_(r16,15, 0)
#define SET16FigoRF16Reg_entry_val(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoRF16Reg_entry {\
UNSG32 uentry_val : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32FigoRF16Reg_entry;
struct w32FigoRF16Reg_entry;
};
///////////////////////////////////////////////////////////
} SIE_FigoRF16Reg;
typedef union T32FigoRF16Reg_entry
{ UNSG32 u32;
struct w32FigoRF16Reg_entry;
} T32FigoRF16Reg_entry;
///////////////////////////////////////////////////////////
typedef union TFigoRF16Reg_entry
{ UNSG32 u32[1];
struct {
struct w32FigoRF16Reg_entry;
};
} TFigoRF16Reg_entry;
///////////////////////////////////////////////////////////
SIGN32 FigoRF16Reg_drvrd(SIE_FigoRF16Reg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoRF16Reg_drvwr(SIE_FigoRF16Reg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoRF16Reg_reset(SIE_FigoRF16Reg *p);
SIGN32 FigoRF16Reg_cmp (SIE_FigoRF16Reg *p, SIE_FigoRF16Reg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoRF16Reg_check(p,pie,pfx,hLOG) FigoRF16Reg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoRF16Reg_print(p, pfx,hLOG) FigoRF16Reg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoRF16Reg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoMem16 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 entry (RW-)
/// %unsigned 16 val
/// ###
/// * Register window for the Jump Stack access in debug mode
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoMem16
#define h_FigoMem16 (){}
#define RA_FigoMem16_entry 0x0000
#define BA_FigoMem16_entry_val 0x0000
#define B16FigoMem16_entry_val 0x0000
#define LSb32FigoMem16_entry_val 0
#define LSb16FigoMem16_entry_val 0
#define bFigoMem16_entry_val 16
#define MSK32FigoMem16_entry_val 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoMem16 {
///////////////////////////////////////////////////////////
#define GET32FigoMem16_entry_val(r32) _BFGET_(r32,15, 0)
#define SET32FigoMem16_entry_val(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoMem16_entry_val(r16) _BFGET_(r16,15, 0)
#define SET16FigoMem16_entry_val(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoMem16_entry {\
UNSG32 uentry_val : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32FigoMem16_entry;
struct w32FigoMem16_entry;
};
///////////////////////////////////////////////////////////
} SIE_FigoMem16;
typedef union T32FigoMem16_entry
{ UNSG32 u32;
struct w32FigoMem16_entry;
} T32FigoMem16_entry;
///////////////////////////////////////////////////////////
typedef union TFigoMem16_entry
{ UNSG32 u32[1];
struct {
struct w32FigoMem16_entry;
};
} TFigoMem16_entry;
///////////////////////////////////////////////////////////
SIGN32 FigoMem16_drvrd(SIE_FigoMem16 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoMem16_drvwr(SIE_FigoMem16 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoMem16_reset(SIE_FigoMem16 *p);
SIGN32 FigoMem16_cmp (SIE_FigoMem16 *p, SIE_FigoMem16 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoMem16_check(p,pie,pfx,hLOG) FigoMem16_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoMem16_print(p, pfx,hLOG) FigoMem16_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoMem16
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoMem32 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 entry (RW-)
/// %unsigned 32 val
/// ###
/// * Register window for the Jump Stack access in debug mode
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoMem32
#define h_FigoMem32 (){}
#define RA_FigoMem32_entry 0x0000
#define BA_FigoMem32_entry_val 0x0000
#define B16FigoMem32_entry_val 0x0000
#define LSb32FigoMem32_entry_val 0
#define LSb16FigoMem32_entry_val 0
#define bFigoMem32_entry_val 32
#define MSK32FigoMem32_entry_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoMem32 {
///////////////////////////////////////////////////////////
#define GET32FigoMem32_entry_val(r32) _BFGET_(r32,31, 0)
#define SET32FigoMem32_entry_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32FigoMem32_entry {\
UNSG32 uentry_val : 32;\
}
union { UNSG32 u32FigoMem32_entry;
struct w32FigoMem32_entry;
};
///////////////////////////////////////////////////////////
} SIE_FigoMem32;
typedef union T32FigoMem32_entry
{ UNSG32 u32;
struct w32FigoMem32_entry;
} T32FigoMem32_entry;
///////////////////////////////////////////////////////////
typedef union TFigoMem32_entry
{ UNSG32 u32[1];
struct {
struct w32FigoMem32_entry;
};
} TFigoMem32_entry;
///////////////////////////////////////////////////////////
SIGN32 FigoMem32_drvrd(SIE_FigoMem32 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoMem32_drvwr(SIE_FigoMem32 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoMem32_reset(SIE_FigoMem32 *p);
SIGN32 FigoMem32_cmp (SIE_FigoMem32 *p, SIE_FigoMem32 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoMem32_check(p,pie,pfx,hLOG) FigoMem32_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoMem32_print(p, pfx,hLOG) FigoMem32_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoMem32
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoDebug biu (4,4)
/// ###
/// * FIGO debug mode related registers and signals
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 figoDbg (RW-)
/// ###
/// * Puts FIGO in debug mode
/// ###
/// %unsigned 1 on 0x0
/// %% 31 # Stuffing bits...
/// @ 0x00004 figoDbgMode (P)
/// ###
/// * Determines FIGO's behavior in debug mode
/// ###
/// %unsigned 2 mode 0x0
/// : stop 0x0
/// ###
/// * FIGO flushes and stalls its pipeline
/// ###
/// : step 0x1
/// ###
/// * FIGO executes one instruction at a time. Repeat to execute the next instruction.
/// ###
/// : slow_run 0x2
/// ###
/// * FIGO inserts sufficient bubbles between each instruction to bypass all forwarding logic
/// ###
/// : fast_run 0x3
/// ###
/// * FIGO resumes full-speed operation. Feature has been disabled due to timing impact.
/// ###
/// %% 30 # Stuffing bits...
/// @ 0x00008 figoDbgModeStatus (R-)
/// ###
/// * Similar to figoDbgMode, but read-only. Shows the actual status of FIGO, as it may be different from what is set in figoDbgMode.
/// ###
/// %unsigned 2 mode 0x0
/// : stop 0x0
/// : step 0x1
/// : slow_run 0x2
/// : fast_run 0x3
/// ###
/// * Same enumerations
/// ###
/// %% 30 # Stuffing bits...
/// @ 0x0000C figoDbgTrigInMask (P)
/// ###
/// * 4 mask bits for trigger-in signals from up to 4 other FIGOs hitting breakpoints.
/// ###
/// %unsigned 4 on 0xF
/// ###
/// * On by default, all trigger-ins are blocked.
/// ###
/// %% 28 # Stuffing bits...
/// @ 0x00010 (W-)
/// # # Stuffing bytes...
/// %% 384
/// @ 0x00040 figoDbgRF16 (RW-)
/// ###
/// * BIU access to RF16
/// ###
/// # 0x00040 rf16
/// $FigoMem16 rf16 MEM [16]
/// ###
/// * Register mapping
/// * x0 = {d0,c0,b0,a0} = MEM[3:0]
/// * x1 = {d1,c1,b1,a1} = MEM[7:4]
/// * x2 = {d2,c2,b2,a2} = MEM[11:8]
/// * x3 = {d3,c3,b3,a3} = MEM[15:12]
/// ###
/// @ 0x00080 figoDbgRB (RW-)
/// ###
/// * BIU access to RB register
/// ###
/// %unsigned 16 rb 0x0
/// %% 16 # Stuffing bits...
/// @ 0x00084 figoDbgPCAtFetch (R-)
/// ###
/// * BIU access to PC register at Fetch stage
/// ###
/// %unsigned 16 pc 0x0
/// %% 16 # Stuffing bits...
/// @ 0x00088 (W-)
/// # # Stuffing bytes...
/// %% 64
/// @ 0x00090 figoDbgJumpStack (RW-)
/// ###
/// * BIU access to jump stack
/// ###
/// # 0x00090 stack
/// $FigoMem32 stack MEM [4]
/// ###
/// * Register mapping
/// * MEM[0] = {branchPos[0],jumpDest[0]}
/// * MEM[1] = {branchPos[1],jumpDest[1]}
/// * MEM[2] = {branchPos[2],jumpDest[2]}
/// * MEM[3] = {branchPos[3],jumpDest[3]}
/// ###
/// @ 0x000A0 figoDbgStackDepth (R-)
/// ###
/// * BIU access to number of current jump stack entries
/// ###
/// %unsigned 5 depth 0x0
/// ###
/// * Values are one-hot. Following actual stack pointer implementation inside FIGO so that no additional logic is required.
/// * 00001 = 0 valid entries (stack empty)
/// * 00010 = 1 valid entry
/// * 00100 = 2 valid entries
/// * 01000 = 3 valid entries
/// * 10000 = 4 valid entries (stack full)
/// ###
/// %% 27 # Stuffing bits...
/// @ 0x000A4 figoDbgFlags (R-)
/// ###
/// * BIU access to flags register
/// ###
/// %unsigned 16 flags 0x0
/// ###
/// * flags[15:0] = {LSj, Lj, GSj, Gj, LS, L, GS, G, 1, 0, Cj, Zj, V, N, C, Z}
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x000A8 figoDbgBreak (WOC-)
/// ###
/// * Bit that indicates FIGO entered debug mode due to breakpoint
/// ###
/// %unsigned 1 up 0x0
/// ###
/// * Write one to clear
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x000AC figoDbgBkBitWen (P)
/// ###
/// * Enable bit to allow breakpoint bits to be written into ITCM by BIU.
/// ###
/// %unsigned 1 en 0x0
/// ###
/// * Additional enable bit to safeguard against accidentally writing ones into the breakpoint fields of the ITCM.
/// * Register window for the trace buffer
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x000B0 (W-)
/// # # Stuffing bytes...
/// %% 128
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 192B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoDebug
#define h_FigoDebug (){}
#define RA_FigoDebug_figoDbg 0x0000
#define BA_FigoDebug_figoDbg_on 0x0000
#define B16FigoDebug_figoDbg_on 0x0000
#define LSb32FigoDebug_figoDbg_on 0
#define LSb16FigoDebug_figoDbg_on 0
#define bFigoDebug_figoDbg_on 1
#define MSK32FigoDebug_figoDbg_on 0x00000001
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgMode 0x0004
#define BA_FigoDebug_figoDbgMode_mode 0x0004
#define B16FigoDebug_figoDbgMode_mode 0x0004
#define LSb32FigoDebug_figoDbgMode_mode 0
#define LSb16FigoDebug_figoDbgMode_mode 0
#define bFigoDebug_figoDbgMode_mode 2
#define MSK32FigoDebug_figoDbgMode_mode 0x00000003
#define FigoDebug_figoDbgMode_mode_stop 0x0
#define FigoDebug_figoDbgMode_mode_step 0x1
#define FigoDebug_figoDbgMode_mode_slow_run 0x2
#define FigoDebug_figoDbgMode_mode_fast_run 0x3
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgModeStatus 0x0008
#define BA_FigoDebug_figoDbgModeStatus_mode 0x0008
#define B16FigoDebug_figoDbgModeStatus_mode 0x0008
#define LSb32FigoDebug_figoDbgModeStatus_mode 0
#define LSb16FigoDebug_figoDbgModeStatus_mode 0
#define bFigoDebug_figoDbgModeStatus_mode 2
#define MSK32FigoDebug_figoDbgModeStatus_mode 0x00000003
#define FigoDebug_figoDbgModeStatus_mode_stop 0x0
#define FigoDebug_figoDbgModeStatus_mode_step 0x1
#define FigoDebug_figoDbgModeStatus_mode_slow_run 0x2
#define FigoDebug_figoDbgModeStatus_mode_fast_run 0x3
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgTrigInMask 0x000C
#define BA_FigoDebug_figoDbgTrigInMask_on 0x000C
#define B16FigoDebug_figoDbgTrigInMask_on 0x000C
#define LSb32FigoDebug_figoDbgTrigInMask_on 0
#define LSb16FigoDebug_figoDbgTrigInMask_on 0
#define bFigoDebug_figoDbgTrigInMask_on 4
#define MSK32FigoDebug_figoDbgTrigInMask_on 0x0000000F
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgRF16 0x0040
#define RA_FigoDebug_rf16 0x0040
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgRB 0x0080
#define BA_FigoDebug_figoDbgRB_rb 0x0080
#define B16FigoDebug_figoDbgRB_rb 0x0080
#define LSb32FigoDebug_figoDbgRB_rb 0
#define LSb16FigoDebug_figoDbgRB_rb 0
#define bFigoDebug_figoDbgRB_rb 16
#define MSK32FigoDebug_figoDbgRB_rb 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgPCAtFetch 0x0084
#define BA_FigoDebug_figoDbgPCAtFetch_pc 0x0084
#define B16FigoDebug_figoDbgPCAtFetch_pc 0x0084
#define LSb32FigoDebug_figoDbgPCAtFetch_pc 0
#define LSb16FigoDebug_figoDbgPCAtFetch_pc 0
#define bFigoDebug_figoDbgPCAtFetch_pc 16
#define MSK32FigoDebug_figoDbgPCAtFetch_pc 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgJumpStack 0x0090
#define RA_FigoDebug_stack 0x0090
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgStackDepth 0x00A0
#define BA_FigoDebug_figoDbgStackDepth_depth 0x00A0
#define B16FigoDebug_figoDbgStackDepth_depth 0x00A0
#define LSb32FigoDebug_figoDbgStackDepth_depth 0
#define LSb16FigoDebug_figoDbgStackDepth_depth 0
#define bFigoDebug_figoDbgStackDepth_depth 5
#define MSK32FigoDebug_figoDbgStackDepth_depth 0x0000001F
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgFlags 0x00A4
#define BA_FigoDebug_figoDbgFlags_flags 0x00A4
#define B16FigoDebug_figoDbgFlags_flags 0x00A4
#define LSb32FigoDebug_figoDbgFlags_flags 0
#define LSb16FigoDebug_figoDbgFlags_flags 0
#define bFigoDebug_figoDbgFlags_flags 16
#define MSK32FigoDebug_figoDbgFlags_flags 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgBreak 0x00A8
#define BA_FigoDebug_figoDbgBreak_up 0x00A8
#define B16FigoDebug_figoDbgBreak_up 0x00A8
#define LSb32FigoDebug_figoDbgBreak_up 0
#define LSb16FigoDebug_figoDbgBreak_up 0
#define bFigoDebug_figoDbgBreak_up 1
#define MSK32FigoDebug_figoDbgBreak_up 0x00000001
///////////////////////////////////////////////////////////
#define RA_FigoDebug_figoDbgBkBitWen 0x00AC
#define BA_FigoDebug_figoDbgBkBitWen_en 0x00AC
#define B16FigoDebug_figoDbgBkBitWen_en 0x00AC
#define LSb32FigoDebug_figoDbgBkBitWen_en 0
#define LSb16FigoDebug_figoDbgBkBitWen_en 0
#define bFigoDebug_figoDbgBkBitWen_en 1
#define MSK32FigoDebug_figoDbgBkBitWen_en 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_FigoDebug {
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbg_on(r32) _BFGET_(r32, 0, 0)
#define SET32FigoDebug_figoDbg_on(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoDebug_figoDbg_on(r16) _BFGET_(r16, 0, 0)
#define SET16FigoDebug_figoDbg_on(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoDebug_figoDbg {\
UNSG32 ufigoDbg_on : 1;\
UNSG32 RSVDx0_b1 : 31;\
}
union { UNSG32 u32FigoDebug_figoDbg;
struct w32FigoDebug_figoDbg;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgMode_mode(r32) _BFGET_(r32, 1, 0)
#define SET32FigoDebug_figoDbgMode_mode(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16FigoDebug_figoDbgMode_mode(r16) _BFGET_(r16, 1, 0)
#define SET16FigoDebug_figoDbgMode_mode(r16,v) _BFSET_(r16, 1, 0,v)
#define w32FigoDebug_figoDbgMode {\
UNSG32 ufigoDbgMode_mode : 2;\
UNSG32 RSVDx4_b2 : 30;\
}
union { UNSG32 u32FigoDebug_figoDbgMode;
struct w32FigoDebug_figoDbgMode;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgModeStatus_mode(r32) _BFGET_(r32, 1, 0)
#define SET32FigoDebug_figoDbgModeStatus_mode(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16FigoDebug_figoDbgModeStatus_mode(r16) _BFGET_(r16, 1, 0)
#define SET16FigoDebug_figoDbgModeStatus_mode(r16,v) _BFSET_(r16, 1, 0,v)
#define w32FigoDebug_figoDbgModeStatus {\
UNSG32 ufigoDbgModeStatus_mode : 2;\
UNSG32 RSVDx8_b2 : 30;\
}
union { UNSG32 u32FigoDebug_figoDbgModeStatus;
struct w32FigoDebug_figoDbgModeStatus;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgTrigInMask_on(r32) _BFGET_(r32, 3, 0)
#define SET32FigoDebug_figoDbgTrigInMask_on(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16FigoDebug_figoDbgTrigInMask_on(r16) _BFGET_(r16, 3, 0)
#define SET16FigoDebug_figoDbgTrigInMask_on(r16,v) _BFSET_(r16, 3, 0,v)
#define w32FigoDebug_figoDbgTrigInMask {\
UNSG32 ufigoDbgTrigInMask_on : 4;\
UNSG32 RSVDxC_b4 : 28;\
}
union { UNSG32 u32FigoDebug_figoDbgTrigInMask;
struct w32FigoDebug_figoDbgTrigInMask;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx10 [48];
///////////////////////////////////////////////////////////
SIE_FigoMem16 ie_rf16[16];
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgRB_rb(r32) _BFGET_(r32,15, 0)
#define SET32FigoDebug_figoDbgRB_rb(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoDebug_figoDbgRB_rb(r16) _BFGET_(r16,15, 0)
#define SET16FigoDebug_figoDbgRB_rb(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoDebug_figoDbgRB {\
UNSG32 ufigoDbgRB_rb : 16;\
UNSG32 RSVDx80_b16 : 16;\
}
union { UNSG32 u32FigoDebug_figoDbgRB;
struct w32FigoDebug_figoDbgRB;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgPCAtFetch_pc(r32) _BFGET_(r32,15, 0)
#define SET32FigoDebug_figoDbgPCAtFetch_pc(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoDebug_figoDbgPCAtFetch_pc(r16) _BFGET_(r16,15, 0)
#define SET16FigoDebug_figoDbgPCAtFetch_pc(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoDebug_figoDbgPCAtFetch {\
UNSG32 ufigoDbgPCAtFetch_pc : 16;\
UNSG32 RSVDx84_b16 : 16;\
}
union { UNSG32 u32FigoDebug_figoDbgPCAtFetch;
struct w32FigoDebug_figoDbgPCAtFetch;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx88 [8];
///////////////////////////////////////////////////////////
SIE_FigoMem32 ie_stack[4];
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgStackDepth_depth(r32) _BFGET_(r32, 4, 0)
#define SET32FigoDebug_figoDbgStackDepth_depth(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16FigoDebug_figoDbgStackDepth_depth(r16) _BFGET_(r16, 4, 0)
#define SET16FigoDebug_figoDbgStackDepth_depth(r16,v) _BFSET_(r16, 4, 0,v)
#define w32FigoDebug_figoDbgStackDepth {\
UNSG32 ufigoDbgStackDepth_depth : 5;\
UNSG32 RSVDxA0_b5 : 27;\
}
union { UNSG32 u32FigoDebug_figoDbgStackDepth;
struct w32FigoDebug_figoDbgStackDepth;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgFlags_flags(r32) _BFGET_(r32,15, 0)
#define SET32FigoDebug_figoDbgFlags_flags(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoDebug_figoDbgFlags_flags(r16) _BFGET_(r16,15, 0)
#define SET16FigoDebug_figoDbgFlags_flags(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoDebug_figoDbgFlags {\
UNSG32 ufigoDbgFlags_flags : 16;\
UNSG32 RSVDxA4_b16 : 16;\
}
union { UNSG32 u32FigoDebug_figoDbgFlags;
struct w32FigoDebug_figoDbgFlags;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgBreak_up(r32) _BFGET_(r32, 0, 0)
#define SET32FigoDebug_figoDbgBreak_up(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoDebug_figoDbgBreak_up(r16) _BFGET_(r16, 0, 0)
#define SET16FigoDebug_figoDbgBreak_up(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoDebug_figoDbgBreak {\
UNSG32 ufigoDbgBreak_up : 1;\
UNSG32 RSVDxA8_b1 : 31;\
}
union { UNSG32 u32FigoDebug_figoDbgBreak;
struct w32FigoDebug_figoDbgBreak;
};
///////////////////////////////////////////////////////////
#define GET32FigoDebug_figoDbgBkBitWen_en(r32) _BFGET_(r32, 0, 0)
#define SET32FigoDebug_figoDbgBkBitWen_en(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoDebug_figoDbgBkBitWen_en(r16) _BFGET_(r16, 0, 0)
#define SET16FigoDebug_figoDbgBkBitWen_en(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoDebug_figoDbgBkBitWen {\
UNSG32 ufigoDbgBkBitWen_en : 1;\
UNSG32 RSVDxAC_b1 : 31;\
}
union { UNSG32 u32FigoDebug_figoDbgBkBitWen;
struct w32FigoDebug_figoDbgBkBitWen;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDxB0 [16];
///////////////////////////////////////////////////////////
} SIE_FigoDebug;
typedef union T32FigoDebug_figoDbg
{ UNSG32 u32;
struct w32FigoDebug_figoDbg;
} T32FigoDebug_figoDbg;
typedef union T32FigoDebug_figoDbgMode
{ UNSG32 u32;
struct w32FigoDebug_figoDbgMode;
} T32FigoDebug_figoDbgMode;
typedef union T32FigoDebug_figoDbgModeStatus
{ UNSG32 u32;
struct w32FigoDebug_figoDbgModeStatus;
} T32FigoDebug_figoDbgModeStatus;
typedef union T32FigoDebug_figoDbgTrigInMask
{ UNSG32 u32;
struct w32FigoDebug_figoDbgTrigInMask;
} T32FigoDebug_figoDbgTrigInMask;
typedef union T32FigoDebug_figoDbgRB
{ UNSG32 u32;
struct w32FigoDebug_figoDbgRB;
} T32FigoDebug_figoDbgRB;
typedef union T32FigoDebug_figoDbgPCAtFetch
{ UNSG32 u32;
struct w32FigoDebug_figoDbgPCAtFetch;
} T32FigoDebug_figoDbgPCAtFetch;
typedef union T32FigoDebug_figoDbgStackDepth
{ UNSG32 u32;
struct w32FigoDebug_figoDbgStackDepth;
} T32FigoDebug_figoDbgStackDepth;
typedef union T32FigoDebug_figoDbgFlags
{ UNSG32 u32;
struct w32FigoDebug_figoDbgFlags;
} T32FigoDebug_figoDbgFlags;
typedef union T32FigoDebug_figoDbgBreak
{ UNSG32 u32;
struct w32FigoDebug_figoDbgBreak;
} T32FigoDebug_figoDbgBreak;
typedef union T32FigoDebug_figoDbgBkBitWen
{ UNSG32 u32;
struct w32FigoDebug_figoDbgBkBitWen;
} T32FigoDebug_figoDbgBkBitWen;
///////////////////////////////////////////////////////////
typedef union TFigoDebug_figoDbg
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbg;
};
} TFigoDebug_figoDbg;
typedef union TFigoDebug_figoDbgMode
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgMode;
};
} TFigoDebug_figoDbgMode;
typedef union TFigoDebug_figoDbgModeStatus
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgModeStatus;
};
} TFigoDebug_figoDbgModeStatus;
typedef union TFigoDebug_figoDbgTrigInMask
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgTrigInMask;
};
} TFigoDebug_figoDbgTrigInMask;
typedef union TFigoDebug_figoDbgRB
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgRB;
};
} TFigoDebug_figoDbgRB;
typedef union TFigoDebug_figoDbgPCAtFetch
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgPCAtFetch;
};
} TFigoDebug_figoDbgPCAtFetch;
typedef union TFigoDebug_figoDbgStackDepth
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgStackDepth;
};
} TFigoDebug_figoDbgStackDepth;
typedef union TFigoDebug_figoDbgFlags
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgFlags;
};
} TFigoDebug_figoDbgFlags;
typedef union TFigoDebug_figoDbgBreak
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgBreak;
};
} TFigoDebug_figoDbgBreak;
typedef union TFigoDebug_figoDbgBkBitWen
{ UNSG32 u32[1];
struct {
struct w32FigoDebug_figoDbgBkBitWen;
};
} TFigoDebug_figoDbgBkBitWen;
///////////////////////////////////////////////////////////
SIGN32 FigoDebug_drvrd(SIE_FigoDebug *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoDebug_drvwr(SIE_FigoDebug *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoDebug_reset(SIE_FigoDebug *p);
SIGN32 FigoDebug_cmp (SIE_FigoDebug *p, SIE_FigoDebug *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoDebug_check(p,pie,pfx,hLOG) FigoDebug_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoDebug_print(p, pfx,hLOG) FigoDebug_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoDebug
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoReg biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 figoCtrl (P)
/// %unsigned 16 pcStartLoc 0x0
/// %unsigned 1 tBufMode 0x0
/// : freeRun 0x0
/// ###
/// * Trace buffer operating as ring buffer
/// ###
/// : fifoMode 0x1
/// ###
/// * Trace buffer operating as FIFO; FIGO stalls when full
/// ###
/// %% 15 # Stuffing bits...
/// @ 0x00004 figoID (R-)
/// ###
/// * Processor ID, unique for each FIGO
/// ###
/// %unsigned 16 ID 0x0
/// ###
/// * Processor ID. Specified in FIGO baseline subsystem configuration file.
/// ###
/// %unsigned 16 REV 0x0
/// ###
/// * Revision ID. Hard-coded in FIGO core RTL.
/// ###
/// @ 0x00008 figoMaxAdr (P)
/// ###
/// * Max address for ITCM and DTCM, used to detect addr out-of-bound
/// ###
/// %unsigned 16 itcm 0xFFFF
/// %unsigned 16 dtcm 0xFFFF
/// @ 0x0000C figoFlags (WOC-)
/// ###
/// * Exception flags; FIGO halts when unmasked exception happens; write one to clear
/// ###
/// %unsigned 1 itcmAdrOOB 0x0
/// ###
/// * ITCM address > figoMaxAdr.itcm
/// ###
/// %unsigned 1 dtcmAdrOOB 0x0
/// ###
/// * DTCM address > figoMaxAdr.dtcm
/// ###
/// %unsigned 1 divideBy0 0x0
/// ###
/// * MDU divide by 0 detected
/// ###
/// %unsigned 1 traceBufFull 0x0
/// ###
/// * Trace buffer is full. Only valid when figoCtrl.tBufMode = fifoMode
/// ###
/// %unsigned 1 illegalIns 0x0
/// ###
/// * Illegal instruction detected at ID stage
/// ###
/// %unsigned 1 ALU64Overflow 0x0
/// ###
/// * One of the ALU64 extensions asserted a command push overflow.
/// ###
/// %unsigned 1 JTInvdPush 0x0
/// ###
/// * Detected a jump table push when it's already full.
/// ###
/// %% 25 # Stuffing bits...
/// @ 0x00010 figoFlagsMask (P)
/// ###
/// * Mask bits for FIGO exception flags. Does not block exception flags from asserting, instead, it prevents FIGO from halting when the masked exception occurs.
/// ###
/// %unsigned 1 itcmAdrOOBMask 0x0
/// %unsigned 1 dtcmAdrOOBMask 0x0
/// %unsigned 1 divideBy0Mask 0x0
/// %unsigned 1 traceBufFullMask 0x0
/// %unsigned 1 illegalInsMask 0x0
/// %unsigned 1 ALU64OverflowMask 0x0
/// %unsigned 1 JTInvdPushMask 0x0
/// %% 25 # Stuffing bits...
/// @ 0x00014 figoLastPC (R-)
/// ###
/// * Last PC value before exception occurred
/// ###
/// %unsigned 16 val 0x0
/// %% 16 # Stuffing bits...
/// @ 0x00018 figoCurrPC (R-)
/// # 0x00018 pc
/// $FigoReg16 pc MEM
/// ###
/// * Current PC value @ ID stage
/// ###
/// @ 0x0001C figoTraceBuf (RW-)
/// # 0x0001C tbuf
/// $FigoTraceBuf tbuf MEM
/// ###
/// * Register window for the trace buffer
/// ###
/// @ 0x00020 figoIntr (W-)
/// ###
/// * Special register for FIGO to raise interrupt to CPU via vPro semaphore; write to raise interrupt; no status
/// ###
/// %unsigned 1 up 0x0
/// %% 31 # Stuffing bits...
/// @ 0x00024 figoIntrLvl (WOC-)
/// ###
/// * Special register to record that interrupt has occurred; to be used as level interrupt; cleared by writing 1
/// ###
/// %unsigned 1 st 0x0
/// %% 31 # Stuffing bits...
/// @ 0x00028 figoRstn (RW-)
/// ###
/// * Special register to stop / reset FIGO execution; write 1 to release FIGO, write 0 to reset FIGO (sticky)
/// ###
/// %unsigned 1 up 0x0
/// %% 31 # Stuffing bits...
/// @ 0x0002C figoCnt (RW-)
/// ###
/// * Controls the FIGO counter behavior
/// ###
/// %unsigned 1 en 0x0
/// %% 31 # Stuffing bits...
/// @ 0x00030 figoCntClr (W-)
/// ###
/// * Clear FIGO counters; write 1 to clear specific counters
/// ###
/// %unsigned 1 run
/// %unsigned 1 stall
/// %% 30 # Stuffing bits...
/// @ 0x00034 figoRun (R-)
/// %unsigned 32 Cnt 0x0
/// @ 0x00038 figoStall (R-)
/// %unsigned 32 Cnt 0x0
/// @ 0x0003C (W-)
/// # # Stuffing bytes...
/// %% 15904
/// @ 0x00800 ALU64 (P)
/// # 0x00800 alu64
/// $ALU64 alu64 REG
/// ###
/// * **DONT_EXPAND_BELOW**
/// * ALU64 extensions access via AHB
/// ###
/// @ 0x01800 FIGODBG (P)
/// # 0x01800 debug
/// $FigoDebug debug REG
/// ###
/// * **DONT_EXPAND_BELOW**
/// * Debug mode related registers
/// ###
/// @ 0x018C0 (W-)
/// # # Stuffing bytes...
/// %% 14848
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8192B, bits: 523b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoReg
#define h_FigoReg (){}
#define RA_FigoReg_figoCtrl 0x0000
#define BA_FigoReg_figoCtrl_pcStartLoc 0x0000
#define B16FigoReg_figoCtrl_pcStartLoc 0x0000
#define LSb32FigoReg_figoCtrl_pcStartLoc 0
#define LSb16FigoReg_figoCtrl_pcStartLoc 0
#define bFigoReg_figoCtrl_pcStartLoc 16
#define MSK32FigoReg_figoCtrl_pcStartLoc 0x0000FFFF
#define BA_FigoReg_figoCtrl_tBufMode 0x0002
#define B16FigoReg_figoCtrl_tBufMode 0x0002
#define LSb32FigoReg_figoCtrl_tBufMode 16
#define LSb16FigoReg_figoCtrl_tBufMode 0
#define bFigoReg_figoCtrl_tBufMode 1
#define MSK32FigoReg_figoCtrl_tBufMode 0x00010000
#define FigoReg_figoCtrl_tBufMode_freeRun 0x0
#define FigoReg_figoCtrl_tBufMode_fifoMode 0x1
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoID 0x0004
#define BA_FigoReg_figoID_ID 0x0004
#define B16FigoReg_figoID_ID 0x0004
#define LSb32FigoReg_figoID_ID 0
#define LSb16FigoReg_figoID_ID 0
#define bFigoReg_figoID_ID 16
#define MSK32FigoReg_figoID_ID 0x0000FFFF
#define BA_FigoReg_figoID_REV 0x0006
#define B16FigoReg_figoID_REV 0x0006
#define LSb32FigoReg_figoID_REV 16
#define LSb16FigoReg_figoID_REV 0
#define bFigoReg_figoID_REV 16
#define MSK32FigoReg_figoID_REV 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoMaxAdr 0x0008
#define BA_FigoReg_figoMaxAdr_itcm 0x0008
#define B16FigoReg_figoMaxAdr_itcm 0x0008
#define LSb32FigoReg_figoMaxAdr_itcm 0
#define LSb16FigoReg_figoMaxAdr_itcm 0
#define bFigoReg_figoMaxAdr_itcm 16
#define MSK32FigoReg_figoMaxAdr_itcm 0x0000FFFF
#define BA_FigoReg_figoMaxAdr_dtcm 0x000A
#define B16FigoReg_figoMaxAdr_dtcm 0x000A
#define LSb32FigoReg_figoMaxAdr_dtcm 16
#define LSb16FigoReg_figoMaxAdr_dtcm 0
#define bFigoReg_figoMaxAdr_dtcm 16
#define MSK32FigoReg_figoMaxAdr_dtcm 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoFlags 0x000C
#define BA_FigoReg_figoFlags_itcmAdrOOB 0x000C
#define B16FigoReg_figoFlags_itcmAdrOOB 0x000C
#define LSb32FigoReg_figoFlags_itcmAdrOOB 0
#define LSb16FigoReg_figoFlags_itcmAdrOOB 0
#define bFigoReg_figoFlags_itcmAdrOOB 1
#define MSK32FigoReg_figoFlags_itcmAdrOOB 0x00000001
#define BA_FigoReg_figoFlags_dtcmAdrOOB 0x000C
#define B16FigoReg_figoFlags_dtcmAdrOOB 0x000C
#define LSb32FigoReg_figoFlags_dtcmAdrOOB 1
#define LSb16FigoReg_figoFlags_dtcmAdrOOB 1
#define bFigoReg_figoFlags_dtcmAdrOOB 1
#define MSK32FigoReg_figoFlags_dtcmAdrOOB 0x00000002
#define BA_FigoReg_figoFlags_divideBy0 0x000C
#define B16FigoReg_figoFlags_divideBy0 0x000C
#define LSb32FigoReg_figoFlags_divideBy0 2
#define LSb16FigoReg_figoFlags_divideBy0 2
#define bFigoReg_figoFlags_divideBy0 1
#define MSK32FigoReg_figoFlags_divideBy0 0x00000004
#define BA_FigoReg_figoFlags_traceBufFull 0x000C
#define B16FigoReg_figoFlags_traceBufFull 0x000C
#define LSb32FigoReg_figoFlags_traceBufFull 3
#define LSb16FigoReg_figoFlags_traceBufFull 3
#define bFigoReg_figoFlags_traceBufFull 1
#define MSK32FigoReg_figoFlags_traceBufFull 0x00000008
#define BA_FigoReg_figoFlags_illegalIns 0x000C
#define B16FigoReg_figoFlags_illegalIns 0x000C
#define LSb32FigoReg_figoFlags_illegalIns 4
#define LSb16FigoReg_figoFlags_illegalIns 4
#define bFigoReg_figoFlags_illegalIns 1
#define MSK32FigoReg_figoFlags_illegalIns 0x00000010
#define BA_FigoReg_figoFlags_ALU64Overflow 0x000C
#define B16FigoReg_figoFlags_ALU64Overflow 0x000C
#define LSb32FigoReg_figoFlags_ALU64Overflow 5
#define LSb16FigoReg_figoFlags_ALU64Overflow 5
#define bFigoReg_figoFlags_ALU64Overflow 1
#define MSK32FigoReg_figoFlags_ALU64Overflow 0x00000020
#define BA_FigoReg_figoFlags_JTInvdPush 0x000C
#define B16FigoReg_figoFlags_JTInvdPush 0x000C
#define LSb32FigoReg_figoFlags_JTInvdPush 6
#define LSb16FigoReg_figoFlags_JTInvdPush 6
#define bFigoReg_figoFlags_JTInvdPush 1
#define MSK32FigoReg_figoFlags_JTInvdPush 0x00000040
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoFlagsMask 0x0010
#define BA_FigoReg_figoFlagsMask_itcmAdrOOBMask 0x0010
#define B16FigoReg_figoFlagsMask_itcmAdrOOBMask 0x0010
#define LSb32FigoReg_figoFlagsMask_itcmAdrOOBMask 0
#define LSb16FigoReg_figoFlagsMask_itcmAdrOOBMask 0
#define bFigoReg_figoFlagsMask_itcmAdrOOBMask 1
#define MSK32FigoReg_figoFlagsMask_itcmAdrOOBMask 0x00000001
#define BA_FigoReg_figoFlagsMask_dtcmAdrOOBMask 0x0010
#define B16FigoReg_figoFlagsMask_dtcmAdrOOBMask 0x0010
#define LSb32FigoReg_figoFlagsMask_dtcmAdrOOBMask 1
#define LSb16FigoReg_figoFlagsMask_dtcmAdrOOBMask 1
#define bFigoReg_figoFlagsMask_dtcmAdrOOBMask 1
#define MSK32FigoReg_figoFlagsMask_dtcmAdrOOBMask 0x00000002
#define BA_FigoReg_figoFlagsMask_divideBy0Mask 0x0010
#define B16FigoReg_figoFlagsMask_divideBy0Mask 0x0010
#define LSb32FigoReg_figoFlagsMask_divideBy0Mask 2
#define LSb16FigoReg_figoFlagsMask_divideBy0Mask 2
#define bFigoReg_figoFlagsMask_divideBy0Mask 1
#define MSK32FigoReg_figoFlagsMask_divideBy0Mask 0x00000004
#define BA_FigoReg_figoFlagsMask_traceBufFullMask 0x0010
#define B16FigoReg_figoFlagsMask_traceBufFullMask 0x0010
#define LSb32FigoReg_figoFlagsMask_traceBufFullMask 3
#define LSb16FigoReg_figoFlagsMask_traceBufFullMask 3
#define bFigoReg_figoFlagsMask_traceBufFullMask 1
#define MSK32FigoReg_figoFlagsMask_traceBufFullMask 0x00000008
#define BA_FigoReg_figoFlagsMask_illegalInsMask 0x0010
#define B16FigoReg_figoFlagsMask_illegalInsMask 0x0010
#define LSb32FigoReg_figoFlagsMask_illegalInsMask 4
#define LSb16FigoReg_figoFlagsMask_illegalInsMask 4
#define bFigoReg_figoFlagsMask_illegalInsMask 1
#define MSK32FigoReg_figoFlagsMask_illegalInsMask 0x00000010
#define BA_FigoReg_figoFlagsMask_ALU64OverflowMask 0x0010
#define B16FigoReg_figoFlagsMask_ALU64OverflowMask 0x0010
#define LSb32FigoReg_figoFlagsMask_ALU64OverflowMask 5
#define LSb16FigoReg_figoFlagsMask_ALU64OverflowMask 5
#define bFigoReg_figoFlagsMask_ALU64OverflowMask 1
#define MSK32FigoReg_figoFlagsMask_ALU64OverflowMask 0x00000020
#define BA_FigoReg_figoFlagsMask_JTInvdPushMask 0x0010
#define B16FigoReg_figoFlagsMask_JTInvdPushMask 0x0010
#define LSb32FigoReg_figoFlagsMask_JTInvdPushMask 6
#define LSb16FigoReg_figoFlagsMask_JTInvdPushMask 6
#define bFigoReg_figoFlagsMask_JTInvdPushMask 1
#define MSK32FigoReg_figoFlagsMask_JTInvdPushMask 0x00000040
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoLastPC 0x0014
#define BA_FigoReg_figoLastPC_val 0x0014
#define B16FigoReg_figoLastPC_val 0x0014
#define LSb32FigoReg_figoLastPC_val 0
#define LSb16FigoReg_figoLastPC_val 0
#define bFigoReg_figoLastPC_val 16
#define MSK32FigoReg_figoLastPC_val 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoCurrPC 0x0018
#define RA_FigoReg_pc 0x0018
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoTraceBuf 0x001C
#define RA_FigoReg_tbuf 0x001C
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoIntr 0x0020
#define BA_FigoReg_figoIntr_up 0x0020
#define B16FigoReg_figoIntr_up 0x0020
#define LSb32FigoReg_figoIntr_up 0
#define LSb16FigoReg_figoIntr_up 0
#define bFigoReg_figoIntr_up 1
#define MSK32FigoReg_figoIntr_up 0x00000001
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoIntrLvl 0x0024
#define BA_FigoReg_figoIntrLvl_st 0x0024
#define B16FigoReg_figoIntrLvl_st 0x0024
#define LSb32FigoReg_figoIntrLvl_st 0
#define LSb16FigoReg_figoIntrLvl_st 0
#define bFigoReg_figoIntrLvl_st 1
#define MSK32FigoReg_figoIntrLvl_st 0x00000001
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoRstn 0x0028
#define BA_FigoReg_figoRstn_up 0x0028
#define B16FigoReg_figoRstn_up 0x0028
#define LSb32FigoReg_figoRstn_up 0
#define LSb16FigoReg_figoRstn_up 0
#define bFigoReg_figoRstn_up 1
#define MSK32FigoReg_figoRstn_up 0x00000001
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoCnt 0x002C
#define BA_FigoReg_figoCnt_en 0x002C
#define B16FigoReg_figoCnt_en 0x002C
#define LSb32FigoReg_figoCnt_en 0
#define LSb16FigoReg_figoCnt_en 0
#define bFigoReg_figoCnt_en 1
#define MSK32FigoReg_figoCnt_en 0x00000001
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoCntClr 0x0030
#define BA_FigoReg_figoCntClr_run 0x0030
#define B16FigoReg_figoCntClr_run 0x0030
#define LSb32FigoReg_figoCntClr_run 0
#define LSb16FigoReg_figoCntClr_run 0
#define bFigoReg_figoCntClr_run 1
#define MSK32FigoReg_figoCntClr_run 0x00000001
#define BA_FigoReg_figoCntClr_stall 0x0030
#define B16FigoReg_figoCntClr_stall 0x0030
#define LSb32FigoReg_figoCntClr_stall 1
#define LSb16FigoReg_figoCntClr_stall 1
#define bFigoReg_figoCntClr_stall 1
#define MSK32FigoReg_figoCntClr_stall 0x00000002
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoRun 0x0034
#define BA_FigoReg_figoRun_Cnt 0x0034
#define B16FigoReg_figoRun_Cnt 0x0034
#define LSb32FigoReg_figoRun_Cnt 0
#define LSb16FigoReg_figoRun_Cnt 0
#define bFigoReg_figoRun_Cnt 32
#define MSK32FigoReg_figoRun_Cnt 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_FigoReg_figoStall 0x0038
#define BA_FigoReg_figoStall_Cnt 0x0038
#define B16FigoReg_figoStall_Cnt 0x0038
#define LSb32FigoReg_figoStall_Cnt 0
#define LSb16FigoReg_figoStall_Cnt 0
#define bFigoReg_figoStall_Cnt 32
#define MSK32FigoReg_figoStall_Cnt 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_FigoReg_ALU64 0x0800
#define RA_FigoReg_alu64 0x0800
///////////////////////////////////////////////////////////
#define RA_FigoReg_FIGODBG 0x1800
#define RA_FigoReg_debug 0x1800
///////////////////////////////////////////////////////////
typedef struct SIE_FigoReg {
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoCtrl_pcStartLoc(r32) _BFGET_(r32,15, 0)
#define SET32FigoReg_figoCtrl_pcStartLoc(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoReg_figoCtrl_pcStartLoc(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg_figoCtrl_pcStartLoc(r16,v) _BFSET_(r16,15, 0,v)
#define GET32FigoReg_figoCtrl_tBufMode(r32) _BFGET_(r32,16,16)
#define SET32FigoReg_figoCtrl_tBufMode(r32,v) _BFSET_(r32,16,16,v)
#define GET16FigoReg_figoCtrl_tBufMode(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoCtrl_tBufMode(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoReg_figoCtrl {\
UNSG32 ufigoCtrl_pcStartLoc : 16;\
UNSG32 ufigoCtrl_tBufMode : 1;\
UNSG32 RSVDx0_b17 : 15;\
}
union { UNSG32 u32FigoReg_figoCtrl;
struct w32FigoReg_figoCtrl;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoID_ID(r32) _BFGET_(r32,15, 0)
#define SET32FigoReg_figoID_ID(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoReg_figoID_ID(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg_figoID_ID(r16,v) _BFSET_(r16,15, 0,v)
#define GET32FigoReg_figoID_REV(r32) _BFGET_(r32,31,16)
#define SET32FigoReg_figoID_REV(r32,v) _BFSET_(r32,31,16,v)
#define GET16FigoReg_figoID_REV(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg_figoID_REV(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoReg_figoID {\
UNSG32 ufigoID_ID : 16;\
UNSG32 ufigoID_REV : 16;\
}
union { UNSG32 u32FigoReg_figoID;
struct w32FigoReg_figoID;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoMaxAdr_itcm(r32) _BFGET_(r32,15, 0)
#define SET32FigoReg_figoMaxAdr_itcm(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoReg_figoMaxAdr_itcm(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg_figoMaxAdr_itcm(r16,v) _BFSET_(r16,15, 0,v)
#define GET32FigoReg_figoMaxAdr_dtcm(r32) _BFGET_(r32,31,16)
#define SET32FigoReg_figoMaxAdr_dtcm(r32,v) _BFSET_(r32,31,16,v)
#define GET16FigoReg_figoMaxAdr_dtcm(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg_figoMaxAdr_dtcm(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoReg_figoMaxAdr {\
UNSG32 ufigoMaxAdr_itcm : 16;\
UNSG32 ufigoMaxAdr_dtcm : 16;\
}
union { UNSG32 u32FigoReg_figoMaxAdr;
struct w32FigoReg_figoMaxAdr;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoFlags_itcmAdrOOB(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoFlags_itcmAdrOOB(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoFlags_itcmAdrOOB(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoFlags_itcmAdrOOB(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FigoReg_figoFlags_dtcmAdrOOB(r32) _BFGET_(r32, 1, 1)
#define SET32FigoReg_figoFlags_dtcmAdrOOB(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16FigoReg_figoFlags_dtcmAdrOOB(r16) _BFGET_(r16, 1, 1)
#define SET16FigoReg_figoFlags_dtcmAdrOOB(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32FigoReg_figoFlags_divideBy0(r32) _BFGET_(r32, 2, 2)
#define SET32FigoReg_figoFlags_divideBy0(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16FigoReg_figoFlags_divideBy0(r16) _BFGET_(r16, 2, 2)
#define SET16FigoReg_figoFlags_divideBy0(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32FigoReg_figoFlags_traceBufFull(r32) _BFGET_(r32, 3, 3)
#define SET32FigoReg_figoFlags_traceBufFull(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16FigoReg_figoFlags_traceBufFull(r16) _BFGET_(r16, 3, 3)
#define SET16FigoReg_figoFlags_traceBufFull(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32FigoReg_figoFlags_illegalIns(r32) _BFGET_(r32, 4, 4)
#define SET32FigoReg_figoFlags_illegalIns(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16FigoReg_figoFlags_illegalIns(r16) _BFGET_(r16, 4, 4)
#define SET16FigoReg_figoFlags_illegalIns(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32FigoReg_figoFlags_ALU64Overflow(r32) _BFGET_(r32, 5, 5)
#define SET32FigoReg_figoFlags_ALU64Overflow(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16FigoReg_figoFlags_ALU64Overflow(r16) _BFGET_(r16, 5, 5)
#define SET16FigoReg_figoFlags_ALU64Overflow(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32FigoReg_figoFlags_JTInvdPush(r32) _BFGET_(r32, 6, 6)
#define SET32FigoReg_figoFlags_JTInvdPush(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16FigoReg_figoFlags_JTInvdPush(r16) _BFGET_(r16, 6, 6)
#define SET16FigoReg_figoFlags_JTInvdPush(r16,v) _BFSET_(r16, 6, 6,v)
#define w32FigoReg_figoFlags {\
UNSG32 ufigoFlags_itcmAdrOOB : 1;\
UNSG32 ufigoFlags_dtcmAdrOOB : 1;\
UNSG32 ufigoFlags_divideBy0 : 1;\
UNSG32 ufigoFlags_traceBufFull : 1;\
UNSG32 ufigoFlags_illegalIns : 1;\
UNSG32 ufigoFlags_ALU64Overflow : 1;\
UNSG32 ufigoFlags_JTInvdPush : 1;\
UNSG32 RSVDxC_b7 : 25;\
}
union { UNSG32 u32FigoReg_figoFlags;
struct w32FigoReg_figoFlags;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoFlagsMask_itcmAdrOOBMask(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoFlagsMask_itcmAdrOOBMask(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoFlagsMask_itcmAdrOOBMask(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoFlagsMask_itcmAdrOOBMask(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FigoReg_figoFlagsMask_dtcmAdrOOBMask(r32) _BFGET_(r32, 1, 1)
#define SET32FigoReg_figoFlagsMask_dtcmAdrOOBMask(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16FigoReg_figoFlagsMask_dtcmAdrOOBMask(r16) _BFGET_(r16, 1, 1)
#define SET16FigoReg_figoFlagsMask_dtcmAdrOOBMask(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32FigoReg_figoFlagsMask_divideBy0Mask(r32) _BFGET_(r32, 2, 2)
#define SET32FigoReg_figoFlagsMask_divideBy0Mask(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16FigoReg_figoFlagsMask_divideBy0Mask(r16) _BFGET_(r16, 2, 2)
#define SET16FigoReg_figoFlagsMask_divideBy0Mask(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32FigoReg_figoFlagsMask_traceBufFullMask(r32) _BFGET_(r32, 3, 3)
#define SET32FigoReg_figoFlagsMask_traceBufFullMask(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16FigoReg_figoFlagsMask_traceBufFullMask(r16) _BFGET_(r16, 3, 3)
#define SET16FigoReg_figoFlagsMask_traceBufFullMask(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32FigoReg_figoFlagsMask_illegalInsMask(r32) _BFGET_(r32, 4, 4)
#define SET32FigoReg_figoFlagsMask_illegalInsMask(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16FigoReg_figoFlagsMask_illegalInsMask(r16) _BFGET_(r16, 4, 4)
#define SET16FigoReg_figoFlagsMask_illegalInsMask(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32FigoReg_figoFlagsMask_ALU64OverflowMask(r32) _BFGET_(r32, 5, 5)
#define SET32FigoReg_figoFlagsMask_ALU64OverflowMask(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16FigoReg_figoFlagsMask_ALU64OverflowMask(r16) _BFGET_(r16, 5, 5)
#define SET16FigoReg_figoFlagsMask_ALU64OverflowMask(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32FigoReg_figoFlagsMask_JTInvdPushMask(r32) _BFGET_(r32, 6, 6)
#define SET32FigoReg_figoFlagsMask_JTInvdPushMask(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16FigoReg_figoFlagsMask_JTInvdPushMask(r16) _BFGET_(r16, 6, 6)
#define SET16FigoReg_figoFlagsMask_JTInvdPushMask(r16,v) _BFSET_(r16, 6, 6,v)
#define w32FigoReg_figoFlagsMask {\
UNSG32 ufigoFlagsMask_itcmAdrOOBMask : 1;\
UNSG32 ufigoFlagsMask_dtcmAdrOOBMask : 1;\
UNSG32 ufigoFlagsMask_divideBy0Mask : 1;\
UNSG32 ufigoFlagsMask_traceBufFullMask : 1;\
UNSG32 ufigoFlagsMask_illegalInsMask : 1;\
UNSG32 ufigoFlagsMask_ALU64OverflowMask : 1;\
UNSG32 ufigoFlagsMask_JTInvdPushMask : 1;\
UNSG32 RSVDx10_b7 : 25;\
}
union { UNSG32 u32FigoReg_figoFlagsMask;
struct w32FigoReg_figoFlagsMask;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoLastPC_val(r32) _BFGET_(r32,15, 0)
#define SET32FigoReg_figoLastPC_val(r32,v) _BFSET_(r32,15, 0,v)
#define GET16FigoReg_figoLastPC_val(r16) _BFGET_(r16,15, 0)
#define SET16FigoReg_figoLastPC_val(r16,v) _BFSET_(r16,15, 0,v)
#define w32FigoReg_figoLastPC {\
UNSG32 ufigoLastPC_val : 16;\
UNSG32 RSVDx14_b16 : 16;\
}
union { UNSG32 u32FigoReg_figoLastPC;
struct w32FigoReg_figoLastPC;
};
///////////////////////////////////////////////////////////
SIE_FigoReg16 ie_pc;
///////////////////////////////////////////////////////////
SIE_FigoTraceBuf ie_tbuf;
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoIntr_up(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoIntr_up(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoIntr_up(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoIntr_up(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoReg_figoIntr {\
UNSG32 ufigoIntr_up : 1;\
UNSG32 RSVDx20_b1 : 31;\
}
union { UNSG32 u32FigoReg_figoIntr;
struct w32FigoReg_figoIntr;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoIntrLvl_st(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoIntrLvl_st(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoIntrLvl_st(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoIntrLvl_st(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoReg_figoIntrLvl {\
UNSG32 ufigoIntrLvl_st : 1;\
UNSG32 RSVDx24_b1 : 31;\
}
union { UNSG32 u32FigoReg_figoIntrLvl;
struct w32FigoReg_figoIntrLvl;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoRstn_up(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoRstn_up(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoRstn_up(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoRstn_up(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoReg_figoRstn {\
UNSG32 ufigoRstn_up : 1;\
UNSG32 RSVDx28_b1 : 31;\
}
union { UNSG32 u32FigoReg_figoRstn;
struct w32FigoReg_figoRstn;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoCnt_en(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoCnt_en(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoCnt_en(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoCnt_en(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FigoReg_figoCnt {\
UNSG32 ufigoCnt_en : 1;\
UNSG32 RSVDx2C_b1 : 31;\
}
union { UNSG32 u32FigoReg_figoCnt;
struct w32FigoReg_figoCnt;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoCntClr_run(r32) _BFGET_(r32, 0, 0)
#define SET32FigoReg_figoCntClr_run(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FigoReg_figoCntClr_run(r16) _BFGET_(r16, 0, 0)
#define SET16FigoReg_figoCntClr_run(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FigoReg_figoCntClr_stall(r32) _BFGET_(r32, 1, 1)
#define SET32FigoReg_figoCntClr_stall(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16FigoReg_figoCntClr_stall(r16) _BFGET_(r16, 1, 1)
#define SET16FigoReg_figoCntClr_stall(r16,v) _BFSET_(r16, 1, 1,v)
#define w32FigoReg_figoCntClr {\
UNSG32 ufigoCntClr_run : 1;\
UNSG32 ufigoCntClr_stall : 1;\
UNSG32 RSVDx30_b2 : 30;\
}
union { UNSG32 u32FigoReg_figoCntClr;
struct w32FigoReg_figoCntClr;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoRun_Cnt(r32) _BFGET_(r32,31, 0)
#define SET32FigoReg_figoRun_Cnt(r32,v) _BFSET_(r32,31, 0,v)
#define w32FigoReg_figoRun {\
UNSG32 ufigoRun_Cnt : 32;\
}
union { UNSG32 u32FigoReg_figoRun;
struct w32FigoReg_figoRun;
};
///////////////////////////////////////////////////////////
#define GET32FigoReg_figoStall_Cnt(r32) _BFGET_(r32,31, 0)
#define SET32FigoReg_figoStall_Cnt(r32,v) _BFSET_(r32,31, 0,v)
#define w32FigoReg_figoStall {\
UNSG32 ufigoStall_Cnt : 32;\
}
union { UNSG32 u32FigoReg_figoStall;
struct w32FigoReg_figoStall;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx3C [1988];
///////////////////////////////////////////////////////////
SIE_ALU64 ie_alu64;
///////////////////////////////////////////////////////////
SIE_FigoDebug ie_debug;
///////////////////////////////////////////////////////////
UNSG8 RSVDx18C0 [1856];
///////////////////////////////////////////////////////////
} SIE_FigoReg;
typedef union T32FigoReg_figoCtrl
{ UNSG32 u32;
struct w32FigoReg_figoCtrl;
} T32FigoReg_figoCtrl;
typedef union T32FigoReg_figoID
{ UNSG32 u32;
struct w32FigoReg_figoID;
} T32FigoReg_figoID;
typedef union T32FigoReg_figoMaxAdr
{ UNSG32 u32;
struct w32FigoReg_figoMaxAdr;
} T32FigoReg_figoMaxAdr;
typedef union T32FigoReg_figoFlags
{ UNSG32 u32;
struct w32FigoReg_figoFlags;
} T32FigoReg_figoFlags;
typedef union T32FigoReg_figoFlagsMask
{ UNSG32 u32;
struct w32FigoReg_figoFlagsMask;
} T32FigoReg_figoFlagsMask;
typedef union T32FigoReg_figoLastPC
{ UNSG32 u32;
struct w32FigoReg_figoLastPC;
} T32FigoReg_figoLastPC;
typedef union T32FigoReg_figoIntr
{ UNSG32 u32;
struct w32FigoReg_figoIntr;
} T32FigoReg_figoIntr;
typedef union T32FigoReg_figoIntrLvl
{ UNSG32 u32;
struct w32FigoReg_figoIntrLvl;
} T32FigoReg_figoIntrLvl;
typedef union T32FigoReg_figoRstn
{ UNSG32 u32;
struct w32FigoReg_figoRstn;
} T32FigoReg_figoRstn;
typedef union T32FigoReg_figoCnt
{ UNSG32 u32;
struct w32FigoReg_figoCnt;
} T32FigoReg_figoCnt;
typedef union T32FigoReg_figoCntClr
{ UNSG32 u32;
struct w32FigoReg_figoCntClr;
} T32FigoReg_figoCntClr;
typedef union T32FigoReg_figoRun
{ UNSG32 u32;
struct w32FigoReg_figoRun;
} T32FigoReg_figoRun;
typedef union T32FigoReg_figoStall
{ UNSG32 u32;
struct w32FigoReg_figoStall;
} T32FigoReg_figoStall;
///////////////////////////////////////////////////////////
typedef union TFigoReg_figoCtrl
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoCtrl;
};
} TFigoReg_figoCtrl;
typedef union TFigoReg_figoID
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoID;
};
} TFigoReg_figoID;
typedef union TFigoReg_figoMaxAdr
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoMaxAdr;
};
} TFigoReg_figoMaxAdr;
typedef union TFigoReg_figoFlags
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoFlags;
};
} TFigoReg_figoFlags;
typedef union TFigoReg_figoFlagsMask
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoFlagsMask;
};
} TFigoReg_figoFlagsMask;
typedef union TFigoReg_figoLastPC
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoLastPC;
};
} TFigoReg_figoLastPC;
typedef union TFigoReg_figoIntr
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoIntr;
};
} TFigoReg_figoIntr;
typedef union TFigoReg_figoIntrLvl
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoIntrLvl;
};
} TFigoReg_figoIntrLvl;
typedef union TFigoReg_figoRstn
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoRstn;
};
} TFigoReg_figoRstn;
typedef union TFigoReg_figoCnt
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoCnt;
};
} TFigoReg_figoCnt;
typedef union TFigoReg_figoCntClr
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoCntClr;
};
} TFigoReg_figoCntClr;
typedef union TFigoReg_figoRun
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoRun;
};
} TFigoReg_figoRun;
typedef union TFigoReg_figoStall
{ UNSG32 u32[1];
struct {
struct w32FigoReg_figoStall;
};
} TFigoReg_figoStall;
///////////////////////////////////////////////////////////
SIGN32 FigoReg_drvrd(SIE_FigoReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoReg_drvwr(SIE_FigoReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoReg_reset(SIE_FigoReg *p);
SIGN32 FigoReg_cmp (SIE_FigoReg *p, SIE_FigoReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoReg_check(p,pie,pfx,hLOG) FigoReg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoReg_print(p, pfx,hLOG) FigoReg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoReg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoInst (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (RW)
/// ###
/// * Instruction opcode, 24-bit word
/// ###
/// %unsigned 24 opcode 0x0
/// %% 8 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 24b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoInst
#define h_FigoInst (){}
#define BA_FigoInst_opcode 0x0000
#define B16FigoInst_opcode 0x0000
#define LSb32FigoInst_opcode 0
#define LSb16FigoInst_opcode 0
#define bFigoInst_opcode 24
#define MSK32FigoInst_opcode 0x00FFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoInst {
///////////////////////////////////////////////////////////
#define GET32FigoInst_opcode(r32) _BFGET_(r32,23, 0)
#define SET32FigoInst_opcode(r32,v) _BFSET_(r32,23, 0,v)
UNSG32 u_opcode : 24;
UNSG32 RSVDx0_b24 : 8;
///////////////////////////////////////////////////////////
} SIE_FigoInst;
///////////////////////////////////////////////////////////
SIGN32 FigoInst_drvrd(SIE_FigoInst *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoInst_drvwr(SIE_FigoInst *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoInst_reset(SIE_FigoInst *p);
SIGN32 FigoInst_cmp (SIE_FigoInst *p, SIE_FigoInst *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoInst_check(p,pie,pfx,hLOG) FigoInst_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoInst_print(p, pfx,hLOG) FigoInst_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoInst
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ITCM (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 figoItcm (P)
/// # 0x00000 inst
/// $FigoInst inst REG [2048]
/// ###
/// * Instruction memory, 8K word each maximum
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8192B, bits: 49152b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ITCM
#define h_ITCM (){}
#define RA_ITCM_figoItcm 0x0000
#define RA_ITCM_inst 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_ITCM {
///////////////////////////////////////////////////////////
SIE_FigoInst ie_inst[2048];
///////////////////////////////////////////////////////////
} SIE_ITCM;
///////////////////////////////////////////////////////////
SIGN32 ITCM_drvrd(SIE_ITCM *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ITCM_drvwr(SIE_ITCM *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ITCM_reset(SIE_ITCM *p);
SIGN32 ITCM_cmp (SIE_ITCM *p, SIE_ITCM *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ITCM_check(p,pie,pfx,hLOG) ITCM_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ITCM_print(p, pfx,hLOG) ITCM_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ITCM
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoData (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (RW)
/// ###
/// * 32-bit data
/// ###
/// %unsigned 32 data_0i
/// %unsigned 32 data_1i
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoData
#define h_FigoData (){}
#define BA_FigoData_data_0i 0x0000
#define B16FigoData_data_0i 0x0000
#define LSb32FigoData_data_0i 0
#define LSb16FigoData_data_0i 0
#define bFigoData_data_0i 32
#define MSK32FigoData_data_0i 0xFFFFFFFF
#define BA_FigoData_data_1i 0x0004
#define B16FigoData_data_1i 0x0004
#define LSb32FigoData_data_1i 0
#define LSb16FigoData_data_1i 0
#define bFigoData_data_1i 32
#define MSK32FigoData_data_1i 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_FigoData {
///////////////////////////////////////////////////////////
#define GET32FigoData_data_0i(r32) _BFGET_(r32,31, 0)
#define SET32FigoData_data_0i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data_0i : 32;
///////////////////////////////////////////////////////////
#define GET32FigoData_data_1i(r32) _BFGET_(r32,31, 0)
#define SET32FigoData_data_1i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data_1i : 32;
///////////////////////////////////////////////////////////
} SIE_FigoData;
///////////////////////////////////////////////////////////
SIGN32 FigoData_drvrd(SIE_FigoData *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoData_drvwr(SIE_FigoData *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoData_reset(SIE_FigoData *p);
SIGN32 FigoData_cmp (SIE_FigoData *p, SIE_FigoData *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoData_check(p,pie,pfx,hLOG) FigoData_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoData_print(p, pfx,hLOG) FigoData_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoData
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoSys biu (4,4)
/// ###
/// * FigoSys registers
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 HBO0 (P)
/// # 0x00000 hbo0
/// $HBO hbo0 REG
/// ###
/// * **DONT_EXPAND_BELOW** HBO IP
/// ###
/// @ 0x00700 HBO1 (P)
/// # 0x00700 hbo1
/// $HBO hbo1 REG
/// ###
/// * **DONT_EXPAND_BELOW** HBO IP
/// ###
/// @ 0x00E00 (W-)
/// # # Stuffing bytes...
/// %% 4096
/// @ 0x01000 FIGO0 (P)
/// # 0x01000 figo0
/// $FigoReg figo0 REG
/// @ 0x03000 FIGO1 (P)
/// # 0x03000 figo1
/// $FigoReg figo1 REG
/// @ 0x05000 DS (P)
/// # 0x05000 ds
/// $DataStreamer ds REG
/// @ 0x05024 (W-)
/// # # Stuffing bytes...
/// %% 16096
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 22528B, bits: 5018b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoSys
#define h_FigoSys (){}
#define RA_FigoSys_HBO0 0x0000
#define RA_FigoSys_hbo0 0x0000
///////////////////////////////////////////////////////////
#define RA_FigoSys_HBO1 0x0700
#define RA_FigoSys_hbo1 0x0700
///////////////////////////////////////////////////////////
#define RA_FigoSys_FIGO0 0x1000
#define RA_FigoSys_figo0 0x1000
///////////////////////////////////////////////////////////
#define RA_FigoSys_FIGO1 0x3000
#define RA_FigoSys_figo1 0x3000
///////////////////////////////////////////////////////////
#define RA_FigoSys_DS 0x5000
#define RA_FigoSys_ds 0x5000
///////////////////////////////////////////////////////////
typedef struct SIE_FigoSys {
///////////////////////////////////////////////////////////
SIE_HBO ie_hbo0;
///////////////////////////////////////////////////////////
SIE_HBO ie_hbo1;
///////////////////////////////////////////////////////////
UNSG8 RSVDxE00 [512];
///////////////////////////////////////////////////////////
SIE_FigoReg ie_figo0;
///////////////////////////////////////////////////////////
SIE_FigoReg ie_figo1;
///////////////////////////////////////////////////////////
SIE_DataStreamer ie_ds;
///////////////////////////////////////////////////////////
UNSG8 RSVDx5024 [2012];
///////////////////////////////////////////////////////////
} SIE_FigoSys;
///////////////////////////////////////////////////////////
SIGN32 FigoSys_drvrd(SIE_FigoSys *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoSys_drvwr(SIE_FigoSys *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoSys_reset(SIE_FigoSys *p);
SIGN32 FigoSys_cmp (SIE_FigoSys *p, SIE_FigoSys *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoSys_check(p,pie,pfx,hLOG) FigoSys_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoSys_print(p, pfx,hLOG) FigoSys_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoSys
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FigoSysBasic biu (4,4)
/// ###
/// * FigoSys registers
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 HBO0 (P)
/// # 0x00000 hbo0
/// $HBO hbo0 REG
/// @ 0x00700 (W-)
/// # # Stuffing bytes...
/// %% 2048
/// @ 0x00800 FIGO0 (P)
/// # 0x00800 figo0
/// $FigoReg figo0 REG
/// @ 0x02800 DS (P)
/// # 0x02800 ds
/// $DataStreamer ds REG
/// @ 0x02824 (W-)
/// # # Stuffing bytes...
/// %% 16096
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 12288B, bits: 2575b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FigoSysBasic
#define h_FigoSysBasic (){}
#define RA_FigoSysBasic_HBO0 0x0000
#define RA_FigoSysBasic_hbo0 0x0000
///////////////////////////////////////////////////////////
#define RA_FigoSysBasic_FIGO0 0x0800
#define RA_FigoSysBasic_figo0 0x0800
///////////////////////////////////////////////////////////
#define RA_FigoSysBasic_DS 0x2800
#define RA_FigoSysBasic_ds 0x2800
///////////////////////////////////////////////////////////
typedef struct SIE_FigoSysBasic {
///////////////////////////////////////////////////////////
SIE_HBO ie_hbo0;
///////////////////////////////////////////////////////////
UNSG8 RSVDx700 [256];
///////////////////////////////////////////////////////////
SIE_FigoReg ie_figo0;
///////////////////////////////////////////////////////////
SIE_DataStreamer ie_ds;
///////////////////////////////////////////////////////////
UNSG8 RSVDx2824 [2012];
///////////////////////////////////////////////////////////
} SIE_FigoSysBasic;
///////////////////////////////////////////////////////////
SIGN32 FigoSysBasic_drvrd(SIE_FigoSysBasic *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FigoSysBasic_drvwr(SIE_FigoSysBasic *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FigoSysBasic_reset(SIE_FigoSysBasic *p);
SIGN32 FigoSysBasic_cmp (SIE_FigoSysBasic *p, SIE_FigoSysBasic *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FigoSysBasic_check(p,pie,pfx,hLOG) FigoSysBasic_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FigoSysBasic_print(p, pfx,hLOG) FigoSysBasic_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FigoSysBasic
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspTsiReg biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 global (P)
/// %unsigned 1 reset 0x1
/// ###
/// * 1: reset the TSI
/// * 0: normal operation
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00004 tso_to_tsi (P)
/// %unsigned 1 loop_back_mode 0x0
/// ###
/// * 1: capture data from TSO
/// * 0: capture data from TSI input ports
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00008 packet_format (P)
/// %unsigned 8 input_size 0xBC
/// ###
/// * Size (in byte) of the packet from the TS input ports
/// * 0 is mapped to 256
/// ###
/// %unsigned 8 captured_offset 0x0
/// ###
/// * Number of bytes before the first byte to be captured in the input packet
/// ###
/// %unsigned 8 captured_size 0xBC
/// ###
/// * Size (in byte) of the packet body to be captured in the input packet;
/// * Valid range is 1~248
/// ###
/// %unsigned 8 output_size 0xC8
/// ###
/// * Size (in byte) of the packet written into the TS packet FIFO; including the 8-byte TSI command at the tail
/// * This number must be a multiple of 8.
/// * 0 is mapped to 256
/// * input_size must be no less than the sum of captured_offset and captured_size.
/// * output_size must be no less than captured_size plus 8.
/// * Hardware may behave unpredictably if the setting violates these rules.
/// ###
/// @ 0x0000C port_ctrl (P)
/// %unsigned 1 serial_mode 0x0
/// ###
/// * 1: TS input works in serial mode.
/// * 0: TS input works in 8-bit parallel mode.
/// ###
/// %unsigned 1 serial_pin_select 0x0
/// ###
/// * 1: In serial mode, use tsiData[7] as data pins
/// * 0: In serial mode, use tsiData[0] as data pins
/// ###
/// %unsigned 1 lsb_first 0x0
/// ###
/// * 0: In serial mode, MSB of a byte comes in first
/// * 1: In serial mode, LSB of a byte comes in first
/// * Valid only when serial_mode is one.
/// ###
/// %unsigned 1 ignore_ts_valid 0x0
/// ###
/// * 0: Use the tsiValid signal as valid data indicator
/// * 1: Ignore tsiValid signal and treat every tsiData as valid data
/// ###
/// %unsigned 1 ignore_ts_error 0x0
/// ###
/// * 0: Use the tsiError signal as error indicator
/// * 1: Ignore tsiError signal
/// ###
/// %unsigned 3 reserved_0 0x0
/// %unsigned 1 ts_clock_polarity 0x1
/// ###
/// * 1: sample input TS signals with rising edge of TS input clock
/// * 0: sample input TS signals with falling edge of TS input clock
/// ###
/// %unsigned 1 ts_valid_polarity 0x1
/// ###
/// * 1: tsiValid is active high
/// * 0: tsiValid is active low
/// ###
/// %unsigned 1 ts_sync_polarity 0x1
/// ###
/// * 1: tsiSync is active high
/// * 0: tsiSync is active low
/// ###
/// %unsigned 1 ts_error_polarity 0x1
/// ###
/// * 1: tsiError is active high
/// * 0: tsiError is active low
/// ###
/// %unsigned 4 reserved_1 0x0
/// %% 16 # Stuffing bits...
/// @ 0x00010 sync_detect (P)
/// %unsigned 2 sync_detect_mode 0x0
/// ###
/// * 0: use tsSync signal to signify the start of a packet.
/// * 1: use tsSync signal to signify the sync byte of a packet.
/// * 2: use the transition from inactive to active of tsValid to signify the start of a packet
/// * 3: enable the internal sync byte detection and use the matching result to signify the sync byte of packet.
/// * For option 0 and 2, sync byte position is derived from sync_byte_position.
/// * For option 1 and 3, start of a packet is derived from sync_byte_position.
/// ###
/// %unsigned 1 sync_at_first_valid 0x0
/// ###
/// * This field is valid only when sync_detect_mode is 3:
/// * 1: check for sync byte only at the first cycle after tsValid change from inactive to active.
/// * 0: check for sync byte for each and every cycle when tsValid is active
/// * This bit should be set to one only when there is guaranteed idle cycle (tsValid is inactive) in front of every sync byte (the first bit of the sync byte in serial mode), otherwise it should be set to zero.
/// * When the condition described above is met, setting this bit to one will increase the accuracy of sync byte detection, but TSI will still work with this bit set to zero.
/// ###
/// %unsigned 5 reserved_0 0x0
/// %unsigned 5 sync_byte_position 0x0
/// ###
/// * Number of bytes before sync byte in the input packet from TS ports
/// * In case that the first byte is the sync byte, this field should be 0.
/// ###
/// %unsigned 3 reserved_1 0x0
/// %unsigned 8 sync_byte_value 0x47
/// ###
/// * Value of the sync byte
/// ###
/// %% 8 # Stuffing bits...
/// @ 0x00014 error_detect (P)
/// %unsigned 1 ignore_sync_byte_error 0x0
/// ###
/// * 1: ignore the error of sync byte in packet being different from the value specified in sync_detect.sync_byte_value field.
/// * 0: do not ignore the error
/// ###
/// %unsigned 7 reserved_0 0x0
/// %unsigned 8 success_gate 0x0
/// ###
/// * obsolete
/// ###
/// %unsigned 8 fail_gate 0x0
/// ###
/// * obsolete
/// ###
/// %% 8 # Stuffing bits...
/// @ 0x00018 pid_filter (P)
/// %unsigned 8 ltsid_offset 0x0
/// ###
/// * Number of bits before LTSID in the input packet from TS ports
/// ###
/// %unsigned 8 pid_offset 0xB
/// ###
/// * Number of bits before PID in the input packet from TS ports
/// ###
/// %unsigned 8 pid_start_address 0x0
/// ###
/// * Physical address of the first PID table entry
/// ###
/// %% 8 # Stuffing bits...
/// @ 0x0001C stc_clock_div (P)
/// %unsigned 16 divisor_0 0x0
/// ###
/// * Divisor used to divide stcClk0 before it is being used to drive STC counter
/// * 0 means to stop the counter
/// * Updating the divisor may cause unpredictable value change of stc_counter. Firmware should update stc_counter after changing divisor if a clean base is required.
/// ###
/// %unsigned 16 divisor_1 0x0
/// ###
/// * Divisor used to divide stcClk1.
/// ###
/// @ 0x00020 stc_counter_0 (RW)
/// %unsigned 32 lower 0x0
/// # 0x00024 stc_counter_01
/// %unsigned 10 upper 0x0
/// ###
/// * Value of STC counter 0
/// * Firmware should always read and write the two parts of STC counter together, in the order of upper filed first and lower field second.
/// ###
/// %% 22 # Stuffing bits...
/// @ 0x00028 stc_counter_1 (RW)
/// %unsigned 32 lower 0x0
/// # 0x0002C stc_counter_11
/// %unsigned 10 upper 0x0
/// ###
/// * Value of STC counter 1
/// ###
/// %% 22 # Stuffing bits...
/// @ 0x00030 fifo_select (P)
/// %unsigned 1 figo1 0x0
/// ###
/// * 0: connect to HBO of FIGO 0
/// * 1: connect to HBO of FIGO 1
/// ###
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 52B, bits: 239b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspTsiReg
#define h_TspTsiReg (){}
#define RA_TspTsiReg_global 0x0000
#define BA_TspTsiReg_global_reset 0x0000
#define B16TspTsiReg_global_reset 0x0000
#define LSb32TspTsiReg_global_reset 0
#define LSb16TspTsiReg_global_reset 0
#define bTspTsiReg_global_reset 1
#define MSK32TspTsiReg_global_reset 0x00000001
///////////////////////////////////////////////////////////
#define RA_TspTsiReg_tso_to_tsi 0x0004
#define BA_TspTsiReg_tso_to_tsi_loop_back_mode 0x0004
#define B16TspTsiReg_tso_to_tsi_loop_back_mode 0x0004
#define LSb32TspTsiReg_tso_to_tsi_loop_back_mode 0
#define LSb16TspTsiReg_tso_to_tsi_loop_back_mode 0
#define bTspTsiReg_tso_to_tsi_loop_back_mode 1
#define MSK32TspTsiReg_tso_to_tsi_loop_back_mode 0x00000001
///////////////////////////////////////////////////////////
#define RA_TspTsiReg_packet_format 0x0008
#define BA_TspTsiReg_packet_format_input_size 0x0008
#define B16TspTsiReg_packet_format_input_size 0x0008
#define LSb32TspTsiReg_packet_format_input_size 0
#define LSb16TspTsiReg_packet_format_input_size 0
#define bTspTsiReg_packet_format_input_size 8
#define MSK32TspTsiReg_packet_format_input_size 0x000000FF
#define BA_TspTsiReg_packet_format_captured_offset 0x0009
#define B16TspTsiReg_packet_format_captured_offset 0x0008
#define LSb32TspTsiReg_packet_format_captured_offset 8
#define LSb16TspTsiReg_packet_format_captured_offset 8
#define bTspTsiReg_packet_format_captured_offset 8
#define MSK32TspTsiReg_packet_format_captured_offset 0x0000FF00
#define BA_TspTsiReg_packet_format_captured_size 0x000A
#define B16TspTsiReg_packet_format_captured_size 0x000A
#define LSb32TspTsiReg_packet_format_captured_size 16
#define LSb16TspTsiReg_packet_format_captured_size 0
#define bTspTsiReg_packet_format_captured_size 8
#define MSK32TspTsiReg_packet_format_captured_size 0x00FF0000
#define BA_TspTsiReg_packet_format_output_size 0x000B
#define B16TspTsiReg_packet_format_output_size 0x000A
#define LSb32TspTsiReg_packet_format_output_size 24
#define LSb16TspTsiReg_packet_format_output_size 8
#define bTspTsiReg_packet_format_output_size 8
#define MSK32TspTsiReg_packet_format_output_size 0xFF000000
///////////////////////////////////////////////////////////
#define RA_TspTsiReg_port_ctrl 0x000C
#define BA_TspTsiReg_port_ctrl_serial_mode 0x000C
#define B16TspTsiReg_port_ctrl_serial_mode 0x000C
#define LSb32TspTsiReg_port_ctrl_serial_mode 0
#define LSb16TspTsiReg_port_ctrl_serial_mode 0
#define bTspTsiReg_port_ctrl_serial_mode 1
#define MSK32TspTsiReg_port_ctrl_serial_mode 0x00000001
#define BA_TspTsiReg_port_ctrl_serial_pin_select 0x000C
#define B16TspTsiReg_port_ctrl_serial_pin_select 0x000C
#define LSb32TspTsiReg_port_ctrl_serial_pin_select 1
#define LSb16TspTsiReg_port_ctrl_serial_pin_select 1
#define bTspTsiReg_port_ctrl_serial_pin_select 1
#define MSK32TspTsiReg_port_ctrl_serial_pin_select 0x00000002
#define BA_TspTsiReg_port_ctrl_lsb_first 0x000C
#define B16TspTsiReg_port_ctrl_lsb_first 0x000C
#define LSb32TspTsiReg_port_ctrl_lsb_first 2
#define LSb16TspTsiReg_port_ctrl_lsb_first 2
#define bTspTsiReg_port_ctrl_lsb_first 1
#define MSK32TspTsiReg_port_ctrl_lsb_first 0x00000004
#define BA_TspTsiReg_port_ctrl_ignore_ts_valid 0x000C
#define B16TspTsiReg_port_ctrl_ignore_ts_valid 0x000C
#define LSb32TspTsiReg_port_ctrl_ignore_ts_valid 3
#define LSb16TspTsiReg_port_ctrl_ignore_ts_valid 3
#define bTspTsiReg_port_ctrl_ignore_ts_valid 1
#define MSK32TspTsiReg_port_ctrl_ignore_ts_valid 0x00000008
#define BA_TspTsiReg_port_ctrl_ignore_ts_error 0x000C
#define B16TspTsiReg_port_ctrl_ignore_ts_error 0x000C
#define LSb32TspTsiReg_port_ctrl_ignore_ts_error 4
#define LSb16TspTsiReg_port_ctrl_ignore_ts_error 4
#define bTspTsiReg_port_ctrl_ignore_ts_error 1
#define MSK32TspTsiReg_port_ctrl_ignore_ts_error 0x00000010
#define BA_TspTsiReg_port_ctrl_reserved_0 0x000C
#define B16TspTsiReg_port_ctrl_reserved_0 0x000C
#define LSb32TspTsiReg_port_ctrl_reserved_0 5
#define LSb16TspTsiReg_port_ctrl_reserved_0 5
#define bTspTsiReg_port_ctrl_reserved_0 3
#define MSK32TspTsiReg_port_ctrl_reserved_0 0x000000E0
#define BA_TspTsiReg_port_ctrl_ts_clock_polarity 0x000D
#define B16TspTsiReg_port_ctrl_ts_clock_polarity 0x000C
#define LSb32TspTsiReg_port_ctrl_ts_clock_polarity 8
#define LSb16TspTsiReg_port_ctrl_ts_clock_polarity 8
#define bTspTsiReg_port_ctrl_ts_clock_polarity 1
#define MSK32TspTsiReg_port_ctrl_ts_clock_polarity 0x00000100
#define BA_TspTsiReg_port_ctrl_ts_valid_polarity 0x000D
#define B16TspTsiReg_port_ctrl_ts_valid_polarity 0x000C
#define LSb32TspTsiReg_port_ctrl_ts_valid_polarity 9
#define LSb16TspTsiReg_port_ctrl_ts_valid_polarity 9
#define bTspTsiReg_port_ctrl_ts_valid_polarity 1
#define MSK32TspTsiReg_port_ctrl_ts_valid_polarity 0x00000200
#define BA_TspTsiReg_port_ctrl_ts_sync_polarity 0x000D
#define B16TspTsiReg_port_ctrl_ts_sync_polarity 0x000C
#define LSb32TspTsiReg_port_ctrl_ts_sync_polarity 10
#define LSb16TspTsiReg_port_ctrl_ts_sync_polarity 10
#define bTspTsiReg_port_ctrl_ts_sync_polarity 1
#define MSK32TspTsiReg_port_ctrl_ts_sync_polarity 0x00000400
#define BA_TspTsiReg_port_ctrl_ts_error_polarity 0x000D
#define B16TspTsiReg_port_ctrl_ts_error_polarity 0x000C
#define LSb32TspTsiReg_port_ctrl_ts_error_polarity 11
#define LSb16TspTsiReg_port_ctrl_ts_error_polarity 11
#define bTspTsiReg_port_ctrl_ts_error_polarity 1
#define MSK32TspTsiReg_port_ctrl_ts_error_polarity 0x00000800
#define BA_TspTsiReg_port_ctrl_reserved_1 0x000D
#define B16TspTsiReg_port_ctrl_reserved_1 0x000C
#define LSb32TspTsiReg_port_ctrl_reserved_1 12
#define LSb16TspTsiReg_port_ctrl_reserved_1 12
#define bTspTsiReg_port_ctrl_reserved_1 4
#define MSK32TspTsiReg_port_ctrl_reserved_1 0x0000F000
///////////////////////////////////////////////////////////
#define RA_TspTsiReg_sync_detect 0x0010
#define BA_TspTsiReg_sync_detect_sync_detect_mode 0x0010
#define B16TspTsiReg_sync_detect_sync_detect_mode 0x0010
#define LSb32TspTsiReg_sync_detect_sync_detect_mode 0
#define LSb16TspTsiReg_sync_detect_sync_detect_mode 0
#define bTspTsiReg_sync_detect_sync_detect_mode 2
#define MSK32TspTsiReg_sync_detect_sync_detect_mode 0x00000003
#define BA_TspTsiReg_sync_detect_sync_at_first_valid 0x0010
#define B16TspTsiReg_sync_detect_sync_at_first_valid 0x0010
#define LSb32TspTsiReg_sync_detect_sync_at_first_valid 2
#define LSb16TspTsiReg_sync_detect_sync_at_first_valid 2
#define bTspTsiReg_sync_detect_sync_at_first_valid 1
#define MSK32TspTsiReg_sync_detect_sync_at_first_valid 0x00000004
#define BA_TspTsiReg_sync_detect_reserved_0 0x0010
#define B16TspTsiReg_sync_detect_reserved_0 0x0010
#define LSb32TspTsiReg_sync_detect_reserved_0 3
#define LSb16TspTsiReg_sync_detect_reserved_0 3
#define bTspTsiReg_sync_detect_reserved_0 5
#define MSK32TspTsiReg_sync_detect_reserved_0 0x000000F8
#define BA_TspTsiReg_sync_detect_sync_byte_position 0x0011
#define B16TspTsiReg_sync_detect_sync_byte_position 0x0010
#define LSb32TspTsiReg_sync_detect_sync_byte_position 8
#define LSb16TspTsiReg_sync_detect_sync_byte_position 8
#define bTspTsiReg_sync_detect_sync_byte_position 5
#define MSK32TspTsiReg_sync_detect_sync_byte_position 0x00001F00
#define BA_TspTsiReg_sync_detect_reserved_1 0x0011
#define B16TspTsiReg_sync_detect_reserved_1 0x0010
#define LSb32TspTsiReg_sync_detect_reserved_1 13
#define LSb16TspTsiReg_sync_detect_reserved_1 13
#define bTspTsiReg_sync_detect_reserved_1 3
#define MSK32TspTsiReg_sync_detect_reserved_1 0x0000E000
#define BA_TspTsiReg_sync_detect_sync_byte_value 0x0012
#define B16TspTsiReg_sync_detect_sync_byte_value 0x0012
#define LSb32TspTsiReg_sync_detect_sync_byte_value 16
#define LSb16TspTsiReg_sync_detect_sync_byte_value 0
#define bTspTsiReg_sync_detect_sync_byte_value 8
#define MSK32TspTsiReg_sync_detect_sync_byte_value 0x00FF0000
///////////////////////////////////////////////////////////
#define RA_TspTsiReg_error_detect 0x0014
#define BA_TspTsiReg_error_detect_ignore_sync_byte_error 0x0014
#define B16TspTsiReg_error_detect_ignore_sync_byte_error 0x0014
#define LSb32TspTsiReg_error_detect_ignore_sync_byte_error 0
#define LSb16TspTsiReg_error_detect_ignore_sync_byte_error 0
#define bTspTsiReg_error_detect_ignore_sync_byte_error 1
#define MSK32TspTsiReg_error_detect_ignore_sync_byte_error 0x00000001
#define BA_TspTsiReg_error_detect_reserved_0 0x0014
#define B16TspTsiReg_error_detect_reserved_0 0x0014
#define LSb32TspTsiReg_error_detect_reserved_0 1
#define LSb16TspTsiReg_error_detect_reserved_0 1
#define bTspTsiReg_error_detect_reserved_0 7
#define MSK32TspTsiReg_error_detect_reserved_0 0x000000FE
#define BA_TspTsiReg_error_detect_success_gate 0x0015
#define B16TspTsiReg_error_detect_success_gate 0x0014
#define LSb32TspTsiReg_error_detect_success_gate 8
#define LSb16TspTsiReg_error_detect_success_gate 8
#define bTspTsiReg_error_detect_success_gate 8
#define MSK32TspTsiReg_error_detect_success_gate 0x0000FF00
#define BA_TspTsiReg_error_detect_fail_gate 0x0016
#define B16TspTsiReg_error_detect_fail_gate 0x0016
#define LSb32TspTsiReg_error_detect_fail_gate 16
#define LSb16TspTsiReg_error_detect_fail_gate 0
#define bTspTsiReg_error_detect_fail_gate 8
#define MSK32TspTsiReg_error_detect_fail_gate 0x00FF0000
///////////////////////////////////////////////////////////
#define RA_TspTsiReg_pid_filter 0x0018
#define BA_TspTsiReg_pid_filter_ltsid_offset 0x0018
#define B16TspTsiReg_pid_filter_ltsid_offset 0x0018
#define LSb32TspTsiReg_pid_filter_ltsid_offset 0
#define LSb16TspTsiReg_pid_filter_ltsid_offset 0
#define bTspTsiReg_pid_filter_ltsid_offset 8
#define MSK32TspTsiReg_pid_filter_ltsid_offset 0x000000FF
#define BA_TspTsiReg_pid_filter_pid_offset 0x0019
#define B16TspTsiReg_pid_filter_pid_offset 0x0018
#define LSb32TspTsiReg_pid_filter_pid_offset 8
#define LSb16TspTsiReg_pid_filter_pid_offset 8
#define bTspTsiReg_pid_filter_pid_offset 8
#define MSK32TspTsiReg_pid_filter_pid_offset 0x0000FF00
#define BA_TspTsiReg_pid_filter_pid_start_address 0x001A
#define B16TspTsiReg_pid_filter_pid_start_address 0x001A
#define LSb32TspTsiReg_pid_filter_pid_start_address 16
#define LSb16TspTsiReg_pid_filter_pid_start_address 0
#define bTspTsiReg_pid_filter_pid_start_address 8
#define MSK32TspTsiReg_pid_filter_pid_start_address 0x00FF0000
///////////////////////////////////////////////////////////
#define RA_TspTsiReg_stc_clock_div 0x001C
#define BA_TspTsiReg_stc_clock_div_divisor_0 0x001C
#define B16TspTsiReg_stc_clock_div_divisor_0 0x001C
#define LSb32TspTsiReg_stc_clock_div_divisor_0 0
#define LSb16TspTsiReg_stc_clock_div_divisor_0 0
#define bTspTsiReg_stc_clock_div_divisor_0 16
#define MSK32TspTsiReg_stc_clock_div_divisor_0 0x0000FFFF
#define BA_TspTsiReg_stc_clock_div_divisor_1 0x001E
#define B16TspTsiReg_stc_clock_div_divisor_1 0x001E
#define LSb32TspTsiReg_stc_clock_div_divisor_1 16
#define LSb16TspTsiReg_stc_clock_div_divisor_1 0
#define bTspTsiReg_stc_clock_div_divisor_1 16
#define MSK32TspTsiReg_stc_clock_div_divisor_1 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_TspTsiReg_stc_counter_0 0x0020
#define BA_TspTsiReg_stc_counter_0_lower 0x0020
#define B16TspTsiReg_stc_counter_0_lower 0x0020
#define LSb32TspTsiReg_stc_counter_0_lower 0
#define LSb16TspTsiReg_stc_counter_0_lower 0
#define bTspTsiReg_stc_counter_0_lower 32
#define MSK32TspTsiReg_stc_counter_0_lower 0xFFFFFFFF
#define RA_TspTsiReg_stc_counter_01 0x0024
#define BA_TspTsiReg_stc_counter_0_upper 0x0024
#define B16TspTsiReg_stc_counter_0_upper 0x0024
#define LSb32TspTsiReg_stc_counter_0_upper 0
#define LSb16TspTsiReg_stc_counter_0_upper 0
#define bTspTsiReg_stc_counter_0_upper 10
#define MSK32TspTsiReg_stc_counter_0_upper 0x000003FF
///////////////////////////////////////////////////////////
#define RA_TspTsiReg_stc_counter_1 0x0028
#define BA_TspTsiReg_stc_counter_1_lower 0x0028
#define B16TspTsiReg_stc_counter_1_lower 0x0028
#define LSb32TspTsiReg_stc_counter_1_lower 0
#define LSb16TspTsiReg_stc_counter_1_lower 0
#define bTspTsiReg_stc_counter_1_lower 32
#define MSK32TspTsiReg_stc_counter_1_lower 0xFFFFFFFF
#define RA_TspTsiReg_stc_counter_11 0x002C
#define BA_TspTsiReg_stc_counter_1_upper 0x002C
#define B16TspTsiReg_stc_counter_1_upper 0x002C
#define LSb32TspTsiReg_stc_counter_1_upper 0
#define LSb16TspTsiReg_stc_counter_1_upper 0
#define bTspTsiReg_stc_counter_1_upper 10
#define MSK32TspTsiReg_stc_counter_1_upper 0x000003FF
///////////////////////////////////////////////////////////
#define RA_TspTsiReg_fifo_select 0x0030
#define BA_TspTsiReg_fifo_select_figo1 0x0030
#define B16TspTsiReg_fifo_select_figo1 0x0030
#define LSb32TspTsiReg_fifo_select_figo1 0
#define LSb16TspTsiReg_fifo_select_figo1 0
#define bTspTsiReg_fifo_select_figo1 1
#define MSK32TspTsiReg_fifo_select_figo1 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_TspTsiReg {
///////////////////////////////////////////////////////////
#define GET32TspTsiReg_global_reset(r32) _BFGET_(r32, 0, 0)
#define SET32TspTsiReg_global_reset(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspTsiReg_global_reset(r16) _BFGET_(r16, 0, 0)
#define SET16TspTsiReg_global_reset(r16,v) _BFSET_(r16, 0, 0,v)
#define w32TspTsiReg_global {\
UNSG32 uglobal_reset : 1;\
UNSG32 RSVDx0_b1 : 31;\
}
union { UNSG32 u32TspTsiReg_global;
struct w32TspTsiReg_global;
};
///////////////////////////////////////////////////////////
#define GET32TspTsiReg_tso_to_tsi_loop_back_mode(r32) _BFGET_(r32, 0, 0)
#define SET32TspTsiReg_tso_to_tsi_loop_back_mode(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspTsiReg_tso_to_tsi_loop_back_mode(r16) _BFGET_(r16, 0, 0)
#define SET16TspTsiReg_tso_to_tsi_loop_back_mode(r16,v) _BFSET_(r16, 0, 0,v)
#define w32TspTsiReg_tso_to_tsi {\
UNSG32 utso_to_tsi_loop_back_mode : 1;\
UNSG32 RSVDx4_b1 : 31;\
}
union { UNSG32 u32TspTsiReg_tso_to_tsi;
struct w32TspTsiReg_tso_to_tsi;
};
///////////////////////////////////////////////////////////
#define GET32TspTsiReg_packet_format_input_size(r32) _BFGET_(r32, 7, 0)
#define SET32TspTsiReg_packet_format_input_size(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16TspTsiReg_packet_format_input_size(r16) _BFGET_(r16, 7, 0)
#define SET16TspTsiReg_packet_format_input_size(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32TspTsiReg_packet_format_captured_offset(r32) _BFGET_(r32,15, 8)
#define SET32TspTsiReg_packet_format_captured_offset(r32,v) _BFSET_(r32,15, 8,v)
#define GET16TspTsiReg_packet_format_captured_offset(r16) _BFGET_(r16,15, 8)
#define SET16TspTsiReg_packet_format_captured_offset(r16,v) _BFSET_(r16,15, 8,v)
#define GET32TspTsiReg_packet_format_captured_size(r32) _BFGET_(r32,23,16)
#define SET32TspTsiReg_packet_format_captured_size(r32,v) _BFSET_(r32,23,16,v)
#define GET16TspTsiReg_packet_format_captured_size(r16) _BFGET_(r16, 7, 0)
#define SET16TspTsiReg_packet_format_captured_size(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32TspTsiReg_packet_format_output_size(r32) _BFGET_(r32,31,24)
#define SET32TspTsiReg_packet_format_output_size(r32,v) _BFSET_(r32,31,24,v)
#define GET16TspTsiReg_packet_format_output_size(r16) _BFGET_(r16,15, 8)
#define SET16TspTsiReg_packet_format_output_size(r16,v) _BFSET_(r16,15, 8,v)
#define w32TspTsiReg_packet_format {\
UNSG32 upacket_format_input_size : 8;\
UNSG32 upacket_format_captured_offset : 8;\
UNSG32 upacket_format_captured_size : 8;\
UNSG32 upacket_format_output_size : 8;\
}
union { UNSG32 u32TspTsiReg_packet_format;
struct w32TspTsiReg_packet_format;
};
///////////////////////////////////////////////////////////
#define GET32TspTsiReg_port_ctrl_serial_mode(r32) _BFGET_(r32, 0, 0)
#define SET32TspTsiReg_port_ctrl_serial_mode(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspTsiReg_port_ctrl_serial_mode(r16) _BFGET_(r16, 0, 0)
#define SET16TspTsiReg_port_ctrl_serial_mode(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TspTsiReg_port_ctrl_serial_pin_select(r32) _BFGET_(r32, 1, 1)
#define SET32TspTsiReg_port_ctrl_serial_pin_select(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16TspTsiReg_port_ctrl_serial_pin_select(r16) _BFGET_(r16, 1, 1)
#define SET16TspTsiReg_port_ctrl_serial_pin_select(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32TspTsiReg_port_ctrl_lsb_first(r32) _BFGET_(r32, 2, 2)
#define SET32TspTsiReg_port_ctrl_lsb_first(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16TspTsiReg_port_ctrl_lsb_first(r16) _BFGET_(r16, 2, 2)
#define SET16TspTsiReg_port_ctrl_lsb_first(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32TspTsiReg_port_ctrl_ignore_ts_valid(r32) _BFGET_(r32, 3, 3)
#define SET32TspTsiReg_port_ctrl_ignore_ts_valid(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16TspTsiReg_port_ctrl_ignore_ts_valid(r16) _BFGET_(r16, 3, 3)
#define SET16TspTsiReg_port_ctrl_ignore_ts_valid(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32TspTsiReg_port_ctrl_ignore_ts_error(r32) _BFGET_(r32, 4, 4)
#define SET32TspTsiReg_port_ctrl_ignore_ts_error(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16TspTsiReg_port_ctrl_ignore_ts_error(r16) _BFGET_(r16, 4, 4)
#define SET16TspTsiReg_port_ctrl_ignore_ts_error(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32TspTsiReg_port_ctrl_reserved_0(r32) _BFGET_(r32, 7, 5)
#define SET32TspTsiReg_port_ctrl_reserved_0(r32,v) _BFSET_(r32, 7, 5,v)
#define GET16TspTsiReg_port_ctrl_reserved_0(r16) _BFGET_(r16, 7, 5)
#define SET16TspTsiReg_port_ctrl_reserved_0(r16,v) _BFSET_(r16, 7, 5,v)
#define GET32TspTsiReg_port_ctrl_ts_clock_polarity(r32) _BFGET_(r32, 8, 8)
#define SET32TspTsiReg_port_ctrl_ts_clock_polarity(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16TspTsiReg_port_ctrl_ts_clock_polarity(r16) _BFGET_(r16, 8, 8)
#define SET16TspTsiReg_port_ctrl_ts_clock_polarity(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32TspTsiReg_port_ctrl_ts_valid_polarity(r32) _BFGET_(r32, 9, 9)
#define SET32TspTsiReg_port_ctrl_ts_valid_polarity(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16TspTsiReg_port_ctrl_ts_valid_polarity(r16) _BFGET_(r16, 9, 9)
#define SET16TspTsiReg_port_ctrl_ts_valid_polarity(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32TspTsiReg_port_ctrl_ts_sync_polarity(r32) _BFGET_(r32,10,10)
#define SET32TspTsiReg_port_ctrl_ts_sync_polarity(r32,v) _BFSET_(r32,10,10,v)
#define GET16TspTsiReg_port_ctrl_ts_sync_polarity(r16) _BFGET_(r16,10,10)
#define SET16TspTsiReg_port_ctrl_ts_sync_polarity(r16,v) _BFSET_(r16,10,10,v)
#define GET32TspTsiReg_port_ctrl_ts_error_polarity(r32) _BFGET_(r32,11,11)
#define SET32TspTsiReg_port_ctrl_ts_error_polarity(r32,v) _BFSET_(r32,11,11,v)
#define GET16TspTsiReg_port_ctrl_ts_error_polarity(r16) _BFGET_(r16,11,11)
#define SET16TspTsiReg_port_ctrl_ts_error_polarity(r16,v) _BFSET_(r16,11,11,v)
#define GET32TspTsiReg_port_ctrl_reserved_1(r32) _BFGET_(r32,15,12)
#define SET32TspTsiReg_port_ctrl_reserved_1(r32,v) _BFSET_(r32,15,12,v)
#define GET16TspTsiReg_port_ctrl_reserved_1(r16) _BFGET_(r16,15,12)
#define SET16TspTsiReg_port_ctrl_reserved_1(r16,v) _BFSET_(r16,15,12,v)
#define w32TspTsiReg_port_ctrl {\
UNSG32 uport_ctrl_serial_mode : 1;\
UNSG32 uport_ctrl_serial_pin_select : 1;\
UNSG32 uport_ctrl_lsb_first : 1;\
UNSG32 uport_ctrl_ignore_ts_valid : 1;\
UNSG32 uport_ctrl_ignore_ts_error : 1;\
UNSG32 uport_ctrl_reserved_0 : 3;\
UNSG32 uport_ctrl_ts_clock_polarity : 1;\
UNSG32 uport_ctrl_ts_valid_polarity : 1;\
UNSG32 uport_ctrl_ts_sync_polarity : 1;\
UNSG32 uport_ctrl_ts_error_polarity : 1;\
UNSG32 uport_ctrl_reserved_1 : 4;\
UNSG32 RSVDxC_b16 : 16;\
}
union { UNSG32 u32TspTsiReg_port_ctrl;
struct w32TspTsiReg_port_ctrl;
};
///////////////////////////////////////////////////////////
#define GET32TspTsiReg_sync_detect_sync_detect_mode(r32) _BFGET_(r32, 1, 0)
#define SET32TspTsiReg_sync_detect_sync_detect_mode(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16TspTsiReg_sync_detect_sync_detect_mode(r16) _BFGET_(r16, 1, 0)
#define SET16TspTsiReg_sync_detect_sync_detect_mode(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32TspTsiReg_sync_detect_sync_at_first_valid(r32) _BFGET_(r32, 2, 2)
#define SET32TspTsiReg_sync_detect_sync_at_first_valid(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16TspTsiReg_sync_detect_sync_at_first_valid(r16) _BFGET_(r16, 2, 2)
#define SET16TspTsiReg_sync_detect_sync_at_first_valid(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32TspTsiReg_sync_detect_reserved_0(r32) _BFGET_(r32, 7, 3)
#define SET32TspTsiReg_sync_detect_reserved_0(r32,v) _BFSET_(r32, 7, 3,v)
#define GET16TspTsiReg_sync_detect_reserved_0(r16) _BFGET_(r16, 7, 3)
#define SET16TspTsiReg_sync_detect_reserved_0(r16,v) _BFSET_(r16, 7, 3,v)
#define GET32TspTsiReg_sync_detect_sync_byte_position(r32) _BFGET_(r32,12, 8)
#define SET32TspTsiReg_sync_detect_sync_byte_position(r32,v) _BFSET_(r32,12, 8,v)
#define GET16TspTsiReg_sync_detect_sync_byte_position(r16) _BFGET_(r16,12, 8)
#define SET16TspTsiReg_sync_detect_sync_byte_position(r16,v) _BFSET_(r16,12, 8,v)
#define GET32TspTsiReg_sync_detect_reserved_1(r32) _BFGET_(r32,15,13)
#define SET32TspTsiReg_sync_detect_reserved_1(r32,v) _BFSET_(r32,15,13,v)
#define GET16TspTsiReg_sync_detect_reserved_1(r16) _BFGET_(r16,15,13)
#define SET16TspTsiReg_sync_detect_reserved_1(r16,v) _BFSET_(r16,15,13,v)
#define GET32TspTsiReg_sync_detect_sync_byte_value(r32) _BFGET_(r32,23,16)
#define SET32TspTsiReg_sync_detect_sync_byte_value(r32,v) _BFSET_(r32,23,16,v)
#define GET16TspTsiReg_sync_detect_sync_byte_value(r16) _BFGET_(r16, 7, 0)
#define SET16TspTsiReg_sync_detect_sync_byte_value(r16,v) _BFSET_(r16, 7, 0,v)
#define w32TspTsiReg_sync_detect {\
UNSG32 usync_detect_sync_detect_mode : 2;\
UNSG32 usync_detect_sync_at_first_valid : 1;\
UNSG32 usync_detect_reserved_0 : 5;\
UNSG32 usync_detect_sync_byte_position : 5;\
UNSG32 usync_detect_reserved_1 : 3;\
UNSG32 usync_detect_sync_byte_value : 8;\
UNSG32 RSVDx10_b24 : 8;\
}
union { UNSG32 u32TspTsiReg_sync_detect;
struct w32TspTsiReg_sync_detect;
};
///////////////////////////////////////////////////////////
#define GET32TspTsiReg_error_detect_ignore_sync_byte_error(r32) _BFGET_(r32, 0, 0)
#define SET32TspTsiReg_error_detect_ignore_sync_byte_error(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspTsiReg_error_detect_ignore_sync_byte_error(r16) _BFGET_(r16, 0, 0)
#define SET16TspTsiReg_error_detect_ignore_sync_byte_error(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TspTsiReg_error_detect_reserved_0(r32) _BFGET_(r32, 7, 1)
#define SET32TspTsiReg_error_detect_reserved_0(r32,v) _BFSET_(r32, 7, 1,v)
#define GET16TspTsiReg_error_detect_reserved_0(r16) _BFGET_(r16, 7, 1)
#define SET16TspTsiReg_error_detect_reserved_0(r16,v) _BFSET_(r16, 7, 1,v)
#define GET32TspTsiReg_error_detect_success_gate(r32) _BFGET_(r32,15, 8)
#define SET32TspTsiReg_error_detect_success_gate(r32,v) _BFSET_(r32,15, 8,v)
#define GET16TspTsiReg_error_detect_success_gate(r16) _BFGET_(r16,15, 8)
#define SET16TspTsiReg_error_detect_success_gate(r16,v) _BFSET_(r16,15, 8,v)
#define GET32TspTsiReg_error_detect_fail_gate(r32) _BFGET_(r32,23,16)
#define SET32TspTsiReg_error_detect_fail_gate(r32,v) _BFSET_(r32,23,16,v)
#define GET16TspTsiReg_error_detect_fail_gate(r16) _BFGET_(r16, 7, 0)
#define SET16TspTsiReg_error_detect_fail_gate(r16,v) _BFSET_(r16, 7, 0,v)
#define w32TspTsiReg_error_detect {\
UNSG32 uerror_detect_ignore_sync_byte_error : 1;\
UNSG32 uerror_detect_reserved_0 : 7;\
UNSG32 uerror_detect_success_gate : 8;\
UNSG32 uerror_detect_fail_gate : 8;\
UNSG32 RSVDx14_b24 : 8;\
}
union { UNSG32 u32TspTsiReg_error_detect;
struct w32TspTsiReg_error_detect;
};
///////////////////////////////////////////////////////////
#define GET32TspTsiReg_pid_filter_ltsid_offset(r32) _BFGET_(r32, 7, 0)
#define SET32TspTsiReg_pid_filter_ltsid_offset(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16TspTsiReg_pid_filter_ltsid_offset(r16) _BFGET_(r16, 7, 0)
#define SET16TspTsiReg_pid_filter_ltsid_offset(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32TspTsiReg_pid_filter_pid_offset(r32) _BFGET_(r32,15, 8)
#define SET32TspTsiReg_pid_filter_pid_offset(r32,v) _BFSET_(r32,15, 8,v)
#define GET16TspTsiReg_pid_filter_pid_offset(r16) _BFGET_(r16,15, 8)
#define SET16TspTsiReg_pid_filter_pid_offset(r16,v) _BFSET_(r16,15, 8,v)
#define GET32TspTsiReg_pid_filter_pid_start_address(r32) _BFGET_(r32,23,16)
#define SET32TspTsiReg_pid_filter_pid_start_address(r32,v) _BFSET_(r32,23,16,v)
#define GET16TspTsiReg_pid_filter_pid_start_address(r16) _BFGET_(r16, 7, 0)
#define SET16TspTsiReg_pid_filter_pid_start_address(r16,v) _BFSET_(r16, 7, 0,v)
#define w32TspTsiReg_pid_filter {\
UNSG32 upid_filter_ltsid_offset : 8;\
UNSG32 upid_filter_pid_offset : 8;\
UNSG32 upid_filter_pid_start_address : 8;\
UNSG32 RSVDx18_b24 : 8;\
}
union { UNSG32 u32TspTsiReg_pid_filter;
struct w32TspTsiReg_pid_filter;
};
///////////////////////////////////////////////////////////
#define GET32TspTsiReg_stc_clock_div_divisor_0(r32) _BFGET_(r32,15, 0)
#define SET32TspTsiReg_stc_clock_div_divisor_0(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspTsiReg_stc_clock_div_divisor_0(r16) _BFGET_(r16,15, 0)
#define SET16TspTsiReg_stc_clock_div_divisor_0(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TspTsiReg_stc_clock_div_divisor_1(r32) _BFGET_(r32,31,16)
#define SET32TspTsiReg_stc_clock_div_divisor_1(r32,v) _BFSET_(r32,31,16,v)
#define GET16TspTsiReg_stc_clock_div_divisor_1(r16) _BFGET_(r16,15, 0)
#define SET16TspTsiReg_stc_clock_div_divisor_1(r16,v) _BFSET_(r16,15, 0,v)
#define w32TspTsiReg_stc_clock_div {\
UNSG32 ustc_clock_div_divisor_0 : 16;\
UNSG32 ustc_clock_div_divisor_1 : 16;\
}
union { UNSG32 u32TspTsiReg_stc_clock_div;
struct w32TspTsiReg_stc_clock_div;
};
///////////////////////////////////////////////////////////
#define GET32TspTsiReg_stc_counter_0_lower(r32) _BFGET_(r32,31, 0)
#define SET32TspTsiReg_stc_counter_0_lower(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspTsiReg_stc_counter_0 {\
UNSG32 ustc_counter_0_lower : 32;\
}
union { UNSG32 u32TspTsiReg_stc_counter_0;
struct w32TspTsiReg_stc_counter_0;
};
#define GET32TspTsiReg_stc_counter_0_upper(r32) _BFGET_(r32, 9, 0)
#define SET32TspTsiReg_stc_counter_0_upper(r32,v) _BFSET_(r32, 9, 0,v)
#define GET16TspTsiReg_stc_counter_0_upper(r16) _BFGET_(r16, 9, 0)
#define SET16TspTsiReg_stc_counter_0_upper(r16,v) _BFSET_(r16, 9, 0,v)
#define w32TspTsiReg_stc_counter_01 {\
UNSG32 ustc_counter_0_upper : 10;\
UNSG32 RSVDx24_b10 : 22;\
}
union { UNSG32 u32TspTsiReg_stc_counter_01;
struct w32TspTsiReg_stc_counter_01;
};
///////////////////////////////////////////////////////////
#define GET32TspTsiReg_stc_counter_1_lower(r32) _BFGET_(r32,31, 0)
#define SET32TspTsiReg_stc_counter_1_lower(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspTsiReg_stc_counter_1 {\
UNSG32 ustc_counter_1_lower : 32;\
}
union { UNSG32 u32TspTsiReg_stc_counter_1;
struct w32TspTsiReg_stc_counter_1;
};
#define GET32TspTsiReg_stc_counter_1_upper(r32) _BFGET_(r32, 9, 0)
#define SET32TspTsiReg_stc_counter_1_upper(r32,v) _BFSET_(r32, 9, 0,v)
#define GET16TspTsiReg_stc_counter_1_upper(r16) _BFGET_(r16, 9, 0)
#define SET16TspTsiReg_stc_counter_1_upper(r16,v) _BFSET_(r16, 9, 0,v)
#define w32TspTsiReg_stc_counter_11 {\
UNSG32 ustc_counter_1_upper : 10;\
UNSG32 RSVDx2C_b10 : 22;\
}
union { UNSG32 u32TspTsiReg_stc_counter_11;
struct w32TspTsiReg_stc_counter_11;
};
///////////////////////////////////////////////////////////
#define GET32TspTsiReg_fifo_select_figo1(r32) _BFGET_(r32, 0, 0)
#define SET32TspTsiReg_fifo_select_figo1(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspTsiReg_fifo_select_figo1(r16) _BFGET_(r16, 0, 0)
#define SET16TspTsiReg_fifo_select_figo1(r16,v) _BFSET_(r16, 0, 0,v)
#define w32TspTsiReg_fifo_select {\
UNSG32 ufifo_select_figo1 : 1;\
UNSG32 RSVDx30_b1 : 31;\
}
union { UNSG32 u32TspTsiReg_fifo_select;
struct w32TspTsiReg_fifo_select;
};
///////////////////////////////////////////////////////////
} SIE_TspTsiReg;
typedef union T32TspTsiReg_global
{ UNSG32 u32;
struct w32TspTsiReg_global;
} T32TspTsiReg_global;
typedef union T32TspTsiReg_tso_to_tsi
{ UNSG32 u32;
struct w32TspTsiReg_tso_to_tsi;
} T32TspTsiReg_tso_to_tsi;
typedef union T32TspTsiReg_packet_format
{ UNSG32 u32;
struct w32TspTsiReg_packet_format;
} T32TspTsiReg_packet_format;
typedef union T32TspTsiReg_port_ctrl
{ UNSG32 u32;
struct w32TspTsiReg_port_ctrl;
} T32TspTsiReg_port_ctrl;
typedef union T32TspTsiReg_sync_detect
{ UNSG32 u32;
struct w32TspTsiReg_sync_detect;
} T32TspTsiReg_sync_detect;
typedef union T32TspTsiReg_error_detect
{ UNSG32 u32;
struct w32TspTsiReg_error_detect;
} T32TspTsiReg_error_detect;
typedef union T32TspTsiReg_pid_filter
{ UNSG32 u32;
struct w32TspTsiReg_pid_filter;
} T32TspTsiReg_pid_filter;
typedef union T32TspTsiReg_stc_clock_div
{ UNSG32 u32;
struct w32TspTsiReg_stc_clock_div;
} T32TspTsiReg_stc_clock_div;
typedef union T32TspTsiReg_stc_counter_0
{ UNSG32 u32;
struct w32TspTsiReg_stc_counter_0;
} T32TspTsiReg_stc_counter_0;
typedef union T32TspTsiReg_stc_counter_01
{ UNSG32 u32;
struct w32TspTsiReg_stc_counter_01;
} T32TspTsiReg_stc_counter_01;
typedef union T32TspTsiReg_stc_counter_1
{ UNSG32 u32;
struct w32TspTsiReg_stc_counter_1;
} T32TspTsiReg_stc_counter_1;
typedef union T32TspTsiReg_stc_counter_11
{ UNSG32 u32;
struct w32TspTsiReg_stc_counter_11;
} T32TspTsiReg_stc_counter_11;
typedef union T32TspTsiReg_fifo_select
{ UNSG32 u32;
struct w32TspTsiReg_fifo_select;
} T32TspTsiReg_fifo_select;
///////////////////////////////////////////////////////////
typedef union TTspTsiReg_global
{ UNSG32 u32[1];
struct {
struct w32TspTsiReg_global;
};
} TTspTsiReg_global;
typedef union TTspTsiReg_tso_to_tsi
{ UNSG32 u32[1];
struct {
struct w32TspTsiReg_tso_to_tsi;
};
} TTspTsiReg_tso_to_tsi;
typedef union TTspTsiReg_packet_format
{ UNSG32 u32[1];
struct {
struct w32TspTsiReg_packet_format;
};
} TTspTsiReg_packet_format;
typedef union TTspTsiReg_port_ctrl
{ UNSG32 u32[1];
struct {
struct w32TspTsiReg_port_ctrl;
};
} TTspTsiReg_port_ctrl;
typedef union TTspTsiReg_sync_detect
{ UNSG32 u32[1];
struct {
struct w32TspTsiReg_sync_detect;
};
} TTspTsiReg_sync_detect;
typedef union TTspTsiReg_error_detect
{ UNSG32 u32[1];
struct {
struct w32TspTsiReg_error_detect;
};
} TTspTsiReg_error_detect;
typedef union TTspTsiReg_pid_filter
{ UNSG32 u32[1];
struct {
struct w32TspTsiReg_pid_filter;
};
} TTspTsiReg_pid_filter;
typedef union TTspTsiReg_stc_clock_div
{ UNSG32 u32[1];
struct {
struct w32TspTsiReg_stc_clock_div;
};
} TTspTsiReg_stc_clock_div;
typedef union TTspTsiReg_stc_counter_0
{ UNSG32 u32[2];
struct {
struct w32TspTsiReg_stc_counter_0;
struct w32TspTsiReg_stc_counter_01;
};
} TTspTsiReg_stc_counter_0;
typedef union TTspTsiReg_stc_counter_1
{ UNSG32 u32[2];
struct {
struct w32TspTsiReg_stc_counter_1;
struct w32TspTsiReg_stc_counter_11;
};
} TTspTsiReg_stc_counter_1;
typedef union TTspTsiReg_fifo_select
{ UNSG32 u32[1];
struct {
struct w32TspTsiReg_fifo_select;
};
} TTspTsiReg_fifo_select;
///////////////////////////////////////////////////////////
SIGN32 TspTsiReg_drvrd(SIE_TspTsiReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspTsiReg_drvwr(SIE_TspTsiReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspTsiReg_reset(SIE_TspTsiReg *p);
SIGN32 TspTsiReg_cmp (SIE_TspTsiReg *p, SIE_TspTsiReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspTsiReg_check(p,pie,pfx,hLOG) TspTsiReg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspTsiReg_print(p, pfx,hLOG) TspTsiReg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspTsiReg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspTsoReg biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 global (P)
/// %unsigned 1 reset 0x1
/// ###
/// * 1: reset the TSO
/// * 0: normal operation
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00004 packet_format (P)
/// %unsigned 8 original_size 0xC0
/// ###
/// * Size (in byte) of the original packet in the TS packet FIFO
/// * It must be a multiple of 8. Hardware will ignore the three LSB.
/// * 0 is mapped to 256
/// ###
/// %unsigned 8 header_padding_size 0x0
/// ###
/// * Number of bytes before the first byte to output in the original packet
/// ###
/// %unsigned 8 output_size 0xBC
/// ###
/// * Size (in byte) of the packet output to TSO port;
/// * 0 is mapped to 256
/// * original_size must be no less than the sum of header_padding_size and output_size.
/// * Hardware may behave unpredictably if the setting violates these rules.
/// ###
/// %% 8 # Stuffing bits...
/// @ 0x00008 clock_ctrl (P)
/// %unsigned 1 clock_on 0x0
/// ###
/// * 1: turn on the TS output clock
/// * 0: turn off the TS output clock
/// * Firmware should update other fields in clock_ctrl register only when clock_on is set to zero.
/// ###
/// %unsigned 1 clock_gating_enable 0x0
/// ###
/// * 1: dynamically gate TS clock for invalid byte
/// * 0: TS clock is free running
/// ###
/// %unsigned 6 reserved_0
/// %unsigned 8 divisor 0x1
/// ###
/// * Divisor used to generate TS output clock from TS reference clock
/// * 0 is mapped to 256
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x0000C port_ctrl (P)
/// %unsigned 1 serial_mode 0x0
/// ###
/// * 1: TS output works in serial mode.
/// * 0: TS output works in 8-bit parallel mode.
/// ###
/// %unsigned 1 serial_pin_select 0x0
/// ###
/// * 1: In serial mode, use tsoData[7] as data pins
/// * 0: In serial mode, use tsoData[0] as data pins
/// ###
/// %unsigned 1 lsb_first 0x0
/// ###
/// * 1: In serial mode, output MSB of a byte first
/// * 0: In serial mode, output LSB of a byte first
/// * Valid only when serial_mode is one
/// ###
/// %unsigned 1 sync_pulse_8bit 0x0
/// ###
/// * 1: tsoSync signal is set for all the 8 bits in sync byte.
/// * 0: tsoSync signal is set for the first bit in sync byte.
/// * Valid only when serial_mode is one.
/// ###
/// %unsigned 4 reserved_0
/// %unsigned 1 ts_clock_polarity 0x0
/// ###
/// * 1: TS output data/control signals change at rising edge of TS output clock
/// * 0: TS output data/control signals change at falling edge of TS output clock
/// ###
/// %unsigned 1 ts_valid_polarity 0x1
/// ###
/// * 1: tsoValid is active high
/// * 0: tsoValid is active low
/// ###
/// %unsigned 1 ts_sync_polarity 0x1
/// ###
/// * 1: tsoSync is active high
/// * 0: tsoSync is active low
/// ###
/// %unsigned 5 reserved_1
/// %unsigned 8 gap_size_between_bytes 0x0
/// ###
/// * Number of idle cycles between two valid bytes
/// ###
/// %unsigned 8 gap_size_between_packets 0x1
/// ###
/// * Number of idle cycles between two TS packets
/// ###
/// @ 0x00010 status (R-)
/// %unsigned 1 idle 0x1
/// ###
/// * 1: TSO is idle. All the state machines are idle and all the pipelines are empty
/// * 0: TSO is in the middle of transferring data.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00014 fifo_select (P)
/// %unsigned 1 figo1 0x0
/// ###
/// * 0: connect to HBO of FIGO 0
/// * 1: connect to HBO of FIGO 1
/// ###
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 24B, bits: 75b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspTsoReg
#define h_TspTsoReg (){}
#define RA_TspTsoReg_global 0x0000
#define BA_TspTsoReg_global_reset 0x0000
#define B16TspTsoReg_global_reset 0x0000
#define LSb32TspTsoReg_global_reset 0
#define LSb16TspTsoReg_global_reset 0
#define bTspTsoReg_global_reset 1
#define MSK32TspTsoReg_global_reset 0x00000001
///////////////////////////////////////////////////////////
#define RA_TspTsoReg_packet_format 0x0004
#define BA_TspTsoReg_packet_format_original_size 0x0004
#define B16TspTsoReg_packet_format_original_size 0x0004
#define LSb32TspTsoReg_packet_format_original_size 0
#define LSb16TspTsoReg_packet_format_original_size 0
#define bTspTsoReg_packet_format_original_size 8
#define MSK32TspTsoReg_packet_format_original_size 0x000000FF
#define BA_TspTsoReg_packet_format_header_padding_size 0x0005
#define B16TspTsoReg_packet_format_header_padding_size 0x0004
#define LSb32TspTsoReg_packet_format_header_padding_size 8
#define LSb16TspTsoReg_packet_format_header_padding_size 8
#define bTspTsoReg_packet_format_header_padding_size 8
#define MSK32TspTsoReg_packet_format_header_padding_size 0x0000FF00
#define BA_TspTsoReg_packet_format_output_size 0x0006
#define B16TspTsoReg_packet_format_output_size 0x0006
#define LSb32TspTsoReg_packet_format_output_size 16
#define LSb16TspTsoReg_packet_format_output_size 0
#define bTspTsoReg_packet_format_output_size 8
#define MSK32TspTsoReg_packet_format_output_size 0x00FF0000
///////////////////////////////////////////////////////////
#define RA_TspTsoReg_clock_ctrl 0x0008
#define BA_TspTsoReg_clock_ctrl_clock_on 0x0008
#define B16TspTsoReg_clock_ctrl_clock_on 0x0008
#define LSb32TspTsoReg_clock_ctrl_clock_on 0
#define LSb16TspTsoReg_clock_ctrl_clock_on 0
#define bTspTsoReg_clock_ctrl_clock_on 1
#define MSK32TspTsoReg_clock_ctrl_clock_on 0x00000001
#define BA_TspTsoReg_clock_ctrl_clock_gating_enable 0x0008
#define B16TspTsoReg_clock_ctrl_clock_gating_enable 0x0008
#define LSb32TspTsoReg_clock_ctrl_clock_gating_enable 1
#define LSb16TspTsoReg_clock_ctrl_clock_gating_enable 1
#define bTspTsoReg_clock_ctrl_clock_gating_enable 1
#define MSK32TspTsoReg_clock_ctrl_clock_gating_enable 0x00000002
#define BA_TspTsoReg_clock_ctrl_reserved_0 0x0008
#define B16TspTsoReg_clock_ctrl_reserved_0 0x0008
#define LSb32TspTsoReg_clock_ctrl_reserved_0 2
#define LSb16TspTsoReg_clock_ctrl_reserved_0 2
#define bTspTsoReg_clock_ctrl_reserved_0 6
#define MSK32TspTsoReg_clock_ctrl_reserved_0 0x000000FC
#define BA_TspTsoReg_clock_ctrl_divisor 0x0009
#define B16TspTsoReg_clock_ctrl_divisor 0x0008
#define LSb32TspTsoReg_clock_ctrl_divisor 8
#define LSb16TspTsoReg_clock_ctrl_divisor 8
#define bTspTsoReg_clock_ctrl_divisor 8
#define MSK32TspTsoReg_clock_ctrl_divisor 0x0000FF00
///////////////////////////////////////////////////////////
#define RA_TspTsoReg_port_ctrl 0x000C
#define BA_TspTsoReg_port_ctrl_serial_mode 0x000C
#define B16TspTsoReg_port_ctrl_serial_mode 0x000C
#define LSb32TspTsoReg_port_ctrl_serial_mode 0
#define LSb16TspTsoReg_port_ctrl_serial_mode 0
#define bTspTsoReg_port_ctrl_serial_mode 1
#define MSK32TspTsoReg_port_ctrl_serial_mode 0x00000001
#define BA_TspTsoReg_port_ctrl_serial_pin_select 0x000C
#define B16TspTsoReg_port_ctrl_serial_pin_select 0x000C
#define LSb32TspTsoReg_port_ctrl_serial_pin_select 1
#define LSb16TspTsoReg_port_ctrl_serial_pin_select 1
#define bTspTsoReg_port_ctrl_serial_pin_select 1
#define MSK32TspTsoReg_port_ctrl_serial_pin_select 0x00000002
#define BA_TspTsoReg_port_ctrl_lsb_first 0x000C
#define B16TspTsoReg_port_ctrl_lsb_first 0x000C
#define LSb32TspTsoReg_port_ctrl_lsb_first 2
#define LSb16TspTsoReg_port_ctrl_lsb_first 2
#define bTspTsoReg_port_ctrl_lsb_first 1
#define MSK32TspTsoReg_port_ctrl_lsb_first 0x00000004
#define BA_TspTsoReg_port_ctrl_sync_pulse_8bit 0x000C
#define B16TspTsoReg_port_ctrl_sync_pulse_8bit 0x000C
#define LSb32TspTsoReg_port_ctrl_sync_pulse_8bit 3
#define LSb16TspTsoReg_port_ctrl_sync_pulse_8bit 3
#define bTspTsoReg_port_ctrl_sync_pulse_8bit 1
#define MSK32TspTsoReg_port_ctrl_sync_pulse_8bit 0x00000008
#define BA_TspTsoReg_port_ctrl_reserved_0 0x000C
#define B16TspTsoReg_port_ctrl_reserved_0 0x000C
#define LSb32TspTsoReg_port_ctrl_reserved_0 4
#define LSb16TspTsoReg_port_ctrl_reserved_0 4
#define bTspTsoReg_port_ctrl_reserved_0 4
#define MSK32TspTsoReg_port_ctrl_reserved_0 0x000000F0
#define BA_TspTsoReg_port_ctrl_ts_clock_polarity 0x000D
#define B16TspTsoReg_port_ctrl_ts_clock_polarity 0x000C
#define LSb32TspTsoReg_port_ctrl_ts_clock_polarity 8
#define LSb16TspTsoReg_port_ctrl_ts_clock_polarity 8
#define bTspTsoReg_port_ctrl_ts_clock_polarity 1
#define MSK32TspTsoReg_port_ctrl_ts_clock_polarity 0x00000100
#define BA_TspTsoReg_port_ctrl_ts_valid_polarity 0x000D
#define B16TspTsoReg_port_ctrl_ts_valid_polarity 0x000C
#define LSb32TspTsoReg_port_ctrl_ts_valid_polarity 9
#define LSb16TspTsoReg_port_ctrl_ts_valid_polarity 9
#define bTspTsoReg_port_ctrl_ts_valid_polarity 1
#define MSK32TspTsoReg_port_ctrl_ts_valid_polarity 0x00000200
#define BA_TspTsoReg_port_ctrl_ts_sync_polarity 0x000D
#define B16TspTsoReg_port_ctrl_ts_sync_polarity 0x000C
#define LSb32TspTsoReg_port_ctrl_ts_sync_polarity 10
#define LSb16TspTsoReg_port_ctrl_ts_sync_polarity 10
#define bTspTsoReg_port_ctrl_ts_sync_polarity 1
#define MSK32TspTsoReg_port_ctrl_ts_sync_polarity 0x00000400
#define BA_TspTsoReg_port_ctrl_reserved_1 0x000D
#define B16TspTsoReg_port_ctrl_reserved_1 0x000C
#define LSb32TspTsoReg_port_ctrl_reserved_1 11
#define LSb16TspTsoReg_port_ctrl_reserved_1 11
#define bTspTsoReg_port_ctrl_reserved_1 5
#define MSK32TspTsoReg_port_ctrl_reserved_1 0x0000F800
#define BA_TspTsoReg_port_ctrl_gap_size_between_bytes 0x000E
#define B16TspTsoReg_port_ctrl_gap_size_between_bytes 0x000E
#define LSb32TspTsoReg_port_ctrl_gap_size_between_bytes 16
#define LSb16TspTsoReg_port_ctrl_gap_size_between_bytes 0
#define bTspTsoReg_port_ctrl_gap_size_between_bytes 8
#define MSK32TspTsoReg_port_ctrl_gap_size_between_bytes 0x00FF0000
#define BA_TspTsoReg_port_ctrl_gap_size_between_packets 0x000F
#define B16TspTsoReg_port_ctrl_gap_size_between_packets 0x000E
#define LSb32TspTsoReg_port_ctrl_gap_size_between_packets 24
#define LSb16TspTsoReg_port_ctrl_gap_size_between_packets 8
#define bTspTsoReg_port_ctrl_gap_size_between_packets 8
#define MSK32TspTsoReg_port_ctrl_gap_size_between_packets 0xFF000000
///////////////////////////////////////////////////////////
#define RA_TspTsoReg_status 0x0010
#define BA_TspTsoReg_status_idle 0x0010
#define B16TspTsoReg_status_idle 0x0010
#define LSb32TspTsoReg_status_idle 0
#define LSb16TspTsoReg_status_idle 0
#define bTspTsoReg_status_idle 1
#define MSK32TspTsoReg_status_idle 0x00000001
///////////////////////////////////////////////////////////
#define RA_TspTsoReg_fifo_select 0x0014
#define BA_TspTsoReg_fifo_select_figo1 0x0014
#define B16TspTsoReg_fifo_select_figo1 0x0014
#define LSb32TspTsoReg_fifo_select_figo1 0
#define LSb16TspTsoReg_fifo_select_figo1 0
#define bTspTsoReg_fifo_select_figo1 1
#define MSK32TspTsoReg_fifo_select_figo1 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_TspTsoReg {
///////////////////////////////////////////////////////////
#define GET32TspTsoReg_global_reset(r32) _BFGET_(r32, 0, 0)
#define SET32TspTsoReg_global_reset(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspTsoReg_global_reset(r16) _BFGET_(r16, 0, 0)
#define SET16TspTsoReg_global_reset(r16,v) _BFSET_(r16, 0, 0,v)
#define w32TspTsoReg_global {\
UNSG32 uglobal_reset : 1;\
UNSG32 RSVDx0_b1 : 31;\
}
union { UNSG32 u32TspTsoReg_global;
struct w32TspTsoReg_global;
};
///////////////////////////////////////////////////////////
#define GET32TspTsoReg_packet_format_original_size(r32) _BFGET_(r32, 7, 0)
#define SET32TspTsoReg_packet_format_original_size(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16TspTsoReg_packet_format_original_size(r16) _BFGET_(r16, 7, 0)
#define SET16TspTsoReg_packet_format_original_size(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32TspTsoReg_packet_format_header_padding_size(r32) _BFGET_(r32,15, 8)
#define SET32TspTsoReg_packet_format_header_padding_size(r32,v) _BFSET_(r32,15, 8,v)
#define GET16TspTsoReg_packet_format_header_padding_size(r16) _BFGET_(r16,15, 8)
#define SET16TspTsoReg_packet_format_header_padding_size(r16,v) _BFSET_(r16,15, 8,v)
#define GET32TspTsoReg_packet_format_output_size(r32) _BFGET_(r32,23,16)
#define SET32TspTsoReg_packet_format_output_size(r32,v) _BFSET_(r32,23,16,v)
#define GET16TspTsoReg_packet_format_output_size(r16) _BFGET_(r16, 7, 0)
#define SET16TspTsoReg_packet_format_output_size(r16,v) _BFSET_(r16, 7, 0,v)
#define w32TspTsoReg_packet_format {\
UNSG32 upacket_format_original_size : 8;\
UNSG32 upacket_format_header_padding_size : 8;\
UNSG32 upacket_format_output_size : 8;\
UNSG32 RSVDx4_b24 : 8;\
}
union { UNSG32 u32TspTsoReg_packet_format;
struct w32TspTsoReg_packet_format;
};
///////////////////////////////////////////////////////////
#define GET32TspTsoReg_clock_ctrl_clock_on(r32) _BFGET_(r32, 0, 0)
#define SET32TspTsoReg_clock_ctrl_clock_on(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspTsoReg_clock_ctrl_clock_on(r16) _BFGET_(r16, 0, 0)
#define SET16TspTsoReg_clock_ctrl_clock_on(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TspTsoReg_clock_ctrl_clock_gating_enable(r32) _BFGET_(r32, 1, 1)
#define SET32TspTsoReg_clock_ctrl_clock_gating_enable(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16TspTsoReg_clock_ctrl_clock_gating_enable(r16) _BFGET_(r16, 1, 1)
#define SET16TspTsoReg_clock_ctrl_clock_gating_enable(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32TspTsoReg_clock_ctrl_reserved_0(r32) _BFGET_(r32, 7, 2)
#define SET32TspTsoReg_clock_ctrl_reserved_0(r32,v) _BFSET_(r32, 7, 2,v)
#define GET16TspTsoReg_clock_ctrl_reserved_0(r16) _BFGET_(r16, 7, 2)
#define SET16TspTsoReg_clock_ctrl_reserved_0(r16,v) _BFSET_(r16, 7, 2,v)
#define GET32TspTsoReg_clock_ctrl_divisor(r32) _BFGET_(r32,15, 8)
#define SET32TspTsoReg_clock_ctrl_divisor(r32,v) _BFSET_(r32,15, 8,v)
#define GET16TspTsoReg_clock_ctrl_divisor(r16) _BFGET_(r16,15, 8)
#define SET16TspTsoReg_clock_ctrl_divisor(r16,v) _BFSET_(r16,15, 8,v)
#define w32TspTsoReg_clock_ctrl {\
UNSG32 uclock_ctrl_clock_on : 1;\
UNSG32 uclock_ctrl_clock_gating_enable : 1;\
UNSG32 uclock_ctrl_reserved_0 : 6;\
UNSG32 uclock_ctrl_divisor : 8;\
UNSG32 RSVDx8_b16 : 16;\
}
union { UNSG32 u32TspTsoReg_clock_ctrl;
struct w32TspTsoReg_clock_ctrl;
};
///////////////////////////////////////////////////////////
#define GET32TspTsoReg_port_ctrl_serial_mode(r32) _BFGET_(r32, 0, 0)
#define SET32TspTsoReg_port_ctrl_serial_mode(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspTsoReg_port_ctrl_serial_mode(r16) _BFGET_(r16, 0, 0)
#define SET16TspTsoReg_port_ctrl_serial_mode(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TspTsoReg_port_ctrl_serial_pin_select(r32) _BFGET_(r32, 1, 1)
#define SET32TspTsoReg_port_ctrl_serial_pin_select(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16TspTsoReg_port_ctrl_serial_pin_select(r16) _BFGET_(r16, 1, 1)
#define SET16TspTsoReg_port_ctrl_serial_pin_select(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32TspTsoReg_port_ctrl_lsb_first(r32) _BFGET_(r32, 2, 2)
#define SET32TspTsoReg_port_ctrl_lsb_first(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16TspTsoReg_port_ctrl_lsb_first(r16) _BFGET_(r16, 2, 2)
#define SET16TspTsoReg_port_ctrl_lsb_first(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32TspTsoReg_port_ctrl_sync_pulse_8bit(r32) _BFGET_(r32, 3, 3)
#define SET32TspTsoReg_port_ctrl_sync_pulse_8bit(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16TspTsoReg_port_ctrl_sync_pulse_8bit(r16) _BFGET_(r16, 3, 3)
#define SET16TspTsoReg_port_ctrl_sync_pulse_8bit(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32TspTsoReg_port_ctrl_reserved_0(r32) _BFGET_(r32, 7, 4)
#define SET32TspTsoReg_port_ctrl_reserved_0(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16TspTsoReg_port_ctrl_reserved_0(r16) _BFGET_(r16, 7, 4)
#define SET16TspTsoReg_port_ctrl_reserved_0(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32TspTsoReg_port_ctrl_ts_clock_polarity(r32) _BFGET_(r32, 8, 8)
#define SET32TspTsoReg_port_ctrl_ts_clock_polarity(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16TspTsoReg_port_ctrl_ts_clock_polarity(r16) _BFGET_(r16, 8, 8)
#define SET16TspTsoReg_port_ctrl_ts_clock_polarity(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32TspTsoReg_port_ctrl_ts_valid_polarity(r32) _BFGET_(r32, 9, 9)
#define SET32TspTsoReg_port_ctrl_ts_valid_polarity(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16TspTsoReg_port_ctrl_ts_valid_polarity(r16) _BFGET_(r16, 9, 9)
#define SET16TspTsoReg_port_ctrl_ts_valid_polarity(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32TspTsoReg_port_ctrl_ts_sync_polarity(r32) _BFGET_(r32,10,10)
#define SET32TspTsoReg_port_ctrl_ts_sync_polarity(r32,v) _BFSET_(r32,10,10,v)
#define GET16TspTsoReg_port_ctrl_ts_sync_polarity(r16) _BFGET_(r16,10,10)
#define SET16TspTsoReg_port_ctrl_ts_sync_polarity(r16,v) _BFSET_(r16,10,10,v)
#define GET32TspTsoReg_port_ctrl_reserved_1(r32) _BFGET_(r32,15,11)
#define SET32TspTsoReg_port_ctrl_reserved_1(r32,v) _BFSET_(r32,15,11,v)
#define GET16TspTsoReg_port_ctrl_reserved_1(r16) _BFGET_(r16,15,11)
#define SET16TspTsoReg_port_ctrl_reserved_1(r16,v) _BFSET_(r16,15,11,v)
#define GET32TspTsoReg_port_ctrl_gap_size_between_bytes(r32) _BFGET_(r32,23,16)
#define SET32TspTsoReg_port_ctrl_gap_size_between_bytes(r32,v) _BFSET_(r32,23,16,v)
#define GET16TspTsoReg_port_ctrl_gap_size_between_bytes(r16) _BFGET_(r16, 7, 0)
#define SET16TspTsoReg_port_ctrl_gap_size_between_bytes(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32TspTsoReg_port_ctrl_gap_size_between_packets(r32) _BFGET_(r32,31,24)
#define SET32TspTsoReg_port_ctrl_gap_size_between_packets(r32,v) _BFSET_(r32,31,24,v)
#define GET16TspTsoReg_port_ctrl_gap_size_between_packets(r16) _BFGET_(r16,15, 8)
#define SET16TspTsoReg_port_ctrl_gap_size_between_packets(r16,v) _BFSET_(r16,15, 8,v)
#define w32TspTsoReg_port_ctrl {\
UNSG32 uport_ctrl_serial_mode : 1;\
UNSG32 uport_ctrl_serial_pin_select : 1;\
UNSG32 uport_ctrl_lsb_first : 1;\
UNSG32 uport_ctrl_sync_pulse_8bit : 1;\
UNSG32 uport_ctrl_reserved_0 : 4;\
UNSG32 uport_ctrl_ts_clock_polarity : 1;\
UNSG32 uport_ctrl_ts_valid_polarity : 1;\
UNSG32 uport_ctrl_ts_sync_polarity : 1;\
UNSG32 uport_ctrl_reserved_1 : 5;\
UNSG32 uport_ctrl_gap_size_between_bytes : 8;\
UNSG32 uport_ctrl_gap_size_between_packets : 8;\
}
union { UNSG32 u32TspTsoReg_port_ctrl;
struct w32TspTsoReg_port_ctrl;
};
///////////////////////////////////////////////////////////
#define GET32TspTsoReg_status_idle(r32) _BFGET_(r32, 0, 0)
#define SET32TspTsoReg_status_idle(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspTsoReg_status_idle(r16) _BFGET_(r16, 0, 0)
#define SET16TspTsoReg_status_idle(r16,v) _BFSET_(r16, 0, 0,v)
#define w32TspTsoReg_status {\
UNSG32 ustatus_idle : 1;\
UNSG32 RSVDx10_b1 : 31;\
}
union { UNSG32 u32TspTsoReg_status;
struct w32TspTsoReg_status;
};
///////////////////////////////////////////////////////////
#define GET32TspTsoReg_fifo_select_figo1(r32) _BFGET_(r32, 0, 0)
#define SET32TspTsoReg_fifo_select_figo1(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspTsoReg_fifo_select_figo1(r16) _BFGET_(r16, 0, 0)
#define SET16TspTsoReg_fifo_select_figo1(r16,v) _BFSET_(r16, 0, 0,v)
#define w32TspTsoReg_fifo_select {\
UNSG32 ufifo_select_figo1 : 1;\
UNSG32 RSVDx14_b1 : 31;\
}
union { UNSG32 u32TspTsoReg_fifo_select;
struct w32TspTsoReg_fifo_select;
};
///////////////////////////////////////////////////////////
} SIE_TspTsoReg;
typedef union T32TspTsoReg_global
{ UNSG32 u32;
struct w32TspTsoReg_global;
} T32TspTsoReg_global;
typedef union T32TspTsoReg_packet_format
{ UNSG32 u32;
struct w32TspTsoReg_packet_format;
} T32TspTsoReg_packet_format;
typedef union T32TspTsoReg_clock_ctrl
{ UNSG32 u32;
struct w32TspTsoReg_clock_ctrl;
} T32TspTsoReg_clock_ctrl;
typedef union T32TspTsoReg_port_ctrl
{ UNSG32 u32;
struct w32TspTsoReg_port_ctrl;
} T32TspTsoReg_port_ctrl;
typedef union T32TspTsoReg_status
{ UNSG32 u32;
struct w32TspTsoReg_status;
} T32TspTsoReg_status;
typedef union T32TspTsoReg_fifo_select
{ UNSG32 u32;
struct w32TspTsoReg_fifo_select;
} T32TspTsoReg_fifo_select;
///////////////////////////////////////////////////////////
typedef union TTspTsoReg_global
{ UNSG32 u32[1];
struct {
struct w32TspTsoReg_global;
};
} TTspTsoReg_global;
typedef union TTspTsoReg_packet_format
{ UNSG32 u32[1];
struct {
struct w32TspTsoReg_packet_format;
};
} TTspTsoReg_packet_format;
typedef union TTspTsoReg_clock_ctrl
{ UNSG32 u32[1];
struct {
struct w32TspTsoReg_clock_ctrl;
};
} TTspTsoReg_clock_ctrl;
typedef union TTspTsoReg_port_ctrl
{ UNSG32 u32[1];
struct {
struct w32TspTsoReg_port_ctrl;
};
} TTspTsoReg_port_ctrl;
typedef union TTspTsoReg_status
{ UNSG32 u32[1];
struct {
struct w32TspTsoReg_status;
};
} TTspTsoReg_status;
typedef union TTspTsoReg_fifo_select
{ UNSG32 u32[1];
struct {
struct w32TspTsoReg_fifo_select;
};
} TTspTsoReg_fifo_select;
///////////////////////////////////////////////////////////
SIGN32 TspTsoReg_drvrd(SIE_TspTsoReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspTsoReg_drvwr(SIE_TspTsoReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspTsoReg_reset(SIE_TspTsoReg *p);
SIGN32 TspTsoReg_cmp (SIE_TspTsoReg *p, SIE_TspTsoReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspTsoReg_check(p,pie,pfx,hLOG) TspTsoReg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspTsoReg_print(p, pfx,hLOG) TspTsoReg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspTsoReg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspSecRegRule (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 enable (W-)
/// %unsigned 32 enable
/// ###
/// * Writing 1 to a bit enables corresponded rule
/// ###
/// @ 0x00004 disable (W-)
/// %unsigned 32 disable
/// ###
/// * Writing 1 to a bit disables the correspond rule
/// ###
/// @ 0x00008 status (R-)
/// %unsigned 32 status
/// ###
/// * Rule status.
/// * 1: enabled
/// * 0: disabled
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 12B, bits: 96b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspSecRegRule
#define h_TspSecRegRule (){}
#define RA_TspSecRegRule_enable 0x0000
#define BA_TspSecRegRule_enable_enable 0x0000
#define B16TspSecRegRule_enable_enable 0x0000
#define LSb32TspSecRegRule_enable_enable 0
#define LSb16TspSecRegRule_enable_enable 0
#define bTspSecRegRule_enable_enable 32
#define MSK32TspSecRegRule_enable_enable 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRegRule_disable 0x0004
#define BA_TspSecRegRule_disable_disable 0x0004
#define B16TspSecRegRule_disable_disable 0x0004
#define LSb32TspSecRegRule_disable_disable 0
#define LSb16TspSecRegRule_disable_disable 0
#define bTspSecRegRule_disable_disable 32
#define MSK32TspSecRegRule_disable_disable 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspSecRegRule_status 0x0008
#define BA_TspSecRegRule_status_status 0x0008
#define B16TspSecRegRule_status_status 0x0008
#define LSb32TspSecRegRule_status_status 0
#define LSb16TspSecRegRule_status_status 0
#define bTspSecRegRule_status_status 32
#define MSK32TspSecRegRule_status_status 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_TspSecRegRule {
///////////////////////////////////////////////////////////
#define GET32TspSecRegRule_enable_enable(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRegRule_enable_enable(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRegRule_enable {\
UNSG32 uenable_enable : 32;\
}
union { UNSG32 u32TspSecRegRule_enable;
struct w32TspSecRegRule_enable;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRegRule_disable_disable(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRegRule_disable_disable(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRegRule_disable {\
UNSG32 udisable_disable : 32;\
}
union { UNSG32 u32TspSecRegRule_disable;
struct w32TspSecRegRule_disable;
};
///////////////////////////////////////////////////////////
#define GET32TspSecRegRule_status_status(r32) _BFGET_(r32,31, 0)
#define SET32TspSecRegRule_status_status(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspSecRegRule_status {\
UNSG32 ustatus_status : 32;\
}
union { UNSG32 u32TspSecRegRule_status;
struct w32TspSecRegRule_status;
};
///////////////////////////////////////////////////////////
} SIE_TspSecRegRule;
typedef union T32TspSecRegRule_enable
{ UNSG32 u32;
struct w32TspSecRegRule_enable;
} T32TspSecRegRule_enable;
typedef union T32TspSecRegRule_disable
{ UNSG32 u32;
struct w32TspSecRegRule_disable;
} T32TspSecRegRule_disable;
typedef union T32TspSecRegRule_status
{ UNSG32 u32;
struct w32TspSecRegRule_status;
} T32TspSecRegRule_status;
///////////////////////////////////////////////////////////
typedef union TTspSecRegRule_enable
{ UNSG32 u32[1];
struct {
struct w32TspSecRegRule_enable;
};
} TTspSecRegRule_enable;
typedef union TTspSecRegRule_disable
{ UNSG32 u32[1];
struct {
struct w32TspSecRegRule_disable;
};
} TTspSecRegRule_disable;
typedef union TTspSecRegRule_status
{ UNSG32 u32[1];
struct {
struct w32TspSecRegRule_status;
};
} TTspSecRegRule_status;
///////////////////////////////////////////////////////////
SIGN32 TspSecRegRule_drvrd(SIE_TspSecRegRule *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspSecRegRule_drvwr(SIE_TspSecRegRule *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspSecRegRule_reset(SIE_TspSecRegRule *p);
SIGN32 TspSecRegRule_cmp (SIE_TspSecRegRule *p, SIE_TspSecRegRule *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspSecRegRule_check(p,pie,pfx,hLOG) TspSecRegRule_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspSecRegRule_print(p, pfx,hLOG) TspSecRegRule_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspSecRegRule
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspSecReg biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 global (P)
/// %unsigned 1 reset 0x1
/// ###
/// * 1: reset section filter;
/// * 0: normal operation
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00004 (P)
/// # 0x00004 rule_0
/// $TspSecRegRule rule_0 REG
/// ###
/// * Register to control rule 0 to rule 31.
/// ###
/// @ 0x00010 (P)
/// # 0x00010 rule_32
/// $TspSecRegRule rule_32 REG
/// ###
/// * Register to control rule 32 to rule 63.
/// ###
/// @ 0x0001C (P)
/// # 0x0001C rule_64
/// $TspSecRegRule rule_64 REG
/// ###
/// * Register to control rule 64 to rule 95.
/// ###
/// @ 0x00028 (P)
/// # 0x00028 rule_96
/// $TspSecRegRule rule_96 REG
/// ###
/// * Register to control rule 96 to rule 127.
/// ###
/// @ 0x00034 status (R-)
/// %unsigned 16 rule_address 0x0
/// ###
/// * current section filter rule pointer
/// ###
/// %unsigned 8 filter_id 0x0
/// ###
/// * current section filter ID the engine is matching on
/// ###
/// %% 8 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 56B, bits: 409b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspSecReg
#define h_TspSecReg (){}
#define RA_TspSecReg_global 0x0000
#define BA_TspSecReg_global_reset 0x0000
#define B16TspSecReg_global_reset 0x0000
#define LSb32TspSecReg_global_reset 0
#define LSb16TspSecReg_global_reset 0
#define bTspSecReg_global_reset 1
#define MSK32TspSecReg_global_reset 0x00000001
///////////////////////////////////////////////////////////
#define RA_TspSecReg_rule_0 0x0004
///////////////////////////////////////////////////////////
#define RA_TspSecReg_rule_32 0x0010
///////////////////////////////////////////////////////////
#define RA_TspSecReg_rule_64 0x001C
///////////////////////////////////////////////////////////
#define RA_TspSecReg_rule_96 0x0028
///////////////////////////////////////////////////////////
#define RA_TspSecReg_status 0x0034
#define BA_TspSecReg_status_rule_address 0x0034
#define B16TspSecReg_status_rule_address 0x0034
#define LSb32TspSecReg_status_rule_address 0
#define LSb16TspSecReg_status_rule_address 0
#define bTspSecReg_status_rule_address 16
#define MSK32TspSecReg_status_rule_address 0x0000FFFF
#define BA_TspSecReg_status_filter_id 0x0036
#define B16TspSecReg_status_filter_id 0x0036
#define LSb32TspSecReg_status_filter_id 16
#define LSb16TspSecReg_status_filter_id 0
#define bTspSecReg_status_filter_id 8
#define MSK32TspSecReg_status_filter_id 0x00FF0000
///////////////////////////////////////////////////////////
typedef struct SIE_TspSecReg {
///////////////////////////////////////////////////////////
#define GET32TspSecReg_global_reset(r32) _BFGET_(r32, 0, 0)
#define SET32TspSecReg_global_reset(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspSecReg_global_reset(r16) _BFGET_(r16, 0, 0)
#define SET16TspSecReg_global_reset(r16,v) _BFSET_(r16, 0, 0,v)
#define w32TspSecReg_global {\
UNSG32 uglobal_reset : 1;\
UNSG32 RSVDx0_b1 : 31;\
}
union { UNSG32 u32TspSecReg_global;
struct w32TspSecReg_global;
};
///////////////////////////////////////////////////////////
SIE_TspSecRegRule ie_rule_0;
///////////////////////////////////////////////////////////
SIE_TspSecRegRule ie_rule_32;
///////////////////////////////////////////////////////////
SIE_TspSecRegRule ie_rule_64;
///////////////////////////////////////////////////////////
SIE_TspSecRegRule ie_rule_96;
///////////////////////////////////////////////////////////
#define GET32TspSecReg_status_rule_address(r32) _BFGET_(r32,15, 0)
#define SET32TspSecReg_status_rule_address(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspSecReg_status_rule_address(r16) _BFGET_(r16,15, 0)
#define SET16TspSecReg_status_rule_address(r16,v) _BFSET_(r16,15, 0,v)
#define GET32TspSecReg_status_filter_id(r32) _BFGET_(r32,23,16)
#define SET32TspSecReg_status_filter_id(r32,v) _BFSET_(r32,23,16,v)
#define GET16TspSecReg_status_filter_id(r16) _BFGET_(r16, 7, 0)
#define SET16TspSecReg_status_filter_id(r16,v) _BFSET_(r16, 7, 0,v)
#define w32TspSecReg_status {\
UNSG32 ustatus_rule_address : 16;\
UNSG32 ustatus_filter_id : 8;\
UNSG32 RSVDx34_b24 : 8;\
}
union { UNSG32 u32TspSecReg_status;
struct w32TspSecReg_status;
};
///////////////////////////////////////////////////////////
} SIE_TspSecReg;
typedef union T32TspSecReg_global
{ UNSG32 u32;
struct w32TspSecReg_global;
} T32TspSecReg_global;
typedef union T32TspSecReg_status
{ UNSG32 u32;
struct w32TspSecReg_status;
} T32TspSecReg_status;
///////////////////////////////////////////////////////////
typedef union TTspSecReg_global
{ UNSG32 u32[1];
struct {
struct w32TspSecReg_global;
};
} TTspSecReg_global;
typedef union TTspSecReg_status
{ UNSG32 u32[1];
struct {
struct w32TspSecReg_status;
};
} TTspSecReg_status;
///////////////////////////////////////////////////////////
SIGN32 TspSecReg_drvrd(SIE_TspSecReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspSecReg_drvwr(SIE_TspSecReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspSecReg_reset(SIE_TspSecReg *p);
SIGN32 TspSecReg_cmp (SIE_TspSecReg *p, SIE_TspSecReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspSecReg_check(p,pie,pfx,hLOG) TspSecReg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspSecReg_print(p, pfx,hLOG) TspSecReg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspSecReg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspCryReg biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 global (P)
/// %unsigned 1 reset 0x1
/// ###
/// * 1: reset the crypto engine;
/// * 0: normal operation;
/// * After resetting crypto engine, firmware also needs to reinitialize the command FIFO before releasing the reset, otherwise, hardware may behave unpredictably.
/// ###
/// %unsigned 1 clock_gating_disable 0x0
/// ###
/// * 0: enable clock gating
/// * 1: disable clock gating
/// ###
/// %% 30 # Stuffing bits...
/// @ 0x00004 return_address (P)
/// %unsigned 16 bits 0x0
/// ###
/// * Address used to save the return value of command FIFO 0.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00008 command_count (RW)
/// %unsigned 16 bits 0x0
/// ###
/// * Number of command been executed from command FIFO 0;
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x0000C return_address_1 (P)
/// %unsigned 16 bits 0x0
/// ###
/// * Address used to save the return value of command FIFO 1.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00010 command_count_1 (RW)
/// %unsigned 16 bits 0x0
/// ###
/// * Number of command been executed from command FIFO 1;
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00014 return_address_2 (P)
/// %unsigned 16 bits 0x0
/// ###
/// * Address used to save the return value of command FIFO 2.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00018 command_count_2 (RW)
/// %unsigned 16 bits 0x0
/// ###
/// * Number of command been executed from command FIFO 2;
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x0001C return_address_3 (P)
/// %unsigned 16 bits 0x0
/// ###
/// * Address used to save the return value of command FIFO 3.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00020 command_count_3 (RW)
/// %unsigned 16 bits 0x0
/// ###
/// * Number of command been executed from command FIFO 3;
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00024 return_address_4 (P)
/// %unsigned 16 bits 0x0
/// ###
/// * Address used to save the return value of command FIFO 4.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00028 command_count_4 (RW)
/// %unsigned 16 bits 0x0
/// ###
/// * Number of command been executed from command FIFO 4;
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x0002C return_address_5 (P)
/// %unsigned 16 bits 0x0
/// ###
/// * Address used to save the return value of command FIFO 5.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00030 command_count_5 (RW)
/// %unsigned 16 bits 0x0
/// ###
/// * Number of command been executed from command FIFO 5;
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 52B, bits: 194b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspCryReg
#define h_TspCryReg (){}
#define RA_TspCryReg_global 0x0000
#define BA_TspCryReg_global_reset 0x0000
#define B16TspCryReg_global_reset 0x0000
#define LSb32TspCryReg_global_reset 0
#define LSb16TspCryReg_global_reset 0
#define bTspCryReg_global_reset 1
#define MSK32TspCryReg_global_reset 0x00000001
#define BA_TspCryReg_global_clock_gating_disable 0x0000
#define B16TspCryReg_global_clock_gating_disable 0x0000
#define LSb32TspCryReg_global_clock_gating_disable 1
#define LSb16TspCryReg_global_clock_gating_disable 1
#define bTspCryReg_global_clock_gating_disable 1
#define MSK32TspCryReg_global_clock_gating_disable 0x00000002
///////////////////////////////////////////////////////////
#define RA_TspCryReg_return_address 0x0004
#define BA_TspCryReg_return_address_bits 0x0004
#define B16TspCryReg_return_address_bits 0x0004
#define LSb32TspCryReg_return_address_bits 0
#define LSb16TspCryReg_return_address_bits 0
#define bTspCryReg_return_address_bits 16
#define MSK32TspCryReg_return_address_bits 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_TspCryReg_command_count 0x0008
#define BA_TspCryReg_command_count_bits 0x0008
#define B16TspCryReg_command_count_bits 0x0008
#define LSb32TspCryReg_command_count_bits 0
#define LSb16TspCryReg_command_count_bits 0
#define bTspCryReg_command_count_bits 16
#define MSK32TspCryReg_command_count_bits 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_TspCryReg_return_address_1 0x000C
#define BA_TspCryReg_return_address_1_bits 0x000C
#define B16TspCryReg_return_address_1_bits 0x000C
#define LSb32TspCryReg_return_address_1_bits 0
#define LSb16TspCryReg_return_address_1_bits 0
#define bTspCryReg_return_address_1_bits 16
#define MSK32TspCryReg_return_address_1_bits 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_TspCryReg_command_count_1 0x0010
#define BA_TspCryReg_command_count_1_bits 0x0010
#define B16TspCryReg_command_count_1_bits 0x0010
#define LSb32TspCryReg_command_count_1_bits 0
#define LSb16TspCryReg_command_count_1_bits 0
#define bTspCryReg_command_count_1_bits 16
#define MSK32TspCryReg_command_count_1_bits 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_TspCryReg_return_address_2 0x0014
#define BA_TspCryReg_return_address_2_bits 0x0014
#define B16TspCryReg_return_address_2_bits 0x0014
#define LSb32TspCryReg_return_address_2_bits 0
#define LSb16TspCryReg_return_address_2_bits 0
#define bTspCryReg_return_address_2_bits 16
#define MSK32TspCryReg_return_address_2_bits 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_TspCryReg_command_count_2 0x0018
#define BA_TspCryReg_command_count_2_bits 0x0018
#define B16TspCryReg_command_count_2_bits 0x0018
#define LSb32TspCryReg_command_count_2_bits 0
#define LSb16TspCryReg_command_count_2_bits 0
#define bTspCryReg_command_count_2_bits 16
#define MSK32TspCryReg_command_count_2_bits 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_TspCryReg_return_address_3 0x001C
#define BA_TspCryReg_return_address_3_bits 0x001C
#define B16TspCryReg_return_address_3_bits 0x001C
#define LSb32TspCryReg_return_address_3_bits 0
#define LSb16TspCryReg_return_address_3_bits 0
#define bTspCryReg_return_address_3_bits 16
#define MSK32TspCryReg_return_address_3_bits 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_TspCryReg_command_count_3 0x0020
#define BA_TspCryReg_command_count_3_bits 0x0020
#define B16TspCryReg_command_count_3_bits 0x0020
#define LSb32TspCryReg_command_count_3_bits 0
#define LSb16TspCryReg_command_count_3_bits 0
#define bTspCryReg_command_count_3_bits 16
#define MSK32TspCryReg_command_count_3_bits 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_TspCryReg_return_address_4 0x0024
#define BA_TspCryReg_return_address_4_bits 0x0024
#define B16TspCryReg_return_address_4_bits 0x0024
#define LSb32TspCryReg_return_address_4_bits 0
#define LSb16TspCryReg_return_address_4_bits 0
#define bTspCryReg_return_address_4_bits 16
#define MSK32TspCryReg_return_address_4_bits 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_TspCryReg_command_count_4 0x0028
#define BA_TspCryReg_command_count_4_bits 0x0028
#define B16TspCryReg_command_count_4_bits 0x0028
#define LSb32TspCryReg_command_count_4_bits 0
#define LSb16TspCryReg_command_count_4_bits 0
#define bTspCryReg_command_count_4_bits 16
#define MSK32TspCryReg_command_count_4_bits 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_TspCryReg_return_address_5 0x002C
#define BA_TspCryReg_return_address_5_bits 0x002C
#define B16TspCryReg_return_address_5_bits 0x002C
#define LSb32TspCryReg_return_address_5_bits 0
#define LSb16TspCryReg_return_address_5_bits 0
#define bTspCryReg_return_address_5_bits 16
#define MSK32TspCryReg_return_address_5_bits 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_TspCryReg_command_count_5 0x0030
#define BA_TspCryReg_command_count_5_bits 0x0030
#define B16TspCryReg_command_count_5_bits 0x0030
#define LSb32TspCryReg_command_count_5_bits 0
#define LSb16TspCryReg_command_count_5_bits 0
#define bTspCryReg_command_count_5_bits 16
#define MSK32TspCryReg_command_count_5_bits 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_TspCryReg {
///////////////////////////////////////////////////////////
#define GET32TspCryReg_global_reset(r32) _BFGET_(r32, 0, 0)
#define SET32TspCryReg_global_reset(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspCryReg_global_reset(r16) _BFGET_(r16, 0, 0)
#define SET16TspCryReg_global_reset(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TspCryReg_global_clock_gating_disable(r32) _BFGET_(r32, 1, 1)
#define SET32TspCryReg_global_clock_gating_disable(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16TspCryReg_global_clock_gating_disable(r16) _BFGET_(r16, 1, 1)
#define SET16TspCryReg_global_clock_gating_disable(r16,v) _BFSET_(r16, 1, 1,v)
#define w32TspCryReg_global {\
UNSG32 uglobal_reset : 1;\
UNSG32 uglobal_clock_gating_disable : 1;\
UNSG32 RSVDx0_b2 : 30;\
}
union { UNSG32 u32TspCryReg_global;
struct w32TspCryReg_global;
};
///////////////////////////////////////////////////////////
#define GET32TspCryReg_return_address_bits(r32) _BFGET_(r32,15, 0)
#define SET32TspCryReg_return_address_bits(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryReg_return_address_bits(r16) _BFGET_(r16,15, 0)
#define SET16TspCryReg_return_address_bits(r16,v) _BFSET_(r16,15, 0,v)
#define w32TspCryReg_return_address {\
UNSG32 ureturn_address_bits : 16;\
UNSG32 RSVDx4_b16 : 16;\
}
union { UNSG32 u32TspCryReg_return_address;
struct w32TspCryReg_return_address;
};
///////////////////////////////////////////////////////////
#define GET32TspCryReg_command_count_bits(r32) _BFGET_(r32,15, 0)
#define SET32TspCryReg_command_count_bits(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryReg_command_count_bits(r16) _BFGET_(r16,15, 0)
#define SET16TspCryReg_command_count_bits(r16,v) _BFSET_(r16,15, 0,v)
#define w32TspCryReg_command_count {\
UNSG32 ucommand_count_bits : 16;\
UNSG32 RSVDx8_b16 : 16;\
}
union { UNSG32 u32TspCryReg_command_count;
struct w32TspCryReg_command_count;
};
///////////////////////////////////////////////////////////
#define GET32TspCryReg_return_address_1_bits(r32) _BFGET_(r32,15, 0)
#define SET32TspCryReg_return_address_1_bits(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryReg_return_address_1_bits(r16) _BFGET_(r16,15, 0)
#define SET16TspCryReg_return_address_1_bits(r16,v) _BFSET_(r16,15, 0,v)
#define w32TspCryReg_return_address_1 {\
UNSG32 ureturn_address_1_bits : 16;\
UNSG32 RSVDxC_b16 : 16;\
}
union { UNSG32 u32TspCryReg_return_address_1;
struct w32TspCryReg_return_address_1;
};
///////////////////////////////////////////////////////////
#define GET32TspCryReg_command_count_1_bits(r32) _BFGET_(r32,15, 0)
#define SET32TspCryReg_command_count_1_bits(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryReg_command_count_1_bits(r16) _BFGET_(r16,15, 0)
#define SET16TspCryReg_command_count_1_bits(r16,v) _BFSET_(r16,15, 0,v)
#define w32TspCryReg_command_count_1 {\
UNSG32 ucommand_count_1_bits : 16;\
UNSG32 RSVDx10_b16 : 16;\
}
union { UNSG32 u32TspCryReg_command_count_1;
struct w32TspCryReg_command_count_1;
};
///////////////////////////////////////////////////////////
#define GET32TspCryReg_return_address_2_bits(r32) _BFGET_(r32,15, 0)
#define SET32TspCryReg_return_address_2_bits(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryReg_return_address_2_bits(r16) _BFGET_(r16,15, 0)
#define SET16TspCryReg_return_address_2_bits(r16,v) _BFSET_(r16,15, 0,v)
#define w32TspCryReg_return_address_2 {\
UNSG32 ureturn_address_2_bits : 16;\
UNSG32 RSVDx14_b16 : 16;\
}
union { UNSG32 u32TspCryReg_return_address_2;
struct w32TspCryReg_return_address_2;
};
///////////////////////////////////////////////////////////
#define GET32TspCryReg_command_count_2_bits(r32) _BFGET_(r32,15, 0)
#define SET32TspCryReg_command_count_2_bits(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryReg_command_count_2_bits(r16) _BFGET_(r16,15, 0)
#define SET16TspCryReg_command_count_2_bits(r16,v) _BFSET_(r16,15, 0,v)
#define w32TspCryReg_command_count_2 {\
UNSG32 ucommand_count_2_bits : 16;\
UNSG32 RSVDx18_b16 : 16;\
}
union { UNSG32 u32TspCryReg_command_count_2;
struct w32TspCryReg_command_count_2;
};
///////////////////////////////////////////////////////////
#define GET32TspCryReg_return_address_3_bits(r32) _BFGET_(r32,15, 0)
#define SET32TspCryReg_return_address_3_bits(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryReg_return_address_3_bits(r16) _BFGET_(r16,15, 0)
#define SET16TspCryReg_return_address_3_bits(r16,v) _BFSET_(r16,15, 0,v)
#define w32TspCryReg_return_address_3 {\
UNSG32 ureturn_address_3_bits : 16;\
UNSG32 RSVDx1C_b16 : 16;\
}
union { UNSG32 u32TspCryReg_return_address_3;
struct w32TspCryReg_return_address_3;
};
///////////////////////////////////////////////////////////
#define GET32TspCryReg_command_count_3_bits(r32) _BFGET_(r32,15, 0)
#define SET32TspCryReg_command_count_3_bits(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryReg_command_count_3_bits(r16) _BFGET_(r16,15, 0)
#define SET16TspCryReg_command_count_3_bits(r16,v) _BFSET_(r16,15, 0,v)
#define w32TspCryReg_command_count_3 {\
UNSG32 ucommand_count_3_bits : 16;\
UNSG32 RSVDx20_b16 : 16;\
}
union { UNSG32 u32TspCryReg_command_count_3;
struct w32TspCryReg_command_count_3;
};
///////////////////////////////////////////////////////////
#define GET32TspCryReg_return_address_4_bits(r32) _BFGET_(r32,15, 0)
#define SET32TspCryReg_return_address_4_bits(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryReg_return_address_4_bits(r16) _BFGET_(r16,15, 0)
#define SET16TspCryReg_return_address_4_bits(r16,v) _BFSET_(r16,15, 0,v)
#define w32TspCryReg_return_address_4 {\
UNSG32 ureturn_address_4_bits : 16;\
UNSG32 RSVDx24_b16 : 16;\
}
union { UNSG32 u32TspCryReg_return_address_4;
struct w32TspCryReg_return_address_4;
};
///////////////////////////////////////////////////////////
#define GET32TspCryReg_command_count_4_bits(r32) _BFGET_(r32,15, 0)
#define SET32TspCryReg_command_count_4_bits(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryReg_command_count_4_bits(r16) _BFGET_(r16,15, 0)
#define SET16TspCryReg_command_count_4_bits(r16,v) _BFSET_(r16,15, 0,v)
#define w32TspCryReg_command_count_4 {\
UNSG32 ucommand_count_4_bits : 16;\
UNSG32 RSVDx28_b16 : 16;\
}
union { UNSG32 u32TspCryReg_command_count_4;
struct w32TspCryReg_command_count_4;
};
///////////////////////////////////////////////////////////
#define GET32TspCryReg_return_address_5_bits(r32) _BFGET_(r32,15, 0)
#define SET32TspCryReg_return_address_5_bits(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryReg_return_address_5_bits(r16) _BFGET_(r16,15, 0)
#define SET16TspCryReg_return_address_5_bits(r16,v) _BFSET_(r16,15, 0,v)
#define w32TspCryReg_return_address_5 {\
UNSG32 ureturn_address_5_bits : 16;\
UNSG32 RSVDx2C_b16 : 16;\
}
union { UNSG32 u32TspCryReg_return_address_5;
struct w32TspCryReg_return_address_5;
};
///////////////////////////////////////////////////////////
#define GET32TspCryReg_command_count_5_bits(r32) _BFGET_(r32,15, 0)
#define SET32TspCryReg_command_count_5_bits(r32,v) _BFSET_(r32,15, 0,v)
#define GET16TspCryReg_command_count_5_bits(r16) _BFGET_(r16,15, 0)
#define SET16TspCryReg_command_count_5_bits(r16,v) _BFSET_(r16,15, 0,v)
#define w32TspCryReg_command_count_5 {\
UNSG32 ucommand_count_5_bits : 16;\
UNSG32 RSVDx30_b16 : 16;\
}
union { UNSG32 u32TspCryReg_command_count_5;
struct w32TspCryReg_command_count_5;
};
///////////////////////////////////////////////////////////
} SIE_TspCryReg;
typedef union T32TspCryReg_global
{ UNSG32 u32;
struct w32TspCryReg_global;
} T32TspCryReg_global;
typedef union T32TspCryReg_return_address
{ UNSG32 u32;
struct w32TspCryReg_return_address;
} T32TspCryReg_return_address;
typedef union T32TspCryReg_command_count
{ UNSG32 u32;
struct w32TspCryReg_command_count;
} T32TspCryReg_command_count;
typedef union T32TspCryReg_return_address_1
{ UNSG32 u32;
struct w32TspCryReg_return_address_1;
} T32TspCryReg_return_address_1;
typedef union T32TspCryReg_command_count_1
{ UNSG32 u32;
struct w32TspCryReg_command_count_1;
} T32TspCryReg_command_count_1;
typedef union T32TspCryReg_return_address_2
{ UNSG32 u32;
struct w32TspCryReg_return_address_2;
} T32TspCryReg_return_address_2;
typedef union T32TspCryReg_command_count_2
{ UNSG32 u32;
struct w32TspCryReg_command_count_2;
} T32TspCryReg_command_count_2;
typedef union T32TspCryReg_return_address_3
{ UNSG32 u32;
struct w32TspCryReg_return_address_3;
} T32TspCryReg_return_address_3;
typedef union T32TspCryReg_command_count_3
{ UNSG32 u32;
struct w32TspCryReg_command_count_3;
} T32TspCryReg_command_count_3;
typedef union T32TspCryReg_return_address_4
{ UNSG32 u32;
struct w32TspCryReg_return_address_4;
} T32TspCryReg_return_address_4;
typedef union T32TspCryReg_command_count_4
{ UNSG32 u32;
struct w32TspCryReg_command_count_4;
} T32TspCryReg_command_count_4;
typedef union T32TspCryReg_return_address_5
{ UNSG32 u32;
struct w32TspCryReg_return_address_5;
} T32TspCryReg_return_address_5;
typedef union T32TspCryReg_command_count_5
{ UNSG32 u32;
struct w32TspCryReg_command_count_5;
} T32TspCryReg_command_count_5;
///////////////////////////////////////////////////////////
typedef union TTspCryReg_global
{ UNSG32 u32[1];
struct {
struct w32TspCryReg_global;
};
} TTspCryReg_global;
typedef union TTspCryReg_return_address
{ UNSG32 u32[1];
struct {
struct w32TspCryReg_return_address;
};
} TTspCryReg_return_address;
typedef union TTspCryReg_command_count
{ UNSG32 u32[1];
struct {
struct w32TspCryReg_command_count;
};
} TTspCryReg_command_count;
typedef union TTspCryReg_return_address_1
{ UNSG32 u32[1];
struct {
struct w32TspCryReg_return_address_1;
};
} TTspCryReg_return_address_1;
typedef union TTspCryReg_command_count_1
{ UNSG32 u32[1];
struct {
struct w32TspCryReg_command_count_1;
};
} TTspCryReg_command_count_1;
typedef union TTspCryReg_return_address_2
{ UNSG32 u32[1];
struct {
struct w32TspCryReg_return_address_2;
};
} TTspCryReg_return_address_2;
typedef union TTspCryReg_command_count_2
{ UNSG32 u32[1];
struct {
struct w32TspCryReg_command_count_2;
};
} TTspCryReg_command_count_2;
typedef union TTspCryReg_return_address_3
{ UNSG32 u32[1];
struct {
struct w32TspCryReg_return_address_3;
};
} TTspCryReg_return_address_3;
typedef union TTspCryReg_command_count_3
{ UNSG32 u32[1];
struct {
struct w32TspCryReg_command_count_3;
};
} TTspCryReg_command_count_3;
typedef union TTspCryReg_return_address_4
{ UNSG32 u32[1];
struct {
struct w32TspCryReg_return_address_4;
};
} TTspCryReg_return_address_4;
typedef union TTspCryReg_command_count_4
{ UNSG32 u32[1];
struct {
struct w32TspCryReg_command_count_4;
};
} TTspCryReg_command_count_4;
typedef union TTspCryReg_return_address_5
{ UNSG32 u32[1];
struct {
struct w32TspCryReg_return_address_5;
};
} TTspCryReg_return_address_5;
typedef union TTspCryReg_command_count_5
{ UNSG32 u32[1];
struct {
struct w32TspCryReg_command_count_5;
};
} TTspCryReg_command_count_5;
///////////////////////////////////////////////////////////
SIGN32 TspCryReg_drvrd(SIE_TspCryReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspCryReg_drvwr(SIE_TspCryReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspCryReg_reset(SIE_TspCryReg *p);
SIGN32 TspCryReg_cmp (SIE_TspCryReg *p, SIE_TspCryReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspCryReg_check(p,pie,pfx,hLOG) TspCryReg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspCryReg_print(p, pfx,hLOG) TspCryReg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspCryReg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspSwdReg biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 global (P)
/// %unsigned 2 reset 0x3
/// ###
/// * 1: reset the SWD;
/// * 0: normal operation;
/// * After resetting ,SWD firmware also needs to reinitialize the command FIFO before releasing the reset, otherwise, hardware may behave unpredictably.
/// * There are two reset bits, one for each SWD.
/// ###
/// %% 30 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 2b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspSwdReg
#define h_TspSwdReg (){}
#define RA_TspSwdReg_global 0x0000
#define BA_TspSwdReg_global_reset 0x0000
#define B16TspSwdReg_global_reset 0x0000
#define LSb32TspSwdReg_global_reset 0
#define LSb16TspSwdReg_global_reset 0
#define bTspSwdReg_global_reset 2
#define MSK32TspSwdReg_global_reset 0x00000003
///////////////////////////////////////////////////////////
typedef struct SIE_TspSwdReg {
///////////////////////////////////////////////////////////
#define GET32TspSwdReg_global_reset(r32) _BFGET_(r32, 1, 0)
#define SET32TspSwdReg_global_reset(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16TspSwdReg_global_reset(r16) _BFGET_(r16, 1, 0)
#define SET16TspSwdReg_global_reset(r16,v) _BFSET_(r16, 1, 0,v)
#define w32TspSwdReg_global {\
UNSG32 uglobal_reset : 2;\
UNSG32 RSVDx0_b2 : 30;\
}
union { UNSG32 u32TspSwdReg_global;
struct w32TspSwdReg_global;
};
///////////////////////////////////////////////////////////
} SIE_TspSwdReg;
typedef union T32TspSwdReg_global
{ UNSG32 u32;
struct w32TspSwdReg_global;
} T32TspSwdReg_global;
///////////////////////////////////////////////////////////
typedef union TTspSwdReg_global
{ UNSG32 u32[1];
struct {
struct w32TspSwdReg_global;
};
} TTspSwdReg_global;
///////////////////////////////////////////////////////////
SIGN32 TspSwdReg_drvrd(SIE_TspSwdReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspSwdReg_drvwr(SIE_TspSwdReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspSwdReg_reset(SIE_TspSwdReg *p);
SIGN32 TspSwdReg_cmp (SIE_TspSwdReg *p, SIE_TspSwdReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspSwdReg_check(p,pie,pfx,hLOG) TspSwdReg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspSwdReg_print(p, pfx,hLOG) TspSwdReg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspSwdReg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspIntReg biu (4,4)
/// ###
/// * This table defines all the interrupt sources of TSP. These include interrupt from hardware blocks, HBO FIFO status and software generated interrupt.
/// * Hardware block and HBO FIFO interrupt will set port tspHwInt to one, and software generated interrupt will set port intFigo to one.
/// * The interrupt enable bit enables the interrupt port to be asserted when the interrupt source is active. It does not mask the status bit. Firmware can still read the status even the enable bit is cleared.
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 hw_block_int_enable (P)
/// %unsigned 1 tsi0 0x0
/// %unsigned 1 tsi1 0x0
/// %unsigned 1 tsi2 0x0
/// %unsigned 1 tsi3 0x0
/// %unsigned 1 tsi4 0x0
/// %unsigned 1 tsi5 0x0
/// %unsigned 1 tsi6 0x0
/// %unsigned 1 tsi7 0x0
/// %unsigned 1 tsi8 0x0
/// %unsigned 1 tsi9 0x0
/// %unsigned 1 tsi10 0x0
/// %unsigned 1 tsi11 0x0
/// %unsigned 1 tsi12 0x0
/// %% 19 # Stuffing bits...
/// @ 0x00004 hw_block_int_status (WOC-)
/// %unsigned 1 tsi0 0x0
/// %unsigned 1 tsi1 0x0
/// %unsigned 1 tsi2 0x0
/// %unsigned 1 tsi3 0x0
/// %unsigned 1 tsi4 0x0
/// %unsigned 1 tsi5 0x0
/// %unsigned 1 tsi6 0x0
/// %unsigned 1 tsi7 0x0
/// %unsigned 1 tsi8 0x0
/// %unsigned 1 tsi9 0x0
/// %unsigned 1 tsi10 0x0
/// %unsigned 1 tsi11 0x0
/// %unsigned 1 tsi12 0x0
/// ###
/// * These bits are set to 1 when there are errors during TSI input sampling. It indicates an unstable TS input clock.
/// * Writing one to any status bits will clears those bits.
/// ###
/// %% 19 # Stuffing bits...
/// @ 0x00008 hbo_aempty_enable (P)
/// %unsigned 23 Enable 0x0
/// ###
/// * Enable FIFO almost empty interrupts from HBO of FIGO0
/// ###
/// %% 9 # Stuffing bits...
/// @ 0x0000C hbo_aempty_status (R-)
/// %unsigned 23 status 0x0
/// ###
/// * Status of the FIFO almost empty interrupts from HBO of FIGO0
/// ###
/// %% 9 # Stuffing bits...
/// @ 0x00010 hbo_afull_enable (P)
/// %unsigned 23 enable 0x0
/// ###
/// * Enable FIFO almost full interrupts from HBO of FIGO0
/// ###
/// %% 9 # Stuffing bits...
/// @ 0x00014 hbo_afull_status (R-)
/// %unsigned 23 status 0x0
/// ###
/// * Status of the FIFO almost full interrupts from HBO of FIGO0
/// ###
/// %% 9 # Stuffing bits...
/// @ 0x00018 hbo1_aempty_enable (P)
/// %unsigned 23 enable 0x0
/// ###
/// * Enable FIFO almost empty interrupts from HBO of FIGO 1
/// ###
/// %% 9 # Stuffing bits...
/// @ 0x0001C hbo1_aempty_status (R-)
/// %unsigned 23 status 0x0
/// ###
/// * Status of the FIFO almost empty interrupts from HBO of FIGO1
/// ###
/// %% 9 # Stuffing bits...
/// @ 0x00020 hbo1_afull_enable (P)
/// %unsigned 23 enable 0x0
/// ###
/// * Enable FIFO almost full interrupts from HBO of FIGO1
/// ###
/// %% 9 # Stuffing bits...
/// @ 0x00024 hbo1_afull_status (R-)
/// %unsigned 23 status 0x0
/// ###
/// * Status of the FIFO almost full interrupts from HBO of FIGO1
/// * The HBO interrupt bits follow the same order defined in chapter related to HBO FIFO mapping.
/// * TSP_HBO_FIFO_ID can be used as the index of these interrupt bits.
/// ###
/// %% 9 # Stuffing bits...
/// @ 0x00028 software_int_enable (P)
/// %unsigned 32 enable 0x0
/// ###
/// * Software Interrupt enable bits;
/// ###
/// @ 0x0002C software_int_status (WOC-)
/// %unsigned 32 status 0x0
/// ###
/// * Software interrupt status bits; Writing one to any status bits will clears those bits.
/// ###
/// @ 0x00030 software_int_set (W-)
/// %unsigned 32 set 0x0
/// ###
/// * Write one to any bits will set the corresponding status bits
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 52B, bits: 306b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspIntReg
#define h_TspIntReg (){}
#define RA_TspIntReg_hw_block_int_enable 0x0000
#define BA_TspIntReg_hw_block_int_enable_tsi0 0x0000
#define B16TspIntReg_hw_block_int_enable_tsi0 0x0000
#define LSb32TspIntReg_hw_block_int_enable_tsi0 0
#define LSb16TspIntReg_hw_block_int_enable_tsi0 0
#define bTspIntReg_hw_block_int_enable_tsi0 1
#define MSK32TspIntReg_hw_block_int_enable_tsi0 0x00000001
#define BA_TspIntReg_hw_block_int_enable_tsi1 0x0000
#define B16TspIntReg_hw_block_int_enable_tsi1 0x0000
#define LSb32TspIntReg_hw_block_int_enable_tsi1 1
#define LSb16TspIntReg_hw_block_int_enable_tsi1 1
#define bTspIntReg_hw_block_int_enable_tsi1 1
#define MSK32TspIntReg_hw_block_int_enable_tsi1 0x00000002
#define BA_TspIntReg_hw_block_int_enable_tsi2 0x0000
#define B16TspIntReg_hw_block_int_enable_tsi2 0x0000
#define LSb32TspIntReg_hw_block_int_enable_tsi2 2
#define LSb16TspIntReg_hw_block_int_enable_tsi2 2
#define bTspIntReg_hw_block_int_enable_tsi2 1
#define MSK32TspIntReg_hw_block_int_enable_tsi2 0x00000004
#define BA_TspIntReg_hw_block_int_enable_tsi3 0x0000
#define B16TspIntReg_hw_block_int_enable_tsi3 0x0000
#define LSb32TspIntReg_hw_block_int_enable_tsi3 3
#define LSb16TspIntReg_hw_block_int_enable_tsi3 3
#define bTspIntReg_hw_block_int_enable_tsi3 1
#define MSK32TspIntReg_hw_block_int_enable_tsi3 0x00000008
#define BA_TspIntReg_hw_block_int_enable_tsi4 0x0000
#define B16TspIntReg_hw_block_int_enable_tsi4 0x0000
#define LSb32TspIntReg_hw_block_int_enable_tsi4 4
#define LSb16TspIntReg_hw_block_int_enable_tsi4 4
#define bTspIntReg_hw_block_int_enable_tsi4 1
#define MSK32TspIntReg_hw_block_int_enable_tsi4 0x00000010
#define BA_TspIntReg_hw_block_int_enable_tsi5 0x0000
#define B16TspIntReg_hw_block_int_enable_tsi5 0x0000
#define LSb32TspIntReg_hw_block_int_enable_tsi5 5
#define LSb16TspIntReg_hw_block_int_enable_tsi5 5
#define bTspIntReg_hw_block_int_enable_tsi5 1
#define MSK32TspIntReg_hw_block_int_enable_tsi5 0x00000020
#define BA_TspIntReg_hw_block_int_enable_tsi6 0x0000
#define B16TspIntReg_hw_block_int_enable_tsi6 0x0000
#define LSb32TspIntReg_hw_block_int_enable_tsi6 6
#define LSb16TspIntReg_hw_block_int_enable_tsi6 6
#define bTspIntReg_hw_block_int_enable_tsi6 1
#define MSK32TspIntReg_hw_block_int_enable_tsi6 0x00000040
#define BA_TspIntReg_hw_block_int_enable_tsi7 0x0000
#define B16TspIntReg_hw_block_int_enable_tsi7 0x0000
#define LSb32TspIntReg_hw_block_int_enable_tsi7 7
#define LSb16TspIntReg_hw_block_int_enable_tsi7 7
#define bTspIntReg_hw_block_int_enable_tsi7 1
#define MSK32TspIntReg_hw_block_int_enable_tsi7 0x00000080
#define BA_TspIntReg_hw_block_int_enable_tsi8 0x0001
#define B16TspIntReg_hw_block_int_enable_tsi8 0x0000
#define LSb32TspIntReg_hw_block_int_enable_tsi8 8
#define LSb16TspIntReg_hw_block_int_enable_tsi8 8
#define bTspIntReg_hw_block_int_enable_tsi8 1
#define MSK32TspIntReg_hw_block_int_enable_tsi8 0x00000100
#define BA_TspIntReg_hw_block_int_enable_tsi9 0x0001
#define B16TspIntReg_hw_block_int_enable_tsi9 0x0000
#define LSb32TspIntReg_hw_block_int_enable_tsi9 9
#define LSb16TspIntReg_hw_block_int_enable_tsi9 9
#define bTspIntReg_hw_block_int_enable_tsi9 1
#define MSK32TspIntReg_hw_block_int_enable_tsi9 0x00000200
#define BA_TspIntReg_hw_block_int_enable_tsi10 0x0001
#define B16TspIntReg_hw_block_int_enable_tsi10 0x0000
#define LSb32TspIntReg_hw_block_int_enable_tsi10 10
#define LSb16TspIntReg_hw_block_int_enable_tsi10 10
#define bTspIntReg_hw_block_int_enable_tsi10 1
#define MSK32TspIntReg_hw_block_int_enable_tsi10 0x00000400
#define BA_TspIntReg_hw_block_int_enable_tsi11 0x0001
#define B16TspIntReg_hw_block_int_enable_tsi11 0x0000
#define LSb32TspIntReg_hw_block_int_enable_tsi11 11
#define LSb16TspIntReg_hw_block_int_enable_tsi11 11
#define bTspIntReg_hw_block_int_enable_tsi11 1
#define MSK32TspIntReg_hw_block_int_enable_tsi11 0x00000800
#define BA_TspIntReg_hw_block_int_enable_tsi12 0x0001
#define B16TspIntReg_hw_block_int_enable_tsi12 0x0000
#define LSb32TspIntReg_hw_block_int_enable_tsi12 12
#define LSb16TspIntReg_hw_block_int_enable_tsi12 12
#define bTspIntReg_hw_block_int_enable_tsi12 1
#define MSK32TspIntReg_hw_block_int_enable_tsi12 0x00001000
///////////////////////////////////////////////////////////
#define RA_TspIntReg_hw_block_int_status 0x0004
#define BA_TspIntReg_hw_block_int_status_tsi0 0x0004
#define B16TspIntReg_hw_block_int_status_tsi0 0x0004
#define LSb32TspIntReg_hw_block_int_status_tsi0 0
#define LSb16TspIntReg_hw_block_int_status_tsi0 0
#define bTspIntReg_hw_block_int_status_tsi0 1
#define MSK32TspIntReg_hw_block_int_status_tsi0 0x00000001
#define BA_TspIntReg_hw_block_int_status_tsi1 0x0004
#define B16TspIntReg_hw_block_int_status_tsi1 0x0004
#define LSb32TspIntReg_hw_block_int_status_tsi1 1
#define LSb16TspIntReg_hw_block_int_status_tsi1 1
#define bTspIntReg_hw_block_int_status_tsi1 1
#define MSK32TspIntReg_hw_block_int_status_tsi1 0x00000002
#define BA_TspIntReg_hw_block_int_status_tsi2 0x0004
#define B16TspIntReg_hw_block_int_status_tsi2 0x0004
#define LSb32TspIntReg_hw_block_int_status_tsi2 2
#define LSb16TspIntReg_hw_block_int_status_tsi2 2
#define bTspIntReg_hw_block_int_status_tsi2 1
#define MSK32TspIntReg_hw_block_int_status_tsi2 0x00000004
#define BA_TspIntReg_hw_block_int_status_tsi3 0x0004
#define B16TspIntReg_hw_block_int_status_tsi3 0x0004
#define LSb32TspIntReg_hw_block_int_status_tsi3 3
#define LSb16TspIntReg_hw_block_int_status_tsi3 3
#define bTspIntReg_hw_block_int_status_tsi3 1
#define MSK32TspIntReg_hw_block_int_status_tsi3 0x00000008
#define BA_TspIntReg_hw_block_int_status_tsi4 0x0004
#define B16TspIntReg_hw_block_int_status_tsi4 0x0004
#define LSb32TspIntReg_hw_block_int_status_tsi4 4
#define LSb16TspIntReg_hw_block_int_status_tsi4 4
#define bTspIntReg_hw_block_int_status_tsi4 1
#define MSK32TspIntReg_hw_block_int_status_tsi4 0x00000010
#define BA_TspIntReg_hw_block_int_status_tsi5 0x0004
#define B16TspIntReg_hw_block_int_status_tsi5 0x0004
#define LSb32TspIntReg_hw_block_int_status_tsi5 5
#define LSb16TspIntReg_hw_block_int_status_tsi5 5
#define bTspIntReg_hw_block_int_status_tsi5 1
#define MSK32TspIntReg_hw_block_int_status_tsi5 0x00000020
#define BA_TspIntReg_hw_block_int_status_tsi6 0x0004
#define B16TspIntReg_hw_block_int_status_tsi6 0x0004
#define LSb32TspIntReg_hw_block_int_status_tsi6 6
#define LSb16TspIntReg_hw_block_int_status_tsi6 6
#define bTspIntReg_hw_block_int_status_tsi6 1
#define MSK32TspIntReg_hw_block_int_status_tsi6 0x00000040
#define BA_TspIntReg_hw_block_int_status_tsi7 0x0004
#define B16TspIntReg_hw_block_int_status_tsi7 0x0004
#define LSb32TspIntReg_hw_block_int_status_tsi7 7
#define LSb16TspIntReg_hw_block_int_status_tsi7 7
#define bTspIntReg_hw_block_int_status_tsi7 1
#define MSK32TspIntReg_hw_block_int_status_tsi7 0x00000080
#define BA_TspIntReg_hw_block_int_status_tsi8 0x0005
#define B16TspIntReg_hw_block_int_status_tsi8 0x0004
#define LSb32TspIntReg_hw_block_int_status_tsi8 8
#define LSb16TspIntReg_hw_block_int_status_tsi8 8
#define bTspIntReg_hw_block_int_status_tsi8 1
#define MSK32TspIntReg_hw_block_int_status_tsi8 0x00000100
#define BA_TspIntReg_hw_block_int_status_tsi9 0x0005
#define B16TspIntReg_hw_block_int_status_tsi9 0x0004
#define LSb32TspIntReg_hw_block_int_status_tsi9 9
#define LSb16TspIntReg_hw_block_int_status_tsi9 9
#define bTspIntReg_hw_block_int_status_tsi9 1
#define MSK32TspIntReg_hw_block_int_status_tsi9 0x00000200
#define BA_TspIntReg_hw_block_int_status_tsi10 0x0005
#define B16TspIntReg_hw_block_int_status_tsi10 0x0004
#define LSb32TspIntReg_hw_block_int_status_tsi10 10
#define LSb16TspIntReg_hw_block_int_status_tsi10 10
#define bTspIntReg_hw_block_int_status_tsi10 1
#define MSK32TspIntReg_hw_block_int_status_tsi10 0x00000400
#define BA_TspIntReg_hw_block_int_status_tsi11 0x0005
#define B16TspIntReg_hw_block_int_status_tsi11 0x0004
#define LSb32TspIntReg_hw_block_int_status_tsi11 11
#define LSb16TspIntReg_hw_block_int_status_tsi11 11
#define bTspIntReg_hw_block_int_status_tsi11 1
#define MSK32TspIntReg_hw_block_int_status_tsi11 0x00000800
#define BA_TspIntReg_hw_block_int_status_tsi12 0x0005
#define B16TspIntReg_hw_block_int_status_tsi12 0x0004
#define LSb32TspIntReg_hw_block_int_status_tsi12 12
#define LSb16TspIntReg_hw_block_int_status_tsi12 12
#define bTspIntReg_hw_block_int_status_tsi12 1
#define MSK32TspIntReg_hw_block_int_status_tsi12 0x00001000
///////////////////////////////////////////////////////////
#define RA_TspIntReg_hbo_aempty_enable 0x0008
#define BA_TspIntReg_hbo_aempty_enable_Enable 0x0008
#define B16TspIntReg_hbo_aempty_enable_Enable 0x0008
#define LSb32TspIntReg_hbo_aempty_enable_Enable 0
#define LSb16TspIntReg_hbo_aempty_enable_Enable 0
#define bTspIntReg_hbo_aempty_enable_Enable 23
#define MSK32TspIntReg_hbo_aempty_enable_Enable 0x007FFFFF
///////////////////////////////////////////////////////////
#define RA_TspIntReg_hbo_aempty_status 0x000C
#define BA_TspIntReg_hbo_aempty_status_status 0x000C
#define B16TspIntReg_hbo_aempty_status_status 0x000C
#define LSb32TspIntReg_hbo_aempty_status_status 0
#define LSb16TspIntReg_hbo_aempty_status_status 0
#define bTspIntReg_hbo_aempty_status_status 23
#define MSK32TspIntReg_hbo_aempty_status_status 0x007FFFFF
///////////////////////////////////////////////////////////
#define RA_TspIntReg_hbo_afull_enable 0x0010
#define BA_TspIntReg_hbo_afull_enable_enable 0x0010
#define B16TspIntReg_hbo_afull_enable_enable 0x0010
#define LSb32TspIntReg_hbo_afull_enable_enable 0
#define LSb16TspIntReg_hbo_afull_enable_enable 0
#define bTspIntReg_hbo_afull_enable_enable 23
#define MSK32TspIntReg_hbo_afull_enable_enable 0x007FFFFF
///////////////////////////////////////////////////////////
#define RA_TspIntReg_hbo_afull_status 0x0014
#define BA_TspIntReg_hbo_afull_status_status 0x0014
#define B16TspIntReg_hbo_afull_status_status 0x0014
#define LSb32TspIntReg_hbo_afull_status_status 0
#define LSb16TspIntReg_hbo_afull_status_status 0
#define bTspIntReg_hbo_afull_status_status 23
#define MSK32TspIntReg_hbo_afull_status_status 0x007FFFFF
///////////////////////////////////////////////////////////
#define RA_TspIntReg_hbo1_aempty_enable 0x0018
#define BA_TspIntReg_hbo1_aempty_enable_enable 0x0018
#define B16TspIntReg_hbo1_aempty_enable_enable 0x0018
#define LSb32TspIntReg_hbo1_aempty_enable_enable 0
#define LSb16TspIntReg_hbo1_aempty_enable_enable 0
#define bTspIntReg_hbo1_aempty_enable_enable 23
#define MSK32TspIntReg_hbo1_aempty_enable_enable 0x007FFFFF
///////////////////////////////////////////////////////////
#define RA_TspIntReg_hbo1_aempty_status 0x001C
#define BA_TspIntReg_hbo1_aempty_status_status 0x001C
#define B16TspIntReg_hbo1_aempty_status_status 0x001C
#define LSb32TspIntReg_hbo1_aempty_status_status 0
#define LSb16TspIntReg_hbo1_aempty_status_status 0
#define bTspIntReg_hbo1_aempty_status_status 23
#define MSK32TspIntReg_hbo1_aempty_status_status 0x007FFFFF
///////////////////////////////////////////////////////////
#define RA_TspIntReg_hbo1_afull_enable 0x0020
#define BA_TspIntReg_hbo1_afull_enable_enable 0x0020
#define B16TspIntReg_hbo1_afull_enable_enable 0x0020
#define LSb32TspIntReg_hbo1_afull_enable_enable 0
#define LSb16TspIntReg_hbo1_afull_enable_enable 0
#define bTspIntReg_hbo1_afull_enable_enable 23
#define MSK32TspIntReg_hbo1_afull_enable_enable 0x007FFFFF
///////////////////////////////////////////////////////////
#define RA_TspIntReg_hbo1_afull_status 0x0024
#define BA_TspIntReg_hbo1_afull_status_status 0x0024
#define B16TspIntReg_hbo1_afull_status_status 0x0024
#define LSb32TspIntReg_hbo1_afull_status_status 0
#define LSb16TspIntReg_hbo1_afull_status_status 0
#define bTspIntReg_hbo1_afull_status_status 23
#define MSK32TspIntReg_hbo1_afull_status_status 0x007FFFFF
///////////////////////////////////////////////////////////
#define RA_TspIntReg_software_int_enable 0x0028
#define BA_TspIntReg_software_int_enable_enable 0x0028
#define B16TspIntReg_software_int_enable_enable 0x0028
#define LSb32TspIntReg_software_int_enable_enable 0
#define LSb16TspIntReg_software_int_enable_enable 0
#define bTspIntReg_software_int_enable_enable 32
#define MSK32TspIntReg_software_int_enable_enable 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspIntReg_software_int_status 0x002C
#define BA_TspIntReg_software_int_status_status 0x002C
#define B16TspIntReg_software_int_status_status 0x002C
#define LSb32TspIntReg_software_int_status_status 0
#define LSb16TspIntReg_software_int_status_status 0
#define bTspIntReg_software_int_status_status 32
#define MSK32TspIntReg_software_int_status_status 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_TspIntReg_software_int_set 0x0030
#define BA_TspIntReg_software_int_set_set 0x0030
#define B16TspIntReg_software_int_set_set 0x0030
#define LSb32TspIntReg_software_int_set_set 0
#define LSb16TspIntReg_software_int_set_set 0
#define bTspIntReg_software_int_set_set 32
#define MSK32TspIntReg_software_int_set_set 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_TspIntReg {
///////////////////////////////////////////////////////////
#define GET32TspIntReg_hw_block_int_enable_tsi0(r32) _BFGET_(r32, 0, 0)
#define SET32TspIntReg_hw_block_int_enable_tsi0(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspIntReg_hw_block_int_enable_tsi0(r16) _BFGET_(r16, 0, 0)
#define SET16TspIntReg_hw_block_int_enable_tsi0(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TspIntReg_hw_block_int_enable_tsi1(r32) _BFGET_(r32, 1, 1)
#define SET32TspIntReg_hw_block_int_enable_tsi1(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16TspIntReg_hw_block_int_enable_tsi1(r16) _BFGET_(r16, 1, 1)
#define SET16TspIntReg_hw_block_int_enable_tsi1(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32TspIntReg_hw_block_int_enable_tsi2(r32) _BFGET_(r32, 2, 2)
#define SET32TspIntReg_hw_block_int_enable_tsi2(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16TspIntReg_hw_block_int_enable_tsi2(r16) _BFGET_(r16, 2, 2)
#define SET16TspIntReg_hw_block_int_enable_tsi2(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32TspIntReg_hw_block_int_enable_tsi3(r32) _BFGET_(r32, 3, 3)
#define SET32TspIntReg_hw_block_int_enable_tsi3(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16TspIntReg_hw_block_int_enable_tsi3(r16) _BFGET_(r16, 3, 3)
#define SET16TspIntReg_hw_block_int_enable_tsi3(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32TspIntReg_hw_block_int_enable_tsi4(r32) _BFGET_(r32, 4, 4)
#define SET32TspIntReg_hw_block_int_enable_tsi4(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16TspIntReg_hw_block_int_enable_tsi4(r16) _BFGET_(r16, 4, 4)
#define SET16TspIntReg_hw_block_int_enable_tsi4(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32TspIntReg_hw_block_int_enable_tsi5(r32) _BFGET_(r32, 5, 5)
#define SET32TspIntReg_hw_block_int_enable_tsi5(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16TspIntReg_hw_block_int_enable_tsi5(r16) _BFGET_(r16, 5, 5)
#define SET16TspIntReg_hw_block_int_enable_tsi5(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32TspIntReg_hw_block_int_enable_tsi6(r32) _BFGET_(r32, 6, 6)
#define SET32TspIntReg_hw_block_int_enable_tsi6(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16TspIntReg_hw_block_int_enable_tsi6(r16) _BFGET_(r16, 6, 6)
#define SET16TspIntReg_hw_block_int_enable_tsi6(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32TspIntReg_hw_block_int_enable_tsi7(r32) _BFGET_(r32, 7, 7)
#define SET32TspIntReg_hw_block_int_enable_tsi7(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16TspIntReg_hw_block_int_enable_tsi7(r16) _BFGET_(r16, 7, 7)
#define SET16TspIntReg_hw_block_int_enable_tsi7(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32TspIntReg_hw_block_int_enable_tsi8(r32) _BFGET_(r32, 8, 8)
#define SET32TspIntReg_hw_block_int_enable_tsi8(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16TspIntReg_hw_block_int_enable_tsi8(r16) _BFGET_(r16, 8, 8)
#define SET16TspIntReg_hw_block_int_enable_tsi8(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32TspIntReg_hw_block_int_enable_tsi9(r32) _BFGET_(r32, 9, 9)
#define SET32TspIntReg_hw_block_int_enable_tsi9(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16TspIntReg_hw_block_int_enable_tsi9(r16) _BFGET_(r16, 9, 9)
#define SET16TspIntReg_hw_block_int_enable_tsi9(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32TspIntReg_hw_block_int_enable_tsi10(r32) _BFGET_(r32,10,10)
#define SET32TspIntReg_hw_block_int_enable_tsi10(r32,v) _BFSET_(r32,10,10,v)
#define GET16TspIntReg_hw_block_int_enable_tsi10(r16) _BFGET_(r16,10,10)
#define SET16TspIntReg_hw_block_int_enable_tsi10(r16,v) _BFSET_(r16,10,10,v)
#define GET32TspIntReg_hw_block_int_enable_tsi11(r32) _BFGET_(r32,11,11)
#define SET32TspIntReg_hw_block_int_enable_tsi11(r32,v) _BFSET_(r32,11,11,v)
#define GET16TspIntReg_hw_block_int_enable_tsi11(r16) _BFGET_(r16,11,11)
#define SET16TspIntReg_hw_block_int_enable_tsi11(r16,v) _BFSET_(r16,11,11,v)
#define GET32TspIntReg_hw_block_int_enable_tsi12(r32) _BFGET_(r32,12,12)
#define SET32TspIntReg_hw_block_int_enable_tsi12(r32,v) _BFSET_(r32,12,12,v)
#define GET16TspIntReg_hw_block_int_enable_tsi12(r16) _BFGET_(r16,12,12)
#define SET16TspIntReg_hw_block_int_enable_tsi12(r16,v) _BFSET_(r16,12,12,v)
#define w32TspIntReg_hw_block_int_enable {\
UNSG32 uhw_block_int_enable_tsi0 : 1;\
UNSG32 uhw_block_int_enable_tsi1 : 1;\
UNSG32 uhw_block_int_enable_tsi2 : 1;\
UNSG32 uhw_block_int_enable_tsi3 : 1;\
UNSG32 uhw_block_int_enable_tsi4 : 1;\
UNSG32 uhw_block_int_enable_tsi5 : 1;\
UNSG32 uhw_block_int_enable_tsi6 : 1;\
UNSG32 uhw_block_int_enable_tsi7 : 1;\
UNSG32 uhw_block_int_enable_tsi8 : 1;\
UNSG32 uhw_block_int_enable_tsi9 : 1;\
UNSG32 uhw_block_int_enable_tsi10 : 1;\
UNSG32 uhw_block_int_enable_tsi11 : 1;\
UNSG32 uhw_block_int_enable_tsi12 : 1;\
UNSG32 RSVDx0_b13 : 19;\
}
union { UNSG32 u32TspIntReg_hw_block_int_enable;
struct w32TspIntReg_hw_block_int_enable;
};
///////////////////////////////////////////////////////////
#define GET32TspIntReg_hw_block_int_status_tsi0(r32) _BFGET_(r32, 0, 0)
#define SET32TspIntReg_hw_block_int_status_tsi0(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16TspIntReg_hw_block_int_status_tsi0(r16) _BFGET_(r16, 0, 0)
#define SET16TspIntReg_hw_block_int_status_tsi0(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32TspIntReg_hw_block_int_status_tsi1(r32) _BFGET_(r32, 1, 1)
#define SET32TspIntReg_hw_block_int_status_tsi1(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16TspIntReg_hw_block_int_status_tsi1(r16) _BFGET_(r16, 1, 1)
#define SET16TspIntReg_hw_block_int_status_tsi1(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32TspIntReg_hw_block_int_status_tsi2(r32) _BFGET_(r32, 2, 2)
#define SET32TspIntReg_hw_block_int_status_tsi2(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16TspIntReg_hw_block_int_status_tsi2(r16) _BFGET_(r16, 2, 2)
#define SET16TspIntReg_hw_block_int_status_tsi2(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32TspIntReg_hw_block_int_status_tsi3(r32) _BFGET_(r32, 3, 3)
#define SET32TspIntReg_hw_block_int_status_tsi3(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16TspIntReg_hw_block_int_status_tsi3(r16) _BFGET_(r16, 3, 3)
#define SET16TspIntReg_hw_block_int_status_tsi3(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32TspIntReg_hw_block_int_status_tsi4(r32) _BFGET_(r32, 4, 4)
#define SET32TspIntReg_hw_block_int_status_tsi4(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16TspIntReg_hw_block_int_status_tsi4(r16) _BFGET_(r16, 4, 4)
#define SET16TspIntReg_hw_block_int_status_tsi4(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32TspIntReg_hw_block_int_status_tsi5(r32) _BFGET_(r32, 5, 5)
#define SET32TspIntReg_hw_block_int_status_tsi5(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16TspIntReg_hw_block_int_status_tsi5(r16) _BFGET_(r16, 5, 5)
#define SET16TspIntReg_hw_block_int_status_tsi5(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32TspIntReg_hw_block_int_status_tsi6(r32) _BFGET_(r32, 6, 6)
#define SET32TspIntReg_hw_block_int_status_tsi6(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16TspIntReg_hw_block_int_status_tsi6(r16) _BFGET_(r16, 6, 6)
#define SET16TspIntReg_hw_block_int_status_tsi6(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32TspIntReg_hw_block_int_status_tsi7(r32) _BFGET_(r32, 7, 7)
#define SET32TspIntReg_hw_block_int_status_tsi7(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16TspIntReg_hw_block_int_status_tsi7(r16) _BFGET_(r16, 7, 7)
#define SET16TspIntReg_hw_block_int_status_tsi7(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32TspIntReg_hw_block_int_status_tsi8(r32) _BFGET_(r32, 8, 8)
#define SET32TspIntReg_hw_block_int_status_tsi8(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16TspIntReg_hw_block_int_status_tsi8(r16) _BFGET_(r16, 8, 8)
#define SET16TspIntReg_hw_block_int_status_tsi8(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32TspIntReg_hw_block_int_status_tsi9(r32) _BFGET_(r32, 9, 9)
#define SET32TspIntReg_hw_block_int_status_tsi9(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16TspIntReg_hw_block_int_status_tsi9(r16) _BFGET_(r16, 9, 9)
#define SET16TspIntReg_hw_block_int_status_tsi9(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32TspIntReg_hw_block_int_status_tsi10(r32) _BFGET_(r32,10,10)
#define SET32TspIntReg_hw_block_int_status_tsi10(r32,v) _BFSET_(r32,10,10,v)
#define GET16TspIntReg_hw_block_int_status_tsi10(r16) _BFGET_(r16,10,10)
#define SET16TspIntReg_hw_block_int_status_tsi10(r16,v) _BFSET_(r16,10,10,v)
#define GET32TspIntReg_hw_block_int_status_tsi11(r32) _BFGET_(r32,11,11)
#define SET32TspIntReg_hw_block_int_status_tsi11(r32,v) _BFSET_(r32,11,11,v)
#define GET16TspIntReg_hw_block_int_status_tsi11(r16) _BFGET_(r16,11,11)
#define SET16TspIntReg_hw_block_int_status_tsi11(r16,v) _BFSET_(r16,11,11,v)
#define GET32TspIntReg_hw_block_int_status_tsi12(r32) _BFGET_(r32,12,12)
#define SET32TspIntReg_hw_block_int_status_tsi12(r32,v) _BFSET_(r32,12,12,v)
#define GET16TspIntReg_hw_block_int_status_tsi12(r16) _BFGET_(r16,12,12)
#define SET16TspIntReg_hw_block_int_status_tsi12(r16,v) _BFSET_(r16,12,12,v)
#define w32TspIntReg_hw_block_int_status {\
UNSG32 uhw_block_int_status_tsi0 : 1;\
UNSG32 uhw_block_int_status_tsi1 : 1;\
UNSG32 uhw_block_int_status_tsi2 : 1;\
UNSG32 uhw_block_int_status_tsi3 : 1;\
UNSG32 uhw_block_int_status_tsi4 : 1;\
UNSG32 uhw_block_int_status_tsi5 : 1;\
UNSG32 uhw_block_int_status_tsi6 : 1;\
UNSG32 uhw_block_int_status_tsi7 : 1;\
UNSG32 uhw_block_int_status_tsi8 : 1;\
UNSG32 uhw_block_int_status_tsi9 : 1;\
UNSG32 uhw_block_int_status_tsi10 : 1;\
UNSG32 uhw_block_int_status_tsi11 : 1;\
UNSG32 uhw_block_int_status_tsi12 : 1;\
UNSG32 RSVDx4_b13 : 19;\
}
union { UNSG32 u32TspIntReg_hw_block_int_status;
struct w32TspIntReg_hw_block_int_status;
};
///////////////////////////////////////////////////////////
#define GET32TspIntReg_hbo_aempty_enable_Enable(r32) _BFGET_(r32,22, 0)
#define SET32TspIntReg_hbo_aempty_enable_Enable(r32,v) _BFSET_(r32,22, 0,v)
#define w32TspIntReg_hbo_aempty_enable {\
UNSG32 uhbo_aempty_enable_Enable : 23;\
UNSG32 RSVDx8_b23 : 9;\
}
union { UNSG32 u32TspIntReg_hbo_aempty_enable;
struct w32TspIntReg_hbo_aempty_enable;
};
///////////////////////////////////////////////////////////
#define GET32TspIntReg_hbo_aempty_status_status(r32) _BFGET_(r32,22, 0)
#define SET32TspIntReg_hbo_aempty_status_status(r32,v) _BFSET_(r32,22, 0,v)
#define w32TspIntReg_hbo_aempty_status {\
UNSG32 uhbo_aempty_status_status : 23;\
UNSG32 RSVDxC_b23 : 9;\
}
union { UNSG32 u32TspIntReg_hbo_aempty_status;
struct w32TspIntReg_hbo_aempty_status;
};
///////////////////////////////////////////////////////////
#define GET32TspIntReg_hbo_afull_enable_enable(r32) _BFGET_(r32,22, 0)
#define SET32TspIntReg_hbo_afull_enable_enable(r32,v) _BFSET_(r32,22, 0,v)
#define w32TspIntReg_hbo_afull_enable {\
UNSG32 uhbo_afull_enable_enable : 23;\
UNSG32 RSVDx10_b23 : 9;\
}
union { UNSG32 u32TspIntReg_hbo_afull_enable;
struct w32TspIntReg_hbo_afull_enable;
};
///////////////////////////////////////////////////////////
#define GET32TspIntReg_hbo_afull_status_status(r32) _BFGET_(r32,22, 0)
#define SET32TspIntReg_hbo_afull_status_status(r32,v) _BFSET_(r32,22, 0,v)
#define w32TspIntReg_hbo_afull_status {\
UNSG32 uhbo_afull_status_status : 23;\
UNSG32 RSVDx14_b23 : 9;\
}
union { UNSG32 u32TspIntReg_hbo_afull_status;
struct w32TspIntReg_hbo_afull_status;
};
///////////////////////////////////////////////////////////
#define GET32TspIntReg_hbo1_aempty_enable_enable(r32) _BFGET_(r32,22, 0)
#define SET32TspIntReg_hbo1_aempty_enable_enable(r32,v) _BFSET_(r32,22, 0,v)
#define w32TspIntReg_hbo1_aempty_enable {\
UNSG32 uhbo1_aempty_enable_enable : 23;\
UNSG32 RSVDx18_b23 : 9;\
}
union { UNSG32 u32TspIntReg_hbo1_aempty_enable;
struct w32TspIntReg_hbo1_aempty_enable;
};
///////////////////////////////////////////////////////////
#define GET32TspIntReg_hbo1_aempty_status_status(r32) _BFGET_(r32,22, 0)
#define SET32TspIntReg_hbo1_aempty_status_status(r32,v) _BFSET_(r32,22, 0,v)
#define w32TspIntReg_hbo1_aempty_status {\
UNSG32 uhbo1_aempty_status_status : 23;\
UNSG32 RSVDx1C_b23 : 9;\
}
union { UNSG32 u32TspIntReg_hbo1_aempty_status;
struct w32TspIntReg_hbo1_aempty_status;
};
///////////////////////////////////////////////////////////
#define GET32TspIntReg_hbo1_afull_enable_enable(r32) _BFGET_(r32,22, 0)
#define SET32TspIntReg_hbo1_afull_enable_enable(r32,v) _BFSET_(r32,22, 0,v)
#define w32TspIntReg_hbo1_afull_enable {\
UNSG32 uhbo1_afull_enable_enable : 23;\
UNSG32 RSVDx20_b23 : 9;\
}
union { UNSG32 u32TspIntReg_hbo1_afull_enable;
struct w32TspIntReg_hbo1_afull_enable;
};
///////////////////////////////////////////////////////////
#define GET32TspIntReg_hbo1_afull_status_status(r32) _BFGET_(r32,22, 0)
#define SET32TspIntReg_hbo1_afull_status_status(r32,v) _BFSET_(r32,22, 0,v)
#define w32TspIntReg_hbo1_afull_status {\
UNSG32 uhbo1_afull_status_status : 23;\
UNSG32 RSVDx24_b23 : 9;\
}
union { UNSG32 u32TspIntReg_hbo1_afull_status;
struct w32TspIntReg_hbo1_afull_status;
};
///////////////////////////////////////////////////////////
#define GET32TspIntReg_software_int_enable_enable(r32) _BFGET_(r32,31, 0)
#define SET32TspIntReg_software_int_enable_enable(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspIntReg_software_int_enable {\
UNSG32 usoftware_int_enable_enable : 32;\
}
union { UNSG32 u32TspIntReg_software_int_enable;
struct w32TspIntReg_software_int_enable;
};
///////////////////////////////////////////////////////////
#define GET32TspIntReg_software_int_status_status(r32) _BFGET_(r32,31, 0)
#define SET32TspIntReg_software_int_status_status(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspIntReg_software_int_status {\
UNSG32 usoftware_int_status_status : 32;\
}
union { UNSG32 u32TspIntReg_software_int_status;
struct w32TspIntReg_software_int_status;
};
///////////////////////////////////////////////////////////
#define GET32TspIntReg_software_int_set_set(r32) _BFGET_(r32,31, 0)
#define SET32TspIntReg_software_int_set_set(r32,v) _BFSET_(r32,31, 0,v)
#define w32TspIntReg_software_int_set {\
UNSG32 usoftware_int_set_set : 32;\
}
union { UNSG32 u32TspIntReg_software_int_set;
struct w32TspIntReg_software_int_set;
};
///////////////////////////////////////////////////////////
} SIE_TspIntReg;
typedef union T32TspIntReg_hw_block_int_enable
{ UNSG32 u32;
struct w32TspIntReg_hw_block_int_enable;
} T32TspIntReg_hw_block_int_enable;
typedef union T32TspIntReg_hw_block_int_status
{ UNSG32 u32;
struct w32TspIntReg_hw_block_int_status;
} T32TspIntReg_hw_block_int_status;
typedef union T32TspIntReg_hbo_aempty_enable
{ UNSG32 u32;
struct w32TspIntReg_hbo_aempty_enable;
} T32TspIntReg_hbo_aempty_enable;
typedef union T32TspIntReg_hbo_aempty_status
{ UNSG32 u32;
struct w32TspIntReg_hbo_aempty_status;
} T32TspIntReg_hbo_aempty_status;
typedef union T32TspIntReg_hbo_afull_enable
{ UNSG32 u32;
struct w32TspIntReg_hbo_afull_enable;
} T32TspIntReg_hbo_afull_enable;
typedef union T32TspIntReg_hbo_afull_status
{ UNSG32 u32;
struct w32TspIntReg_hbo_afull_status;
} T32TspIntReg_hbo_afull_status;
typedef union T32TspIntReg_hbo1_aempty_enable
{ UNSG32 u32;
struct w32TspIntReg_hbo1_aempty_enable;
} T32TspIntReg_hbo1_aempty_enable;
typedef union T32TspIntReg_hbo1_aempty_status
{ UNSG32 u32;
struct w32TspIntReg_hbo1_aempty_status;
} T32TspIntReg_hbo1_aempty_status;
typedef union T32TspIntReg_hbo1_afull_enable
{ UNSG32 u32;
struct w32TspIntReg_hbo1_afull_enable;
} T32TspIntReg_hbo1_afull_enable;
typedef union T32TspIntReg_hbo1_afull_status
{ UNSG32 u32;
struct w32TspIntReg_hbo1_afull_status;
} T32TspIntReg_hbo1_afull_status;
typedef union T32TspIntReg_software_int_enable
{ UNSG32 u32;
struct w32TspIntReg_software_int_enable;
} T32TspIntReg_software_int_enable;
typedef union T32TspIntReg_software_int_status
{ UNSG32 u32;
struct w32TspIntReg_software_int_status;
} T32TspIntReg_software_int_status;
typedef union T32TspIntReg_software_int_set
{ UNSG32 u32;
struct w32TspIntReg_software_int_set;
} T32TspIntReg_software_int_set;
///////////////////////////////////////////////////////////
typedef union TTspIntReg_hw_block_int_enable
{ UNSG32 u32[1];
struct {
struct w32TspIntReg_hw_block_int_enable;
};
} TTspIntReg_hw_block_int_enable;
typedef union TTspIntReg_hw_block_int_status
{ UNSG32 u32[1];
struct {
struct w32TspIntReg_hw_block_int_status;
};
} TTspIntReg_hw_block_int_status;
typedef union TTspIntReg_hbo_aempty_enable
{ UNSG32 u32[1];
struct {
struct w32TspIntReg_hbo_aempty_enable;
};
} TTspIntReg_hbo_aempty_enable;
typedef union TTspIntReg_hbo_aempty_status
{ UNSG32 u32[1];
struct {
struct w32TspIntReg_hbo_aempty_status;
};
} TTspIntReg_hbo_aempty_status;
typedef union TTspIntReg_hbo_afull_enable
{ UNSG32 u32[1];
struct {
struct w32TspIntReg_hbo_afull_enable;
};
} TTspIntReg_hbo_afull_enable;
typedef union TTspIntReg_hbo_afull_status
{ UNSG32 u32[1];
struct {
struct w32TspIntReg_hbo_afull_status;
};
} TTspIntReg_hbo_afull_status;
typedef union TTspIntReg_hbo1_aempty_enable
{ UNSG32 u32[1];
struct {
struct w32TspIntReg_hbo1_aempty_enable;
};
} TTspIntReg_hbo1_aempty_enable;
typedef union TTspIntReg_hbo1_aempty_status
{ UNSG32 u32[1];
struct {
struct w32TspIntReg_hbo1_aempty_status;
};
} TTspIntReg_hbo1_aempty_status;
typedef union TTspIntReg_hbo1_afull_enable
{ UNSG32 u32[1];
struct {
struct w32TspIntReg_hbo1_afull_enable;
};
} TTspIntReg_hbo1_afull_enable;
typedef union TTspIntReg_hbo1_afull_status
{ UNSG32 u32[1];
struct {
struct w32TspIntReg_hbo1_afull_status;
};
} TTspIntReg_hbo1_afull_status;
typedef union TTspIntReg_software_int_enable
{ UNSG32 u32[1];
struct {
struct w32TspIntReg_software_int_enable;
};
} TTspIntReg_software_int_enable;
typedef union TTspIntReg_software_int_status
{ UNSG32 u32[1];
struct {
struct w32TspIntReg_software_int_status;
};
} TTspIntReg_software_int_status;
typedef union TTspIntReg_software_int_set
{ UNSG32 u32[1];
struct {
struct w32TspIntReg_software_int_set;
};
} TTspIntReg_software_int_set;
///////////////////////////////////////////////////////////
SIGN32 TspIntReg_drvrd(SIE_TspIntReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspIntReg_drvwr(SIE_TspIntReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspIntReg_reset(SIE_TspIntReg *p);
SIGN32 TspIntReg_cmp (SIE_TspIntReg *p, SIE_TspIntReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspIntReg_check(p,pie,pfx,hLOG) TspIntReg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspIntReg_print(p, pfx,hLOG) TspIntReg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspIntReg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TspReg biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 FigoDtcm
/// $FigoData FigoDtcm MEM [4096]
/// @ 0x08000 (P)
/// # 0x08000 FigoReg
/// $FigoSysBasic FigoReg REG
/// @ 0x0B000 (W-)
/// # # Stuffing bytes...
/// %% 32768
/// @ 0x0C000 (P)
/// # 0x0C000 SecTbl
/// $TspSecTbl SecTbl MEM [2048]
/// @ 0x0E000 (P)
/// # 0x0E000 PidTbl
/// $TspPidTbl PidTbl MEM [256]
/// @ 0x0E800 (W-)
/// # # Stuffing bytes...
/// %% 16384
/// @ 0x0F000 (P)
/// # 0x0F000 Tsi0Reg
/// $TspTsiReg Tsi0Reg REG
/// @ 0x0F034 (P)
/// # 0x0F034 Tsi1Reg
/// $TspTsiReg Tsi1Reg REG
/// @ 0x0F068 (P)
/// # 0x0F068 Tsi2Reg
/// $TspTsiReg Tsi2Reg REG
/// @ 0x0F09C (P)
/// # 0x0F09C Tsi3Reg
/// $TspTsiReg Tsi3Reg REG
/// @ 0x0F0D0 (P)
/// # 0x0F0D0 Tsi4Reg
/// $TspTsiReg Tsi4Reg REG
/// @ 0x0F104 (P)
/// # 0x0F104 Tsi5Reg
/// $TspTsiReg Tsi5Reg REG
/// @ 0x0F138 (P)
/// # 0x0F138 Tsi6Reg
/// $TspTsiReg Tsi6Reg REG
/// @ 0x0F16C (P)
/// # 0x0F16C Tsi7Reg
/// $TspTsiReg Tsi7Reg REG
/// @ 0x0F1A0 (P)
/// # 0x0F1A0 Tsi8Reg
/// $TspTsiReg Tsi8Reg REG
/// @ 0x0F1D4 (P)
/// # 0x0F1D4 Tsi9Reg
/// $TspTsiReg Tsi9Reg REG
/// @ 0x0F208 (P)
/// # 0x0F208 Tsi10Reg
/// $TspTsiReg Tsi10Reg REG
/// @ 0x0F23C (P)
/// # 0x0F23C Tsi11Reg
/// $TspTsiReg Tsi11Reg REG
/// @ 0x0F270 (P)
/// # 0x0F270 Tsi12Reg
/// $TspTsiReg Tsi12Reg REG
/// @ 0x0F2A4 (P)
/// # 0x0F2A4 Tso0Reg
/// $TspTsoReg Tso0Reg REG
/// @ 0x0F2BC (P)
/// # 0x0F2BC Tso1Reg
/// $TspTsoReg Tso1Reg REG
/// @ 0x0F2D4 (P)
/// # 0x0F2D4 SecReg
/// $TspSecReg SecReg REG
/// @ 0x0F30C (P)
/// # 0x0F30C CryReg
/// $TspCryReg CryReg REG
/// @ 0x0F340 (P)
/// # 0x0F340 SwdReg
/// $TspSwdReg SwdReg REG
/// @ 0x0F344 (P)
/// # 0x0F344 IntReg
/// $TspIntReg IntReg REG
/// @ 0x0F378 (W-)
/// # # Stuffing bytes...
/// %% 25664
/// @ 0x10000 (P)
/// # 0x10000 FigoItcm
/// $FigoInst FigoItcm MEM [16384]
/// @ 0x20000 (P)
/// # 0x20000 Figo1Dtcm
/// $FigoData Figo1Dtcm MEM [4096]
/// @ 0x28000 (P)
/// # 0x28000 Figo1Reg
/// $FigoSysBasic Figo1Reg REG
/// ###
/// * 0x2c000 ~ 0x2ffff
/// * Alias of 0xc000 ~ 0xffff
/// ###
/// @ 0x2B000 (W-)
/// # # Stuffing bytes...
/// %% 163840
/// @ 0x30000 (P)
/// # 0x30000 Figo1Itcm
/// $FigoInst Figo1Itcm MEM [16384]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 262144B, bits: 9510b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TspReg
#define h_TspReg (){}
#define RA_TspReg_FigoDtcm 0x0000
///////////////////////////////////////////////////////////
#define RA_TspReg_FigoReg 0x8000
///////////////////////////////////////////////////////////
#define RA_TspReg_SecTbl 0xC000
///////////////////////////////////////////////////////////
#define RA_TspReg_PidTbl 0xE000
///////////////////////////////////////////////////////////
#define RA_TspReg_Tsi0Reg 0xF000
///////////////////////////////////////////////////////////
#define RA_TspReg_Tsi1Reg 0xF034
///////////////////////////////////////////////////////////
#define RA_TspReg_Tsi2Reg 0xF068
///////////////////////////////////////////////////////////
#define RA_TspReg_Tsi3Reg 0xF09C
///////////////////////////////////////////////////////////
#define RA_TspReg_Tsi4Reg 0xF0D0
///////////////////////////////////////////////////////////
#define RA_TspReg_Tsi5Reg 0xF104
///////////////////////////////////////////////////////////
#define RA_TspReg_Tsi6Reg 0xF138
///////////////////////////////////////////////////////////
#define RA_TspReg_Tsi7Reg 0xF16C
///////////////////////////////////////////////////////////
#define RA_TspReg_Tsi8Reg 0xF1A0
///////////////////////////////////////////////////////////
#define RA_TspReg_Tsi9Reg 0xF1D4
///////////////////////////////////////////////////////////
#define RA_TspReg_Tsi10Reg 0xF208
///////////////////////////////////////////////////////////
#define RA_TspReg_Tsi11Reg 0xF23C
///////////////////////////////////////////////////////////
#define RA_TspReg_Tsi12Reg 0xF270
///////////////////////////////////////////////////////////
#define RA_TspReg_Tso0Reg 0xF2A4
///////////////////////////////////////////////////////////
#define RA_TspReg_Tso1Reg 0xF2BC
///////////////////////////////////////////////////////////
#define RA_TspReg_SecReg 0xF2D4
///////////////////////////////////////////////////////////
#define RA_TspReg_CryReg 0xF30C
///////////////////////////////////////////////////////////
#define RA_TspReg_SwdReg 0xF340
///////////////////////////////////////////////////////////
#define RA_TspReg_IntReg 0xF344
///////////////////////////////////////////////////////////
#define RA_TspReg_FigoItcm 0x10000
///////////////////////////////////////////////////////////
#define RA_TspReg_Figo1Dtcm 0x20000
///////////////////////////////////////////////////////////
#define RA_TspReg_Figo1Reg 0x28000
///////////////////////////////////////////////////////////
#define RA_TspReg_Figo1Itcm 0x30000
///////////////////////////////////////////////////////////
typedef struct SIE_TspReg {
///////////////////////////////////////////////////////////
SIE_FigoData ie_FigoDtcm[4096];
///////////////////////////////////////////////////////////
SIE_FigoSysBasic ie_FigoReg;
///////////////////////////////////////////////////////////
UNSG8 RSVDxB000 [4096];
///////////////////////////////////////////////////////////
SIE_TspSecTbl ie_SecTbl[2048];
///////////////////////////////////////////////////////////
SIE_TspPidTbl ie_PidTbl[256];
///////////////////////////////////////////////////////////
UNSG8 RSVDxE800 [2048];
///////////////////////////////////////////////////////////
SIE_TspTsiReg ie_Tsi0Reg;
///////////////////////////////////////////////////////////
SIE_TspTsiReg ie_Tsi1Reg;
///////////////////////////////////////////////////////////
SIE_TspTsiReg ie_Tsi2Reg;
///////////////////////////////////////////////////////////
SIE_TspTsiReg ie_Tsi3Reg;
///////////////////////////////////////////////////////////
SIE_TspTsiReg ie_Tsi4Reg;
///////////////////////////////////////////////////////////
SIE_TspTsiReg ie_Tsi5Reg;
///////////////////////////////////////////////////////////
SIE_TspTsiReg ie_Tsi6Reg;
///////////////////////////////////////////////////////////
SIE_TspTsiReg ie_Tsi7Reg;
///////////////////////////////////////////////////////////
SIE_TspTsiReg ie_Tsi8Reg;
///////////////////////////////////////////////////////////
SIE_TspTsiReg ie_Tsi9Reg;
///////////////////////////////////////////////////////////
SIE_TspTsiReg ie_Tsi10Reg;
///////////////////////////////////////////////////////////
SIE_TspTsiReg ie_Tsi11Reg;
///////////////////////////////////////////////////////////
SIE_TspTsiReg ie_Tsi12Reg;
///////////////////////////////////////////////////////////
SIE_TspTsoReg ie_Tso0Reg;
///////////////////////////////////////////////////////////
SIE_TspTsoReg ie_Tso1Reg;
///////////////////////////////////////////////////////////
SIE_TspSecReg ie_SecReg;
///////////////////////////////////////////////////////////
SIE_TspCryReg ie_CryReg;
///////////////////////////////////////////////////////////
SIE_TspSwdReg ie_SwdReg;
///////////////////////////////////////////////////////////
SIE_TspIntReg ie_IntReg;
///////////////////////////////////////////////////////////
UNSG8 RSVDxF378 [3208];
///////////////////////////////////////////////////////////
SIE_FigoInst ie_FigoItcm[16384];
///////////////////////////////////////////////////////////
SIE_FigoData ie_Figo1Dtcm[4096];
///////////////////////////////////////////////////////////
SIE_FigoSysBasic ie_Figo1Reg;
///////////////////////////////////////////////////////////
UNSG8 RSVDx2B000 [20480];
///////////////////////////////////////////////////////////
SIE_FigoInst ie_Figo1Itcm[16384];
///////////////////////////////////////////////////////////
} SIE_TspReg;
///////////////////////////////////////////////////////////
SIGN32 TspReg_drvrd(SIE_TspReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TspReg_drvwr(SIE_TspReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TspReg_reset(SIE_TspReg *p);
SIGN32 TspReg_cmp (SIE_TspReg *p, SIE_TspReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TspReg_check(p,pie,pfx,hLOG) TspReg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TspReg_print(p, pfx,hLOG) TspReg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TspReg
////////////////////////////////////////////////////////////
#ifdef __cplusplus
}
#endif
#pragma pack()
#endif
//////
/// ENDOFFILE: tsp.h
////////////////////////////////////////////////////////////