Framework Components Application Programming Interface (API)  fc-t15
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ires_edma3Chan.h
Go to the documentation of this file.
1 /*
2  * Copyright 2013 by Texas Instruments Incorporated.
3  *
4  */
5 
6 /*
7  * Copyright (c) 2012, Texas Instruments Incorporated
8  * All rights reserved.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  *
14  * * Redistributions of source code must retain the above copyright
15  * notice, this list of conditions and the following disclaimer.
16  *
17  * * Redistributions in binary form must reproduce the above copyright
18  * notice, this list of conditions and the following disclaimer in the
19  * documentation and/or other materials provided with the distribution.
20  *
21  * * Neither the name of Texas Instruments Incorporated nor the names of
22  * its contributors may be used to endorse or promote products derived
23  * from this software without specific prior written permission.
24  *
25  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
27  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
29  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
32  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
33  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
34  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
35  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36  *
37  */
53 #ifndef ti_sdo_fc_ires_edma3chan_IRES_EDMA3CHAN_
54 #define ti_sdo_fc_ires_edma3chan_IRES_EDMA3CHAN_
55 
58 
59 #ifdef __cplusplus
60 extern "C" {
61 #endif
62 
63 #include <ti/xdais/xdas.h>
64 #include <ti/xdais/ires_common.h>
65 
69 #define IRES_EDMA3CHAN_PROTOCOLNAME "ti.sdo.fc.ires.edma3chan"
70 
81 #define EDMA3CHAN_MODNAME "ti.sdo.fc.ires.edma3chan"
82 
83 /*
84  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
85  * resource managers and algs get this version data placed in their object
86  * files. Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
87  */
88 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
89 
94 static IRES_ProtocolRevision IRES_EDMA3CHAN_PROTOCOLREVISION = {1, 0, 0};
95 
96 #endif
97 
101 #define IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 {1, 0, 0}
102 #define IRES_EDMA3CHAN_SETPROTOCOLREVISION_1_0_0(rev) {(rev)->Major = 1; \
103  (rev)->Source = 0; (rev)->Radius = 0;}
104 
108 #define IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0 {2, 0, 0}
109 #define IRES_EDMA3CHAN_SETPROTOCOLREVISION_2_0_0(rev) {(rev)->Major = 2; \
110  (rev)->Source = 0; (rev)->Radius = 0;}
111 
116 #define IRES_EDMA3CHAN_MAXPARAMS 512
117 #define IRES_EDMA3CHAN_MAXTCCS 32
118 #define IRES_EDMA3CHAN_NUMDESTTYPES 8
119 
123 #define IRES_EDMA3CHAN_PARAM_ANY 512
124 #define IRES_EDMA3CHAN_PARAM_NONE 513
125 #define IRES_EDMA3CHAN_TCC_ANY 514
126 #define IRES_EDMA3CHAN_TCC_NONE 515
127 #define IRES_EDMA3CHAN_EDMACHAN_ANY 516
128 #define IRES_EDMA3CHAN_QDMACHAN_ANY 516
129 #define IRES_EDMA3CHAN_CHAN_NONE 518
130 
135 
140 
146 /* Note that the field descriptions were originally taken from SPRU996. */
148  unsigned int opt;
153  unsigned int src;
158  unsigned short acnt;
169  unsigned short bcnt;
179  unsigned int dst;
184  unsigned short srcElementIndex;
194  unsigned short dstElementIndex;
205  unsigned short link;
216  unsigned short bCntrld;
227  unsigned short srcFrameIndex;
253  unsigned short dstFrameIndex;
281  unsigned short ccnt;
292  unsigned short rsvd;
294 
295 
315  int size;
320  short numPaRams;
326  short paRamIndex;
335  short numTccs;
341  short tccIndex;
350  short qdmaChan;
356  short edmaChan;
379 
390 typedef struct IRES_EDMA3CHAN_Obj {
391 
396  unsigned int * assignedPaRamAddresses;
419  unsigned int esrBitMaskL;
428  unsigned int esrBitMaskH;
437  unsigned int iprBitMaskL;
446  unsigned int iprBitMaskH;
456 
461  volatile unsigned int ER;
462  volatile unsigned int ERH;
463  volatile unsigned int ECR;
464  volatile unsigned int ECRH;
465  volatile unsigned int ESR;
466  volatile unsigned int ESRH;
467  volatile unsigned int CER;
468  volatile unsigned int CERH;
469  volatile unsigned int EER;
470  volatile unsigned int EERH;
471  volatile unsigned int EECR;
472  volatile unsigned int EECRH;
473  volatile unsigned int EESR;
474  volatile unsigned int EESRH;
475  volatile unsigned int SER;
476  volatile unsigned int SERH;
477  volatile unsigned int SECR;
478  volatile unsigned int SECRH;
479  volatile unsigned char RSVD0[8];
480  volatile unsigned int IER;
481  volatile unsigned int IERH;
482  volatile unsigned int IECR;
483  volatile unsigned int IECRH;
484  volatile unsigned int IESR;
485  volatile unsigned int IESRH;
486  volatile unsigned int IPR;
487  volatile unsigned int IPRH;
488  volatile unsigned int ICR;
489  volatile unsigned int ICRH;
490  volatile unsigned int IEVAL;
491  volatile unsigned char RSVD1[4];
492  volatile unsigned int QER;
493  volatile unsigned int QEER;
494  volatile unsigned int QEECR;
495  volatile unsigned int QEESR;
496  volatile unsigned int QSER;
497  volatile unsigned int QSECR;
498  volatile unsigned char RSVD2[360];
499 
501 
507  volatile unsigned int DRAE;
508  volatile unsigned int DRAEH;
510 
515  volatile unsigned int REV;
516  volatile unsigned int CCCFG;
517  volatile unsigned char RSVD0[248];
518  volatile unsigned int DCHMAP[64];
519  volatile unsigned int QCHMAP[8];
520  volatile unsigned char RSVD1[32];
521  volatile unsigned int DMAQNUM[8];
522  volatile unsigned int QDMAQNUM;
523  volatile unsigned char RSVD2[28];
524  volatile unsigned int QUETCMAP;
525  volatile unsigned int QUEPRI;
526  volatile unsigned char RSVD3[120];
527  volatile unsigned int EMR;
528  volatile unsigned int EMRH;
529  volatile unsigned int EMCR;
530  volatile unsigned int EMCRH;
531  volatile unsigned int QEMR;
532  volatile unsigned int QEMCR;
533  volatile unsigned int CCERR;
534  volatile unsigned int CCERRCLR;
535  volatile unsigned int EEVAL;
536  volatile unsigned char RSVD4[28];
538  volatile unsigned int QRAE[8];
539  volatile unsigned char RSVD5[96];
540  volatile unsigned int QUEEVTENTRY[8][16];
541  volatile unsigned int QSTAT[8];
542  volatile unsigned int QWMTHRA;
543  volatile unsigned int QWMTHRB;
544  volatile unsigned char RSVD6[24];
545  volatile unsigned int CCSTAT;
546  volatile unsigned char RSVD7[188];
547  volatile unsigned int AETCTL;
548  volatile unsigned int AETSTAT;
549  volatile unsigned int AETCMD;
550  volatile unsigned char RSVD8[244];
551  volatile unsigned int MPFAR;
552  volatile unsigned int MPFSR;
553  volatile unsigned int MPFCR;
554  volatile unsigned int MPPAG;
555  volatile unsigned int MPPA[8];
556  volatile unsigned char RSVD9[2000];
557  volatile unsigned int ER;
558  volatile unsigned int ERH;
559  volatile unsigned int ECR;
560  volatile unsigned int ECRH;
561  volatile unsigned int ESR;
562  volatile unsigned int ESRH;
563  volatile unsigned int CER;
564  volatile unsigned int CERH;
565  volatile unsigned int EER;
566  volatile unsigned int EERH;
567  volatile unsigned int EECR;
568  volatile unsigned int EECRH;
569  volatile unsigned int EESR;
570  volatile unsigned int EESRH;
571  volatile unsigned int SER;
572  volatile unsigned int SERH;
573  volatile unsigned int SECR;
574  volatile unsigned int SECRH;
575  volatile unsigned char RSVD10[8];
576  volatile unsigned int IER;
577  volatile unsigned int IERH;
578  volatile unsigned int IECR;
579  volatile unsigned int IECRH;
580  volatile unsigned int IESR;
581  volatile unsigned int IESRH;
582  volatile unsigned int IPR;
583  volatile unsigned int IPRH;
584  volatile unsigned int ICR;
585  volatile unsigned int ICRH;
586  volatile unsigned int IEVAL;
587  volatile unsigned char RSVD11[4];
588  volatile unsigned int QER;
589  volatile unsigned int QEER;
590  volatile unsigned int QEECR;
591  volatile unsigned int QEESR;
592  volatile unsigned int QSER;
593  volatile unsigned int QSECR;
594  volatile unsigned char RSVD12[3944];
596  volatile unsigned char RSVD13[4096];
599 
604 
605  unsigned int numDmaChannels;
608  unsigned int numQdmaChannels;
612  unsigned int numTccs;
615  unsigned int numPaRAMSets;
618  unsigned int numEvtQueue;
621  unsigned int numTcs;
625  unsigned int numRegions;
636  unsigned short dmaChPaRAMMapExists;
637 
638  unsigned short memProtectionExists;
647 
662  OTHER0 = 6,
663  OTHER1 = 7
665 
684 typedef struct IRES_EDMA3CHAN2_Obj {
685 
687 
690 
692  unsigned int * assignedPaRamAddresses;
693 
696 
699 
702 
705 
708 
711 
713  unsigned int esrBitMaskL;
714 
716  unsigned int esrBitMaskH;
717 
719  unsigned int iprBitMaskL;
720 
722  unsigned int iprBitMaskH;
723 
739 
740 #ifdef __cplusplus
741 }
742 #endif /* extern "C" */
743 
746 #endif
747 /*
748  * @(#) ti.sdo.fc.ires.edma3chan; 1, 0, 0,; 10-29-2013 18:38:30; /db/atree/library/trees/fc/fc-t15/src/ xlibrary
749 
750  */
751 
Copyright 2013, Texas Instruments Incorporated