xref: /rk3399_rockchip-uboot/drivers/dma/MCD_tasksInit.c (revision 72f56adc0b25d43875ad067bae6be1bcea86b79f)
1*72f56adcSTsiChungLiew /*
2*72f56adcSTsiChungLiew  * Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
3*72f56adcSTsiChungLiew  *
4*72f56adcSTsiChungLiew  * See file CREDITS for list of people who contributed to this
5*72f56adcSTsiChungLiew  * project.
6*72f56adcSTsiChungLiew  *
7*72f56adcSTsiChungLiew  * This program is free software; you can redistribute it and/or
8*72f56adcSTsiChungLiew  * modify it under the terms of the GNU General Public License as
9*72f56adcSTsiChungLiew  * published by the Free Software Foundation; either version 2 of
10*72f56adcSTsiChungLiew  * the License, or (at your option) any later version.
11*72f56adcSTsiChungLiew  *
12*72f56adcSTsiChungLiew  * This program is distributed in the hope that it will be useful,
13*72f56adcSTsiChungLiew  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14*72f56adcSTsiChungLiew  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15*72f56adcSTsiChungLiew  * GNU General Public License for more details.
16*72f56adcSTsiChungLiew  *
17*72f56adcSTsiChungLiew  * You should have received a copy of the GNU General Public License
18*72f56adcSTsiChungLiew  * along with this program; if not, write to the Free Software
19*72f56adcSTsiChungLiew  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20*72f56adcSTsiChungLiew  * MA 02111-1307 USA
21*72f56adcSTsiChungLiew  */
22*72f56adcSTsiChungLiew 
23*72f56adcSTsiChungLiew #include <common.h>
24*72f56adcSTsiChungLiew 
25*72f56adcSTsiChungLiew /* Functions for initializing variable tables of different types of tasks. */
26*72f56adcSTsiChungLiew 
27*72f56adcSTsiChungLiew /*
28*72f56adcSTsiChungLiew  * Do not edit!
29*72f56adcSTsiChungLiew  */
30*72f56adcSTsiChungLiew 
31*72f56adcSTsiChungLiew #ifdef CONFIG_FSLDMAFEC
32*72f56adcSTsiChungLiew 
33*72f56adcSTsiChungLiew #include <MCD_dma.h>
34*72f56adcSTsiChungLiew 
35*72f56adcSTsiChungLiew extern dmaRegs *MCD_dmaBar;
36*72f56adcSTsiChungLiew 
37*72f56adcSTsiChungLiew /* Task 0 */
38*72f56adcSTsiChungLiew 
39*72f56adcSTsiChungLiew void MCD_startDmaChainNoEu(int *currBD, short srcIncr, short destIncr,
40*72f56adcSTsiChungLiew 			   int xferSize, short xferSizeIncr, int *cSave,
41*72f56adcSTsiChungLiew 			   volatile TaskTableEntry * taskTable, int channel)
42*72f56adcSTsiChungLiew {
43*72f56adcSTsiChungLiew 	volatile TaskTableEntry *taskChan = taskTable + channel;
44*72f56adcSTsiChungLiew 
45*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 2, (u32) currBD);	/* var[2] */
46*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 25, (u32) (0xe000 << 16) | (0xffff & srcIncr));	/* inc[1] */
47*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 24, (u32) (0xe000 << 16) | (0xffff & destIncr));	/* inc[0] */
48*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 11, (u32) xferSize);	/* var[11] */
49*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 26, (u32) (0x2000 << 16) | (0xffff & xferSizeIncr));	/* inc[2] */
50*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 0, (u32) cSave);	/* var[0] */
51*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 1, (u32) 0x00000000);	/* var[1] */
52*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 3, (u32) 0x00000000);	/* var[3] */
53*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 4, (u32) 0x00000000);	/* var[4] */
54*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 5, (u32) 0x00000000);	/* var[5] */
55*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 6, (u32) 0x00000000);	/* var[6] */
56*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 7, (u32) 0x00000000);	/* var[7] */
57*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 8, (u32) 0x00000000);	/* var[8] */
58*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 9, (u32) 0x00000000);	/* var[9] */
59*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 10, (u32) 0x00000000);	/* var[10] */
60*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 12, (u32) 0x00000000);	/* var[12] */
61*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 13, (u32) 0x80000000);	/* var[13] */
62*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 14, (u32) 0x00000010);	/* var[14] */
63*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 15, (u32) 0x00000004);	/* var[15] */
64*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 16, (u32) 0x08000000);	/* var[16] */
65*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 27, (u32) 0x00000000);	/* inc[3] */
66*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 28, (u32) 0x80000000);	/* inc[4] */
67*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 29, (u32) 0x80000001);	/* inc[5] */
68*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 30, (u32) 0x40000000);	/* inc[6] */
69*72f56adcSTsiChungLiew 
70*72f56adcSTsiChungLiew 	/* Set the task's Enable bit in its Task Control Register */
71*72f56adcSTsiChungLiew 	MCD_dmaBar->taskControl[channel] |= (u16) 0x8000;
72*72f56adcSTsiChungLiew }
73*72f56adcSTsiChungLiew 
74*72f56adcSTsiChungLiew /* Task 1 */
75*72f56adcSTsiChungLiew 
76*72f56adcSTsiChungLiew void MCD_startDmaSingleNoEu(char *srcAddr, short srcIncr, char *destAddr,
77*72f56adcSTsiChungLiew 			    short destIncr, int dmaSize, short xferSizeIncr,
78*72f56adcSTsiChungLiew 			    int flags, int *currBD, int *cSave,
79*72f56adcSTsiChungLiew 			    volatile TaskTableEntry * taskTable, int channel)
80*72f56adcSTsiChungLiew {
81*72f56adcSTsiChungLiew 	volatile TaskTableEntry *taskChan = taskTable + channel;
82*72f56adcSTsiChungLiew 
83*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 7, (u32) srcAddr);	/* var[7] */
84*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 25, (u32) (0xe000 << 16) | (0xffff & srcIncr));	/* inc[1] */
85*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 2, (u32) destAddr);	/* var[2] */
86*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 24, (u32) (0xe000 << 16) | (0xffff & destIncr));	/* inc[0] */
87*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 3, (u32) dmaSize);	/* var[3] */
88*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 26, (u32) (0x2000 << 16) | (0xffff & xferSizeIncr));	/* inc[2] */
89*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 5, (u32) flags);	/* var[5] */
90*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 1, (u32) currBD);	/* var[1] */
91*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 0, (u32) cSave);	/* var[0] */
92*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 4, (u32) 0x00000000);	/* var[4] */
93*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 6, (u32) 0x00000000);	/* var[6] */
94*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 8, (u32) 0x00000000);	/* var[8] */
95*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 9, (u32) 0x00000004);	/* var[9] */
96*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 10, (u32) 0x08000000);	/* var[10] */
97*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 27, (u32) 0x00000000);	/* inc[3] */
98*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 28, (u32) 0x80000001);	/* inc[4] */
99*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 29, (u32) 0x40000000);	/* inc[5] */
100*72f56adcSTsiChungLiew 
101*72f56adcSTsiChungLiew 	/* Set the task's Enable bit in its Task Control Register */
102*72f56adcSTsiChungLiew 	MCD_dmaBar->taskControl[channel] |= (u16) 0x8000;
103*72f56adcSTsiChungLiew }
104*72f56adcSTsiChungLiew 
105*72f56adcSTsiChungLiew /* Task 2 */
106*72f56adcSTsiChungLiew 
107*72f56adcSTsiChungLiew void MCD_startDmaChainEu(int *currBD, short srcIncr, short destIncr,
108*72f56adcSTsiChungLiew 			 int xferSize, short xferSizeIncr, int *cSave,
109*72f56adcSTsiChungLiew 			 volatile TaskTableEntry * taskTable, int channel)
110*72f56adcSTsiChungLiew {
111*72f56adcSTsiChungLiew 	volatile TaskTableEntry *taskChan = taskTable + channel;
112*72f56adcSTsiChungLiew 
113*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 3, (u32) currBD);	/* var[3] */
114*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 25, (u32) (0xe000 << 16) | (0xffff & srcIncr));	/* inc[1] */
115*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 24, (u32) (0xe000 << 16) | (0xffff & destIncr));	/* inc[0] */
116*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 12, (u32) xferSize);	/* var[12] */
117*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 26, (u32) (0x2000 << 16) | (0xffff & xferSizeIncr));	/* inc[2] */
118*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 0, (u32) cSave);	/* var[0] */
119*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 1, (u32) 0x00000000);	/* var[1] */
120*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 2, (u32) 0x00000000);	/* var[2] */
121*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 4, (u32) 0x00000000);	/* var[4] */
122*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 5, (u32) 0x00000000);	/* var[5] */
123*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 6, (u32) 0x00000000);	/* var[6] */
124*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 7, (u32) 0x00000000);	/* var[7] */
125*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 8, (u32) 0x00000000);	/* var[8] */
126*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 9, (u32) 0x00000000);	/* var[9] */
127*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 10, (u32) 0x00000000);	/* var[10] */
128*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 11, (u32) 0x00000000);	/* var[11] */
129*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 13, (u32) 0x00000000);	/* var[13] */
130*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 14, (u32) 0x80000000);	/* var[14] */
131*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 15, (u32) 0x00000010);	/* var[15] */
132*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 16, (u32) 0x00000001);	/* var[16] */
133*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 17, (u32) 0x00000004);	/* var[17] */
134*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 18, (u32) 0x08000000);	/* var[18] */
135*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 27, (u32) 0x00000000);	/* inc[3] */
136*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 28, (u32) 0x80000000);	/* inc[4] */
137*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 29, (u32) 0xc0000000);	/* inc[5] */
138*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 30, (u32) 0x80000001);	/* inc[6] */
139*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 31, (u32) 0x40000000);	/* inc[7] */
140*72f56adcSTsiChungLiew 
141*72f56adcSTsiChungLiew 	/* Set the task's Enable bit in its Task Control Register */
142*72f56adcSTsiChungLiew 	MCD_dmaBar->taskControl[channel] |= (u16) 0x8000;
143*72f56adcSTsiChungLiew }
144*72f56adcSTsiChungLiew 
145*72f56adcSTsiChungLiew /* Task 3 */
146*72f56adcSTsiChungLiew 
147*72f56adcSTsiChungLiew void MCD_startDmaSingleEu(char *srcAddr, short srcIncr, char *destAddr,
148*72f56adcSTsiChungLiew 			  short destIncr, int dmaSize, short xferSizeIncr,
149*72f56adcSTsiChungLiew 			  int flags, int *currBD, int *cSave,
150*72f56adcSTsiChungLiew 			  volatile TaskTableEntry * taskTable, int channel)
151*72f56adcSTsiChungLiew {
152*72f56adcSTsiChungLiew 	volatile TaskTableEntry *taskChan = taskTable + channel;
153*72f56adcSTsiChungLiew 
154*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 8, (u32) srcAddr);	/* var[8] */
155*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 25, (u32) (0xe000 << 16) | (0xffff & srcIncr));	/* inc[1] */
156*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 3, (u32) destAddr);	/* var[3] */
157*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 24, (u32) (0xe000 << 16) | (0xffff & destIncr));	/* inc[0] */
158*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 4, (u32) dmaSize);	/* var[4] */
159*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 26, (u32) (0x2000 << 16) | (0xffff & xferSizeIncr));	/* inc[2] */
160*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 6, (u32) flags);	/* var[6] */
161*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 2, (u32) currBD);	/* var[2] */
162*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 0, (u32) cSave);	/* var[0] */
163*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 1, (u32) 0x00000000);	/* var[1] */
164*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 5, (u32) 0x00000000);	/* var[5] */
165*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 7, (u32) 0x00000000);	/* var[7] */
166*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 9, (u32) 0x00000000);	/* var[9] */
167*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 10, (u32) 0x00000001);	/* var[10] */
168*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 11, (u32) 0x00000004);	/* var[11] */
169*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 12, (u32) 0x08000000);	/* var[12] */
170*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 27, (u32) 0x00000000);	/* inc[3] */
171*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 28, (u32) 0xc0000000);	/* inc[4] */
172*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 29, (u32) 0x80000000);	/* inc[5] */
173*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 30, (u32) 0x80000001);	/* inc[6] */
174*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 31, (u32) 0x40000000);	/* inc[7] */
175*72f56adcSTsiChungLiew 
176*72f56adcSTsiChungLiew 	/* Set the task's Enable bit in its Task Control Register */
177*72f56adcSTsiChungLiew 	MCD_dmaBar->taskControl[channel] |= (u16) 0x8000;
178*72f56adcSTsiChungLiew }
179*72f56adcSTsiChungLiew 
180*72f56adcSTsiChungLiew /* Task 4 */
181*72f56adcSTsiChungLiew 
182*72f56adcSTsiChungLiew void MCD_startDmaENetRcv(char *bDBase, char *currBD, char *rcvFifoPtr,
183*72f56adcSTsiChungLiew 			 volatile TaskTableEntry * taskTable, int channel)
184*72f56adcSTsiChungLiew {
185*72f56adcSTsiChungLiew 	volatile TaskTableEntry *taskChan = taskTable + channel;
186*72f56adcSTsiChungLiew 
187*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 0, (u32) bDBase);	/* var[0] */
188*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 3, (u32) currBD);	/* var[3] */
189*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 6, (u32) rcvFifoPtr);	/* var[6] */
190*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 1, (u32) 0x00000000);	/* var[1] */
191*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 2, (u32) 0x00000000);	/* var[2] */
192*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 4, (u32) 0x00000000);	/* var[4] */
193*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 5, (u32) 0x00000000);	/* var[5] */
194*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 7, (u32) 0x00000000);	/* var[7] */
195*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 8, (u32) 0x00000000);	/* var[8] */
196*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 9, (u32) 0x0000ffff);	/* var[9] */
197*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 10, (u32) 0x30000000);	/* var[10] */
198*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 11, (u32) 0x0fffffff);	/* var[11] */
199*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 12, (u32) 0x00000008);	/* var[12] */
200*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 24, (u32) 0x00000000);	/* inc[0] */
201*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 25, (u32) 0x60000000);	/* inc[1] */
202*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 26, (u32) 0x20000004);	/* inc[2] */
203*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 27, (u32) 0x40000000);	/* inc[3] */
204*72f56adcSTsiChungLiew 
205*72f56adcSTsiChungLiew 	/* Set the task's Enable bit in its Task Control Register */
206*72f56adcSTsiChungLiew 	MCD_dmaBar->taskControl[channel] |= (u16) 0x8000;
207*72f56adcSTsiChungLiew }
208*72f56adcSTsiChungLiew 
209*72f56adcSTsiChungLiew /* Task 5 */
210*72f56adcSTsiChungLiew 
211*72f56adcSTsiChungLiew void MCD_startDmaENetXmit(char *bDBase, char *currBD, char *xmitFifoPtr,
212*72f56adcSTsiChungLiew 			  volatile TaskTableEntry * taskTable, int channel)
213*72f56adcSTsiChungLiew {
214*72f56adcSTsiChungLiew 	volatile TaskTableEntry *taskChan = taskTable + channel;
215*72f56adcSTsiChungLiew 
216*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 0, (u32) bDBase);	/* var[0] */
217*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 3, (u32) currBD);	/* var[3] */
218*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 11, (u32) xmitFifoPtr);	/* var[11] */
219*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 1, (u32) 0x00000000);	/* var[1] */
220*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 2, (u32) 0x00000000);	/* var[2] */
221*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 4, (u32) 0x00000000);	/* var[4] */
222*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 5, (u32) 0x00000000);	/* var[5] */
223*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 6, (u32) 0x00000000);	/* var[6] */
224*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 7, (u32) 0x00000000);	/* var[7] */
225*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 8, (u32) 0x00000000);	/* var[8] */
226*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 9, (u32) 0x00000000);	/* var[9] */
227*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 10, (u32) 0x00000000);	/* var[10] */
228*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 12, (u32) 0x00000000);	/* var[12] */
229*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 13, (u32) 0x0000ffff);	/* var[13] */
230*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 14, (u32) 0xffffffff);	/* var[14] */
231*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 15, (u32) 0x00000004);	/* var[15] */
232*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 16, (u32) 0x00000008);	/* var[16] */
233*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 24, (u32) 0x00000000);	/* inc[0] */
234*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 25, (u32) 0x60000000);	/* inc[1] */
235*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 26, (u32) 0x40000000);	/* inc[2] */
236*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 27, (u32) 0xc000fffc);	/* inc[3] */
237*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 28, (u32) 0xe0000004);	/* inc[4] */
238*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 29, (u32) 0x80000000);	/* inc[5] */
239*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 30, (u32) 0x4000ffff);	/* inc[6] */
240*72f56adcSTsiChungLiew 	MCD_SET_VAR(taskChan, 31, (u32) 0xe0000001);	/* inc[7] */
241*72f56adcSTsiChungLiew 
242*72f56adcSTsiChungLiew 	/* Set the task's Enable bit in its Task Control Register */
243*72f56adcSTsiChungLiew 	MCD_dmaBar->taskControl[channel] |= (u16) 0x8000;
244*72f56adcSTsiChungLiew }
245*72f56adcSTsiChungLiew 
246*72f56adcSTsiChungLiew #endif			/* CONFIG_FSLDMAFEC */
247*72f56adcSTsiChungLiew 
248