| /* |
| * Copyright 2001-2008 Texas Instruments - http://www.ti.com/ |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /* |
| * ======== cfgdefs.h ======== |
| * DSP-BIOS Bridge driver support functions for TI OMAP processors. |
| * Purpose: |
| * Global CFG constants and types, shared between class and mini driver. |
| * |
| *! Revision History: |
| *! ================ |
| *! 24-Feb-2003 kc Removed wIOPort* in CFG_HOSTRES. |
| *! 06-Sep-2000 jeh Added channel info to CFG_HOSTRES. |
| *! 09-May-2000 rr: CFG_HOSTRES now support multiple windows for PCI support. |
| *! 31-Jan-2000 rr: Comments changed after code review. |
| *! 06-Jan-2000 rr: Bus Type included in CFG_HOSTRES. |
| *! 12-Nov-1999 rr: CFG_HOSTRES member names changed. |
| *! 25-Oct-1999 rr: Modified the CFG_HOSTRES Structure |
| *! PCMCIA ISR Register/Unregister fxn removed.. |
| *! New flag PCCARD introduced during compile time. |
| *! 10-Sep-1999 ww: Added PCMCIA ISR Register/Unregister fxn. |
| *! 01-Sep-1999 ag: Removed NT/95 specific fields in CFG_HOSTRES |
| *! 27-Oct-1997 cr: Updated CFG_HOSTRES struct to support 1+ IRQs per board. |
| *! 17-Sep-1997 gp: Tacked some NT config info to end of CFG_HOSTRES structure. |
| *! 12-Dec-1996 cr: Cleaned up after code review. |
| *! 14-Nov-1996 gp: Renamed from wsxcfg.h |
| *! 19-Jun-1996 cr: Created. |
| */ |
| |
| #ifndef CFGDEFS_ |
| #define CFGDEFS_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* Maximum length of module search path. */ |
| #define CFG_MAXSEARCHPATHLEN 255 |
| |
| /* Maximum length of general paths. */ |
| #define CFG_MAXPATH 255 |
| |
| /* Host Resources: */ |
| #define CFG_MAXMEMREGISTERS 9 |
| #define CFG_MAXIOPORTS 20 |
| #define CFG_MAXIRQS 7 |
| #define CFG_MAXDMACHANNELS 7 |
| |
| /* IRQ flag */ |
| #define CFG_IRQSHARED 0x01 /* IRQ can be shared */ |
| |
| /* DSP Resources: */ |
| #define CFG_DSPMAXMEMTYPES 10 |
| #define CFG_DEFAULT_NUM_WINDOWS 1 /* We support only one window. */ |
| |
| /* A platform-related device handle: */ |
| /*typedef struct CFG_DEVNODE *CFG_HDEVNODE;*/ |
| struct CFG_DEVNODE; |
| |
| /* |
| * Host resource structure. |
| */ |
| struct CFG_HOSTRES { |
| DWORD wNumMemWindows; /* Set to default */ |
| /* This is the base.memory */ |
| DWORD dwMemBase[CFG_MAXMEMREGISTERS]; /* SHM virtual address */ |
| DWORD dwMemLength[CFG_MAXMEMREGISTERS]; /* Length of the Base */ |
| DWORD dwMemPhys[CFG_MAXMEMREGISTERS]; /* SHM Physical address */ |
| BYTE bIRQRegisters; /* IRQ Number */ |
| BYTE bIRQAttrib; /* IRQ Attribute */ |
| DWORD dwOffsetForMonitor; /* The Shared memory starts from |
| * dwMemBase + this offset |
| */ |
| DWORD dwBusType; /* Bus type for this device */ |
| DWORD dwProgBase; /* DSP ProgBase */ |
| DWORD dwProgLength; /* DSP ProgBase Length */ |
| DWORD dwRegBase; /* DSP memory mapped register base */ |
| DWORD dwRegLength; /* DSP Register Base Length */ |
| DWORD ClientHandle; /* Client Handle */ |
| DWORD SocketHandle; /* Socket and Function Pair */ |
| DWORD CardInfo; /* This will be used as a context data in |
| * in the CardRequestIRQ |
| */ |
| /* |
| * Info needed by NODE for allocating channels to communicate with RMS: |
| * dwChnlOffset: Offset of RMS channels. Lower channels are |
| * reserved. |
| * dwChnlBufSize: Size of channel buffer to send to RMS |
| * dwNumChnls: Total number of channels (including reserved). |
| */ |
| DWORD dwChnlOffset; |
| DWORD dwChnlBufSize; |
| DWORD dwNumChnls; |
| |
| #ifdef OMAP_2430 |
| DWORD dwPrcmBase; |
| DWORD dwWdTimerDspBase; |
| DWORD dwMboxBase; |
| DWORD dwDmmuBase; |
| DWORD dwDipiBase; |
| DWORD dwSysCtrlBase; |
| #endif |
| |
| #ifdef OMAP_3430 |
| DWORD dwPrmBase; |
| DWORD dwCmBase; |
| DWORD dwPerBase; |
| DWORD dwWdTimerDspBase; |
| DWORD dwMboxBase; |
| DWORD dwDmmuBase; |
| DWORD dwDipiBase; |
| DWORD dwSysCtrlBase; |
| #endif |
| } ; |
| |
| struct CFG_DSPMEMDESC { |
| UINT uMemType; /* Type of memory. */ |
| ULONG ulMin; /* Minimum amount of memory of this type. */ |
| ULONG ulMax; /* Maximum amount of memory of this type. */ |
| } ; |
| |
| struct CFG_DSPRES { |
| UINT uChipType; /* DSP chip type. */ |
| UINT uWordSize; /* Number of bytes in a word */ |
| UINT cChips; /* Number of chips. */ |
| UINT cMemTypes; /* Types of memory. */ |
| struct CFG_DSPMEMDESC aMemDesc[CFG_DSPMAXMEMTYPES]; |
| /* DSP Memory types */ |
| } ; |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif /* CFGDEFS_ */ |