Go to the documentation of this file.00001
00043 #if !defined (LINKCFGDEFS_H)
00044 #define LINKCFGDEFS_H
00045
00046
00047
00048 #include <dsplink.h>
00049 #include <linkcfgdefs_os.h>
00050
00051
00052 #if defined (__cplusplus)
00053 EXTERN "C" {
00054 #endif
00055
00056
00077 typedef struct LINKCFG_Gpp_tag {
00078 Char8 name [DSP_MAX_STRLEN] ;
00079 Uint32 maxMsgqs ;
00080 Uint32 maxChnlQueue ;
00081 Uint32 poolTableId ;
00082 Uint32 numPools ;
00083 LINKCFG_GppOs * gppOsObject ;
00084 } LINKCFG_Gpp ;
00085
00086
00142 typedef enum {
00143 DSP_BootMode_Boot_NoPwr = 0x0,
00144 DSP_BootMode_Boot_Pwr,
00145 DSP_BootMode_NoLoad_NoPwr,
00146 DSP_BootMode_NoLoad_Pwr,
00147 DSP_BootMode_NoBoot
00148 } DSP_BootMode ;
00149
00163 typedef enum {
00164 Endianism_Default = 1u,
00165 Endianism_Big = 2u,
00166 Endianism_Little = 3u
00167 } Endianism ;
00168
00189 typedef enum {
00190 DspArch_Unknown = 0u,
00191 DspArch_C55x = 1u,
00192 DspArch_C64x = 2u,
00193 DspArch_C64x_Bios5 = 3u,
00194 DspArch_C64x_Bios6 = 4u
00195 } DspArch ;
00196
00252 typedef struct LINKCFG_Dsp_tag {
00253 Char8 name [DSP_MAX_STRLEN] ;
00254 Uint32 dspArch ;
00255 Char8 loaderName [DSP_MAX_STRLEN] ;
00256 Bool autoStart ;
00257 Char8 execName [DSP_MAX_STRLEN] ;
00258 DSP_BootMode doDspCtrl ;
00259 Uint32 resumeAddr ;
00260 Uint32 resetVector ;
00261 Uint32 resetCodeSize ;
00262 Uint32 maduSize ;
00263 Uint32 cpuFreq ;
00264 Uint32 endian ;
00265 Uint32 wordSwap ;
00266 Uint32 memTableId ;
00267 Uint32 memEntries ;
00268 Uint32 linkDrvId ;
00269 Uint32 arg1 ;
00270 Uint32 arg2 ;
00271 Uint32 arg3 ;
00272 Uint32 arg4 ;
00273 Uint32 arg5 ;
00274 } LINKCFG_Dsp ;
00275
00276
00304 typedef struct LINKCFG_MemEntry_tag {
00305 Uint32 entry ;
00306 Char8 name [DSP_MAX_STRLEN] ;
00307 Uint32 physAddr ;
00308 Uint32 dspVirtAddr ;
00309 Uint32 gppVirtAddr ;
00310 Uint32 size ;
00311 Bool shared ;
00312 Bool syncd ;
00313 } LINKCFG_MemEntry ;
00314
00315
00355 typedef struct CFG_LinkDrv_tag {
00356 Char8 name [DSP_MAX_STRLEN] ;
00357 Uint32 hshkPollCount ;
00358 Uint32 memEntry ;
00359 Uint32 ipsTableId ;
00360 Uint32 numIpsEntries ;
00361 Uint32 poolTableId ;
00362 Uint32 numPools ;
00363 Uint32 dataTableId ;
00364 Uint32 numDataDrivers ;
00365 Uint32 mqtId ;
00366 Uint32 ringIoTableId ;
00367 Uint32 mplistTableId ;
00368 Uint32 mpcsTableId ;
00369 } LINKCFG_LinkDrv ;
00370
00371
00398 typedef struct LINKCFG_Ips_tag {
00399 Char8 name [DSP_MAX_STRLEN] ;
00400 Uint32 numIpsEvents ;
00401 Uint32 memEntry ;
00402 Uint32 gppIntId ;
00403 Uint32 dspIntId ;
00404 Uint32 dspIntVectorId ;
00405 Uint32 arg1 ;
00406 Uint32 arg2 ;
00407 } LINKCFG_Ips ;
00408
00409
00439 typedef struct LINKCFG_Pool_tag {
00440 Char8 name [DSP_MAX_STRLEN] ;
00441 Uint32 memEntry ;
00442 Uint32 poolSize ;
00443 Uint32 ipsId ;
00444 Uint32 ipsEventNo ;
00445 Uint32 poolMemEntry ;
00446 Uint32 arg1 ;
00447 Uint32 arg2 ;
00448 } LINKCFG_Pool ;
00449
00450
00490 typedef struct LINKCFG_DataDrv_tag {
00491 Char8 name [DSP_MAX_STRLEN] ;
00492 Uint32 baseChnlId ;
00493 Uint32 numChannels ;
00494 Uint32 maxBufSize ;
00495 Uint32 memEntry ;
00496 Uint32 poolId ;
00497 Uint32 queuePerChnl ;
00498 Uint32 ipsId ;
00499 Uint32 ipsEventNo ;
00500 Uint32 arg1 ;
00501 Uint32 arg2 ;
00502 } LINKCFG_DataDrv ;
00503
00504
00534 typedef struct LINKCFG_Mqt_tag {
00535 Char8 name [DSP_MAX_STRLEN] ;
00536 Uint32 memEntry ;
00537 Uint32 maxMsgSize ;
00538 Uint32 ipsId ;
00539 Uint32 ipsEventNo ;
00540 Uint32 arg1 ;
00541 Uint32 arg2 ;
00542 } LINKCFG_Mqt ;
00543
00544
00563 typedef struct LINKCFG_RingIo_tag {
00564 Char8 name [DSP_MAX_STRLEN] ;
00565 Uint32 memEntry ;
00566 Uint32 maxEntries ;
00567 Uint32 ipsId ;
00568 Uint32 ipsEventNo ;
00569 } LINKCFG_RingIo ;
00570
00571
00592 typedef struct LINKCFG_MpList_tag {
00593 Char8 name [DSP_MAX_STRLEN] ;
00594 Uint32 memEntry ;
00595 Uint32 maxEntries ;
00596 Uint32 ipsId ;
00597 Uint32 ipsEventNo ;
00598 } LINKCFG_MpList ;
00599
00600
00621 typedef struct LINKCFG_Mpcs_tag {
00622 Char8 name [DSP_MAX_STRLEN] ;
00623 Uint32 memEntry ;
00624 Uint32 maxEntries ;
00625 Uint32 ipsId ;
00626 Uint32 ipsEventNo ;
00627 } LINKCFG_Mpcs ;
00628
00629
00694 typedef struct LINKCFG_Log_tag {
00695 Bool gdMsgqPut ;
00696 Bool gdMsgqSendInt ;
00697 Bool gdMsgqIsr ;
00698 Bool gdMsgqQue ;
00699
00700 Bool dgMsgqPut ;
00701 Bool dgMsgqSendInt ;
00702 Bool dgMsgqIsr ;
00703 Bool dgMsgqQue ;
00704
00705 Bool gdChnlIssueStart ;
00706 Bool gdChnlIssueQue ;
00707 Bool gdChnlIssueCompl ;
00708
00709 Bool gdChnlXferStart ;
00710 Bool gdChnlXferProcess ;
00711 Bool gdChnlXferCompl ;
00712
00713 Bool gdChnlReclStart ;
00714 Bool gdChnlReclPend ;
00715 Bool gdChnlReclPost ;
00716 Bool gdChnlReclCompl ;
00717
00718 Bool dgChnlIssueQue ;
00719
00720 Bool dgChnlXferStart ;
00721 Bool dgChnlXferProcess ;
00722 Bool dgChnlXferCompl ;
00723
00724 Bool dgChnlReclPend ;
00725 Bool dgChnlReclPost ;
00726
00727 Uint32 msgIdRangeStart ;
00728 Uint32 msgIdRangeEnd ;
00729 } LINKCFG_Log ;
00730
00731
00779 typedef struct LINKCFG_DspConfig_tag {
00780 LINKCFG_Dsp * dspObject ;
00781 Uint32 numDrvs ;
00782 LINKCFG_LinkDrv * linkDrvObjects ;
00783 Uint32 numMemTables ;
00784 LINKCFG_MemEntry ** memTables ;
00785
00786 Uint32 numIpsTables ;
00787 LINKCFG_Ips ** ipsTables ;
00788
00789 Uint32 numPoolTables ;
00790 LINKCFG_Pool ** poolTables ;
00791
00792 Uint32 numDataTables ;
00793 LINKCFG_DataDrv ** dataTables ;
00794
00795 Uint32 numMqts ;
00796 LINKCFG_Mqt * mqtObjects ;
00797
00798 Uint32 numRingIo ;
00799 LINKCFG_RingIo * ringIoObjects ;
00800
00801 Uint32 numMpList ;
00802 LINKCFG_MpList * mplistObjects ;
00803
00804 Uint32 numMpcs ;
00805 LINKCFG_Mpcs * mpcsObjects ;
00806
00807 LINKCFG_Log * logObject ;
00808 } LINKCFG_DspConfig ;
00809
00810
00822 typedef struct LINKCFG_Object_tag {
00823 LINKCFG_Gpp * gppObject ;
00824 LINKCFG_DspConfig * dspConfigs [MAX_DSPS] ;
00825 } LINKCFG_Object ;
00826
00827
00828 #if defined (__cplusplus)
00829 }
00830 #endif
00831
00832
00833 #endif