blob: 3fc0d83597071180bb324d9d3da5d8b991ac7a64 [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: GaloisLiteDmaMap.h
////////////////////////////////////////////////////////////
#ifndef GaloisLiteDmaMap_h
#define GaloisLiteDmaMap_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 GaloisDmaID (4,4)
/// # # ----------------------------------------------------------
/// : dmaChannel 0x0
/// : hboChannel 0x1
/// ###
/// * Channel type can be either DMA (0) or HBO (1)
/// ###
/// : maskDma 0xF00
/// : vproID 0x0
/// : avioID 0x100
/// ###
/// * Use (id & maskDma)==vproID or avioID to determine
/// * if channel belongs to vPro or Avio
/// ###
/// : maskChannel 0xFF
/// : vproNum 0x13
/// : avioNum 0xD
/// ###
/// * Use (id & maskChannel) to match with the following channel IDs
/// * vPro DMA, 5 Channels
/// ###
/// : vProDma_start 0x0
/// : vProDma_num 0x5
/// : vProDma_end 0x4
/// ###
/// * Total 7 vPro DMA channels; id = 0x000 ~ 0x006
/// ###
/// : m2h_copy 0x0
/// : m2h_copy_type 0x0
/// : m2h_copy_size 0x80
/// ###
/// * Load data from any memory mapped source on XBAR
/// * Type: DMA
/// * Size: 1Kb (128 byte)
/// * Connection: DDR/PCIe-> copy engine
/// * Semaphore: N/A
/// ###
/// : h2m_copy 0x1
/// : h2m_copy_type 0x0
/// : h2m_copy_size 0x80
/// ###
/// * Send data to any memory mapped target on XBAR
/// * Type: DMA
/// * Size: 1Kb (128B)
/// * Connection: copy engine -> DDR/PCIe
/// * Semaphore: N/A
/// ###
/// : m2h_P3dbIn 0x2
/// : m2h_P3dbIn_type 0x0
/// : m2h_P3dbIn_size 0x80
/// ###
/// * Deblocking filter pixel context fetching for VC-1
/// * Type: DMA
/// * Size: 1Kb (128B)
/// * Connection: DDR->PCube
/// * Semaphore: P3db (consumer)
/// ###
/// : h2m_P3dbOut 0x3
/// : m2h_P3dbOut_type 0x0
/// : m2h_P3dbOut_size 0x80
/// ###
/// * Deblocking filter pixel context storing for VC-1
/// * Type: DMA
/// * Size: 1Kb (128B)
/// * Connection: PCube -> DDR
/// * Semaphore: P3db (producer)
/// ###
/// : m2h_vesIn 0x4
/// : m2h_vesIn_type 0x0
/// : m2h_vesIn_size 0x100
/// ###
/// * VES fetching
/// * Type: DMA
/// * Size: 2048b (256B)
/// * Connection: DDR -> VLD
/// * Semaphore: vesFIFO (consumer)
/// * vScope HBO, 7 channels
/// ###
/// : vScopeHbo_start 0x5
/// : vScopeHbo_num 0x7
/// : vScopeHbo_end 0xB
/// ###
/// * Total 7 vScope HBO channels; ID = 0x005 ~ 0x00B
/// ###
/// : vScope_hctxOut 0x5
/// : vScope_hctxOut_type 0x1
/// : vScope_hctxOut_size 0x40
/// ###
/// * vScope HCTX out
/// * Type: HBO
/// * Size: 512b (64B)
/// * Connection: FIGO0->vPro_hctx8
/// ###
/// : vScope_hctxIn 0x6
/// : vScope_hctxIn_type 0x1
/// : vScope_hctxIn_size 0x40
/// ###
/// * vScope HCTX in
/// * Type: HBO
/// * Size: 512b (64B)
/// * Connection: vPro_hctx->FIGO0
/// ###
/// : vScope_ds 0x7
/// : vScope_ds_type 0x1
/// : vScope_ds_size 0x80
/// ###
/// * vScope data streamer command
/// * Type: HBO
/// * Size: 1Kb (128B), or 16 entries
/// * Connection: FIGO0 -> Data Streamer
/// ###
/// : vScope_p3Msg 0x8
/// : vScope_p3Msg_type 0x1
/// : vScope_p3Msg_size 0x400
/// ###
/// * pCube messages
/// * Type: HBO
/// * Size: 8Kb (1KB)
/// * Connection: FIGO0 -> vPro_p3Msg
/// ###
/// : vScope_vcMsg 0x9
/// : vScope_vcMsg_type 0x1
/// : vScope_vcMsg_size 0x400
/// ###
/// * vCache messages
/// * Type: HBO
/// * Size: 8Kb (1KB)
/// * Connection: FIGO0 -> vPro_vcMsg
/// ###
/// : vScope_fop 0xA
/// : vScope_fop_type 0x1
/// : vScope_fop_size 0x400
/// ###
/// * FOP messages
/// * Type: HBO
/// * Size: 8Kb (1KB)
/// * Connection: FIGO1 -> vPro_fop
/// ###
/// : vScope_tc 0xB
/// : vScope_tc_type 0x1
/// : vScope_tc_size 0x800
/// ###
/// * Transform Coefficients
/// * Type: HBO
/// * Size: 16Kb (2KB)
/// * Connection: FIGO1->vPro_tc
/// * vPro HBO, 7 channels
/// ###
/// : vProHbo_start 0xC
/// : vProHbo_num 0x7
/// : vProHbo_end 0x12
/// ###
/// * Total 7 vPro HBO channels, ID = 0x00C ~ 0x012
/// ###
/// : vPro_hctx 0xC
/// : vPro_hctx_type 0x1
/// : vPro_hctx_size 0x4000
/// ###
/// * HCTX
/// * Type: HBO
/// * Size: 128Kb (16KB)
/// * Connection: vPro_hctx<->vScope_hctx
/// ###
/// : vPro_p3Msg 0xD
/// : vPro_p3Msg_type 0x1
/// : vPro_p3Msg_size 0x1000
/// ###
/// * PCube messages
/// * Type: HBO
/// * Size: 32Kb (4KB)
/// * Connection: vScope_p3Msg->PCube
/// ###
/// : vPro_vcMsg 0xE
/// : vPro_vcMsg_type 0x1
/// : vPro_vcMsg_size 0x1000
/// ###
/// * vCache messages
/// * Type: HBO
/// * Size: 32Kb (4KB)
/// * Connection: vScope_vcMsg->vCache
/// ###
/// : vPro_fop 0xF
/// : vPro_fop_type 0x1
/// : vPro_fop_size 0x1000
/// ###
/// * FOP
/// * Type: HBO
/// * Size: 32Kb (4KB)
/// * Connection: vScope_fop->PCube
/// ###
/// : vPro_tc 0x10
/// : vPro_tc_type 0x1
/// : vPro_tc_size 0x4000
/// ###
/// * Transform coefficients
/// * Type: HBO
/// * Size: 128Kb (16KB)
/// * Connection: vScope_tc->PCube
/// ###
/// : vPro_db 0x11
/// : vPro_db_type 0x1
/// : vPro_db_size 0x8000
/// ###
/// * H.264 Deblocking context
/// * Type: HBO
/// * Size: 256Kb (32KB)
/// * Connection: PCube<->PCube
/// ###
/// : vPro_ip 0x12
/// : vPro_ip_type 0x1
/// : vPro_ip_size 0x2000
/// ###
/// * H.264 Intra prediction context
/// * Type: HBO
/// * Size: 64Kb (8KB)
/// * Connection: PCube<->PCube
/// * AVIO DMA, 13 channels
/// ###
/// : avioDma_start 0x100
/// : avioDma_num 0xD
/// : avioDma_end 0x10C
/// ###
/// * Total 13 AVIO DMA channels; ID = 0x00 ~ 0x0C (after mask)
/// ###
/// : m2h_i2sOutMain_0 0x100
/// : m2h_i2sOutMain_0_type 0x0
/// : m2h_i2sOutMain_0_size 0x200
/// ###
/// * For I2S main audio output (7.1)
/// * Type: DMA
/// * Size: 4Kb (512B)
/// * Connection: DDR -> i2s.main[0]
/// * Semaphore: i2sOutMain_0 (consumer)
/// ###
/// : m2h_i2sOutMain_1 0x101
/// : m2h_i2sOutMain_1_type 0x0
/// : m2h_i2sOutMain_1_size 0x200
/// ###
/// * For I2S main audio output (7.1)
/// * Type: DMA
/// * Size: 4Kb (512B)
/// * Connection: DDR -> i2s.main[1]
/// * Semaphore: i2sOutMain_1 (consumer)
/// ###
/// : m2h_i2sOutMain_2 0x102
/// : m2h_i2sOutMain_2_type 0x0
/// : m2h_i2sOutMain_2_size 0x200
/// ###
/// * For I2S main audio output (7.1)
/// * Type: DMA
/// * Size: 4Kb (512B)
/// * Connection: DDR -> i2s.main[2]
/// * Semaphore: i2sOutMain_2 (consumer)
/// ###
/// : m2h_i2sOutMain_3 0x103
/// : m2h_i2sOutMain_3_type 0x0
/// : m2h_i2sOutMain_3_size 0x200
/// ###
/// * For I2S main audio output (7.1)
/// * Type: DMA
/// * Size: 4Kb (512B)
/// * Connection: DDR -> i2s.main[3]
/// * Semaphore: i2sOutMain_3 (consumer)
/// ###
/// : m2h_i2sOut2nd 0x104
/// : m2h_i2sOut2nd_type 0x0
/// : m2h_i2sOut2nd_size 0x200
/// ###
/// * For I2S 2nd audio output (stereo)
/// * Type: DMA
/// * Size: 4Kb (512B)
/// * Connection: DDR -> i2s.2nd
/// * Semaphore: i2sOut2nd (consumer)
/// ###
/// : m2h_SPDIF 0x105
/// : m2h_SPDIF_type 0x0
/// : m2h_SPDIF_size 0x100
/// ###
/// * For SPDIF audio output
/// * Type: DMA
/// * Size: 2Kb (256B)
/// * Connection: DDR -> SPDIF
/// * Semaphore: SPDIF (consumer)
/// ###
/// : h2m_i2sIn 0x106
/// : h2m_i2sIn_type 0x0
/// : h2m_i2sIn_size 0x100
/// ###
/// * For I2S audio input (stereo)
/// * Type: DMA
/// * Size: 2Kb (256B)
/// * Connection: i2s.in -> DDR
/// * Semaphore: i2sIn (producer)
/// ###
/// : h2m_tsi 0x107
/// : h2m_tsi_type 0x0
/// : h2m_tsi_size 0x600
/// ###
/// * For TSI raw input
/// * Type: DMA
/// * Size: 12Kb (1536B)
/// * Connection: TSI -> DDR
/// * Semaphore: tsi (producer)
/// ###
/// : m2h_vmain 0x108
/// : m2h_vmain_type 0x0
/// : m2h_vmain_size 0x800
/// ###
/// * For main video (YUV422) output
/// * Type: DMA
/// * Size: 16Kb (2KB)
/// * Connection: DDR -> vop.main
/// * Semaphore: N/A
/// ###
/// : m2h_v2nd 0x109
/// : m2h_v2nd_type 0x0
/// : m2h_v2nd_size 0x800
/// ###
/// * For 2nd video (YUV422) output
/// * Type: DMA
/// * Size: 16Kb (2KB)
/// * Connection: DDR -> vop.2nd
/// * Semaphore: N/A
/// ###
/// : m2h_subtitle 0x10A
/// : m2h_subtitle_type 0x0
/// : m2h_subtitle_size 0x600
/// ###
/// * For sub-title (RGB graphic) output
/// * Type: DMA
/// * Size: 12Kb (1536B)
/// * Connection: DDR -> vop.osd.gfx0
/// * Semaphore: N/A
/// ###
/// : m2h_OSD 0x10B
/// : m2h_OSD_type 0x0
/// : m2h_OSD_size 0x600
/// ###
/// * For application OSD (RGB graphic) output
/// * Type: DMA
/// * Size: 12Kb (1536B)
/// * Connection: DDR -> vop.osd.gfx1
/// * Semaphore: N/A
/// ###
/// : m2h_cursor 0x10C
/// : m2h_cursor_type 0x0
/// : m2h_cursor_size 0x200
/// ###
/// * For cursor (RGB graphic) output
/// * Type: DMA
/// * Size: 4Kb (assuming no wider than 256) (512B)
/// * Connection: DDR -> vop.osd.cursor
/// * Semaphore: N/A
/// ###
/// @ 0x00000 dummy (P)
/// %unsigned 1 dummy
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 1b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_GaloisDmaID
#define h_GaloisDmaID (){}
#define GaloisDmaID_dmaChannel 0x0
#define GaloisDmaID_hboChannel 0x1
#define GaloisDmaID_maskDma 0xF00
#define GaloisDmaID_vproID 0x0
#define GaloisDmaID_avioID 0x100
#define GaloisDmaID_maskChannel 0xFF
#define GaloisDmaID_vproNum 0x13
#define GaloisDmaID_avioNum 0xD
#define GaloisDmaID_vProDma_start 0x0
#define GaloisDmaID_vProDma_num 0x5
#define GaloisDmaID_vProDma_end 0x4
#define GaloisDmaID_m2h_copy 0x0
#define GaloisDmaID_m2h_copy_type 0x0
#define GaloisDmaID_m2h_copy_size 0x80
#define GaloisDmaID_h2m_copy 0x1
#define GaloisDmaID_h2m_copy_type 0x0
#define GaloisDmaID_h2m_copy_size 0x80
#define GaloisDmaID_m2h_P3dbIn 0x2
#define GaloisDmaID_m2h_P3dbIn_type 0x0
#define GaloisDmaID_m2h_P3dbIn_size 0x80
#define GaloisDmaID_h2m_P3dbOut 0x3
#define GaloisDmaID_m2h_P3dbOut_type 0x0
#define GaloisDmaID_m2h_P3dbOut_size 0x80
#define GaloisDmaID_m2h_vesIn 0x4
#define GaloisDmaID_m2h_vesIn_type 0x0
#define GaloisDmaID_m2h_vesIn_size 0x100
#define GaloisDmaID_vScopeHbo_start 0x5
#define GaloisDmaID_vScopeHbo_num 0x7
#define GaloisDmaID_vScopeHbo_end 0xB
#define GaloisDmaID_vScope_hctxOut 0x5
#define GaloisDmaID_vScope_hctxOut_type 0x1
#define GaloisDmaID_vScope_hctxOut_size 0x40
#define GaloisDmaID_vScope_hctxIn 0x6
#define GaloisDmaID_vScope_hctxIn_type 0x1
#define GaloisDmaID_vScope_hctxIn_size 0x40
#define GaloisDmaID_vScope_ds 0x7
#define GaloisDmaID_vScope_ds_type 0x1
#define GaloisDmaID_vScope_ds_size 0x80
#define GaloisDmaID_vScope_p3Msg 0x8
#define GaloisDmaID_vScope_p3Msg_type 0x1
#define GaloisDmaID_vScope_p3Msg_size 0x400
#define GaloisDmaID_vScope_vcMsg 0x9
#define GaloisDmaID_vScope_vcMsg_type 0x1
#define GaloisDmaID_vScope_vcMsg_size 0x400
#define GaloisDmaID_vScope_fop 0xA
#define GaloisDmaID_vScope_fop_type 0x1
#define GaloisDmaID_vScope_fop_size 0x400
#define GaloisDmaID_vScope_tc 0xB
#define GaloisDmaID_vScope_tc_type 0x1
#define GaloisDmaID_vScope_tc_size 0x800
#define GaloisDmaID_vProHbo_start 0xC
#define GaloisDmaID_vProHbo_num 0x7
#define GaloisDmaID_vProHbo_end 0x12
#define GaloisDmaID_vPro_hctx 0xC
#define GaloisDmaID_vPro_hctx_type 0x1
#define GaloisDmaID_vPro_hctx_size 0x4000
#define GaloisDmaID_vPro_p3Msg 0xD
#define GaloisDmaID_vPro_p3Msg_type 0x1
#define GaloisDmaID_vPro_p3Msg_size 0x1000
#define GaloisDmaID_vPro_vcMsg 0xE
#define GaloisDmaID_vPro_vcMsg_type 0x1
#define GaloisDmaID_vPro_vcMsg_size 0x1000
#define GaloisDmaID_vPro_fop 0xF
#define GaloisDmaID_vPro_fop_type 0x1
#define GaloisDmaID_vPro_fop_size 0x1000
#define GaloisDmaID_vPro_tc 0x10
#define GaloisDmaID_vPro_tc_type 0x1
#define GaloisDmaID_vPro_tc_size 0x4000
#define GaloisDmaID_vPro_db 0x11
#define GaloisDmaID_vPro_db_type 0x1
#define GaloisDmaID_vPro_db_size 0x8000
#define GaloisDmaID_vPro_ip 0x12
#define GaloisDmaID_vPro_ip_type 0x1
#define GaloisDmaID_vPro_ip_size 0x2000
#define GaloisDmaID_avioDma_start 0x100
#define GaloisDmaID_avioDma_num 0xD
#define GaloisDmaID_avioDma_end 0x10C
#define GaloisDmaID_m2h_i2sOutMain_0 0x100
#define GaloisDmaID_m2h_i2sOutMain_0_type 0x0
#define GaloisDmaID_m2h_i2sOutMain_0_size 0x200
#define GaloisDmaID_m2h_i2sOutMain_1 0x101
#define GaloisDmaID_m2h_i2sOutMain_1_type 0x0
#define GaloisDmaID_m2h_i2sOutMain_1_size 0x200
#define GaloisDmaID_m2h_i2sOutMain_2 0x102
#define GaloisDmaID_m2h_i2sOutMain_2_type 0x0
#define GaloisDmaID_m2h_i2sOutMain_2_size 0x200
#define GaloisDmaID_m2h_i2sOutMain_3 0x103
#define GaloisDmaID_m2h_i2sOutMain_3_type 0x0
#define GaloisDmaID_m2h_i2sOutMain_3_size 0x200
#define GaloisDmaID_m2h_i2sOut2nd 0x104
#define GaloisDmaID_m2h_i2sOut2nd_type 0x0
#define GaloisDmaID_m2h_i2sOut2nd_size 0x200
#define GaloisDmaID_m2h_SPDIF 0x105
#define GaloisDmaID_m2h_SPDIF_type 0x0
#define GaloisDmaID_m2h_SPDIF_size 0x100
#define GaloisDmaID_h2m_i2sIn 0x106
#define GaloisDmaID_h2m_i2sIn_type 0x0
#define GaloisDmaID_h2m_i2sIn_size 0x100
#define GaloisDmaID_h2m_tsi 0x107
#define GaloisDmaID_h2m_tsi_type 0x0
#define GaloisDmaID_h2m_tsi_size 0x600
#define GaloisDmaID_m2h_vmain 0x108
#define GaloisDmaID_m2h_vmain_type 0x0
#define GaloisDmaID_m2h_vmain_size 0x800
#define GaloisDmaID_m2h_v2nd 0x109
#define GaloisDmaID_m2h_v2nd_type 0x0
#define GaloisDmaID_m2h_v2nd_size 0x800
#define GaloisDmaID_m2h_subtitle 0x10A
#define GaloisDmaID_m2h_subtitle_type 0x0
#define GaloisDmaID_m2h_subtitle_size 0x600
#define GaloisDmaID_m2h_OSD 0x10B
#define GaloisDmaID_m2h_OSD_type 0x0
#define GaloisDmaID_m2h_OSD_size 0x600
#define GaloisDmaID_m2h_cursor 0x10C
#define GaloisDmaID_m2h_cursor_type 0x0
#define GaloisDmaID_m2h_cursor_size 0x200
///////////////////////////////////////////////////////////
#define RA_GaloisDmaID_dummy 0x0000
#define BA_GaloisDmaID_dummy_dummy 0x0000
#define B16GaloisDmaID_dummy_dummy 0x0000
#define LSb32GaloisDmaID_dummy_dummy 0
#define LSb16GaloisDmaID_dummy_dummy 0
#define bGaloisDmaID_dummy_dummy 1
#define MSK32GaloisDmaID_dummy_dummy 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_GaloisDmaID {
///////////////////////////////////////////////////////////
#define GET32GaloisDmaID_dummy_dummy(r32) _BFGET_(r32, 0, 0)
#define SET32GaloisDmaID_dummy_dummy(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16GaloisDmaID_dummy_dummy(r16) _BFGET_(r16, 0, 0)
#define SET16GaloisDmaID_dummy_dummy(r16,v) _BFSET_(r16, 0, 0,v)
#define w32GaloisDmaID_dummy {\
UNSG32 udummy_dummy : 1;\
UNSG32 RSVDx0_b1 : 31;\
}
union { UNSG32 u32GaloisDmaID_dummy;
struct w32GaloisDmaID_dummy;
};
///////////////////////////////////////////////////////////
} SIE_GaloisDmaID;
typedef union T32GaloisDmaID_dummy
{ UNSG32 u32;
struct w32GaloisDmaID_dummy;
} T32GaloisDmaID_dummy;
///////////////////////////////////////////////////////////
typedef union TGaloisDmaID_dummy
{ UNSG32 u32[1];
struct {
struct w32GaloisDmaID_dummy;
};
} TGaloisDmaID_dummy;
///////////////////////////////////////////////////////////
SIGN32 GaloisDmaID_drvrd(SIE_GaloisDmaID *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 GaloisDmaID_drvwr(SIE_GaloisDmaID *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void GaloisDmaID_reset(SIE_GaloisDmaID *p);
SIGN32 GaloisDmaID_cmp (SIE_GaloisDmaID *p, SIE_GaloisDmaID *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define GaloisDmaID_check(p,pie,pfx,hLOG) GaloisDmaID_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define GaloisDmaID_print(p, pfx,hLOG) GaloisDmaID_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: GaloisDmaID
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE GaloisSemID (4,4)
/// # # ----------------------------------------------------------
/// : maskSem 0xF00
/// : vproID 0x0
/// : avioID 0x100
/// : maskChannel 0xFF
/// : vproNum 0x18
/// : avioNum 0x18
/// ###
/// * 'vpro-semaphore' channels
/// ###
/// : cpu1_cpu2 0x0
/// ###
/// * Producer: CPU1; consumer: CPU2
/// ###
/// : cpu2_cpu1 0x1
/// ###
/// * Producer: CPU2; consumer: CPU1
/// ###
/// : vScope 0x2
/// ###
/// * Producer & consumer: vScope FIGOs
/// ###
/// : cpu1 0x3
/// ###
/// * Producer & consumer: CPU1
/// ###
/// : P3db 0x4
/// ###
/// * Producer: dma.m2h_P3dbOut; consumer: P3dbIn
/// ###
/// : vesFifo 0x5
/// ###
/// * Producer: CPU1; consumer: dma.m2h_vesIn
/// ###
/// : P3Dbg 0x6
/// ###
/// * Producer & consumer: PCube (debugging port)
/// ###
/// : RSVD07 0x7
/// : RSVD08 0x8
/// : RSVD09 0x9
/// : RSVD0A 0xA
/// : RSVD0B 0xB
/// : RSVD0C 0xC
/// : RSVD0D 0xD
/// : RSVD0E 0xE
/// ###
/// * Reserved for either F/W or PCube to use
/// ###
/// : dspWb 0xF
/// ###
/// * Producer & Consumer: PCube -> PCube
/// ###
/// : dbIn 0x10
/// ###
/// * Producer & Consumer: PCube -> PCube
/// ###
/// : dbWb 0x11
/// ###
/// * Producer & Consumer: PCube -> PCube
/// ###
/// : ipIn 0x12
/// ###
/// * Producer & Consumer: PCube -> PCube
/// ###
/// : ipWb 0x13
/// ###
/// * Producer & Consumer: PCube -> PCube
/// ###
/// : tcIn 0x14
/// ###
/// * Producer & Consumer: PCube -> PCube
/// ###
/// : fopLd 0x15
/// ###
/// * Producer & Consumer: PCube -> PCube
/// ###
/// : refIn 0x16
/// ###
/// * Producer & Consumer: PCube -> PCube
/// ###
/// : P3EOF 0x17
/// ###
/// * Producer & Consumer: PCube -> CPU2
/// * 'avio-semaphore'
/// ###
/// : cpu0_cpu1 0x100
/// ###
/// * Producer & Consumer: CPU0 -> CPU1
/// ###
/// : cpu1_cpu0 0x101
/// ###
/// * Producer & Consumer: CPU1 -> CPU0
/// * RSVD02
/// * 0x102
/// * RSVD03
/// * 0x103
/// * RSVD04
/// * 0x104
/// * RSVD05
/// * 0x105
/// * RSVD06
/// * 0x106
/// * RSVD07
/// * 0x107
/// * RSVD08
/// * 0x108
/// * RSVD09
/// * 0x109
/// * RSVD0A
/// * 0x10A
/// * RSVD0B
/// * 0x10B
/// * RSVD0C
/// * 0x10C
/// * RSVD0D
/// * 0x10D
/// * RSVD0E
/// * 0x10E
/// * RSVD0F
/// * 0x10F
/// * Reserved for F/W to use
/// ###
/// : i2sOutMain_0 0x110
/// ###
/// * Producer & Consumer: CPU1 -> dma.i2sOutMain_0
/// ###
/// : i2sOutMain_1 0x111
/// ###
/// * Producer & Consumer: CPU1 -> dma.i2sOutMain_1
/// ###
/// : i2sOutMain_2 0x112
/// ###
/// * Producer & Consumer: CPU1 -> dma.i2sOutMain_2
/// ###
/// : i2sOutMain_3 0x113
/// ###
/// * Producer & Consumer: CPU1 -> dma.i2sOutMain_3
/// ###
/// : i2sOut2nd 0x114
/// ###
/// * Producer & Consumer: CPU1 -> dma.i2sOut2nd
/// ###
/// : SPDIF 0x115
/// ###
/// * Producer & Consumer: CPU1 -> dma.SPDIF
/// ###
/// : i2sIn 0x116
/// ###
/// * Producer & Consumer: dma.i2sIn -> CPU1
/// ###
/// : tsi 0x117
/// ###
/// * Producer & Consumer: dma.tsi -> CPU1
/// ###
/// @ 0x00000 vpro (P)
/// %unsigned 16 SemaphoreNum 0x18
/// %% 16 # Stuffing bits...
/// @ 0x00004 avio (P)
/// %unsigned 16 SemaphoreNum 0x18
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_GaloisSemID
#define h_GaloisSemID (){}
#define GaloisSemID_maskSem 0xF00
#define GaloisSemID_vproID 0x0
#define GaloisSemID_avioID 0x100
#define GaloisSemID_maskChannel 0xFF
#define GaloisSemID_vproNum 0x18
#define GaloisSemID_avioNum 0x18
#define GaloisSemID_cpu1_cpu2 0x0
#define GaloisSemID_cpu2_cpu1 0x1
#define GaloisSemID_vScope 0x2
#define GaloisSemID_cpu1 0x3
#define GaloisSemID_P3db 0x4
#define GaloisSemID_vesFifo 0x5
#define GaloisSemID_P3Dbg 0x6
#define GaloisSemID_RSVD07 0x7
#define GaloisSemID_RSVD08 0x8
#define GaloisSemID_RSVD09 0x9
#define GaloisSemID_RSVD0A 0xA
#define GaloisSemID_RSVD0B 0xB
#define GaloisSemID_RSVD0C 0xC
#define GaloisSemID_RSVD0D 0xD
#define GaloisSemID_RSVD0E 0xE
#define GaloisSemID_dspWb 0xF
#define GaloisSemID_dbIn 0x10
#define GaloisSemID_dbWb 0x11
#define GaloisSemID_ipIn 0x12
#define GaloisSemID_ipWb 0x13
#define GaloisSemID_tcIn 0x14
#define GaloisSemID_fopLd 0x15
#define GaloisSemID_refIn 0x16
#define GaloisSemID_P3EOF 0x17
#define GaloisSemID_cpu0_cpu1 0x100
#define GaloisSemID_cpu1_cpu0 0x101
#define GaloisSemID_i2sOutMain_0 0x110
#define GaloisSemID_i2sOutMain_1 0x111
#define GaloisSemID_i2sOutMain_2 0x112
#define GaloisSemID_i2sOutMain_3 0x113
#define GaloisSemID_i2sOut2nd 0x114
#define GaloisSemID_SPDIF 0x115
#define GaloisSemID_i2sIn 0x116
#define GaloisSemID_tsi 0x117
///////////////////////////////////////////////////////////
#define RA_GaloisSemID_vpro 0x0000
#define BA_GaloisSemID_vpro_SemaphoreNum 0x0000
#define B16GaloisSemID_vpro_SemaphoreNum 0x0000
#define LSb32GaloisSemID_vpro_SemaphoreNum 0
#define LSb16GaloisSemID_vpro_SemaphoreNum 0
#define bGaloisSemID_vpro_SemaphoreNum 16
#define MSK32GaloisSemID_vpro_SemaphoreNum 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_GaloisSemID_avio 0x0004
#define BA_GaloisSemID_avio_SemaphoreNum 0x0004
#define B16GaloisSemID_avio_SemaphoreNum 0x0004
#define LSb32GaloisSemID_avio_SemaphoreNum 0
#define LSb16GaloisSemID_avio_SemaphoreNum 0
#define bGaloisSemID_avio_SemaphoreNum 16
#define MSK32GaloisSemID_avio_SemaphoreNum 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_GaloisSemID {
///////////////////////////////////////////////////////////
#define GET32GaloisSemID_vpro_SemaphoreNum(r32) _BFGET_(r32,15, 0)
#define SET32GaloisSemID_vpro_SemaphoreNum(r32,v) _BFSET_(r32,15, 0,v)
#define GET16GaloisSemID_vpro_SemaphoreNum(r16) _BFGET_(r16,15, 0)
#define SET16GaloisSemID_vpro_SemaphoreNum(r16,v) _BFSET_(r16,15, 0,v)
#define w32GaloisSemID_vpro {\
UNSG32 uvpro_SemaphoreNum : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32GaloisSemID_vpro;
struct w32GaloisSemID_vpro;
};
///////////////////////////////////////////////////////////
#define GET32GaloisSemID_avio_SemaphoreNum(r32) _BFGET_(r32,15, 0)
#define SET32GaloisSemID_avio_SemaphoreNum(r32,v) _BFSET_(r32,15, 0,v)
#define GET16GaloisSemID_avio_SemaphoreNum(r16) _BFGET_(r16,15, 0)
#define SET16GaloisSemID_avio_SemaphoreNum(r16,v) _BFSET_(r16,15, 0,v)
#define w32GaloisSemID_avio {\
UNSG32 uavio_SemaphoreNum : 16;\
UNSG32 RSVDx4_b16 : 16;\
}
union { UNSG32 u32GaloisSemID_avio;
struct w32GaloisSemID_avio;
};
///////////////////////////////////////////////////////////
} SIE_GaloisSemID;
typedef union T32GaloisSemID_vpro
{ UNSG32 u32;
struct w32GaloisSemID_vpro;
} T32GaloisSemID_vpro;
typedef union T32GaloisSemID_avio
{ UNSG32 u32;
struct w32GaloisSemID_avio;
} T32GaloisSemID_avio;
///////////////////////////////////////////////////////////
typedef union TGaloisSemID_vpro
{ UNSG32 u32[1];
struct {
struct w32GaloisSemID_vpro;
};
} TGaloisSemID_vpro;
typedef union TGaloisSemID_avio
{ UNSG32 u32[1];
struct {
struct w32GaloisSemID_avio;
};
} TGaloisSemID_avio;
///////////////////////////////////////////////////////////
SIGN32 GaloisSemID_drvrd(SIE_GaloisSemID *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 GaloisSemID_drvwr(SIE_GaloisSemID *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void GaloisSemID_reset(SIE_GaloisSemID *p);
SIGN32 GaloisSemID_cmp (SIE_GaloisSemID *p, SIE_GaloisSemID *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define GaloisSemID_check(p,pie,pfx,hLOG) GaloisSemID_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define GaloisSemID_print(p, pfx,hLOG) GaloisSemID_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: GaloisSemID
////////////////////////////////////////////////////////////
#ifdef __cplusplus
}
#endif
#pragma pack()
#endif
//////
/// ENDOFFILE: GaloisLiteDmaMap.h
////////////////////////////////////////////////////////////