00001 00045 #if !defined (DM648_HAL_H) 00046 #define DM648_HAL_H 00047 00048 00049 /* ----------------------------------- DSP/BIOS Link */ 00050 #include <dsplink.h> 00051 #include <hal.h> 00052 #if (DM648_PHYINTERFACE == PCI_INTERFACE) 00053 #include <dm648_hal_pci.h> 00054 #endif /* if (DM648_PHYINTERFACE == PCI_INTERFACE) */ 00055 00056 #if defined (__cplusplus) 00057 extern "C" { 00058 #endif 00059 00060 00061 #if (DM648_PHYINTERFACE == PCI_INTERFACE) 00062 00068 typedef struct DM648_HalPciPhyObj_tag DM648_HalPciPhyObj ; 00069 #endif /* if (DM648_PHYINTERFACE == PCI_INTERFACE) */ 00070 00071 00094 typedef struct DM648_HalObj_tag { 00095 ProcessorId dspId ; 00096 Uint32 phyType ; 00097 HAL_Interface * interface ; 00098 Bool isMapActive ; 00099 Uint32 mapSize ; 00100 Pvoid lock ; 00101 #if (DM648_PHYINTERFACE == PCI_INTERFACE) 00102 DM648_HalPciPhyObj pci ; 00103 #endif /* (DM648_PHYINTERFACE == PCI_INTERFACE) */ 00104 } DM648_HalObj ; 00105 00106 00133 typedef struct DM648_InitParams_tag { 00134 ProcessorId dspId ; 00135 Uint32 phyType ; 00136 Uint32 shMemEntry ; 00137 Uint32 arg1 ; 00138 Uint32 arg2 ; 00139 Uint32 arg3 ; 00140 Uint32 arg4 ; 00141 Uint32 arg5 ; 00142 Uint32 arg6 ; 00143 } DM648_InitParams ; 00144 00145 00168 NORMAL_API 00169 DSP_STATUS 00170 DM648_halInit (IN Pvoid * halObject, IN Pvoid initParams) ; 00171 00172 00193 NORMAL_API 00194 DSP_STATUS 00195 DM648_halExit (IN Pvoid * halObject) ; 00196 00197 00198 #if defined (__cplusplus) 00199 } 00200 #endif 00201 00202 00203 #endif /* !defined (DM648_HAL_H) */