00001 00045 #if !defined (DA8XXGEM_HAL_H) 00046 #define DA8XXGEM_HAL_H 00047 00048 00049 /* ----------------------------------- DSP/BIOS Link */ 00050 #include <dsplink.h> 00051 #include <_dsplink.h> 00052 00053 /* ----------------------------------- Trace & Debug */ 00054 #include <_trace.h> 00055 00056 /* ----------------------------------- Hardware Abstraction Layer */ 00057 #include <hal.h> 00058 00059 00060 #if defined (__cplusplus) 00061 extern "C" { 00062 #endif 00063 00064 00065 /* ============================================================================ 00066 * @macro REG 00067 * 00068 * @brief Register access method. 00069 * ============================================================================ 00070 */ 00071 #define REG(x) *((volatile Uint32 *) (x)) 00072 00073 /* ============================================================================ 00074 * @const OFFSET_KICK0 00075 * 00076 * @brief Offset of the kick0 register. 00077 * ============================================================================ 00078 */ 00079 #define OFFSET_KICK0 0x038u 00080 00081 /* ============================================================================ 00082 * @const OFFSET_KICK1 00083 * 00084 * @brief Offset of the kick1 register. 00085 * ============================================================================ 00086 */ 00087 #define OFFSET_KICK1 0x03Cu 00088 00089 /* ============================================================================ 00090 * @const KICK0_UNLOCKVAL 00091 * 00092 * @brief VALUE to be written to unlock kick0 area. 00093 * ============================================================================ 00094 */ 00095 #define KICK0_UNLOCKVAL 0x83E70B13u 00096 00097 /* ============================================================================ 00098 * @const KICK1_UNLOCKVAL 00099 * 00100 * @brief VALUE to be written to unlock kick1 area. 00101 * ============================================================================ 00102 */ 00103 #define KICK1_UNLOCKVAL 0x95A4F1E0u 00104 00120 typedef struct DA8XXGEM_HalObj_tag { 00121 HAL_Interface * interface ; 00122 Uint32 baseCfgBus ; 00123 Uint32 offsetSysModule ; 00124 Uint32 offsetPsc0 ; 00125 } DA8XXGEM_HalObj ; 00126 00136 typedef struct DA8XXGEM_InitParams_tag { 00137 ProcessorId dspId ; 00138 } DA8XXGEM_InitParams ; 00139 00164 NORMAL_API 00165 DSP_STATUS 00166 DA8XXGEM_halInit (IN Pvoid * halObj, 00167 IN Pvoid initParams) ; 00168 00169 00190 NORMAL_API 00191 DSP_STATUS 00192 DA8XXGEM_halExit (IN Pvoid * halObj) ; 00193 00194 00195 #if defined (__cplusplus) 00196 } 00197 #endif 00198 00199 00200 #endif /* !defined (DA8XXGEM_HAL_H) */