1/*
2 *  Copyright 2001-2008 Texas Instruments - http://www.ti.com/
3 *
4 *  Licensed under the Apache License, Version 2.0 (the "License");
5 *  you may not use this file except in compliance with the License.
6 *  You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 *  Unless required by applicable law or agreed to in writing, software
11 *  distributed under the License is distributed on an "AS IS" BASIS,
12 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 *  See the License for the specific language governing permissions and
14 *  limitations under the License.
15 */
16
17/*
18 *  ======== errbase.h ========
19 *  DSP-BIOS Bridge driver support functions for TI OMAP processors.
20 *  Description:
21 *      Central repository for DSP/BIOS Bridge error and status code.
22 *
23 *  Error codes are of the form:
24 *      [<MODULE>]_E<ERRORCODE>
25 *
26 *  Success codes are of the form:
27 *      [<MODULE>]_S<SUCCESSCODE>
28 *
29 *! Revision History:
30 *! ================
31 *! 24-Jan-2003 map Added DSP_SALREADYLOADED for persistent library checking
32 *! 23-Nov-2002 gp: Minor comment cleanup.
33 *! 13-May-2002 sg  Added DSP_SALREADYASLEEP and DSP_SALREADYWAKE.
34 *! 18-Feb-2002 mk: Added DSP_EOVERLAYMEMORY, EFWRITE, ENOSECT.
35 *! 31-Jan-2002 mk: Added definitions of DSP_STRUE and DSP_SFALSE.
36 *! 29-Jan-2002 mk: Added definition of CFG_E_INSUFFICIENTBUFSIZE.
37 *! 24-Oct-2001 sp: Consolidated all the error codes into this file.
38 *! 24-Jul-2001 mk: Type-casted all definitions of WSX_STATUS types for
39 *!                 removal of compile warnings.
40 *! 22-Nov-1999 kc: Changes from code review.
41 *! 18-Aug-1999 rr: Ported From WSX.
42 *! 29-May-1996 gp: Removed WCD_ and WMD_ error ranges. Redefined format of
43 *!                 error codes.
44 *! 10-May-1996 gp: Created.
45 */
46
47#ifndef ERRBASE_
48#define ERRBASE_
49
50#ifdef __cplusplus
51extern "C" {
52#endif
53
54/* ========================================================================== */
55/* Base of generic errors and component errors                                */
56/* ========================================================================== */
57#define DSP_SBASE               (DSP_STATUS)0x00008000
58#define DSP_EBASE               (DSP_STATUS)0x80008000
59
60#define DSP_COMP_EBASE          (DSP_STATUS)0x80040200
61#define DSP_COMP_ELAST          (DSP_STATUS)0x80047fff
62
63/* ========================================================================== */
64/* SUCCESS Codes                                                              */
65/* ========================================================================== */
66
67/* -------------------------------------------------------------------------- */
68/* Generic success code                                                       */
69/* -------------------------------------------------------------------------- */
70#define DSP_SOK                     (DSP_SBASE + 0)
71
72/* -------------------------------------------------------------------------- */
73/* GPP is already attached to this DSP processor                              */
74/* -------------------------------------------------------------------------- */
75#define DSP_SALREADYATTACHED        (DSP_SBASE + 1)
76
77/* -------------------------------------------------------------------------- */
78/* This is the last object available for enumeration.                         */
79/* -------------------------------------------------------------------------- */
80#define DSP_SENUMCOMPLETE           (DSP_SBASE + 2)
81
82/* -------------------------------------------------------------------------- */
83/* The DSP is already asleep.                                                 */
84/* -------------------------------------------------------------------------- */
85#define DSP_SALREADYASLEEP          (DSP_SBASE + 3)
86
87/* -------------------------------------------------------------------------- */
88/* The DSP is already awake.                                                 */
89/* -------------------------------------------------------------------------- */
90#define DSP_SALREADYAWAKE           (DSP_SBASE + 4)
91
92/* -------------------------------------------------------------------------- */
93/* TRUE                                                                       */
94/* -------------------------------------------------------------------------- */
95#define DSP_STRUE                   (DSP_SBASE + 5)
96
97/* -------------------------------------------------------------------------- */
98/* FALSE                                                                      */
99/* -------------------------------------------------------------------------- */
100#define DSP_SFALSE                  (DSP_SBASE + 6)
101
102/* -------------------------------------------------------------------------- */
103/* A library contains no dependent library references                         */
104/* -------------------------------------------------------------------------- */
105#define DSP_SNODEPENDENTLIBS        (DSP_SBASE + 7)
106
107/* -------------------------------------------------------------------------- */
108/* A persistent library is already loaded by the dynamic loader               */
109/* -------------------------------------------------------------------------- */
110#define DSP_SALREADYLOADED          (DSP_SBASE + 8)
111
112/* -------------------------------------------------------------------------- */
113/* Some error occured, but it is OK to continue                               */
114/* -------------------------------------------------------------------------- */
115#define DSP_OKTO_CONTINUE          (DSP_SBASE + 9)
116
117/* ========================================================================== */
118/* FAILURE Codes                                                              */
119/* ========================================================================== */
120
121/* -------------------------------------------------------------------------- */
122/* The caller does not have access privileges to call this function           */
123/* -------------------------------------------------------------------------- */
124#define DSP_EACCESSDENIED           (DSP_EBASE + 0)
125
126/* -------------------------------------------------------------------------- */
127/* The Specified Connection already exists                                    */
128/* -------------------------------------------------------------------------- */
129#define DSP_EALREADYCONNECTED       (DSP_EBASE + 1)
130
131/* -------------------------------------------------------------------------- */
132/* The GPP must be detached from the DSP before this function is called       */
133/* -------------------------------------------------------------------------- */
134#define DSP_EATTACHED               (DSP_EBASE + 2)
135
136/* -------------------------------------------------------------------------- */
137/* During enumeration a change in the number or properties of the objects     */
138/* has occurred.                                                              */
139/* -------------------------------------------------------------------------- */
140#define DSP_ECHANGEDURINGENUM       (DSP_EBASE + 3)
141
142/* -------------------------------------------------------------------------- */
143/* An error occurred while parsing the DSP executable file                    */
144/* -------------------------------------------------------------------------- */
145#define DSP_ECORRUPTFILE            (DSP_EBASE + 4)
146
147/* -------------------------------------------------------------------------- */
148/* A failure occurred during a delete operation                               */
149/* -------------------------------------------------------------------------- */
150#define DSP_EDELETE                 (DSP_EBASE + 5)
151
152/* -------------------------------------------------------------------------- */
153/* The specified direction is invalid                                         */
154/* -------------------------------------------------------------------------- */
155#define DSP_EDIRECTION              (DSP_EBASE + 6)
156
157/* -------------------------------------------------------------------------- */
158/* A stream has been issued the maximum number of buffers allowed in the      */
159/* stream at once ;  buffers must be reclaimed from the stream before any     */
160/* more can be issued.                                                        */
161/* -------------------------------------------------------------------------- */
162#define DSP_ESTREAMFULL             (DSP_EBASE + 7)
163
164/* -------------------------------------------------------------------------- */
165/* A general failure occurred                                                 */
166/* -------------------------------------------------------------------------- */
167#define DSP_EFAIL                   (DSP_EBASE + 8)
168
169/* -------------------------------------------------------------------------- */
170/* The specified executable file could not be found.                          */
171/* -------------------------------------------------------------------------- */
172#define DSP_EFILE                   (DSP_EBASE + 9)
173
174/* -------------------------------------------------------------------------- */
175/* The specified handle is invalid.                                           */
176/* -------------------------------------------------------------------------- */
177#define DSP_EHANDLE                 (DSP_EBASE + 0xa)
178
179/* -------------------------------------------------------------------------- */
180/* An invalid argument was specified.                                         */
181/* -------------------------------------------------------------------------- */
182#define DSP_EINVALIDARG             (DSP_EBASE + 0xb)
183
184/* -------------------------------------------------------------------------- */
185/* A memory allocation failure occurred.                                      */
186/* -------------------------------------------------------------------------- */
187#define DSP_EMEMORY                 (DSP_EBASE + 0xc)
188
189/* -------------------------------------------------------------------------- */
190/* The requested operation is invalid for this node type.                     */
191/* -------------------------------------------------------------------------- */
192#define DSP_ENODETYPE               (DSP_EBASE + 0xd)
193
194/* -------------------------------------------------------------------------- */
195/* No error text was found for the specified error code.                      */
196/* -------------------------------------------------------------------------- */
197#define DSP_ENOERRTEXT              (DSP_EBASE + 0xe)
198
199/* -------------------------------------------------------------------------- */
200/* No more connections can be made for this node.                             */
201/* -------------------------------------------------------------------------- */
202#define DSP_ENOMORECONNECTIONS      (DSP_EBASE + 0xf)
203
204/* -------------------------------------------------------------------------- */
205/* The indicated operation is not supported.                                  */
206/* -------------------------------------------------------------------------- */
207#define DSP_ENOTIMPL                (DSP_EBASE + 0x10)
208
209/* -------------------------------------------------------------------------- */
210/* I/O is currently pending.                                                  */
211/* -------------------------------------------------------------------------- */
212#define DSP_EPENDING                (DSP_EBASE + 0x11)
213
214/* -------------------------------------------------------------------------- */
215/* An invalid pointer was specified.                                          */
216/* -------------------------------------------------------------------------- */
217#define DSP_EPOINTER                (DSP_EBASE + 0x12)
218
219/* -------------------------------------------------------------------------- */
220/* A parameter is specified outside its valid range.                          */
221/* -------------------------------------------------------------------------- */
222#define DSP_ERANGE                  (DSP_EBASE + 0x13)
223
224/* -------------------------------------------------------------------------- */
225/* An invalid size parameter was specified.                                    */
226/* -------------------------------------------------------------------------- */
227#define DSP_ESIZE                   (DSP_EBASE + 0x14)
228
229/* -------------------------------------------------------------------------- */
230/* A stream creation failure occurred on the DSP.                             */
231/* -------------------------------------------------------------------------- */
232#define DSP_ESTREAM                 (DSP_EBASE + 0x15)
233
234/* -------------------------------------------------------------------------- */
235/* A task creation failure occurred on the DSP.                               */
236/* -------------------------------------------------------------------------- */
237#define DSP_ETASK                   (DSP_EBASE + 0x16)
238
239/* -------------------------------------------------------------------------- */
240/* A timeout occurred before the requested operation could complete.          */
241/* -------------------------------------------------------------------------- */
242#define DSP_ETIMEOUT                (DSP_EBASE + 0x17)
243
244/* -------------------------------------------------------------------------- */
245/* A data truncation occurred, e.g., when requesting a descriptive error      */
246/* string, not enough space was allocated for the complete error message.     */
247/* -------------------------------------------------------------------------- */
248#define DSP_ETRUNCATED              (DSP_EBASE + 0x18)
249
250/* -------------------------------------------------------------------------- */
251/* A parameter is invalid.                                                    */
252/* -------------------------------------------------------------------------- */
253#define DSP_EVALUE                  (DSP_EBASE + 0x1a)
254
255/* -------------------------------------------------------------------------- */
256/* The state of the specified object is incorrect for the requested           */
257/* operation.                                                                 */
258/* -------------------------------------------------------------------------- */
259#define DSP_EWRONGSTATE             (DSP_EBASE + 0x1b)
260
261/* -------------------------------------------------------------------------- */
262/* Symbol not found in the COFF file.  DSPNode_Create will return this if     */
263/* the iAlg function table for an xDAIS socket is not found in the COFF file. */
264/* In this case, force the symbol to be linked into the COFF file.            */
265/* DSPNode_Create, DSPNode_Execute, and DSPNode_Delete will return this if    */
266/* the create, execute, or delete phase function, respectively, could not be  */
267/* found in the COFF file.                                                    */
268/* -------------------------------------------------------------------------- */
269#define DSP_ESYMBOL                 (DSP_EBASE + 0x1c)
270
271/* -------------------------------------------------------------------------- */
272/* UUID not found in registry.                                                */
273/* -------------------------------------------------------------------------- */
274#define DSP_EUUID                   (DSP_EBASE + 0x1d)
275
276/* -------------------------------------------------------------------------- */
277/* Unable to read content of DCD data section ; this is typically caused by   */
278/* improperly configured nodes.                                               */
279/* -------------------------------------------------------------------------- */
280#define DSP_EDCDREADSECT            (DSP_EBASE + 0x1e)
281
282/* -------------------------------------------------------------------------- */
283/* Unable to decode DCD data section content ; this is typically caused by    */
284/* changes to DSP/BIOS Bridge data structures.                                */
285/* -------------------------------------------------------------------------- */
286#define DSP_EDCDPARSESECT           (DSP_EBASE + 0x1f)
287
288/* -------------------------------------------------------------------------- */
289/* Unable to get pointer to DCD data section ; this is typically caused by    */
290/* improperly configured UUIDs.                                               */
291/* -------------------------------------------------------------------------- */
292#define DSP_EDCDGETSECT             (DSP_EBASE + 0x20)
293
294/* -------------------------------------------------------------------------- */
295/* Unable to load file containing DCD data section ; this is typically        */
296/* caused by a missing COFF file.                                             */
297/* -------------------------------------------------------------------------- */
298#define DSP_EDCDLOADBASE            (DSP_EBASE + 0x21)
299
300/* -------------------------------------------------------------------------- */
301/* The specified COFF file does not contain a valid node registration         */
302/* section.                                                                   */
303/* -------------------------------------------------------------------------- */
304#define DSP_EDCDNOAUTOREGISTER      (DSP_EBASE + 0x22)
305
306/* -------------------------------------------------------------------------- */
307/* A requested resource is not available.                                     */
308/* -------------------------------------------------------------------------- */
309#define DSP_ERESOURCE               (DSP_EBASE + 0x28)
310
311/* -------------------------------------------------------------------------- */
312/* A critical error has occurred, and the DSP is being re-started.            */
313/* -------------------------------------------------------------------------- */
314#define DSP_ERESTART                (DSP_EBASE + 0x29)
315
316/* -------------------------------------------------------------------------- */
317/* A DSP memory free operation failed.                                        */
318/* -------------------------------------------------------------------------- */
319#define DSP_EFREE                   (DSP_EBASE + 0x2a)
320
321/* -------------------------------------------------------------------------- */
322/* A DSP I/O free operation failed.                                           */
323/* -------------------------------------------------------------------------- */
324#define DSP_EIOFREE                 (DSP_EBASE + 0x2b)
325
326/* -------------------------------------------------------------------------- */
327/* Multiple instances are not allowed.                                        */
328/* -------------------------------------------------------------------------- */
329#define DSP_EMULINST                (DSP_EBASE + 0x2c)
330
331/* -------------------------------------------------------------------------- */
332/* A specified entity was not found.                                          */
333/* -------------------------------------------------------------------------- */
334#define DSP_ENOTFOUND               (DSP_EBASE + 0x2d)
335
336/* -------------------------------------------------------------------------- */
337/* A DSP I/O resource is not available.                                       */
338/* -------------------------------------------------------------------------- */
339#define DSP_EOUTOFIO                (DSP_EBASE + 0x2e)
340
341/* -------------------------------------------------------------------------- */
342/* A shared memory buffer contained in a message or stream could not be       */
343/* mapped to the GPP client process's virtual space.                          */
344/* -------------------------------------------------------------------------- */
345#define DSP_ETRANSLATE              (DSP_EBASE + 0x2f)
346
347/* -------------------------------------------------------------------------- */
348/* File or section load write function failed to write to DSP                 */
349/* -------------------------------------------------------------------------- */
350#define DSP_EFWRITE                 (DSP_EBASE + 0x31)
351
352/* -------------------------------------------------------------------------- */
353/* Unable to find a named section in DSP executable                           */
354/* -------------------------------------------------------------------------- */
355#define DSP_ENOSECT                 (DSP_EBASE + 0x32)
356
357/* -------------------------------------------------------------------------- */
358/* Unable to open file                                                        */
359/* -------------------------------------------------------------------------- */
360#define DSP_EFOPEN                  (DSP_EBASE + 0x33)
361
362/* -------------------------------------------------------------------------- */
363/* Unable to read file                                                        */
364/* -------------------------------------------------------------------------- */
365#define DSP_EFREAD                  (DSP_EBASE + 0x34)
366
367/* -------------------------------------------------------------------------- */
368/* A non-existent memory segment identifier was specified                     */
369/* -------------------------------------------------------------------------- */
370#define DSP_EOVERLAYMEMORY          (DSP_EBASE + 0x37)
371
372/* -------------------------------------------------------------------------- */
373/* Invalid segment ID                                                         */
374/* -------------------------------------------------------------------------- */
375#define DSP_EBADSEGID               (DSP_EBASE + 0x38)
376
377/* -------------------------------------------------------------------------- */
378/* Invalid alignment                                                          */
379/* -------------------------------------------------------------------------- */
380#define DSP_EALIGNMENT               (DSP_EBASE + 0x39)
381
382/* -------------------------------------------------------------------------- */
383/* Invalid stream mode                                                        */
384/* -------------------------------------------------------------------------- */
385#define DSP_ESTRMMODE               (DSP_EBASE + 0x3a)
386
387/* -------------------------------------------------------------------------- */
388/* Nodes not connected                                                        */
389/* -------------------------------------------------------------------------- */
390#define DSP_ENOTCONNECTED           (DSP_EBASE + 0x3b)
391
392/* -------------------------------------------------------------------------- */
393/* Not shared memory                                                          */
394/* -------------------------------------------------------------------------- */
395#define DSP_ENOTSHAREDMEM           (DSP_EBASE + 0x3c)
396
397/* -------------------------------------------------------------------------- */
398/* Error occurred in a dynamic loader library function                        */
399/* -------------------------------------------------------------------------- */
400#define DSP_EDYNLOAD                (DSP_EBASE + 0x3d)
401
402/* -------------------------------------------------------------------------- */
403/* Device in 'sleep/suspend' mode due to DPM                                  */
404/* -------------------------------------------------------------------------- */
405#define DSP_EDPMSUSPEND             (DSP_EBASE + 0x3e)
406
407/* -------------------------------------------------------------------------- */
408/* A node-specific error has occurred.                                        */
409/* -------------------------------------------------------------------------- */
410#define DSP_EUSER1                  (DSP_EBASE + 0x40)
411#define DSP_EUSER2                  (DSP_EBASE + 0x41)
412#define DSP_EUSER3                  (DSP_EBASE + 0x42)
413#define DSP_EUSER4                  (DSP_EBASE + 0x43)
414#define DSP_EUSER5                  (DSP_EBASE + 0x44)
415#define DSP_EUSER6                  (DSP_EBASE + 0x45)
416#define DSP_EUSER7                  (DSP_EBASE + 0x46)
417#define DSP_EUSER8                  (DSP_EBASE + 0x47)
418#define DSP_EUSER9                  (DSP_EBASE + 0x48)
419#define DSP_EUSER10                 (DSP_EBASE + 0x49)
420#define DSP_EUSER11                 (DSP_EBASE + 0x4a)
421#define DSP_EUSER12                 (DSP_EBASE + 0x4b)
422#define DSP_EUSER13                 (DSP_EBASE + 0x4c)
423#define DSP_EUSER14                 (DSP_EBASE + 0x4d)
424#define DSP_EUSER15                 (DSP_EBASE + 0x4e)
425#define DSP_EUSER16                 (DSP_EBASE + 0x4f)
426
427/* ========================================================================== */
428/* FAILURE Codes : DEV                                                        */
429/* ========================================================================== */
430#define DEV_EBASE                   (DSP_COMP_EBASE + 0x000)
431
432/* -------------------------------------------------------------------------- */
433/* The mini-driver expected a newer version of the class driver.              */
434/* -------------------------------------------------------------------------- */
435#define DEV_E_NEWWMD                (DEV_EBASE + 0x00)
436
437/* -------------------------------------------------------------------------- */
438/* WMD_DRV_Entry function returned a NULL function interface table.           */
439/* -------------------------------------------------------------------------- */
440#define DEV_E_NULLWMDINTF           (DEV_EBASE + 0x01)
441
442/* ========================================================================== */
443/* FAILURE Codes : LDR                                                        */
444/* ========================================================================== */
445#define LDR_EBASE                   (DSP_COMP_EBASE + 0x100)
446
447/* -------------------------------------------------------------------------- */
448/* Insufficient memory to export class driver services.                       */
449/* -------------------------------------------------------------------------- */
450#define LDR_E_NOMEMORY              (LDR_EBASE + 0x00)
451
452/* -------------------------------------------------------------------------- */
453/* Unable to find WMD file in system directory.                               */
454/* -------------------------------------------------------------------------- */
455#define LDR_E_FILEUNABLETOOPEN      (LDR_EBASE + 0x01)
456
457/* ========================================================================== */
458/* FAILURE Codes : CFG                                                        */
459/* ========================================================================== */
460#define CFG_EBASE                   (DSP_COMP_EBASE + 0x200)
461
462/* -------------------------------------------------------------------------- */
463/* Invalid pointer passed into a configuration module function                */
464/* -------------------------------------------------------------------------- */
465#define CFG_E_INVALIDPOINTER        (CFG_EBASE + 0x00)
466
467/* -------------------------------------------------------------------------- */
468/* Invalid device node handle passed into a configuration module function.    */
469/* -------------------------------------------------------------------------- */
470#define CFG_E_INVALIDHDEVNODE       (CFG_EBASE + 0x01)
471
472/* -------------------------------------------------------------------------- */
473/* Unable to retrieve resource information from the registry.                 */
474/* -------------------------------------------------------------------------- */
475#define CFG_E_RESOURCENOTAVAIL      (CFG_EBASE + 0x02)
476
477/* -------------------------------------------------------------------------- */
478/* Unable to find board name key in registry.                                 */
479/* -------------------------------------------------------------------------- */
480#define CFG_E_INVALIDBOARDNAME      (CFG_EBASE + 0x03)
481
482/* -------------------------------------------------------------------------- */
483/* Unable to find a device node in registry with given unit number.           */
484/* -------------------------------------------------------------------------- */
485#define CFG_E_INVALIDUNITNUM        (CFG_EBASE + 0x04)
486
487/* -------------------------------------------------------------------------- */
488/* Insufficient buffer size                                                   */
489/* -------------------------------------------------------------------------- */
490#define CFG_E_INSUFFICIENTBUFSIZE   (CFG_EBASE + 0x05)
491
492/* ========================================================================== */
493/* FAILURE Codes : BRD                                                        */
494/* ========================================================================== */
495#define BRD_EBASE                   (DSP_COMP_EBASE + 0x300)
496
497/* -------------------------------------------------------------------------- */
498/* Board client does not have sufficient access rights for this operation.    */
499/* -------------------------------------------------------------------------- */
500#define BRD_E_ACCESSDENIED          (BRD_EBASE + 0x00)
501
502/* -------------------------------------------------------------------------- */
503/* Unable to find trace buffer symbols in the DSP executable COFF file.       */
504/* -------------------------------------------------------------------------- */
505#define BRD_E_NOTRACEBUFFER         (BRD_EBASE + 0x01)
506
507/* -------------------------------------------------------------------------- */
508/* Attempted to auto-start board, but no default DSP executable configured.   */
509/* -------------------------------------------------------------------------- */
510#define BRD_E_NOEXEC                (BRD_EBASE + 0x02)
511
512/* -------------------------------------------------------------------------- */
513/* The operation failed because it was started from a wrong state             */
514/* -------------------------------------------------------------------------- */
515#define BRD_E_WRONGSTATE            (BRD_EBASE + 0x03)
516
517/* ========================================================================== */
518/* FAILURE Codes : COD                                                        */
519/* ========================================================================== */
520#define COD_EBASE                   (DSP_COMP_EBASE + 0x400)
521
522/* -------------------------------------------------------------------------- */
523/* No symbol table is loaded for this board.                                  */
524/* -------------------------------------------------------------------------- */
525#define COD_E_NOSYMBOLSLOADED       (COD_EBASE + 0x00)
526
527/* -------------------------------------------------------------------------- */
528/* Symbol not found in for this board.                                        */
529/* -------------------------------------------------------------------------- */
530#define COD_E_SYMBOLNOTFOUND        (COD_EBASE + 0x01)
531
532/* -------------------------------------------------------------------------- */
533/* ZL DLL module is not exporting the correct function interface.             */
534/* -------------------------------------------------------------------------- */
535#define COD_E_NOZLFUNCTIONS         (COD_EBASE + 0x02)
536
537/* -------------------------------------------------------------------------- */
538/* Unable to initialize the ZL COFF parsing module.                           */
539/* -------------------------------------------------------------------------- */
540#define COD_E_ZLCREATEFAILED        (COD_EBASE + 0x03)
541
542/* -------------------------------------------------------------------------- */
543/* Unable to open DSP executable COFF file.                                   */
544/* -------------------------------------------------------------------------- */
545#define COD_E_OPENFAILED            (COD_EBASE + 0x04)
546
547/* -------------------------------------------------------------------------- */
548/* Unable to parse DSP executable COFF file.                                  */
549/* -------------------------------------------------------------------------- */
550#define COD_E_LOADFAILED            (COD_EBASE + 0x05)
551
552/* -------------------------------------------------------------------------- */
553/* Unable to read DSP executable COFF file.                                   */
554/* -------------------------------------------------------------------------- */
555#define COD_E_READFAILED            (COD_EBASE + 0x06)
556
557/* ========================================================================== */
558/* FAILURE Codes : CHNL                                                       */
559/* ========================================================================== */
560#define CHNL_EBASE                  (DSP_COMP_EBASE + 0x500)
561
562/* -------------------------------------------------------------------------- */
563/* Attempt to created channel manager with too many channels.                 */
564/* -------------------------------------------------------------------------- */
565#define CHNL_E_MAXCHANNELS          (CHNL_EBASE + 0x00)
566
567/* -------------------------------------------------------------------------- */
568/* No channel manager exists for this mini-driver.                            */
569/* -------------------------------------------------------------------------- */
570#define CHNL_E_NOMGR                (CHNL_EBASE + 0x01)
571
572/* -------------------------------------------------------------------------- */
573/* No free channels are available.                                            */
574/* -------------------------------------------------------------------------- */
575#define CHNL_E_OUTOFSTREAMS         (CHNL_EBASE + 0x02)
576
577/* -------------------------------------------------------------------------- */
578/* Channel ID is out of range.                                                */
579/* -------------------------------------------------------------------------- */
580#define CHNL_E_BADCHANID            (CHNL_EBASE + 0x03)
581
582/* -------------------------------------------------------------------------- */
583/* Channel is already in use.                                                 */
584/* -------------------------------------------------------------------------- */
585#define CHNL_E_CHANBUSY             (CHNL_EBASE + 0x04)
586
587/* -------------------------------------------------------------------------- */
588/* Invalid channel mode argument.                                             */
589/* -------------------------------------------------------------------------- */
590#define CHNL_E_BADMODE              (CHNL_EBASE + 0x05)
591
592/* -------------------------------------------------------------------------- */
593/* dwTimeOut parameter was CHNL_IOCNOWAIT, yet no I/O completions were        */
594/* queued.                                                                    */
595/* -------------------------------------------------------------------------- */
596#define CHNL_E_NOIOC                (CHNL_EBASE + 0x06)
597
598/* -------------------------------------------------------------------------- */
599/* I/O has been cancelled on this channel.                                    */
600/* -------------------------------------------------------------------------- */
601#define CHNL_E_CANCELLED            (CHNL_EBASE + 0x07)
602
603/* -------------------------------------------------------------------------- */
604/* End of stream was already requested on this output channel.                */
605/* -------------------------------------------------------------------------- */
606#define CHNL_E_EOS                  (CHNL_EBASE + 0x09)
607
608/* -------------------------------------------------------------------------- */
609/* Unable to create the channel event object.                                 */
610/* -------------------------------------------------------------------------- */
611#define CHNL_E_CREATEEVENT          (CHNL_EBASE + 0x0A)
612
613/* -------------------------------------------------------------------------- */
614/* Board name and unit number do not identify a valid board name.             */
615/* -------------------------------------------------------------------------- */
616#define CHNL_E_BRDID                (CHNL_EBASE + 0x0B)
617
618/* -------------------------------------------------------------------------- */
619/* Invalid IRQ configured for this WMD for this system.                       */
620/* -------------------------------------------------------------------------- */
621#define CHNL_E_INVALIDIRQ           (CHNL_EBASE + 0x0C)
622
623/* -------------------------------------------------------------------------- */
624/* DSP word size of zero configured for this device.                          */
625/* -------------------------------------------------------------------------- */
626#define CHNL_E_INVALIDWORDSIZE      (CHNL_EBASE + 0x0D)
627
628/* -------------------------------------------------------------------------- */
629/* A zero length memory base was specified for a shared memory class driver.  */
630/* -------------------------------------------------------------------------- */
631#define CHNL_E_INVALIDMEMBASE       (CHNL_EBASE + 0x0E)
632
633/* -------------------------------------------------------------------------- */
634/* Memory map is not configured, or unable to map physical to linear          */
635/* address.                                                                   */
636/* -------------------------------------------------------------------------- */
637#define CHNL_E_NOMEMMAP             (CHNL_EBASE + 0x0F)
638
639/* -------------------------------------------------------------------------- */
640/* Attempted to create a channel manager  when one already exists.            */
641/* -------------------------------------------------------------------------- */
642#define CHNL_E_MGREXISTS            (CHNL_EBASE + 0x10)
643
644/* -------------------------------------------------------------------------- */
645/* Unable to plug channel ISR for configured IRQ.                             */
646/* -------------------------------------------------------------------------- */
647#define CHNL_E_ISR                  (CHNL_EBASE + 0x11)
648
649/* -------------------------------------------------------------------------- */
650/* No free I/O request packets are available.                                 */
651/* -------------------------------------------------------------------------- */
652#define CHNL_E_NOIORPS              (CHNL_EBASE + 0x12)
653
654/* -------------------------------------------------------------------------- */
655/* Buffer size is larger than the size of physical channel.                   */
656/* -------------------------------------------------------------------------- */
657#define CHNL_E_BUFSIZE              (CHNL_EBASE + 0x13)
658
659/* -------------------------------------------------------------------------- */
660/* User cannot mark end of stream on an input channel.                        */
661/* -------------------------------------------------------------------------- */
662#define CHNL_E_NOEOS                (CHNL_EBASE + 0x14)
663
664/* -------------------------------------------------------------------------- */
665/* Wait for flush operation on an output channel timed out.                   */
666/* -------------------------------------------------------------------------- */
667#define CHNL_E_WAITTIMEOUT          (CHNL_EBASE + 0x15)
668
669/* -------------------------------------------------------------------------- */
670/* User supplied hEvent must be specified with pstrEventName attribute        */
671/* -------------------------------------------------------------------------- */
672#define CHNL_E_BADUSEREVENT         (CHNL_EBASE + 0x16)
673
674/* -------------------------------------------------------------------------- */
675/* Illegal user event name specified                                          */
676/* -------------------------------------------------------------------------- */
677#define CHNL_E_USEREVENTNAME        (CHNL_EBASE + 0x17)
678
679/* -------------------------------------------------------------------------- */
680/* Unable to prepare buffer specified                                         */
681/* -------------------------------------------------------------------------- */
682#define CHNL_E_PREPFAILED           (CHNL_EBASE + 0x18)
683
684/* -------------------------------------------------------------------------- */
685/* Unable to Unprepare buffer specified                                       */
686/* -------------------------------------------------------------------------- */
687#define CHNL_E_UNPREPFAILED         (CHNL_EBASE + 0x19)
688
689/* ========================================================================== */
690/* FAILURE Codes : SYNC                                                       */
691/* ========================================================================== */
692#define SYNC_EBASE                  (DSP_COMP_EBASE + 0x600)
693
694/* -------------------------------------------------------------------------- */
695/* Wait on a kernel event failed.                                             */
696/* -------------------------------------------------------------------------- */
697#define SYNC_E_FAIL                 (SYNC_EBASE + 0x00)
698
699/* -------------------------------------------------------------------------- */
700/* Timeout expired while waiting for event to be signalled.                   */
701/* -------------------------------------------------------------------------- */
702#define SYNC_E_TIMEOUT              (SYNC_EBASE + 0x01)
703
704/* ========================================================================== */
705/* FAILURE Codes : WMD                                                        */
706/* ========================================================================== */
707#define WMD_EBASE                   (DSP_COMP_EBASE + 0x700)
708
709/* -------------------------------------------------------------------------- */
710/* A test of hardware assumptions or integrity failed.                        */
711/* -------------------------------------------------------------------------- */
712#define WMD_E_HARDWARE              (WMD_EBASE + 0x00)
713
714/* -------------------------------------------------------------------------- */
715/* One or more configuration parameters violated WMD hardware assumptions.    */
716/* -------------------------------------------------------------------------- */
717#define WMD_E_BADCONFIG             (WMD_EBASE + 0x01)
718
719/* -------------------------------------------------------------------------- */
720/* Timeout occurred waiting for a response from the hardware.                 */
721/* -------------------------------------------------------------------------- */
722#define WMD_E_TIMEOUT               (WMD_EBASE + 0x02)
723
724/* ========================================================================== */
725/* FAILURE Codes : REG                                                        */
726/* ========================================================================== */
727#define REG_EBASE                   (DSP_COMP_EBASE + 0x800)
728
729/* -------------------------------------------------------------------------- */
730/* Invalid subkey parameter.                                                  */
731/* -------------------------------------------------------------------------- */
732#define REG_E_INVALIDSUBKEY         (REG_EBASE + 0x00)
733
734/* -------------------------------------------------------------------------- */
735/* Invalid entry parameter.                                                   */
736/* -------------------------------------------------------------------------- */
737#define REG_E_INVALIDENTRY          (REG_EBASE + 0x01)
738
739/* -------------------------------------------------------------------------- */
740/* No more registry values.                                                   */
741/* -------------------------------------------------------------------------- */
742#define REG_E_NOMOREITEMS           (REG_EBASE + 0x02)
743
744/* -------------------------------------------------------------------------- */
745/* Insufficient space to hold data in registry value.                         */
746/* -------------------------------------------------------------------------- */
747#define REG_E_MOREDATA              (REG_EBASE + 0x03)
748
749/* ========================================================================== */
750/* FAILURE Codes : KFILE                                                      */
751/* ========================================================================== */
752#define KFILE_EBASE                 (DSP_COMP_EBASE + 0x900)
753
754/* -------------------------------------------------------------------------- */
755/* Invalid file handle.                                                       */
756/* -------------------------------------------------------------------------- */
757#define E_KFILE_INVALIDHANDLE       (KFILE_EBASE + 0x01)
758
759/* -------------------------------------------------------------------------- */
760/* Bad file name.                                                             */
761/* -------------------------------------------------------------------------- */
762#define E_KFILE_BADFILENAME         (KFILE_EBASE + 0x02)
763
764/* -------------------------------------------------------------------------- */
765/* Invalid file mode.                                                         */
766/* -------------------------------------------------------------------------- */
767#define E_KFILE_INVALIDMODE         (KFILE_EBASE + 0x03)
768
769/* -------------------------------------------------------------------------- */
770/* No resources available.                                                    */
771/* -------------------------------------------------------------------------- */
772#define E_KFILE_NORESOURCES         (KFILE_EBASE + 0x04)
773
774/* -------------------------------------------------------------------------- */
775/* Invalid file buffer        .                                               */
776/* -------------------------------------------------------------------------- */
777#define E_KFILE_INVALIDBUFFER       (KFILE_EBASE + 0x05)
778
779/* -------------------------------------------------------------------------- */
780/* Bad origin argument.                                                       */
781/* -------------------------------------------------------------------------- */
782#define E_KFILE_BADORIGINFLAG       (KFILE_EBASE + 0x06)
783
784/* -------------------------------------------------------------------------- */
785/* Invalid file offset value.                                                 */
786/* -------------------------------------------------------------------------- */
787#define E_KFILE_INVALIDOFFSET       (KFILE_EBASE + 0x07)
788
789/* -------------------------------------------------------------------------- */
790/* General KFILE error condition                                              */
791/* -------------------------------------------------------------------------- */
792#define E_KFILE_ERROR               (KFILE_EBASE + 0x08)
793
794#ifdef __cplusplus
795}
796#endif
797#endif				/* ERRBASE_ */
798