2 * Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
4 * See file CREDITS for list of people who contributed to this
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License as
9 * published by the Free Software Foundation; either version 2 of
10 * the License, or (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23 /* Contains task code and structures for Multi-channel DMA */
46 u32 MCD_funcDescTab0
[];
48 u32 MCD_funcDescTab1
[];
49 u32 MCD_funcDescTab2
[];
50 u32 MCD_funcDescTab3
[];
51 u32 MCD_funcDescTab4
[];
52 u32 MCD_funcDescTab5
[];
53 u32 MCD_funcDescTab6
[];
54 u32 MCD_funcDescTab7
[];
55 u32 MCD_funcDescTab8
[];
56 u32 MCD_funcDescTab9
[];
57 u32 MCD_funcDescTab10
[];
58 u32 MCD_funcDescTab11
[];
59 u32 MCD_funcDescTab12
[];
60 u32 MCD_funcDescTab13
[];
61 u32 MCD_funcDescTab14
[];
62 u32 MCD_funcDescTab15
[];
65 u32 MCD_contextSave0
[];
66 u32 MCD_contextSave1
[];
67 u32 MCD_contextSave2
[];
68 u32 MCD_contextSave3
[];
69 u32 MCD_contextSave4
[];
70 u32 MCD_contextSave5
[];
71 u32 MCD_contextSave6
[];
72 u32 MCD_contextSave7
[];
73 u32 MCD_contextSave8
[];
74 u32 MCD_contextSave9
[];
75 u32 MCD_contextSave10
[];
76 u32 MCD_contextSave11
[];
77 u32 MCD_contextSave12
[];
78 u32 MCD_contextSave13
[];
79 u32 MCD_contextSave14
[];
80 u32 MCD_contextSave15
[];
82 u32 MCD_realTaskTableSrc
[] = {
85 (u32
) MCD_varTab0
, /* Task 0 Variable Table */
86 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
89 (u32
) MCD_contextSave0
, /* Task 0 context save space */
93 (u32
) MCD_varTab1
, /* Task 1 Variable Table */
95 (u32
) MCD_funcDescTab1
, /* Task 1 Fn Desc. Table & Flags */
97 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
101 (u32
) MCD_contextSave1
, /* Task 1 context save space */
105 (u32
) MCD_varTab2
, /* Task 2 Variable Table */
106 #ifdef MCD_INCLUDE_EU
107 (u32
) MCD_funcDescTab2
, /* Task 2 Fn Desc. Table & Flags */
109 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
113 (u32
) MCD_contextSave2
, /* Task 2 context save space */
117 (u32
) MCD_varTab3
, /* Task 3 Variable Table */
118 #ifdef MCD_INCLUDE_EU
119 (u32
) MCD_funcDescTab3
, /* Task 3 Fn Desc. Table & Flags */
121 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
125 (u32
) MCD_contextSave3
, /* Task 3 context save space */
129 (u32
) MCD_varTab4
, /* Task 4 Variable Table */
130 #ifdef MCD_INCLUDE_EU
131 (u32
) MCD_funcDescTab4
, /* Task 4 Fn Desc. Table & Flags */
133 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
137 (u32
) MCD_contextSave4
, /* Task 4 context save space */
141 (u32
) MCD_varTab5
, /* Task 5 Variable Table */
142 #ifdef MCD_INCLUDE_EU
143 (u32
) MCD_funcDescTab5
, /* Task 5 Fn Desc. Table & Flags */
145 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
149 (u32
) MCD_contextSave5
, /* Task 5 context save space */
153 (u32
) MCD_varTab6
, /* Task 6 Variable Table */
154 #ifdef MCD_INCLUDE_EU
155 (u32
) MCD_funcDescTab6
, /* Task 6 Fn Desc. Table & Flags */
157 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
161 (u32
) MCD_contextSave6
, /* Task 6 context save space */
165 (u32
) MCD_varTab7
, /* Task 7 Variable Table */
166 #ifdef MCD_INCLUDE_EU
167 (u32
) MCD_funcDescTab7
, /* Task 7 Fn Desc. Table & Flags */
169 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
173 (u32
) MCD_contextSave7
, /* Task 7 context save space */
177 (u32
) MCD_varTab8
, /* Task 8 Variable Table */
178 #ifdef MCD_INCLUDE_EU
179 (u32
) MCD_funcDescTab8
, /* Task 8 Fn Desc. Table & Flags */
181 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
185 (u32
) MCD_contextSave8
, /* Task 8 context save space */
189 (u32
) MCD_varTab9
, /* Task 9 Variable Table */
190 #ifdef MCD_INCLUDE_EU
191 (u32
) MCD_funcDescTab9
, /* Task 9 Fn Desc. Table & Flags */
193 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
197 (u32
) MCD_contextSave9
, /* Task 9 context save space */
201 (u32
) MCD_varTab10
, /* Task 10 Variable Table */
202 #ifdef MCD_INCLUDE_EU
203 (u32
) MCD_funcDescTab10
, /* Task 10 Fn Desc. Table & Flags */
205 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
209 (u32
) MCD_contextSave10
, /* Task 10 context save space */
213 (u32
) MCD_varTab11
, /* Task 11 Variable Table */
214 #ifdef MCD_INCLUDE_EU
215 (u32
) MCD_funcDescTab11
, /* Task 11 Fn Desc. Table & Flags */
217 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
221 (u32
) MCD_contextSave11
, /* Task 11 context save space */
225 (u32
) MCD_varTab12
, /* Task 12 Variable Table */
226 #ifdef MCD_INCLUDE_EU
227 (u32
) MCD_funcDescTab12
, /* Task 12 Fn Desc. Table & Flags */
229 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
233 (u32
) MCD_contextSave12
, /* Task 12 context save space */
237 (u32
) MCD_varTab13
, /* Task 13 Variable Table */
238 #ifdef MCD_INCLUDE_EU
239 (u32
) MCD_funcDescTab13
, /* Task 13 Fn Desc. Table & Flags */
241 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
245 (u32
) MCD_contextSave13
, /* Task 13 context save space */
249 (u32
) MCD_varTab14
, /* Task 14 Variable Table */
250 #ifdef MCD_INCLUDE_EU
251 (u32
) MCD_funcDescTab14
, /* Task 14 Fn Desc. Table & Flags */
253 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
257 (u32
) MCD_contextSave14
, /* Task 14 context save space */
261 (u32
) MCD_varTab15
, /* Task 15 Variable Table */
262 #ifdef MCD_INCLUDE_EU
263 (u32
) MCD_funcDescTab15
, /* Task 15 Fn Desc. Table & Flags */
265 (u32
) MCD_funcDescTab0
, /* Task 0 Fn Desc. Table & Flags */
269 (u32
) MCD_contextSave15
, /* Task 15 context save space */
273 u32 MCD_varTab0
[] = { /* Task 0 Variable Table */
274 0x00000000, /* var[0] */
275 0x00000000, /* var[1] */
276 0x00000000, /* var[2] */
277 0x00000000, /* var[3] */
278 0x00000000, /* var[4] */
279 0x00000000, /* var[5] */
280 0x00000000, /* var[6] */
281 0x00000000, /* var[7] */
282 0x00000000, /* var[8] */
283 0x00000000, /* var[9] */
284 0x00000000, /* var[10] */
285 0x00000000, /* var[11] */
286 0x00000000, /* var[12] */
287 0x00000000, /* var[13] */
288 0x00000000, /* var[14] */
289 0x00000000, /* var[15] */
290 0x00000000, /* var[16] */
291 0x00000000, /* var[17] */
292 0x00000000, /* var[18] */
293 0x00000000, /* var[19] */
294 0x00000000, /* var[20] */
295 0x00000000, /* var[21] */
296 0x00000000, /* var[22] */
297 0x00000000, /* var[23] */
298 0xe0000000, /* inc[0] */
299 0x20000000, /* inc[1] */
300 0x2000ffff, /* inc[2] */
301 0x00000000, /* inc[3] */
302 0x00000000, /* inc[4] */
303 0x00000000, /* inc[5] */
304 0x00000000, /* inc[6] */
305 0x00000000, /* inc[7] */
308 u32 MCD_varTab1
[] = {
343 u32 MCD_varTab2
[] = {
378 u32 MCD_varTab3
[] = {
413 u32 MCD_varTab4
[] = {
448 u32 MCD_varTab5
[] = {
483 u32 MCD_varTab6
[] = {
518 u32 MCD_varTab7
[] = {
553 u32 MCD_varTab8
[] = {
588 u32 MCD_varTab9
[] = {
623 u32 MCD_varTab10
[] = {
658 u32 MCD_varTab11
[] = {
693 u32 MCD_varTab12
[] = {
728 u32 MCD_varTab13
[] = {
763 u32 MCD_varTab14
[] = {
798 u32 MCD_varTab15
[] = {
833 u32 MCD_funcDescTab0
[] = {
900 #ifdef MCD_INCLUDE_EU
901 u32 MCD_funcDescTab1
[] = {
968 u32 MCD_funcDescTab2
[] = {
1035 u32 MCD_funcDescTab3
[] = {
1102 u32 MCD_funcDescTab4
[] = {
1169 u32 MCD_funcDescTab5
[] = {
1236 u32 MCD_funcDescTab6
[] = {
1303 u32 MCD_funcDescTab7
[] = {
1370 u32 MCD_funcDescTab8
[] = {
1437 u32 MCD_funcDescTab9
[] = {
1504 u32 MCD_funcDescTab10
[] = {
1571 u32 MCD_funcDescTab11
[] = {
1638 u32 MCD_funcDescTab12
[] = {
1705 u32 MCD_funcDescTab13
[] = {
1772 u32 MCD_funcDescTab14
[] = {
1839 u32 MCD_funcDescTab15
[] = {
1905 #endif /*MCD_INCLUDE_EU */
1907 u32 MCD_contextSave0
[128]; /* Task 0 context save space */
1908 u32 MCD_contextSave1
[128]; /* Task 1 context save space */
1909 u32 MCD_contextSave2
[128]; /* Task 2 context save space */
1910 u32 MCD_contextSave3
[128]; /* Task 3 context save space */
1911 u32 MCD_contextSave4
[128]; /* Task 4 context save space */
1912 u32 MCD_contextSave5
[128]; /* Task 5 context save space */
1913 u32 MCD_contextSave6
[128]; /* Task 6 context save space */
1914 u32 MCD_contextSave7
[128]; /* Task 7 context save space */
1915 u32 MCD_contextSave8
[128]; /* Task 8 context save space */
1916 u32 MCD_contextSave9
[128]; /* Task 9 context save space */
1917 u32 MCD_contextSave10
[128]; /* Task 10 context save space */
1918 u32 MCD_contextSave11
[128]; /* Task 11 context save space */
1919 u32 MCD_contextSave12
[128]; /* Task 12 context save space */
1920 u32 MCD_contextSave13
[128]; /* Task 13 context save space */
1921 u32 MCD_contextSave14
[128]; /* Task 14 context save space */
1922 u32 MCD_contextSave15
[128]; /* Task 15 context save space */
1924 u32 MCD_ChainNoEu_TDT
[];
1925 u32 MCD_SingleNoEu_TDT
[];
1926 #ifdef MCD_INCLUDE_EU
1927 u32 MCD_ChainEu_TDT
[];
1928 u32 MCD_SingleEu_TDT
[];
1930 u32 MCD_ENetRcv_TDT
[];
1931 u32 MCD_ENetXmit_TDT
[];
1933 u32 MCD_modelTaskTableSrc
[] = {
1934 (u32
) MCD_ChainNoEu_TDT
,
1935 (u32
) & ((u8
*) MCD_ChainNoEu_TDT
)[0x0000016c],
1942 (u32
) MCD_SingleNoEu_TDT
,
1943 (u32
) & ((u8
*) MCD_SingleNoEu_TDT
)[0x000000d4],
1950 #ifdef MCD_INCLUDE_EU
1951 (u32
) MCD_ChainEu_TDT
,
1952 (u32
) & ((u8
*) MCD_ChainEu_TDT
)[0x000001b4],
1959 (u32
) MCD_SingleEu_TDT
,
1960 (u32
) & ((u8
*) MCD_SingleEu_TDT
)[0x00000124],
1968 (u32
) MCD_ENetRcv_TDT
,
1969 (u32
) & ((u8
*) MCD_ENetRcv_TDT
)[0x0000009c],
1976 (u32
) MCD_ENetXmit_TDT
,
1977 (u32
) & ((u8
*) MCD_ENetXmit_TDT
)[0x000000d0],
1986 u32 MCD_ChainNoEu_TDT
[] = {
2081 u32 MCD_SingleNoEu_TDT
[] = {
2138 #ifdef MCD_INCLUDE_EU
2139 u32 MCD_ChainEu_TDT
[] = {
2252 u32 MCD_SingleEu_TDT
[] = {
2329 u32 MCD_ENetRcv_TDT
[] = {
2372 u32 MCD_ENetXmit_TDT
[] = {
2428 #ifdef MCD_INCLUDE_EU
2429 MCD_bufDesc MCD_singleBufDescs
[NCHANNELS
];