| /******************************************************************************** |
| * 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: DataStreamer.h |
| //////////////////////////////////////////////////////////// |
| #ifndef DataStreamer_h |
| #define DataStreamer_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 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 |
| //////////////////////////////////////////////////////////// |
| |
| |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #pragma pack() |
| |
| #endif |
| ////// |
| /// ENDOFFILE: DataStreamer.h |
| //////////////////////////////////////////////////////////// |
| |