/* * 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_ */